]> git.saurik.com Git - apple/xnu.git/blobdiff - EXTERNAL_HEADERS/mach-o/loader.h
xnu-2782.40.9.tar.gz
[apple/xnu.git] / EXTERNAL_HEADERS / mach-o / loader.h
index f41664e54d744512933c6267687d0e9fe41a0e58..d26ad14e3d80ff807d4b1d052c9f85b07577d36b 100644 (file)
@@ -294,6 +294,7 @@ struct load_command {
 #define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */
 #define LC_SOURCE_VERSION 0x2A /* source version used to build binary */
 #define LC_DYLIB_CODE_SIGN_DRS 0x2B /* Code signing DRs copied from linked dylibs */
 #define LC_DATA_IN_CODE 0x29 /* table of non-instructions in __text */
 #define LC_SOURCE_VERSION 0x2A /* source version used to build binary */
 #define LC_DYLIB_CODE_SIGN_DRS 0x2B /* Code signing DRs copied from linked dylibs */
+#define        LC_ENCRYPTION_INFO_64 0x2C /* 64-bit encrypted segment information */
 
 
 /*
 
 
 /*
@@ -1174,6 +1175,21 @@ struct encryption_info_command {
                                   0 means not-encrypted yet */
 };
 
                                   0 means not-encrypted yet */
 };
 
+/*
+ * The encryption_info_command_64 contains the file offset and size of an
+ * of an encrypted segment (for use in 64-bit targets).
+ */
+struct encryption_info_command_64 {
+   uint32_t    cmd;            /* LC_ENCRYPTION_INFO_64 */
+   uint32_t    cmdsize;        /* sizeof(struct encryption_info_command_64) */
+   uint32_t    cryptoff;       /* file offset of encrypted range */
+   uint32_t    cryptsize;      /* file size of encrypted range */
+   uint32_t    cryptid;        /* which enryption system,
+                                  0 means not-encrypted yet */
+   uint32_t    pad;            /* padding to make this struct's size a multiple
+                                  of 8 bytes */
+};
+
 /*
  * The version_min_command contains the min OS version on which this 
  * binary was built to run.
 /*
  * The version_min_command contains the min OS version on which this 
  * binary was built to run.
@@ -1428,19 +1444,18 @@ struct source_version_command {
 /*
  * The LC_DATA_IN_CODE load commands uses a linkedit_data_command 
  * to point to an array of data_in_code_entry entries. Each entry
 /*
  * The LC_DATA_IN_CODE load commands uses a linkedit_data_command 
  * to point to an array of data_in_code_entry entries. Each entry
- * describes a range of data in a code section.  This load command
- * is only used in final linked images.
+ * describes a range of data in a code section.
  */
 struct data_in_code_entry {
     uint32_t   offset;  /* from mach_header to start of data range*/
     uint16_t   length;  /* number of bytes in data range */
     uint16_t   kind;    /* a DICE_KIND_* value  */
 };
  */
 struct data_in_code_entry {
     uint32_t   offset;  /* from mach_header to start of data range*/
     uint16_t   length;  /* number of bytes in data range */
     uint16_t   kind;    /* a DICE_KIND_* value  */
 };
-#define DICE_KIND_DATA              0x0001  /* L$start$data$...  label */
-#define DICE_KIND_JUMP_TABLE8       0x0002  /* L$start$jt8$...   label */
-#define DICE_KIND_JUMP_TABLE16      0x0003  /* L$start$jt16$...  label */
-#define DICE_KIND_JUMP_TABLE32      0x0004  /* L$start$jt32$...  label */
-#define DICE_KIND_ABS_JUMP_TABLE32  0x0005  /* L$start$jta32$... label */
+#define DICE_KIND_DATA              0x0001
+#define DICE_KIND_JUMP_TABLE8       0x0002
+#define DICE_KIND_JUMP_TABLE16      0x0003
+#define DICE_KIND_JUMP_TABLE32      0x0004
+#define DICE_KIND_ABS_JUMP_TABLE32  0x0005