6 #ifndef LINUX_COREDUMP_H
7 #define LINUX_COREDUMP_H
10 #include <sys/procfs.h>
12 #if __i386__ || __x86_64__
24 #define X87_BIT (1ULL << 0)
25 #define SSE_BIT (1ULL << 1)
26 #define AVX_BIT (1ULL << 2)
27 #define BNDREGS_BIT (1ULL << 3)
28 #define BNDCSR_BIT (1ULL << 4)
30 #define MPX_BIT (BNDREGS_BIT | BNDCSR_BIT)
33 #define AVX512_k_BIT (1ULL << 5)
34 #define AVX512_ZMM0_15_BIT (1ULL << 6)
35 #define AVX512_ZMM16_31_BIT (1ULL << 7)
36 #define AVX512_FULL_BIT (AVX512_k_BIT | AVX512_ZMM0_15_BIT | AVX512_ZMM16_31_BIT)
37 #define IA32_XSS_BIT (1ULL << 8)
38 #define PKRU_BIT (1ULL << 9)
40 #define NO_STATE_BIT X87_BIT
41 #define XSTATE_SSE_SIZE 576
42 #define XSTATE_AVX_SIZE 832
44 #define XSTATE_MPX_SIZE 1088
45 #define XSTATE_AVX512_k_SIZE 1152
46 #define XSTATE_AVX512_ZMM0_7 1408
47 #define XSTATE_AVX512_ZMM8_15 1664
48 #define XSTATE_AVX512_ZMM16_31 2688
49 #define XSTATE_FULL_SIZE XSTATE_AVX512_ZMM16_31
51 #define XSTATE_HDR_SIZE XSTATE_SSE_SIZE
52 #define XCR0_OFFSET 464
54 #define XSTATE_SSE_MASK (X87_BIT | SSE_BIT)
55 #define XSTATE_AVX_MASK (XSTATE_SSE_MASK | AVX_BIT)
56 #define XSTATE_MPX_MASK (MPX_BIT | XSTATE_AVX_MASK | XSTATE_SSE_MASK)
57 #define XSTATE_AVX512_MASK (XSTATE_AVX_MASK | AVX512_FULL_BIT)
61 #define SIZE_PR_FNAME 16
63 #define RZ_DEBUG_REG_T struct user_regs_struct
65 #define SIZE_NT_FILE_DESCSZ sizeof(unsigned long) * 3
84 #define MAP_ANON_PRIV 0x1
85 #define MAP_ANON_SHR 0x2
86 #define MAP_FILE_PRIV 0x4
87 #define MAP_FILE_SHR 0x8
88 #define MAP_ELF_HDR 0x10
89 #define MAP_HUG_PRIV 0x20
90 #define MAP_HUG_SHR 0x40
147 #define ADD_MAP_NODE(p) \
169 elf_fpxregset_t *fpx_regset;
172 #if __i386__ || __x86_64__
174 #elif __arm__ || __arm64__
199 #if __i386__ || __x86_64__
201 #elif __arm__ || __arm64__
224 unsigned long liovcnt,
const struct iovec *remote_iov,
225 unsigned long riovcnt,
unsigned long flags);
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc pid
struct map_file map_file_t
struct proc_per_thread proc_per_thread_t
struct proc_per_process proc_per_process_t
struct linux_map_entry linux_map_entry_t
int linux_reg_read(RzDebug *dbg, int type, ut8 *buf, int size)
struct elf_note_types note_info_t
ssize_t process_vm_readv(pid_t pid, const struct iovec *local_iov, unsigned long liovcnt, const struct iovec *remote_iov, unsigned long riovcnt, unsigned long flags)
struct proc_content proc_content_t
struct auxv_buff auxv_buff_t
bool linux_generate_corefile(RzDebug *dbg, RzBuffer *dest)
struct thread_elf_note thread_elf_note_t
struct proc_elf_note elf_proc_note_t
static struct sockaddr static addrlen static backlog const void static flags void flags
struct linux_map_entry * n
proc_per_process_t * per_process
proc_per_thread_t * per_thread
thread_elf_note_t * thread_note
unsigned char coredump_filter
struct proc_per_thread * n
elf_fpregset_t * fp_regset
struct thread_elf_note * n
ut64(WINAPI *w32_GetEnabledXStateFeatures)()