Merge from emacs-24; up to 2014-06-11T19:33:14Z!rgm@gnu.org
[bpt/emacs.git] / lib / sig2str.h
CommitLineData
d983a10b
PE
1/* sig2str.h -- convert between signal names and numbers
2
ba318903 3 Copyright (C) 2002, 2005, 2009-2014 Free Software Foundation, Inc.
d983a10b
PE
4
5 This program is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18/* Written by Paul Eggert. */
19
20#include <signal.h>
21
22/* Don't override system declarations of SIG2STR_MAX, sig2str, str2sig. */
23#ifndef SIG2STR_MAX
24
25# include "intprops.h"
26
27/* Size of a buffer needed to hold a signal name like "HUP". */
28# define SIG2STR_MAX (sizeof "SIGRTMAX" + INT_STRLEN_BOUND (int) - 1)
29
bf77e230
PE
30#ifdef __cplusplus
31extern "C" {
32#endif
33
d983a10b
PE
34int sig2str (int, char *);
35int str2sig (char const *, int *);
36
bf77e230
PE
37#ifdef __cplusplus
38}
39#endif
40
d983a10b
PE
41#endif
42
43/* An upper bound on signal numbers allowed by the system. */
44
45#if defined _sys_nsig
46# define SIGNUM_BOUND (_sys_nsig - 1)
47#elif defined NSIG
48# define SIGNUM_BOUND (NSIG - 1)
49#else
50# define SIGNUM_BOUND 64
51#endif