- vm_size_t csb_hash_pagesize; /* each hash entry represent this many bytes in the file */
- vm_size_t csb_hash_pagemask;
- vm_size_t csb_hash_pageshift;
- vm_size_t csb_hash_firstlevel_pagesize; /* First hash this many bytes, then hash the hashes together */
- const CS_CodeDirectory *csb_cd;
- const char *csb_teamid;
- const CS_GenericBlob *csb_entitlements_blob; /* raw blob, subrange of csb_mem_kaddr */
- void * csb_entitlements; /* The entitlements as an OSDictionary */
+#if CONFIG_SUPPLEMENTAL_SIGNATURES
+ unsigned char csb_linkage[CS_CDHASH_LEN];
+ const struct cs_hash *csb_linkage_hashtype;
+#endif
+ int csb_hash_pageshift;
+ int csb_hash_firstlevel_pageshift; /* First hash this many bytes, then hash the hashes together */
+ const CS_CodeDirectory * XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_cd") csb_cd;
+ const char * XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_teamid") csb_teamid;
+#if CONFIG_SUPPLEMENTAL_SIGNATURES
+ char * XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_supplement_teamid") csb_supplement_teamid;
+#endif
+ const CS_GenericBlob * XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_entitlements_blob") csb_entitlements_blob; /* raw blob, subrange of csb_mem_kaddr */
+ void * XNU_PTRAUTH_SIGNED_PTR("cs_blob.csb_entitlements") csb_entitlements; /* The entitlements as an OSDictionary */