|
|
1.1 ! root 1: #ifndef __KERNEL_SIGPROC_H__ ! 2: #define __KERNEL_SIGPROC_H__ ! 3: ! 4: #include <common/ccompat.h> ! 5: #include <common/_signal.h> ! 6: #include <common/_siginfo.h> ! 7: #include <kernel/_proc.h> ! 8: ! 9: /* ! 10: * iBCS2 specifies that signal () shares a system call number with sigset (), ! 11: * sighold (), sigrelse (), sigignore (), and sigpause (). The latter are ! 12: * distinguished according to the high 16 bits of the signal number, as below. ! 13: */ ! 14: ! 15: #define SIGSET 0x100 ! 16: #define SIGHOLD 0x200 ! 17: #define SIGRELSE 0x400 ! 18: #define SIGIGNORE 0x800 ! 19: #define SIGPAUSE 0x1000 ! 20: ! 21: ! 22: /* ! 23: * Common kernel equivalent for the various user-level flavours of "struct ! 24: * sigaction". ! 25: */ ! 26: ! 27: typedef struct { ! 28: __sigactfl_t sa_flags; ! 29: __sigfunc_t sa_handler; ! 30: __sigset_t sa_mask; ! 31: } __sigaction_t; ! 32: ! 33: ! 34: /* ! 35: * The functions declared below provide kernel modules access to data items ! 36: * stored in various ways as part of the U area or process structure. All ! 37: * access to these items should be done through these accessors to ensure ! 38: * binary compatibility between object modules independent of the exact layout ! 39: * of these structures. We return pointers because C lacks references... ! 40: */ ! 41: ! 42: __EXTERN_C_BEGIN__ ! 43: ! 44: void curr_signal_action __PROTO ((int _signal, ! 45: __CONST__ __sigaction_t * _act, ! 46: __sigaction_t * _oact)); ! 47: void curr_signal_mask __PROTO ((__CONST__ __sigset_t * _mask, ! 48: __sigset_t * _omask)); ! 49: void curr_signal_addmask __PROTO ((__CONST__ __sigset_t * _mask)); ! 50: ! 51: int proc_signal_masked __PROTO ((__proc_t * _process, int _signal)); ! 52: ! 53: void proc_send_signal __PROTO ((__proc_t * _process, ! 54: __CONST__ __siginfo_t * _siginfo)); ! 55: ! 56: void proc_unkill __PROTO ((__proc_t * _process, int _signal)); ! 57: ! 58: int curr_signal_pending __PROTO ((void)); ! 59: ! 60: __sigmiscfl_t curr_signal_misc __PROTO ((__sigmiscfl_t _clear, ! 61: __sigmiscfl_t _set)); ! 62: __sigmiscfl_t proc_signal_misc __PROTO ((__proc_t * _process)); ! 63: ! 64: __EXTERN_C_END__ ! 65: ! 66: #endif /* ! defined (__KERNEL_SIGPROC_H__) */ ! 67: ! 68:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.