2024-09-14 04:21:14 +00:00
|
|
|
package types
|
|
|
|
|
2024-09-24 20:43:54 +00:00
|
|
|
import "strings"
|
2024-09-14 04:21:14 +00:00
|
|
|
|
2024-09-24 22:58:42 +00:00
|
|
|
type Identifier int
|
|
|
|
|
|
|
|
func (i Identifier) Int() int {
|
|
|
|
return int(i)
|
|
|
|
}
|
|
|
|
|
|
|
|
//go:generate stringer -type=Identifier
|
|
|
|
const (
|
|
|
|
HwAddress Identifier = 0
|
|
|
|
DuID Identifier = 1
|
|
|
|
CircuitId Identifier = 2
|
|
|
|
ClientId Identifier = 3
|
|
|
|
FlexId Identifier = 4
|
|
|
|
Invalid Identifier = 255
|
|
|
|
)
|
|
|
|
|
|
|
|
var types = map[string]Identifier{
|
|
|
|
"macaddr": HwAddress,
|
|
|
|
"hwaddr": HwAddress,
|
|
|
|
"duid": DuID,
|
|
|
|
"circuit-id": CircuitId,
|
|
|
|
"client-id": ClientId,
|
|
|
|
"flex-id": FlexId,
|
|
|
|
"invalid": Invalid,
|
2024-09-24 20:43:54 +00:00
|
|
|
}
|
|
|
|
|
2024-09-24 22:58:42 +00:00
|
|
|
func Lookup(rtype string) Identifier {
|
2024-09-24 20:43:54 +00:00
|
|
|
rtype = strings.ToLower(rtype)
|
|
|
|
if t, ok := types[rtype]; ok == true {
|
|
|
|
return t
|
|
|
|
}
|
2024-09-24 22:58:42 +00:00
|
|
|
return Invalid
|
2024-09-24 20:43:54 +00:00
|
|
|
}
|