siginfo.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 93 行
H
93 行
#ifndef _M68K_SIGINFO_H#define _M68K_SIGINFO_H#define HAVE_ARCH_SIGINFO_T#define HAVE_ARCH_COPY_SIGINFO#include <asm-generic/siginfo.h>typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[SI_PAD_SIZE]; /* kill() */ struct { __kernel_pid_t _pid; /* sender's pid */ __kernel_uid_t _uid; /* backwards compatibility */ __kernel_uid32_t _uid32; /* sender's uid */ } _kill; /* POSIX.1b timers */ struct { timer_t _tid; /* timer id */ int _overrun; /* overrun count */ char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ } _timer; /* POSIX.1b signals */ struct { __kernel_pid_t _pid; /* sender's pid */ __kernel_uid_t _uid; /* backwards compatibility */ sigval_t _sigval; __kernel_uid32_t _uid32; /* sender's uid */ } _rt; /* SIGCHLD */ struct { __kernel_pid_t _pid; /* which child */ __kernel_uid_t _uid; /* backwards compatibility */ int _status; /* exit code */ clock_t _utime; clock_t _stime; __kernel_uid32_t _uid32; /* sender's uid */ } _sigchld; /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ struct { void *_addr; /* faulting insn/memory ref. */ } _sigfault; /* SIGPOLL */ struct { int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ int _fd; } _sigpoll; } _sifields;} siginfo_t;#define UID16_SIGINFO_COMPAT_NEEDED/* * How these fields are to be accessed. */#undef si_uid#ifdef __KERNEL__#define si_uid _sifields._kill._uid32#define si_uid16 _sifields._kill._uid#else#define si_uid _sifields._kill._uid#endif#ifdef __KERNEL__#include <linux/string.h>static inline void copy_siginfo(struct siginfo *to, struct siginfo *from){ if (from->si_code < 0) memcpy(to, from, sizeof(*to)); else /* _sigchld is currently the largest know union member */ memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld));}#endif /* __KERNEL__ */#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?