Zephyr API Documentation  3.5.0
A Scalable Open Source RTOS
3.5.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
signal.h
Go to the documentation of this file.
1/*
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"
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#ifdef CONFIG_POSIX_SIGNAL
16#define SIGHUP 1
17#define SIGINT 2
18#define SIGQUIT 3
19#define SIGILL 4
20#define SIGTRAP 5
21#define SIGABRT 6
22#define SIGBUS 7
23#define SIGFPE 8
24#define SIGKILL 9
25#define SIGUSR1 10
26#define SIGSEGV 11
27#define SIGUSR2 12
28#define SIGPIPE 13
29#define SIGALRM 14
30#define SIGTERM 15
31/* 16 not used */
32#define SIGCHLD 17
33#define SIGCONT 18
34#define SIGSTOP 19
35#define SIGTSTP 20
36#define SIGTTIN 21
37#define SIGTTOU 22
38#define SIGURG 23
39#define SIGXCPU 24
40#define SIGXFSZ 25
41#define SIGVTALRM 26
42#define SIGPROF 27
43/* 28 not used */
44#define SIGPOLL 29
45/* 30 not used */
46#define SIGSYS 31
48#define SIGRTMIN 32
49#define SIGRTMAX (SIGRTMIN + CONFIG_POSIX_RTSIG_MAX)
50#define _NSIG (SIGRTMAX + 1)
51
52BUILD_ASSERT(CONFIG_POSIX_RTSIG_MAX >= 0);
53
54typedef struct {
55 unsigned long sig[DIV_ROUND_UP(_NSIG, BITS_PER_LONG)];
56} sigset_t;
57
58char *strsignal(int signum);
59int sigemptyset(sigset_t *set);
60int sigfillset(sigset_t *set);
61int sigaddset(sigset_t *set, int signo);
62int sigdelset(sigset_t *set, int signo);
63int sigismember(const sigset_t *set, int signo);
64#endif /* CONFIG_POSIX_SIGNAL */
65
66#ifndef SIGEV_NONE
67#define SIGEV_NONE 1
68#endif
69
70#ifndef SIGEV_SIGNAL
71#define SIGEV_SIGNAL 2
72#endif
73
74#ifndef SIGEV_THREAD
75#define SIGEV_THREAD 3
76#endif
77
78typedef int sig_atomic_t; /* Atomic entity type (ANSI) */
79
80union sigval {
82 void *sival_ptr;
83};
84
85struct sigevent {
89 void (*sigev_notify_function)(union sigval val);
90 pthread_attr_t *sigev_notify_attributes;
91};
92
93#ifdef __cplusplus
94}
95#endif
96
97#endif /* ZEPHYR_INCLUDE_POSIX_SIGNAL_H_ */
#define BITS_PER_LONG
Number of bits in a long int.
Definition: util.h:58
#define DIV_ROUND_UP(n, d)
Divide and round up.
Definition: util.h:286
int sig_atomic_t
Definition: signal.h:78
Definition: signal.h:85
pthread_attr_t * sigev_notify_attributes
Definition: signal.h:90
int sigev_signo
Definition: signal.h:87
union sigval sigev_value
Definition: signal.h:88
int sigev_notify
Definition: signal.h:86
void(* sigev_notify_function)(union sigval val)
Definition: signal.h:89
Definition: signal.h:80
void * sival_ptr
Definition: signal.h:82
int sival_int
Definition: signal.h:81