#include <mach/doubleagent_types.h> not included by <mach/mach.h> — include it explicitly

mach/doubleagent_types.h

7 macros · 2 typedefs · 1 struct

macroDA_XATTR_MAXNAMELEN

#define DA_XATTR_MAXNAMELEN 127
Must match the 'XATTR_MAXNAMELEN' in <sys/xattr.h>.

macroDA_XATTR_FINDERINFO_NAME

#define DA_XATTR_FINDERINFO_NAME "com.apple.FinderInfo"
Copy of XATTR_FINDERINFO_NAME in <sys/xattr.h>.

macroDA_XATTR_RESOURCEFORK_NAME

#define DA_XATTR_RESOURCEFORK_NAME "com.apple.ResourceFork"
Copy of DA_XATTR_RESOURCEFORK_NAME in <sys/xattr.h>.

macroMAX_NUM_OF_XATTRS

#define MAX_NUM_OF_XATTRS 256

macroLISTXATTR_RESULT_MAX_NAMES_LEN

#define LISTXATTR_RESULT_MAX_NAMES_LEN (sizeof(DA_XATTR_RESOURCEFORK_NAME) + sizeof(DA_XATTR_FINDERINFO_NAME) + (MAX_NUM_OF_XATTRS * ((DA_XATTR_MAXNAMELEN + 1))))

macroLISTXATTR_RESULT_MAX_HINTS_LEN

#define LISTXATTR_RESULT_MAX_HINTS_LEN (MAX_NUM_OF_XATTRS * 2 * sizeof(uint32_t))
hint = offset + length (per xattr).

typedefxattrname

typedef char xattrname[DA_XATTR_MAXNAMELEN + 1]

structlist_xattrs_result

size 34920, align 8
uint64_tfinderInfoOffsetheader =0 if not present
uint64_tresourceForkOffset=0 if not present
uint64_tresourceForkLengthDon't care if resourceForkOffset = 0
uint64_tnumOfXattrs
uint64_tdataLengthdata: (1) names (separated with '\0') (2) ranges: offset + lengths (for caching) (dataLength = namesLength + rangesLength)
uint64_tnamesLength
uint64_trangesLength
uint8_t[34860]data

typedeflistxattrs_result_t

typedef struct list_xattrs_result listxattrs_result_t;