 
 STRUCT: fvmlib
     { name             lc_str   }
-    { minor_version    uint32_t }
-    { header_addr      uint32_t } ;
+    { minor_version    uint     }
+    { header_addr      uint     } ;
 
 STRUCT: fvmlib_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t }
+    { cmd        uint     }
+    { cmdsize    uint     }
     { fvmlib     fvmlib   } ;
 
 STRUCT: dylib
     { name                  lc_str   }
-    { timestamp             uint32_t }
-    { current_version       uint32_t }
-    { compatibility_version uint32_t } ;
+    { timestamp             uint     }
+    { current_version       uint     }
+    { compatibility_version uint     } ;
 
 STRUCT: dylib_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t }
+    { cmd        uint     }
+    { cmdsize    uint     }
     { dylib      dylib    } ;
 
 STRUCT: sub_framework_command
-    { cmd         uint32_t }
-    { cmdsize     uint32_t }
+    { cmd         uint     }
+    { cmdsize     uint     }
     { umbrella    lc_str   } ;
 
 STRUCT: sub_client_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t }
+    { cmd        uint     }
+    { cmdsize    uint     }
     { client     lc_str   } ;
 
 STRUCT: sub_umbrella_command
-    { cmd             uint32_t }
-    { cmdsize         uint32_t }
+    { cmd             uint     }
+    { cmdsize         uint     }
     { sub_umbrella    lc_str   } ;
 
 STRUCT: sub_library_command
-    { cmd            uint32_t }
-    { cmdsize        uint32_t }
+    { cmd            uint     }
+    { cmdsize        uint     }
     { sub_library    lc_str   } ;
 
 STRUCT: prebound_dylib_command
-    { cmd               uint32_t }
-    { cmdsize           uint32_t }
+    { cmd               uint     }
+    { cmdsize           uint     }
     { name              lc_str   }
-    { nmodules          uint32_t }
+    { nmodules          uint     }
     { linked_modules    lc_str   } ;
 
 STRUCT: dylinker_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t }
+    { cmd        uint     }
+    { cmdsize    uint     }
     { name       lc_str   } ;
 
 STRUCT: thread_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t } ;
+    { cmd        uint }
+    { cmdsize    uint } ;
 
 STRUCT: routines_command
-    { cmd             uint32_t }
-    { cmdsize         uint32_t }
-    { init_address    uint32_t }
-    { init_module     uint32_t }
-    { reserved1       uint32_t }
-    { reserved2       uint32_t }
-    { reserved3       uint32_t }
-    { reserved4       uint32_t }
-    { reserved5       uint32_t }
-    { reserved6       uint32_t } ;
+    { cmd             uint }
+    { cmdsize         uint }
+    { init_address    uint }
+    { init_module     uint }
+    { reserved1       uint }
+    { reserved2       uint }
+    { reserved3       uint }
+    { reserved4       uint }
+    { reserved5       uint }
+    { reserved6       uint } ;
 
 STRUCT: routines_command_64
-    { cmd             uint32_t }
-    { cmdsize         uint32_t }
-    { init_address    uint64_t }
-    { init_module     uint64_t }
-    { reserved1       uint64_t }
-    { reserved2       uint64_t }
-    { reserved3       uint64_t }
-    { reserved4       uint64_t }
-    { reserved5       uint64_t }
-    { reserved6       uint64_t } ;
+    { cmd             uint      }
+    { cmdsize         uint      }
+    { init_address    ulonglong }
+    { init_module     ulonglong }
+    { reserved1       ulonglong }
+    { reserved2       ulonglong }
+    { reserved3       ulonglong }
+    { reserved4       ulonglong }
+    { reserved5       ulonglong }
+    { reserved6       ulonglong } ;
 
 STRUCT: symtab_command
-    { cmd        uint32_t }
-    { cmdsize    uint32_t }
-    { symoff     uint32_t }
-    { nsyms      uint32_t }
-    { stroff     uint32_t }
-    { strsize    uint32_t } ;
+    { cmd        uint }
+    { cmdsize    uint }
+    { symoff     uint }
+    { nsyms      uint }
+    { stroff     uint }
+    { strsize    uint } ;
 
 STRUCT: dysymtab_command
-    { cmd            uint32_t }
-    { cmdsize        uint32_t }
-    { ilocalsym      uint32_t }
-    { nlocalsym      uint32_t }
-    { iextdefsym     uint32_t }
-    { nextdefsym     uint32_t }
-    { iundefsym      uint32_t }
-    { nundefsym      uint32_t }
-    { tocoff         uint32_t }
-    { ntoc           uint32_t }
-    { modtaboff      uint32_t }
-    { nmodtab        uint32_t }
-    { extrefsymoff   uint32_t }
-    { nextrefsyms    uint32_t }
-    { indirectsymoff uint32_t }
-    { nindirectsyms  uint32_t }
-    { extreloff      uint32_t }
-    { nextrel        uint32_t }
-    { locreloff      uint32_t }
-    { nlocrel        uint32_t } ;
+    { cmd            uint }
+    { cmdsize        uint }
+    { ilocalsym      uint }
+    { nlocalsym      uint }
+    { iextdefsym     uint }
+    { nextdefsym     uint }
+    { iundefsym      uint }
+    { nundefsym      uint }
+    { tocoff         uint }
+    { ntoc           uint }
+    { modtaboff      uint }
+    { nmodtab        uint }
+    { extrefsymoff   uint }
+    { nextrefsyms    uint }
+    { indirectsymoff uint }
+    { nindirectsyms  uint }
+    { extreloff      uint }
+    { nextrel        uint }
+    { locreloff      uint }
+    { nlocrel        uint } ;
 
 CONSTANT: INDIRECT_SYMBOL_LOCAL HEX: 80000000
 CONSTANT: INDIRECT_SYMBOL_ABS   HEX: 40000000
 
 STRUCT: dylib_table_of_contents
-    { symbol_index uint32_t }
-    { module_index uint32_t } ;
+    { symbol_index uint }
+    { module_index uint } ;
 
 STRUCT: dylib_module
-    { module_name           uint32_t }
-    { iextdefsym            uint32_t }
-    { nextdefsym            uint32_t }
-    { irefsym               uint32_t }
-    { nrefsym               uint32_t }
-    { ilocalsym             uint32_t }
-    { nlocalsym             uint32_t }
-    { iextrel               uint32_t }
-    { nextrel               uint32_t }
-    { iinit_iterm           uint32_t }
-    { ninit_nterm           uint32_t }
-    { objc_module_info_addr uint32_t }
-    { objc_module_info_size uint32_t } ;
+    { module_name           uint }
+    { iextdefsym            uint }
+    { nextdefsym            uint }
+    { irefsym               uint }
+    { nrefsym               uint }
+    { ilocalsym             uint }
+    { nlocalsym             uint }
+    { iextrel               uint }
+    { nextrel               uint }
+    { iinit_iterm           uint }
+    { ninit_nterm           uint }
+    { objc_module_info_addr uint }
+    { objc_module_info_size uint } ;
 
 STRUCT: dylib_module_64
-    { module_name           uint32_t }
-    { iextdefsym            uint32_t }
-    { nextdefsym            uint32_t }
-    { irefsym               uint32_t }
-    { nrefsym               uint32_t }
-    { ilocalsym             uint32_t }
-    { nlocalsym             uint32_t }
-    { iextrel               uint32_t }
-    { nextrel               uint32_t }
-    { iinit_iterm           uint32_t }
-    { ninit_nterm           uint32_t }
-    { objc_module_info_size uint32_t }
-    { objc_module_info_addr uint64_t } ;
+    { module_name           uint      }
+    { iextdefsym            uint      }
+    { nextdefsym            uint      }
+    { irefsym               uint      }
+    { nrefsym               uint      }
+    { ilocalsym             uint      }
+    { nlocalsym             uint      }
+    { iextrel               uint      }
+    { nextrel               uint      }
+    { iinit_iterm           uint      }
+    { ninit_nterm           uint      }
+    { objc_module_info_size uint      }
+    { objc_module_info_addr ulonglong } ;
 
 STRUCT: dylib_reference
-    { isym_flags uint32_t } ;
+    { isym_flags uint } ;
 
 STRUCT: twolevel_hints_command
-    { cmd     uint32_t }
-    { cmdsize uint32_t }
-    { offset  uint32_t }
-    { nhints  uint32_t } ;
+    { cmd     uint }
+    { cmdsize uint }
+    { offset  uint }
+    { nhints  uint } ;
 
 STRUCT: twolevel_hint
-    { isub_image_itoc uint32_t } ;
+    { isub_image_itoc uint } ;
 
 STRUCT: prebind_cksum_command
-    { cmd     uint32_t }
-    { cmdsize uint32_t }
-    { cksum   uint32_t } ;
+    { cmd     uint }
+    { cmdsize uint }
+    { cksum   uint } ;
 
 STRUCT: uuid_command
-    { cmd        uint32_t    }
-    { cmdsize    uint32_t    }
-    { uuid       uint8_t[16] } ;
+    { cmd        uint        }
+    { cmdsize    uint        }
+    { uuid       uchar[16]   } ;
 
 STRUCT: rpath_command
-    { cmd         uint32_t }
-    { cmdsize     uint32_t }
+    { cmd         uint     }
+    { cmdsize     uint     }
     { path        lc_str   } ;
 
 STRUCT: linkedit_data_command
-    { cmd         uint32_t }
-    { cmdsize     uint32_t }
-    { dataoff     uint32_t }
-    { datasize    uint32_t } ;
+    { cmd         uint }
+    { cmdsize     uint }
+    { dataoff     uint }
+    { datasize    uint } ;
 
 STRUCT: encryption_info_command
-    { cmd       uint32_t }
-    { cmdsize   uint32_t }
-    { cryptoff  uint32_t }
-    { cryptsize uint32_t }
-    { cryptid   uint32_t } ;
+    { cmd       uint }
+    { cmdsize   uint }
+    { cryptoff  uint }
+    { cryptsize uint }
+    { cryptid   uint } ;
 
 STRUCT: dyld_info_command
-    { cmd              uint32_t }
-    { cmdsize          uint32_t }
-    { rebase_off       uint32_t }
-    { rebase_size      uint32_t }
-    { bind_off         uint32_t }
-    { bind_size        uint32_t }
-    { weak_bind_off    uint32_t }
-    { weak_bind_size   uint32_t }
-    { lazy_bind_off    uint32_t }
-    { lazy_bind_size   uint32_t }
-    { export_off       uint32_t }
-    { export_size      uint32_t } ;
+    { cmd              uint }
+    { cmdsize          uint }
+    { rebase_off       uint }
+    { rebase_size      uint }
+    { bind_off         uint }
+    { bind_size        uint }
+    { weak_bind_off    uint }
+    { weak_bind_size   uint }
+    { lazy_bind_off    uint }
+    { lazy_bind_size   uint }
+    { export_off       uint }
+    { export_size      uint } ;
 
 CONSTANT: REBASE_TYPE_POINTER                     1
 CONSTANT: REBASE_TYPE_TEXT_ABSOLUTE32             2

CONSTANT: SYMDEF_SORTED "__.SYMDEF SORTED"

STRUCT: ranlib
    { ran_strx uint32_t }
    { ran_off  uint32_t } ;

! reloc.h
STRUCT: relocation_info
    { r_address                            int32_t  }
    { r_symbolnum_pcrel_length_extern_type uint32_t } ;

CONSTANT: R_ABS   0
CONSTANT: R_SCATTERED HEX: 80000000

STRUCT: scattered_relocation_info_big_endian
    { r_scattered_pcrel_length_type_address  uint32_t }
    { r_value                                int32_t  } ;

STRUCT: scattered_relocation_info_little_endian
    { r_address_type_length_pcrel_scattered uint32_t }
    { r_value                               int32_t  } ;

C-ENUM: reloc_type_generic
    GENERIC_RELOC_VANILLA

CONSTANT: EXPORT_SYMBOL_FLAGS_HAS_SPECIALIZATIONS         HEX: 10

STRUCT: symseg_command
    { cmd        uint }
    { cmdsize    uint }
    { offset     uint }
    { size       uint } ;

STRUCT: ident_command
    { cmd     uint }
    { cmdsize uint } ;

STRUCT: fvmfile_command
    { cmd            uint     }
    { cmdsize        uint     }
    { name           lc_str   }
    { header_addr    uint     } ;

! machine.h
CONSTANT: CPU_STATE_MAX       4
