1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
package bsdp
import (
"fmt"
)
// DefaultMacOSVendorClassIdentifier is a default vendor class identifier used
// on non-darwin hosts where the vendor class identifier cannot be determined.
// It should mostly be used for debugging if testing BSDP on a non-darwin
// system.
const DefaultMacOSVendorClassIdentifier = AppleVendorID + "/i386/MacMini6,1"
// optionCode are BSDP option codes.
//
// optionCode implements the dhcpv4.OptionCode interface.
type optionCode uint8
func (o optionCode) Code() uint8 {
return uint8(o)
}
func (o optionCode) String() string {
if s, ok := optionCodeToString[o]; ok {
return s
}
return fmt.Sprintf("unknown (%d)", o)
}
// Options (occur as sub-options of DHCP option 43).
const (
OptionMessageType optionCode = 1
OptionVersion optionCode = 2
OptionServerIdentifier optionCode = 3
OptionServerPriority optionCode = 4
OptionReplyPort optionCode = 5
OptionBootImageListPath optionCode = 6 // Not used
OptionDefaultBootImageID optionCode = 7
OptionSelectedBootImageID optionCode = 8
OptionBootImageList optionCode = 9
OptionNetboot1_0Firmware optionCode = 10
OptionBootImageAttributesFilterList optionCode = 11
OptionShadowMountPath optionCode = 128
OptionShadowFilePath optionCode = 129
OptionMachineName optionCode = 130
)
// optionCodeToString maps BSDP OptionCodes to human-readable strings
// describing what they are.
var optionCodeToString = map[optionCode]string{
OptionMessageType: "BSDP Message Type",
OptionVersion: "BSDP Version",
OptionServerIdentifier: "BSDP Server Identifier",
OptionServerPriority: "BSDP Server Priority",
OptionReplyPort: "BSDP Reply Port",
OptionBootImageListPath: "", // Not used
OptionDefaultBootImageID: "BSDP Default Boot Image ID",
OptionSelectedBootImageID: "BSDP Selected Boot Image ID",
OptionBootImageList: "BSDP Boot Image List",
OptionNetboot1_0Firmware: "BSDP Netboot 1.0 Firmware",
OptionBootImageAttributesFilterList: "BSDP Boot Image Attributes Filter List",
OptionShadowMountPath: "BSDP Shadow Mount Path",
OptionShadowFilePath: "BSDP Shadow File Path",
OptionMachineName: "BSDP Machine Name",
}
|