signal.pxd 1.69 KB
Newer Older
Mark Peek's avatar
Mark Peek committed
1 2 3 4
# 7.14 Signal handling <signal.h>

from posix.types cimport pid_t, sigset_t, uid_t

5
cdef extern from "<signal.h>" nogil:
Mark Peek's avatar
Mark Peek committed
6 7 8 9 10 11 12 13 14

    cdef union sigval:
        int  sival_int
        void *sival_ptr

    cdef struct sigevent:
        int    sigev_notify
        int    sigev_signo
        sigval sigev_value
Jeroen Demeyer's avatar
Jeroen Demeyer committed
15
        void   sigev_notify_function(sigval)
Mark Peek's avatar
Mark Peek committed
16 17 18 19 20 21 22 23 24 25 26 27 28

    ctypedef struct siginfo_t:
        int    si_signo
        int    si_code
        int    si_errno
        pid_t  si_pid
        uid_t  si_uid
        void   *si_addr
        int    si_status
        long   si_band
        sigval si_value

    cdef struct sigaction_t "sigaction":
Jeroen Demeyer's avatar
Jeroen Demeyer committed
29 30
        void     sa_handler(int)
        void     sa_sigaction(int, siginfo_t *, void *)
Mark Peek's avatar
Mark Peek committed
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
        sigset_t sa_mask
        int      sa_flags

    enum: SA_NOCLDSTOP
    enum: SIG_BLOCK
    enum: SIG_UNBLOCK
    enum: SIG_SETMASK
    enum: SA_ONSTACK
    enum: SA_RESETHAND
    enum: SA_RESTART
    enum: SA_SIGINFO
    enum: SA_NOCLDWAIT
    enum: SA_NODEFER
    enum: SS_ONSTACK
    enum: SS_DISABLE
    enum: MINSIGSTKSZ
    enum: SIGSTKSZ

    enum: SIGEV_NONE
    enum: SIGEV_SIGNAL
    enum: SIGEV_THREAD
    enum: SIGEV_THREAD_ID


    int          kill          (pid_t, int)
    int          killpg        (pid_t, int)
    int          sigaction     (int, const sigaction_t *, sigaction_t *)
    int          sigpending    (sigset_t *)
    int          sigprocmask   (int, const sigset_t *, sigset_t *)
    int          sigsuspend    (const sigset_t *)

    int          sigaddset     (sigset_t *, int)
    int          sigdelset     (sigset_t *, int)
    int          sigemptyset   (sigset_t *)
    int          sigfillset    (sigset_t *)
    int          sigismember   (const sigset_t *)