c_type_mapping.odin (1508B)
1 #+feature dynamic-literals 2 package bindgen2 3 4 c_type_mapping := map[string]string { 5 // builtin types 6 "uint8_t" = "u8", 7 "int8_t" = "i8", 8 "uint16_t" = "u16", 9 "int16_t" = "i16", 10 "uint32_t" = "u32", 11 "int32_t" = "i32", 12 "uint64_t" = "u64", 13 "int64_t" = "i64", 14 15 "int_least8_t" = "i8", 16 "uint_least8_t" = "u8", 17 "int_least16_t" = "i16", 18 "uint_least16_t" = "u16", 19 "int_least32_t" = "i32", 20 "uint_least32_t" = "u32", 21 "int_least64_t" = "i64", 22 "uint_least64_t" = "u64", 23 24 "int_fast8_t" = "i8", 25 "uint_fast8_t" = "u8", 26 "int_fast32_t" = "i32", 27 "uint_fast32_t" = "u32", 28 "int_fast64_t" = "i64", 29 "uint_fast64_t" = "u64", 30 31 // core:c (many of these vary by platform, so we use the `core:c` ones to make this map simpler) 32 33 "long" = "c.long", 34 "unsigned long" = "c.ulong", 35 "int_fast16_t" = "c.int_fast16_t", 36 "uint_fast16_t" = "c.uint_fast16_t", 37 38 "size_t" = "c.size_t", 39 "ssize_t" = "c.ssize_t", 40 "wchar_t" = "c.wchar_t", 41 42 "intptr_t" = "c.intptr_t", 43 "uintptr_t" = "c.uintptr_t", 44 "ptrdiff_t" = "c.ptrdiff_t", 45 46 "intmax_t" = "c.intmax_t", 47 "uintmax_t" = "c.uintmax_t", 48 49 "va_list" = "c.va_list", 50 51 // posix 52 "dev_t" = "posix.dev_t", 53 "blkcnt_t" = "posix.blkcnt_t", 54 "blksize_t" = "posix.blksize_t", 55 "clock_t" = "posix.clock_t", 56 "clockid_t" = "posix.clockid_t", 57 "fsblkcnt_t" = "posix.fsblkcnt_t", 58 "off_t" = "posix.off_t", 59 "gid_t" = "posix.gid_t", 60 "pid_t" = "posix.pid_t", 61 "timespec" = "posix.timespec", 62 63 // libc 64 "time_t" = "libc.time_t", 65 }