SigFn
Loading...
Searching...
No Matches
sigfn.h
Go to the documentation of this file.
1/*
2** Copyright 2024 Maxtek Consulting
3**
4** Permission is hereby granted, free of charge, to any person obtaining a copy
5** of this software and associated documentation files (the "Software"), to deal
6** in the Software without restriction, including without limitation the rights
7** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8** copies of the Software, and to permit persons to whom the Software is
9** furnished to do so, subject to the following conditions:
10**
11** The above copyright notice and this permission notice shall be included in all
12** copies or substantial portions of the Software.
13**
14** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20** SOFTWARE.
21*/
22
23#ifndef SIGFN_H
24#define SIGFN_H
25
32#define SIGFN_SUCCESS 0
33#define SIGFN_INVALID_SIGNUM 1
34#define SIGFN_INVALID_HANDLER 2
35
36#include <stdlib.h>
37#include <signal.h>
38
39#ifdef _WIN32
40#define DLL_EXPORT __declspec(dllexport)
41#else
42#define DLL_EXPORT
43#endif
44
45#ifdef __cplusplus
46extern "C"
47{
48#endif
49
56 typedef void (*sigfn_handler_func)(int signum, void *userdata);
57
66 DLL_EXPORT int sigfn_handle(int signum, sigfn_handler_func handler, void *userdata);
67
74 DLL_EXPORT int sigfn_ignore(int signum);
75
82 DLL_EXPORT int sigfn_reset(int signum);
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif
#define DLL_EXPORT
Definition sigfn.h:42
DLL_EXPORT int sigfn_ignore(int signum)
ignore a specific signal
DLL_EXPORT int sigfn_reset(int signum)
reset a specific signal to its default behavior
DLL_EXPORT int sigfn_handle(int signum, sigfn_handler_func handler, void *userdata)
attach handler to specific signal
void(* sigfn_handler_func)(int signum, void *userdata)
signal handler function type
Definition sigfn.h:56