From 72d70d68dfcbdbe112d9f82ead6d987898417f95 Mon Sep 17 00:00:00 2001 From: Pablo Mazzini Date: Sun, 12 Aug 2018 16:17:11 +0200 Subject: fix OptClientArchType --- iana/archtype.go | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 iana/archtype.go (limited to 'iana') diff --git a/iana/archtype.go b/iana/archtype.go new file mode 100644 index 0000000..6b2cc9e --- /dev/null +++ b/iana/archtype.go @@ -0,0 +1,41 @@ +package iana + +//ArchType encodes an architecture type in an uint16 +type ArchType uint16 + +// see rfc4578 +const ( + INTEL_X86PC ArchType = 0 + NEC_PC98 ArchType = 1 + EFI_ITANIUM ArchType = 2 + DEC_ALPHA ArchType = 3 + ARC_X86 ArchType = 4 + INTEL_LEAN_CLIENT ArchType = 5 + EFI_IA32 ArchType = 6 + EFI_BC ArchType = 7 + EFI_XSCALE ArchType = 8 + EFI_X86_64 ArchType = 9 +) + +// ArchTypeToStringMap maps an ArchType to a mnemonic name +var ArchTypeToStringMap = map[ArchType]string{ + INTEL_X86PC: "Intel x86PC", + NEC_PC98: "NEC/PC98", + EFI_ITANIUM: "EFI Itanium", + DEC_ALPHA: "DEC Alpha", + ARC_X86: "Arc x86", + INTEL_LEAN_CLIENT: "Intel Lean Client", + EFI_IA32: "EFI IA32", + EFI_BC: "EFI BC", + EFI_XSCALE: "EFI Xscale", + EFI_X86_64: "EFI x86-64", +} + + +// ArchTypeToString returns a mnemonic name for a given architecture type +func ArchTypeToString(a ArchType) string { + if at := ArchTypeToStringMap[a]; at != "" { + return at + } + return "Unknown" +} -- cgit v1.2.3