summaryrefslogtreecommitdiffhomepage
path: root/iana
diff options
context:
space:
mode:
authorPablo Mazzini <pmazzini@gmail.com>2018-08-12 16:17:11 +0200
committerPablo Mazzini <pmazzini@gmail.com>2018-08-13 11:52:28 +0200
commit72d70d68dfcbdbe112d9f82ead6d987898417f95 (patch)
treee36f9cfab0213ff4e43335966c57e7f73c0682bf /iana
parentb773f618967811e235b334516b0c40563c3a1464 (diff)
fix OptClientArchType
Diffstat (limited to 'iana')
-rw-r--r--iana/archtype.go41
1 files changed, 41 insertions, 0 deletions
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"
+}