package rdr

  1. Overview
  2. Docs
type load_command = {
  1. cmd : int;
  2. cmdsize : int;
}
val sizeof_load_command : int
type lc_str = {
  1. offset : int;
  2. str : string;
}
val sizeof_lc_str : int
type section = {
  1. sectname : string;
  2. segname : string;
  3. addr : int;
  4. size : int;
  5. offset : int;
  6. align : int;
  7. reloff : int;
  8. nreloc : int;
  9. flags : int;
  10. reserved1 : int;
  11. reserved2 : int;
}
val sizeof_section : int
type section_64 = {
  1. sectname : string;
  2. segname : string;
  3. addr : int;
  4. size : int;
  5. offset : int;
  6. align : int;
  7. reloff : int;
  8. nreloc : int;
  9. flags : int;
  10. reserved1 : int;
  11. reserved2 : int;
  12. reserved3 : int;
}
val sizeof_section_64 : int
type segment_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. segname : string;
  4. vmaddr : int;
  5. vmsize : int;
  6. fileoff : int;
  7. filesize : int;
  8. maxprot : int;
  9. initprot : int;
  10. nsects : int;
  11. flags : int;
  12. sections : section list;
}
type segment_command_64 = {
  1. cmd : int;
  2. cmdsize : int;
  3. segname : string;
  4. vmaddr : int;
  5. vmsize : int;
  6. fileoff : int;
  7. filesize : int;
  8. maxprot : int;
  9. initprot : int;
  10. nsects : int;
  11. flags : int;
  12. sections : section_64 list;
}
val sizeof_segment_command_64 : int
type fvmlib = {
  1. name : lc_str;
  2. minor_version : int;
  3. header_addr : int;
}
val sizeof_fvmlib : int
type fvmlib_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. fvmlib : fvmlib;
}
val sizeof_fvmlib_command : int
type dylib = {
  1. name : lc_str;
  2. timestamp : int;
  3. current_version : int;
  4. compatibility_version : int;
}
val sizeof_dylib : int
type dylib_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. dylib : dylib;
}
val sizeof_dylib_command : int
type sub_framework_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. umbrella : lc_str;
}
val sizeof_sub_framework_command : int
type sub_client_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. client : lc_str;
}
val sizeof_sub_client_command : int
type sub_umbrella_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. sub_umbrella : lc_str;
}
val sizeof_sub_umbrella_command : int
type sub_library_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. sub_library : lc_str;
}
val sizeof_sub_library_command : int
type prebound_dylib_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. name : lc_str;
  4. nmodules : int;
  5. linked_modules : lc_str;
}
val sizeof_prebound_dylib_command : int
type dylinker_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. name : lc_str;
}
val sizeof_dylinker_command : int
type thread_command = {
  1. cmd : int;
  2. cmdsize : int;
}
type routines_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. init_address : int;
  4. init_module : int;
  5. reserved1 : int;
  6. reserved2 : int;
  7. reserved3 : int;
  8. reserved4 : int;
  9. reserved5 : int;
  10. reserved6 : int;
}
type routines_command_64 = {
  1. cmd : int;
  2. cmdsize : int;
  3. init_address : int;
  4. init_module : int;
  5. reserved1 : int;
  6. reserved2 : int;
  7. reserved3 : int;
  8. reserved4 : int;
  9. reserved5 : int;
  10. reserved6 : int;
}
type symtab_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. symoff : int;
  4. nsyms : int;
  5. stroff : int;
  6. strsize : int;
}
val sizeof_symtab_command : int
type dysymtab_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. ilocalsym : int;
  4. nlocalsym : int;
  5. iextdefsym : int;
  6. nextdefsym : int;
  7. iundefsym : int;
  8. nundefsym : int;
  9. tocoff : int;
  10. ntoc : int;
  11. modtaboff : int;
  12. nmodtab : int;
  13. extrefsymoff : int;
  14. nextrefsyms : int;
  15. indirectsymoff : int;
  16. nindirectsyms : int;
  17. extreloff : int;
  18. nextrel : int;
  19. locreloff : int;
  20. nlocrel : int;
}
val sizeof_dysymtab_command : int
type dylib_table_of_contents = {
  1. symbol_index : int;
  2. module_index : int;
}
type dylib_module = {
  1. module_name : int;
  2. iextdefsym : int;
  3. nextdefsym : int;
  4. irefsym : int;
  5. nrefsym : int;
  6. ilocalsym : int;
  7. nlocalsym : int;
  8. iextrel : int;
  9. nextrel : int;
  10. iinit_iterm : int;
  11. ninit_nterm : int;
  12. objc_module_info_addr : int;
  13. objc_module_info_size : int;
}
type dylib_module_64 = {
  1. module_name : int;
  2. iextdefsym : int;
  3. nextdefsym : int;
  4. irefsym : int;
  5. nrefsym : int;
  6. ilocalsym : int;
  7. nlocalsym : int;
  8. iextrel : int;
  9. nextrel : int;
  10. iinit_iterm : int;
  11. ninit_nterm : int;
  12. objc_module_info_size : int;
  13. objc_module_info_addr : int;
}
type dylib_reference = {
  1. isym : int;
  2. flags : int;
}
type twolevel_hints_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. offset : int;
  4. nhints : int;
}
type twolevel_hint = {
  1. isub_image : int;
  2. itoc : int;
}
type prebind_cksum_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. cksum : int;
}
type uuid_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. uuid : bytes;
}
val sizeof_uuid_command : int
type rpath_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. path : lc_str;
}
val sizeof_rpath_command : int
type linkedit_data_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. dataoff : int;
  4. datasize : int;
}
val sizeof_linkedit_data_command : int
type encryption_info_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. cryptoff : int;
  4. cryptsize : int;
  5. cryptid : int;
}
val sizeof_encryption_info_command : int
type encryption_info_command_64 = {
  1. cmd : int;
  2. cmdsize : int;
  3. cryptoff : int;
  4. cryptsize : int;
  5. cryptid : int;
  6. pad : int;
}
val sizeof_encryption_info_command_64 : int
type version_min_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. version : int;
  4. sdk : int;
}
val sizeof_version_min_command : int
type dyld_info_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. rebase_off : int;
  4. rebase_size : int;
  5. bind_off : int;
  6. bind_size : int;
  7. weak_bind_off : int;
  8. weak_bind_size : int;
  9. lazy_bind_off : int;
  10. lazy_bind_size : int;
  11. export_off : int;
  12. export_size : int;
}
val sizeof_dylib_info_command : int
type linker_option_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. count : int;
}
val sizeof_linker_option_command : int
type symseg_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. offset : int;
  4. size : int;
}
val sizeof_symseg_command : int
type ident_command = {
  1. cmd : int;
  2. cmdsize : int;
}
val sizeof_ident_command : int
type fvmfile_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. name : lc_str;
  4. header_addr : int;
}
val sizeof_fvmfile_command : int
type entry_point_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. entryoff : int;
  4. stacksize : int;
}
val sizeof_entry_point_command : int
type source_version_command = {
  1. cmd : int;
  2. cmdsize : int;
  3. version : int;
}
type data_in_code_entry = {
  1. offset : int;
  2. length : int;
  3. kind : int;
}
val kLC_REQ_DYLD : int
val kLC_LOAD_WEAK_DYLIB : int
val kLC_RPATH : int
val kLC_REEXPORT_DYLIB : int
val kLC_DYLD_INFO_ONLY : int
val kLC_LOAD_UPWARD_DYLIB : int
val kLC_MAIN : int
exception Bad_load_command of int * string
type cmd =
  1. | LC_SEGMENT
  2. | LC_SYMTAB
  3. | LC_SYMSEG
  4. | LC_THREAD
  5. | LC_UNIXTHREAD
  6. | LC_LOADFVMLIB
  7. | LC_IDFVMLIB
  8. | LC_IDENT
  9. | LC_FVMFILE
  10. | LC_PREPAGE
  11. | LC_DYSYMTAB
  12. | LC_LOAD_DYLIB
  13. | LC_ID_DYLIB
  14. | LC_LOAD_DYLINKER
  15. | LC_ID_DYLINKER
  16. | LC_PREBOUND_DYLIB
  17. | LC_ROUTINES
  18. | LC_SUB_FRAMEWORK
  19. | LC_SUB_UMBRELLA
  20. | LC_SUB_CLIENT
  21. | LC_SUB_LIBRARY
  22. | LC_TWOLEVEL_HINTS
  23. | LC_PREBIND_CKSUM
  24. | LC_LOAD_WEAK_DYLIB
  25. | LC_SEGMENT_64
  26. | LC_ROUTINES_64
  27. | LC_UUID
  28. | LC_RPATH
  29. | LC_CODE_SIGNATURE
  30. | LC_SEGMENT_SPLIT_INFO
  31. | LC_REEXPORT_DYLIB
  32. | LC_LAZY_LOAD_DYLIB
  33. | LC_ENCRYPTION_INFO
  34. | LC_DYLD_INFO
  35. | LC_DYLD_INFO_ONLY
  36. | LC_LOAD_UPWARD_DYLIB
  37. | LC_VERSION_MIN_MACOSX
  38. | LC_VERSION_MIN_IPHONEOS
  39. | LC_FUNCTION_STARTS
  40. | LC_DYLD_ENVIRONMENT
  41. | LC_MAIN
  42. | LC_DATA_IN_CODE
  43. | LC_SOURCE_VERSION
  44. | LC_DYLIB_CODE_SIGN_DRS
  45. | LC_ENCRYPTION_INFO_64
  46. | LC_LINKER_OPTION
  47. | LC_LINKER_OPTIMIZATION_HINT
val cmd_int_to_string : int -> string
val to_cmd : int -> cmd
val cmd_to_int : cmd -> int
val cmd_to_string : cmd -> string
type lc_t =
  1. | LC_SEGMENT of segment_command
  2. | LC_SYMTAB of symtab_command
  3. | LC_SYMSEG of symseg_command
  4. | LC_THREAD of thread_command
  5. | LC_UNIXTHREAD of thread_command
  6. | LC_LOADFVMLIB of fvmlib_command
  7. | LC_IDFVMLIB of fvmlib_command
  8. | LC_IDENT of ident_command
  9. | LC_FVMFILE of fvmfile_command
  10. | LC_PREPAGE of load_command
  11. | LC_DYSYMTAB of dysymtab_command
  12. | LC_LOAD_DYLIB of dylib_command
  13. | LC_ID_DYLIB of dylib_command
  14. | LC_LOAD_DYLINKER of dylinker_command
  15. | LC_ID_DYLINKER of dylinker_command
  16. | LC_PREBOUND_DYLIB of prebound_dylib_command
  17. | LC_ROUTINES of routines_command
  18. | LC_SUB_FRAMEWORK of sub_framework_command
  19. | LC_SUB_UMBRELLA of sub_umbrella_command
  20. | LC_SUB_CLIENT of sub_client_command
  21. | LC_SUB_LIBRARY of sub_library_command
  22. | LC_TWOLEVEL_HINTS of twolevel_hints_command
  23. | LC_PREBIND_CKSUM of prebind_cksum_command
  24. | LC_LOAD_WEAK_DYLIB of dylib_command
  25. | LC_SEGMENT_64 of segment_command_64
  26. | LC_ROUTINES_64 of routines_command_64
  27. | LC_UUID of uuid_command
  28. | LC_RPATH of rpath_command
  29. | LC_CODE_SIGNATURE of linkedit_data_command
  30. | LC_SEGMENT_SPLIT_INFO of linkedit_data_command
  31. | LC_REEXPORT_DYLIB of dylib_command
  32. | LC_LAZY_LOAD_DYLIB of dylib_command
  33. | LC_ENCRYPTION_INFO of encryption_info_command
  34. | LC_DYLD_INFO of dyld_info_command
  35. | LC_DYLD_INFO_ONLY of dyld_info_command
  36. | LC_LOAD_UPWARD_DYLIB of dylib_command
  37. | LC_VERSION_MIN_MACOSX of version_min_command
  38. | LC_VERSION_MIN_IPHONEOS of version_min_command
  39. | LC_FUNCTION_STARTS of linkedit_data_command
  40. | LC_DYLD_ENVIRONMENT of dylinker_command
  41. | LC_MAIN of entry_point_command
  42. | LC_DATA_IN_CODE of linkedit_data_command
  43. | LC_SOURCE_VERSION of source_version_command
  44. | LC_DYLIB_CODE_SIGN_DRS of linkedit_data_command
  45. | LC_ENCRYPTION_INFO_64 of encryption_info_command_64
  46. | LC_LINKER_OPTION of linkedit_data_command
  47. | LC_LINKER_OPTIMIZATION_HINT of linkedit_data_command
  48. | LC_UNIMPLEMENTED of load_command
type lc = {
  1. cmd : cmd;
  2. cmdsize : int;
  3. t : lc_t;
}