LCOV - code coverage report
Current view: top level - zephyr/posix - signal.h Hit Total Coverage
Test: new.info Lines: 28 86 32.6 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2018 Intel Corporation
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : #ifndef ZEPHYR_INCLUDE_POSIX_SIGNAL_H_
       7             : #define ZEPHYR_INCLUDE_POSIX_SIGNAL_H_
       8             : 
       9             : /* include posix_types.h before posix_features.h (here) to avoid build errors against newlib */
      10             : #include <zephyr/posix/posix_types.h>
      11             : #include "posix_features.h"
      12             : 
      13             : #ifdef __cplusplus
      14             : extern "C" {
      15             : #endif
      16             : 
      17           1 : #define SIGHUP    1  /**< Hangup */
      18           1 : #define SIGINT    2  /**< Interrupt */
      19           1 : #define SIGQUIT   3  /**< Quit */
      20           1 : #define SIGILL    4  /**< Illegal instruction */
      21           1 : #define SIGTRAP   5  /**< Trace/breakpoint trap */
      22           1 : #define SIGABRT   6  /**< Aborted */
      23           1 : #define SIGBUS    7  /**< Bus error */
      24           1 : #define SIGFPE    8  /**< Arithmetic exception */
      25           1 : #define SIGKILL   9  /**< Killed */
      26           1 : #define SIGUSR1   10 /**< User-defined signal 1 */
      27           1 : #define SIGSEGV   11 /**< Invalid memory reference */
      28           1 : #define SIGUSR2   12 /**< User-defined signal 2 */
      29           1 : #define SIGPIPE   13 /**< Broken pipe */
      30           1 : #define SIGALRM   14 /**< Alarm clock */
      31           1 : #define SIGTERM   15 /**< Terminated */
      32             : /* 16 not used */
      33           1 : #define SIGCHLD   17 /**< Child status changed */
      34           1 : #define SIGCONT   18 /**< Continued */
      35           1 : #define SIGSTOP   19 /**< Stop executing */
      36           1 : #define SIGTSTP   20 /**< Stopped */
      37           1 : #define SIGTTIN   21 /**< Stopped (read) */
      38           1 : #define SIGTTOU   22 /**< Stopped (write) */
      39           1 : #define SIGURG    23 /**< Urgent I/O condition */
      40           1 : #define SIGXCPU   24 /**< CPU time limit exceeded */
      41           1 : #define SIGXFSZ   25 /**< File size limit exceeded */
      42           1 : #define SIGVTALRM 26 /**< Virtual timer expired */
      43           1 : #define SIGPROF   27 /**< Profiling timer expired */
      44             : /* 28 not used */
      45           1 : #define SIGPOLL   29 /**< Pollable event occurred */
      46             : /* 30 not used */
      47           1 : #define SIGSYS    31 /**< Bad system call */
      48             : 
      49           0 : #define SIGRTMIN 32
      50           0 : #define SIGRTMAX (SIGRTMIN + RTSIG_MAX)
      51             : #define _NSIG (SIGRTMAX + 1)
      52             : 
      53             : BUILD_ASSERT(RTSIG_MAX >= 0);
      54             : 
      55           0 : typedef struct {
      56           0 :         unsigned long sig[DIV_ROUND_UP(_NSIG, BITS_PER_LONG)];
      57             : } sigset_t;
      58             : 
      59             : #ifndef SIGEV_NONE
      60           0 : #define SIGEV_NONE 1
      61             : #endif
      62             : 
      63             : #ifndef SIGEV_SIGNAL
      64           0 : #define SIGEV_SIGNAL 2
      65             : #endif
      66             : 
      67             : #ifndef SIGEV_THREAD
      68           0 : #define SIGEV_THREAD 3
      69             : #endif
      70             : 
      71             : #ifndef SIG_BLOCK
      72           0 : #define SIG_BLOCK 0
      73             : #endif
      74             : #ifndef SIG_SETMASK
      75           0 : #define SIG_SETMASK 1
      76             : #endif
      77             : #ifndef SIG_UNBLOCK
      78           0 : #define SIG_UNBLOCK 2
      79             : #endif
      80             : 
      81           0 : #define SIG_DFL ((void *)0)
      82           0 : #define SIG_IGN ((void *)1)
      83           0 : #define SIG_ERR ((void *)-1)
      84             : 
      85           0 : #define SI_USER 1
      86           0 : #define SI_QUEUE 2
      87           0 : #define SI_TIMER 3
      88           0 : #define SI_ASYNCIO 4
      89           0 : #define SI_MESGQ 5
      90             : 
      91           0 : typedef int     sig_atomic_t;           /* Atomic entity type (ANSI) */
      92             : 
      93           0 : union sigval {
      94           0 :         void *sival_ptr;
      95           0 :         int sival_int;
      96             : };
      97             : 
      98           0 : struct sigevent {
      99           0 :         void (*sigev_notify_function)(union sigval val);
     100           0 :         pthread_attr_t *sigev_notify_attributes;
     101           0 :         union sigval sigev_value;
     102           0 :         int sigev_notify;
     103           0 :         int sigev_signo;
     104             : };
     105             : 
     106           0 : typedef struct {
     107           0 :         int si_signo;
     108           0 :         int si_code;
     109           0 :         union sigval si_value;
     110             : } siginfo_t;
     111             : 
     112           0 : struct sigaction {
     113           0 :         void (*sa_handler)(int signno);
     114           0 :         sigset_t sa_mask;
     115           0 :         int sa_flags;
     116           0 :         void (*sa_sigaction)(int signo, siginfo_t *info, void *context);
     117             : };
     118             : 
     119           0 : typedef void (*sighandler_t)(int signo);
     120             : 
     121           0 : unsigned int alarm(unsigned int seconds);
     122           0 : int kill(pid_t pid, int sig);
     123           0 : int pause(void);
     124           0 : int raise(int signo);
     125           0 : TOOLCHAIN_IGNORE_WSHADOW_BEGIN;
     126           0 : int sigaction(int sig, const struct sigaction *ZRESTRICT act, struct sigaction *ZRESTRICT oact);
     127           0 : TOOLCHAIN_IGNORE_WSHADOW_END;
     128           0 : int sigpending(sigset_t *set);
     129           0 : int sigsuspend(const sigset_t *sigmask);
     130           0 : int sigwait(const sigset_t *ZRESTRICT set, int *ZRESTRICT signo);
     131           0 : char *strsignal(int signum);
     132           0 : int sigemptyset(sigset_t *set);
     133           0 : int sigfillset(sigset_t *set);
     134           0 : int sigaddset(sigset_t *set, int signo);
     135           0 : int sigdelset(sigset_t *set, int signo);
     136           0 : int sigismember(const sigset_t *set, int signo);
     137           0 : sighandler_t signal(int signo, sighandler_t handler);
     138           0 : int sigprocmask(int how, const sigset_t *ZRESTRICT set, sigset_t *ZRESTRICT oset);
     139             : 
     140           0 : int pthread_sigmask(int how, const sigset_t *ZRESTRICT set, sigset_t *ZRESTRICT oset);
     141             : 
     142             : #ifdef __cplusplus
     143             : }
     144             : #endif
     145             : 
     146             : #endif /* ZEPHYR_INCLUDE_POSIX_SIGNAL_H_ */

Generated by: LCOV version 1.14