summaryrefslogtreecommitdiffhomepage
path: root/dhcpv6/option_bootfileparam.go
diff options
context:
space:
mode:
authorChris Koch <chrisko@google.com>2019-12-28 09:49:06 -0800
committerinsomniac <insomniacslk@users.noreply.github.com>2020-03-05 15:51:55 +0000
commit72e14d6762cd895f00fd5c04fec8a16df521b65f (patch)
treef7238d1821e2c6070ebf5e611808964e1b77c08a /dhcpv6/option_bootfileparam.go
parentbb0c09a3da430db48a7bd0749b7d5411649e1026 (diff)
v6: add BootFileParam getter
Signed-off-by: Chris Koch <chrisko@google.com>
Diffstat (limited to 'dhcpv6/option_bootfileparam.go')
-rw-r--r--dhcpv6/option_bootfileparam.go27
1 files changed, 14 insertions, 13 deletions
diff --git a/dhcpv6/option_bootfileparam.go b/dhcpv6/option_bootfileparam.go
index 13ec16a..4e2750b 100644
--- a/dhcpv6/option_bootfileparam.go
+++ b/dhcpv6/option_bootfileparam.go
@@ -6,21 +6,21 @@ import (
"github.com/u-root/u-root/pkg/uio"
)
-// OptBootFileParam implements the OptionBootfileParam option
-//
-// This module defines the OPT_BOOTFILE_PARAM structure.
-// https://www.ietf.org/rfc/rfc5970.txt (section 3.2)
-type OptBootFileParam []string
+// OptBootFileParam returns a BootfileParam option as defined in RFC 5970
+// Section 3.2.
+func OptBootFileParam(args ...string) Option {
+ return optBootFileParam(args)
+}
-var _ Option = OptBootFileParam(nil)
+type optBootFileParam []string
// Code returns the option code
-func (op OptBootFileParam) Code() OptionCode {
+func (optBootFileParam) Code() OptionCode {
return OptionBootfileParam
}
// ToBytes serializes the option and returns it as a sequence of bytes
-func (op OptBootFileParam) ToBytes() []byte {
+func (op optBootFileParam) ToBytes() []byte {
buf := uio.NewBigEndianBuffer(nil)
for _, param := range op {
if len(param) >= 1<<16 {
@@ -41,14 +41,15 @@ func (op OptBootFileParam) ToBytes() []byte {
return buf.Data()
}
-func (op OptBootFileParam) String() string {
- return fmt.Sprintf("OptBootFileParam(%v)", ([]string)(op))
+func (op optBootFileParam) String() string {
+ return fmt.Sprintf("BootFileParam: %v", ([]string)(op))
}
-// ParseOptBootFileParam builds an OptBootFileParam structure from a sequence
+// parseOptBootFileParam builds an OptBootFileParam structure from a sequence
// of bytes. The input data does not include option code and length bytes.
-func ParseOptBootFileParam(data []byte) (result OptBootFileParam, err error) {
+func parseOptBootFileParam(data []byte) (optBootFileParam, error) {
buf := uio.NewBigEndianBuffer(data)
+ var result optBootFileParam
for buf.Has(2) {
length := buf.Read16()
result = append(result, string(buf.CopyN(int(length))))
@@ -56,5 +57,5 @@ func ParseOptBootFileParam(data []byte) (result OptBootFileParam, err error) {
if err := buf.FinError(); err != nil {
return nil, err
}
- return
+ return result, nil
}