diff options
Diffstat (limited to 'dhcpv6/option_bootfileurl.go')
-rw-r--r-- | dhcpv6/option_bootfileurl.go | 28 |
1 files changed, 12 insertions, 16 deletions
diff --git a/dhcpv6/option_bootfileurl.go b/dhcpv6/option_bootfileurl.go index 5857af1..e4817cb 100644 --- a/dhcpv6/option_bootfileurl.go +++ b/dhcpv6/option_bootfileurl.go @@ -8,42 +8,38 @@ import ( "fmt" ) +// OptBootFileURL implements the OPT_BOOTFILE_URL option type OptBootFileURL struct { - bootFileUrl []byte + BootFileURL []byte } +// Code returns the option code func (op *OptBootFileURL) Code() OptionCode { return OPT_BOOTFILE_URL } +// ToBytes serializes the option and returns it as a sequence of bytes func (op *OptBootFileURL) ToBytes() []byte { buf := make([]byte, 4) binary.BigEndian.PutUint16(buf[0:2], uint16(OPT_BOOTFILE_URL)) - binary.BigEndian.PutUint16(buf[2:4], uint16(len(op.bootFileUrl))) - buf = append(buf, op.bootFileUrl...) + binary.BigEndian.PutUint16(buf[2:4], uint16(len(op.BootFileURL))) + buf = append(buf, op.BootFileURL...) return buf } -func (op *OptBootFileURL) BootFileURL() []byte { - return op.bootFileUrl -} - -func (op *OptBootFileURL) SetBootFileURL(bootFileUrl []byte) { - op.bootFileUrl = bootFileUrl -} - +// Length returns the option length in bytes func (op *OptBootFileURL) Length() int { - return len(op.bootFileUrl) + return len(op.BootFileURL) } func (op *OptBootFileURL) String() string { - return fmt.Sprintf("OptBootFileURL{BootFileUrl=%s}", op.bootFileUrl) + return fmt.Sprintf("OptBootFileURL{BootFileUrl=%s}", op.BootFileURL) } -// build an OptBootFileURL structure from a sequence of bytes. -// The input data does not include option code and length bytes. +// ParseOptBootFileURL builds an OptBootFileURL structure from a sequence +// of bytes. The input data does not include option code and length bytes. func ParseOptBootFileURL(data []byte) (*OptBootFileURL, error) { opt := OptBootFileURL{} - opt.bootFileUrl = append([]byte(nil), data...) + opt.BootFileURL = append([]byte(nil), data...) return &opt, nil } |