blob: 5079a09979a52ee7f8ed51619a8c7e1acfe87299 [file] [log] [blame]
// Annotated Flatbuffer Binary
//
// Schema file: tests/64bit/test_64bit.bfbs
// Binary file: tests/64bit/test_64bit.bin
header:
+0x0000 | 1C 00 00 00 | UOffset32 | 0x0000001C (28) Loc: 0x001C | offset to root table `RootTable`
padding:
+0x0004 | 00 00 | uint8_t[2] | .. | padding
vtable (RootTable):
+0x0006 | 16 00 | uint16_t | 0x0016 (22) | size of this vtable
+0x0008 | 3C 00 | uint16_t | 0x003C (60) | size of referring table
+0x000A | 04 00 | VOffset16 | 0x0004 (4) | offset to field `far_vector` (id: 0)
+0x000C | 10 00 | VOffset16 | 0x0010 (16) | offset to field `a` (id: 1)
+0x000E | 14 00 | VOffset16 | 0x0014 (20) | offset to field `far_string` (id: 2)
+0x0010 | 24 00 | VOffset16 | 0x0024 (36) | offset to field `big_bool_vector` (id: 3)
+0x0012 | 2C 00 | VOffset16 | 0x002C (44) | offset to field `big_vector` (id: 4)
+0x0014 | 20 00 | VOffset16 | 0x0020 (32) | offset to field `near_string` (id: 5)
+0x0016 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `nested_root` (id: 6) <null> (Vector64)
+0x0018 | 00 00 | VOffset16 | 0x0000 (0) | offset to field `far_struct_vector` (id: 7) <null> (Vector)
+0x001A | 34 00 | VOffset16 | 0x0034 (52) | offset to field `big_struct_vector` (id: 8)
root_table (RootTable):
+0x001C | 16 00 00 00 | SOffset32 | 0x00000016 (22) Loc: 0x0006 | offset to vtable
+0x0020 | E8 00 00 00 00 00 00 00 | UOffset64 | 0x00000000000000E8 (232) Loc: 0x0108 | offset to field `far_vector` (vector)
+0x0028 | 00 00 00 00 | uint8_t[4] | .... | padding
+0x002C | D2 04 00 00 | uint32_t | 0x000004D2 (1234) | table field `a` (Int)
+0x0030 | A4 00 00 00 00 00 00 00 | UOffset64 | 0x00000000000000A4 (164) Loc: 0x00D4 | offset to field `far_string` (string)
+0x0038 | 00 00 00 00 | uint8_t[4] | .... | padding
+0x003C | 48 00 00 00 | UOffset32 | 0x00000048 (72) Loc: 0x0084 | offset to field `near_string` (string)
+0x0040 | 78 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000078 (120) Loc: 0x00B8 | offset to field `big_bool_vector` (vector64)
+0x0048 | 80 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000080 (128) Loc: 0x00C8 | offset to field `big_vector` (vector64)
+0x0050 | 08 00 00 00 00 00 00 00 | UOffset64 | 0x0000000000000008 (8) Loc: 0x0058 | offset to field `big_struct_vector` (vector64)
vector64 (RootTable.big_struct_vector):
+0x0058 | 02 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000002 (2) | length of vector (# items)
+0x0060 | 0C 00 00 00 | uint32_t | 0x0000000C (12) | struct field `[0].a` of 'LeafStruct' (Int)
+0x0064 | 00 00 00 00 | uint8_t[4] | .... | padding
+0x0068 | D9 CE F7 53 E3 A5 0B 40 | double | 0x400BA5E353F7CED9 (3.456) | struct field `[0].b` of 'LeafStruct' (Double)
+0x0070 | 4E 00 00 00 | uint32_t | 0x0000004E (78) | struct field `[1].a` of 'LeafStruct' (Int)
+0x0074 | 00 00 00 00 | uint8_t[4] | .... | padding
+0x0078 | 33 33 33 33 33 33 22 40 | double | 0x4022333333333333 (9.1) | struct field `[1].b` of 'LeafStruct' (Double)
padding:
+0x0080 | 00 00 00 00 | uint8_t[4] | .... | padding
string (RootTable.near_string):
+0x0084 | 2F 00 00 00 | uint32_t | 0x0000002F (47) | length of string
+0x0088 | 74 68 69 73 20 69 73 20 | char[47] | this is | string literal
+0x0090 | 61 20 6E 65 61 72 20 73 | | a near s
+0x0098 | 74 72 69 6E 67 20 77 68 | | tring wh
+0x00A0 | 69 63 68 20 68 61 73 20 | | ich has
+0x00A8 | 61 20 33 32 2D 62 69 74 | | a 32-bit
+0x00B0 | 20 6F 66 66 73 65 74 | | offset
+0x00B7 | 00 | char | 0x00 (0) | string terminator
vector64 (RootTable.big_bool_vector):
+0x00B8 | 07 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000007 (7) | length of vector (# items)
+0x00C0 | 01 | uint8_t | 0x01 (1) | value[0]
+0x00C1 | 00 | uint8_t | 0x00 (0) | value[1]
+0x00C2 | 01 | uint8_t | 0x01 (1) | value[2]
+0x00C3 | 01 | uint8_t | 0x01 (1) | value[3]
+0x00C4 | 00 | uint8_t | 0x00 (0) | value[4]
+0x00C5 | 00 | uint8_t | 0x00 (0) | value[5]
+0x00C6 | 01 | uint8_t | 0x01 (1) | value[6]
vector64 (RootTable.big_vector):
+0x00C8 | 04 00 00 00 00 00 00 00 | uint64_t | 0x0000000000000004 (4) | length of vector (# items)
+0x00D0 | 05 | uint8_t | 0x05 (5) | value[0]
+0x00D1 | 06 | uint8_t | 0x06 (6) | value[1]
+0x00D2 | 07 | uint8_t | 0x07 (7) | value[2]
+0x00D3 | 08 | uint8_t | 0x08 (8) | value[3]
string (RootTable.far_string):
+0x00D4 | 2E 00 00 00 | uint32_t | 0x0000002E (46) | length of string
+0x00D8 | 74 68 69 73 20 69 73 20 | char[46] | this is | string literal
+0x00E0 | 61 20 66 61 72 20 73 74 | | a far st
+0x00E8 | 72 69 6E 67 20 77 68 69 | | ring whi
+0x00F0 | 63 68 20 68 61 73 20 61 | | ch has a
+0x00F8 | 20 36 34 2D 62 69 74 20 | | 64-bit
+0x0100 | 6F 66 66 73 65 74 | | offset
+0x0106 | 00 | char | 0x00 (0) | string terminator
vector (RootTable.far_vector):
+0x0108 | 03 00 00 00 | uint32_t | 0x00000003 (3) | length of vector (# items)
+0x010C | 01 | uint8_t | 0x01 (1) | value[0]
+0x010D | 02 | uint8_t | 0x02 (2) | value[1]
+0x010E | 03 | uint8_t | 0x03 (3) | value[2]