-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path32bit.h
More file actions
103 lines (94 loc) · 3.72 KB
/
Copy path32bit.h
File metadata and controls
103 lines (94 loc) · 3.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#pragma once
#include <mach/task.h>
#include <sys/signal.h>
#include <sys/stat.h>
// dyld
#define DYLD_PROCESS_INFO_NOTIFY_LOAD_ID 0x1000
#define DYLD_PROCESS_INFO_NOTIFY_UNLOAD_ID 0x2000
#define DYLD_PROCESS_INFO_NOTIFY_MAIN_ID 0x3000
struct dyld_all_image_infos_32 {
uint32_t version;
uint32_t infoArrayCount;
uint32_t infoArray;
uint32_t notification;
bool processDetachedFromSharedRegion;
bool libSystemInitialized;
uint32_t dyldImageLoadAddress;
uint32_t jitInfo;
uint32_t dyldVersion;
uint32_t errorMessage;
uint32_t terminationFlags;
uint32_t coreSymbolicationShmPage;
uint32_t systemOrderFlag;
uint32_t uuidArrayCount;
uint32_t uuidArray;
uint32_t dyldAllImageInfosAddress;
uint32_t initialImageCount;
uint32_t errorKind;
uint32_t errorClientOfDylibPath;
uint32_t errorTargetDylibPath;
uint32_t errorSymbol;
uint32_t sharedCacheSlide;
uint8_t sharedCacheUUID[16];
uint32_t sharedCacheBaseAddress;
uint64_t infoArrayChangeTimestamp;
uint32_t dyldPath;
uint32_t notifyMachPorts[2];
uint32_t reserved[11];
};
struct dyld_process_info_image_entry {
uuid_t uuid;
uint64_t loadAddress;
uint32_t pathStringOffset;
uint32_t pathLength;
};
struct dyld_process_info_notify_header {
mach_msg_header_t header;
uint32_t version;
uint32_t imageCount;
uint32_t imagesOffset;
uint32_t stringsOffset;
uint64_t timestamp;
};
// Others
struct objc_method_32 {
uint32_t method_name;
uint32_t method_types;
uint32_t method_imp;
};
struct sigaction_32 {
#if 0
union {
void (*__sa_handler)(int);
void (*__sa_sigaction)(int, struct __siginfo *, void *);
} __sigaction_u; /* signal handler */
#endif
uint32_t _sa_handler;
int sa_flags; /* see signal options below */
sigset_t sa_mask; /* signal mask to apply */
};
struct timespec_32 {
int tv_sec;
int tv_nsec;
};
struct __attribute__((__packed__)) stat_32 {
dev_t st_dev; /* [XSI] ID of device containing file */
mode_t st_mode; /* [XSI] Mode of file (see below) */
nlink_t st_nlink; /* [XSI] Number of hard links */
__darwin_ino64_t st_ino; /* [XSI] File serial number */
uid_t st_uid; /* [XSI] User ID of the file */
gid_t st_gid; /* [XSI] Group ID of the file */
dev_t st_rdev; /* [XSI] Device ID */
struct timespec_32 st_atimespec; /* time of last access */
struct timespec_32 st_mtimespec; /* time of last data modification */
struct timespec_32 st_ctimespec; /* time of last status change */
struct timespec_32 st_birthtimespec; /* time of file creation(birth) */
//__DARWIN_STRUCT_STAT64_TIMES
off_t st_size; /* [XSI] file size, in bytes */
blkcnt_t st_blocks; /* [XSI] blocks allocated for file */
blksize_t st_blksize; /* [XSI] optimal blocksize for I/O */
__uint32_t st_flags; /* user defined flags for file */
__uint32_t st_gen; /* file generation number */
__int32_t st_lspare; /* RESERVED: DO NOT USE! */
__int64_t st_qspare[2]; /* RESERVED: DO NOT USE! */
};