musl/include/sys/signalfd.h
Timo Teräs 7e10f209fb fix struct signalfd_siginfo
ssi_ptr is really 64-bit in kernel, so fix that. assuming sizeof(void*)
for it also caused incorrect padding for 32-bits, as the following
64-bits are aligned to 64-bits (and the padding was not taken into
account), so fix the padding as well. add addr_lsb field while there.
2013-12-29 21:55:21 -05:00

46 lines
751 B
C

#ifndef _SYS_SIGNALFD_H
#define _SYS_SIGNALFD_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <fcntl.h>
#define __NEED_sigset_t
#include <bits/alltypes.h>
#define SFD_CLOEXEC O_CLOEXEC
#define SFD_NONBLOCK O_NONBLOCK
int signalfd(int, const sigset_t *, int);
struct signalfd_siginfo {
uint32_t ssi_signo;
int32_t ssi_errno;
int32_t ssi_code;
uint32_t ssi_pid;
uint32_t ssi_uid;
int32_t ssi_fd;
uint32_t ssi_tid;
uint32_t ssi_band;
uint32_t ssi_overrun;
uint32_t ssi_trapno;
int32_t ssi_status;
int32_t ssi_int;
uint64_t ssi_ptr;
uint64_t ssi_utime;
uint64_t ssi_stime;
uint64_t ssi_addr;
uint16_t ssi_addr_lsb;
uint8_t pad[128-12*4-4*8-2];
};
#ifdef __cplusplus
}
#endif
#endif