Home | History | Annotate | Download | only in signal_h
      1 <assertions>
      2   <assertion id="1" tag="ref:XBD6:10713:10996">
      3     The signal.h header file exists
      4   </assertion>
      5   <assertion id="2" tag="ref:XBD6:10722:10729">
      6     The signal.h header defines the symbols SIG_DFL, SIG_ERR, SIG_HOLD
      7     and SIG_IGN as 'void (*) int'.
      8   </assertion>
      9   <assertion id="3" tag="ref:XBD6:10730:10732">
     10     The signal.h header defines sig_atomic_t.
     11   </assertion>
     12   <assertion id="4" tag="ref:XBD6:10733:10733">
     13     The signal.h header defines sigset_t.
     14   </assertion>
     15   <assertion id="5" tag="ref:XBD6:10734:10734">
     16     The sys/types.h header defines pid_t.
     17   </assertion>
     18   <assertion id="6" tag="ref:XBD6:10735:10741 pt:RTS">
     19     The signal.h header defines a structure named sigevent which has at least:
     20     int sigev_notify
     21     int sigev_signo
     22     union sigval sigev_value
     23     void(*)(union sigval) sigev_notify_function
     24     (pthread_attr_t *) sigev_notify_attributes
     25   </assertion>
     26   <assertion id="7" tag="ref:XBD6:10742:10747 pt:RTS">
     27     For sigev_notify (assertion 6), the following values are defined:
     28     SIGEV_NONE
     29     SIGEV_SIGNAL
     30     SIGEV_THREAD
     31   </assertion>
     32   <assertion id="8" tag="ref:XBD6:10748:10750 pt:RTS">
     33     The sigval union (assertion 6) is defined as:
     34     int sival_int
     35     void *sival_ptr
     36   </assertion>
     37   <assertion id="9" tag="ref:XBD6:10751:10753 pt:RTS">
     38     The signal.h header declares SIGRTMIN and SIGRTMAX.  These are macros
     39     that evaluate to integer expressions for the minimum and maximum signal
     40     numbers reserved for realtime signals.
     41   </assertion>
     42   <assertion id="10" tag="ref:XBD6:10754:10755 pt:RTS">
     43     The range SIGRTMIN-SIGRTMAX doesn't overlap pre-defined signals (see
     44     below).
     45   </assertion>
     46   <assertion id="11" tag="ref:XBD6:10756:10757 pt:RTS">
     47     The SIGRTMIN-SIGRTMAX range includes at least {RTSIG_MAX} signal
     48     numbers.
     49   </assertion>
     50   <assertion id="12" tag="ref:XBD6:10758:10758 pt:RTS">
     51     Realtime signal behavior may or may not be supported for non-realtime
     52     signals.  This is defined by the implementation.
     53   </assertion>
     54   <assertion id="13" tag="ref:XBD6:10761:10762">
     55     The value 0 is not used in any signals, but is reserved as the null signal.
     56   </assertion>
     57   <assertion id="14" tag="ref:XBD6:10765:10797">
     58     The following signals are always (on all implementations) supported:
     59     SIGABRT
     60     SIGALRM
     61     SIGBUS
     62     SIGCHLD
     63     SIGCONT
     64     SIGFPE
     65     SIGHUP
     66     SIGILL
     67     SIGINT
     68     SIGKILL
     69     SIGPIPE
     70     SIGQUIT
     71     SIGSEGV
     72     SIGSTOP
     73     SIGTERM
     74     SIGTSTP
     75     SIGTTIN
     76     SIGTTOU
     77     SIGUSR1
     78     SIGUSR2
     79     SIGPOLL
     80     SIGPROF
     81     SIGSYS
     82     SIGTRAP
     83     SIGURG
     84     SIGVTALRM
     85     SIGXCPU
     86     SIGXFSZ
     87   </assertion>
     88   <assertion id="15" tag="ref:XBD6:10808:10817">
     89    The signal.h header declares the struct sigaction which has, at a minimum,
     90    the following members:
     91     void (*sa_handler)(int)
     92     sigset_t sa_mask
     93     int sa_flags
     94     void (*)(int, siginfo_t *, void *) sa_sigaction
     95   </assertion>
     96   <assertion id="16" tag="ref:XBD6:10820:10839">
     97    The constants below are declared:
     98    SA_NOCLDSTOP
     99    SIG_BLOCK
    100    SIG_UNBLOCK
    101    SIG_SETMASK
    102    SA_ONSTACK
    103    SA_RESETHAND
    104    SA_RESTART
    105    SA_SIGINFO
    106    SA_NOCLDWAIT
    107    SA_NODEFER
    108    SS_ONSTACK
    109    SS_DISABLE
    110    MINSIGSTKSZ
    111    SIGSTKSZ
    112   </assertion>
    113   <assertion id="17" tag="ref:XBD6:10840:10840">
    114     The ucontext.h header shall define ucontext_t.
    115   </assertion>
    116   <assertion id="18" tag="ref:XBD6:10841:10841">
    117     The ucontext.h header shall define mcontext_t.
    118   </assertion>
    119   <assertion id="19" tag="ref:XBD6:10842:10846">
    120    The signal.h header defines the structure stack_t which includes the
    121    following, at a minimum:
    122    void   *ss_sp
    123    size_t ss_size
    124    int    ss_flags
    125   </assertion>
    126   <assertion id="20" tag="ref:XBD6:10847:10850">
    127    The signal.h header defines the structure sigstack which includes the
    128    following, at a minimum:
    129    int  ss_onstack
    130    void *ss_sp
    131   </assertion>
    132   <assertion id="21" tag="ref:XBD6:10852:10864">
    133    The signal.h header defines the structure siginfo_t which includes the
    134    following, at a minimum:
    135    int si_signo
    136    int si_errno
    137    int si_code
    138    pid_t si_pid
    139    uid_t si_uid
    140    void *si_addr
    141    int si_status
    142    long si_band
    143    union sigval si_value
    144   </assertion>
    145   <assertion id="22" tag="ref:XBD6:10867:10910">
    146    The following macros are defined:
    147    ILL_ILLOPC
    148    ILL_ILLOPN
    149    ILL_ILLADR
    150    ILL_ILLTRP
    151    ILL_PRVOPC
    152    ILL_PRVREG
    153    ILL_COPROC
    154    ILL_BADSTK
    155    FPE_INTDIV
    156    FPE_INTOVF
    157    FPE_FLTDIV
    158    FPE_FLTOVF
    159    FPE_FLTUND
    160    FPE_FLTRES
    161    FPE_FLTINV
    162    FPE_FLTSUB
    163    SEGV_MAPERR
    164    SEGV_ACCERR
    165    BUS_ADRALN
    166    BUS_ADRERR
    167    BUS_OBJERR
    168    TRAP_BRKPT
    169    TRAP_TRACE
    170    CLD_EXITED
    171    CLD_KILLED
    172    CLD_DUMPED
    173    CLD_TRAPPED
    174    CLD_STOPPED
    175    CLD_CONTINUED
    176    POLL_IN
    177    POLL_OUT
    178    POLL_MSG
    179    POLL_ERR
    180    POLL_PRI
    181    POLL_HUP
    182    SI_USER
    183    SI_QUEUE
    184    SI_TIMER
    185    SI_ASYNCIO
    186    SI_MESGQ
    187   </assertion>
    188   <assertion id="23" tag="ref:XBD6:10929:10929 pt:XSI">
    189    The function below is declared:
    190    void (*bsd_signal(int, void (*)(int)))(int);
    191   </assertion>
    192   <assertion id="24" tag="ref:XBD6:10930:10930 pt:CX">
    193    The function below is declared:
    194    int kill(pid_t, int);
    195   </assertion>
    196   <assertion id="25" tag="ref:XBD6:10931:10931 pt:XSI">
    197    The function below is declared:
    198    int killpg(pid_t, int);
    199   </assertion>
    200   <assertion id="26" tag="ref:XBD6:10932:10932 pt:THR">
    201    The function below is declared:
    202    int pthread_kill(pthread_t, int);
    203   </assertion>
    204   <assertion id="27" tag="ref:XBD6:10933:10933">
    205    The function below is declared:
    206    int pthread_sigmask(int, const sigset_t *, sigset_t *);
    207   </assertion>
    208   <assertion id="28" tag="ref:XBD6:10934:10934">
    209    The function below is declared:
    210    int raise(int);
    211   </assertion>
    212   <assertion id="29" tag="ref:XBD6:10935:10936 pt:CX">
    213    The function below is declared:
    214    int sigaction(int, const struct sigaction *restrict,
    215    struct sigaction *restrict);
    216   </assertion>
    217   <assertion id="30" tag="ref:XBD6:10937:10937">
    218    The function below is declared:
    219    int sigaddset(sigset_t *, int);
    220   </assertion>
    221   <assertion id="31" tag="ref:XBD6:10938:10938 pt:XSI">
    222    The function below is declared:
    223    int sigaltstack(const stack_t *restrict, stack_t *restrict);
    224   </assertion>
    225   <assertion id="32" tag="ref:XBD6:10939:10939 pt:CX">
    226    The function below is declared:
    227    int sigdelset(sigset_t *, int);
    228   </assertion>
    229   <assertion id="33" tag="ref:XBD6:10940:10940">
    230    The function below is declared:
    231    int sigemptyset(sigset_t *);
    232   </assertion>
    233   <assertion id="34" tag="ref:XBD6:10941:10941">
    234    The function below is declared:
    235    int sigfillset(sigset_t *);
    236   </assertion>
    237   <assertion id="35" tag="ref:XBD6:10942:10942 pt:XSI">
    238    The function below is declared:
    239    int sighold(int);
    240   </assertion>
    241   <assertion id="36" tag="ref:XBD6:10943:10943 pt:XSI">
    242    The function below is declared:
    243    int sigignore(int);
    244   </assertion>
    245   <assertion id="37" tag="ref:XBD6:10944:10944">
    246    The function below is declared:
    247    int siginterrupt(int, int);
    248   </assertion>
    249   <assertion id="38" tag="ref:XBD6:10945:10945 pt:CX">
    250    The function below is declared:
    251    int sigismember(const sigset_t *, int);
    252   </assertion>
    253   <assertion id="39" tag="ref:XBD6:10946:10946">
    254    The function below is declared:
    255    void (*signal(int, void (*)(int)))(int);
    256   </assertion>
    257   <assertion id="40" tag="ref:XBD6:10947:10947 pt:XSI">
    258    The function below is declared:
    259    int sigpause(int);
    260   </assertion>
    261   <assertion id="41" tag="ref:XBD6:10948:10948 pt:CX">
    262    The function below is declared:
    263    int sigpending(sigset_t *);
    264   </assertion>
    265   <assertion id="42" tag="ref:XBD6:10949:10949">
    266    The function below is declared:
    267    int sigprocmask(int, const sigset_t *restrict, sigset_t *restrict);
    268   </assertion>
    269   <assertion id="43" tag="ref:XBD6:10950:10950 pt:RTS">
    270    The function below is declared:
    271    int sigqueue(pid_t, int, const union sigval);
    272   </assertion>
    273   <assertion id="44" tag="ref:XBD6:10951:10951 pt:XSI">
    274    The function below is declared:
    275    int sigrelse(int);
    276   </assertion>
    277   <assertion id="45" tag="ref:XBD6:10952:10952">
    278    The function below is declared:
    279    void (*sigset(int, void (*)(int)))(int);
    280   </assertion>
    281   <assertion id="46" tag="ref:XBD6:10953:10953 pt:CX">
    282    The function below is declared:
    283    int sigsuspend(const sigset_t *);
    284   </assertion>
    285   <assertion id="47" tag="ref:XBD6:10954:10955">
    286    The function below is declared:
    287    int sigtimedwait(const sigset_t *restrict, siginfo_t *restrict,
    288    const struct timespec *restrict);
    289   </assertion>
    290   <assertion id="48" tag="ref:XBD6:10956:10956 pt:CX">
    291    The function below is declared:
    292    int sigwait(const sigset_t *restrict, int *restrict);
    293   </assertion>
    294   <assertion id="49" tag="ref:XBD6:10957:10957 pt:RTS">
    295    The function below is declared:
    296    int sigwaitinfo(const sigset_t *restrict, siginfo_t *restrict);
    297   </assertion>
    298   <assertion id="50" tag="ref:XBD6:10959:10959">
    299    Inclusion of the signal.h header may make visible all symbols from
    300    the time.h header.
    301   </assertion>
    302 </assertions>
    303