first commit - moved from local dev to git
This commit is contained in:
145
devtools/ahcccf.bin/sinclude/signal.h
Normal file
145
devtools/ahcccf.bin/sinclude/signal.h
Normal file
@@ -0,0 +1,145 @@
|
||||
/* This file is part of the AHCC C Library.
|
||||
|
||||
The AHCC C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
published by the Free Software Foundation; either version 2 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
The AHCC C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with the GNU C Library; see the file COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef _SIGNAL_H
|
||||
#define _SIGNAL_H
|
||||
|
||||
#define __NSIG 32 /* number of signals recognized */
|
||||
|
||||
enum
|
||||
{
|
||||
SIGNULL, /* not really a signal */
|
||||
SIGHUP, /* hangup signal */
|
||||
SIGINT, /* sent by ^C */
|
||||
SIGQUIT, /* quit signal */
|
||||
SIGILL, /* illegal instruction */
|
||||
SIGTRAP, /* trace trap */
|
||||
SIGABRT, /* abort signal */
|
||||
SIGIOT = SIGABRT,
|
||||
SIGPRIV, /* privilege violation */
|
||||
SIGEMT = SIGPRIV,
|
||||
SIGFPE, /* divide by zero */
|
||||
SIGKILL, /* cannot be ignored */
|
||||
SIGBUS, /* bus error */
|
||||
SIGSEGV, /* illegal memory reference */
|
||||
SIGSYS, /* bad argument to a system call */
|
||||
SIGPIPE, /* broken pipe */
|
||||
SIGALRM, /* alarm clock */
|
||||
SIGTERM, /* software termination signal */
|
||||
|
||||
SIGURG, /* urgent condition on I/O channel */
|
||||
SIGSTOP, /* stop signal not from terminal */
|
||||
SIGTSTP, /* stop signal from terminal */
|
||||
SIGCONT, /* continue stopped process */
|
||||
SIGCHLD, /* child stopped or exited */
|
||||
SIGTTIN, /* read by background process */
|
||||
SIGTTOU, /* write by background process */
|
||||
SIGIO, /* I/O possible on a descriptor */
|
||||
SIGXCPU, /* CPU time exhausted */
|
||||
SIGXFSZ, /* file size limited exceeded */
|
||||
SIGVTALRM, /* virtual timer alarm */
|
||||
SIGPROF, /* profiling timer expired */
|
||||
SIGWINCH, /* window size changed */
|
||||
SIGUSR1, /* user signal 1 */
|
||||
SIGUSR2, /* user signal 2 */
|
||||
SIGPWR, /* power failure (restart) */
|
||||
NSIG
|
||||
};
|
||||
|
||||
#ifndef BADSIG
|
||||
#define BADSIG SIG_ERR
|
||||
#endif
|
||||
|
||||
typedef void cdecl (*__Sigfunc) (short signum);
|
||||
typedef short sig_atomic_t;
|
||||
|
||||
#define SIG_DFL ((__Sigfunc)0L)
|
||||
#define SIG_IGN ((__Sigfunc)1L)
|
||||
#define SIG_ERR ((__Sigfunc)-1L)
|
||||
|
||||
#define SignalBad SIG_ERR
|
||||
#define SignalDefault SIG_DFL
|
||||
#define SignalIgnore SIG_IGN
|
||||
|
||||
__Sigfunc signal (short sig, __Sigfunc func);
|
||||
__Sigfunc __signal (short sig, __Sigfunc func);
|
||||
short raise (short sig);
|
||||
short kill (short, short);
|
||||
short __kill (short, short);
|
||||
short killpg (short, short);
|
||||
short __killpg (short, short);
|
||||
|
||||
#define _SIGSET_INDEX(__sig) (__sig / 32)
|
||||
#define _SIGSET_BITPOS(__sig) (__sig % 32)
|
||||
#define _SIGSET_MAX_INDEX (__NSIG / 32)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
long __sigset_data[_SIGSET_MAX_INDEX + 1];
|
||||
} sigset_t;
|
||||
|
||||
#ifdef __MINT__
|
||||
struct sigaction
|
||||
{
|
||||
__Sigfunc sa_handler; /* pointer to signal handler */
|
||||
sigset_t sa_mask; /* additional signals masked during delivery */
|
||||
short sa_flags; /* signal specific flags */
|
||||
/* signal flags */
|
||||
#define SA_NOCLDSTOP 1 /* don't send SIGCHLD when they stop */
|
||||
};
|
||||
|
||||
#ifdef __USE_BSD
|
||||
#ifdef __MSHORT__
|
||||
long sigsetmask (long mask);
|
||||
long __sigsetmask (long mask);
|
||||
long sigblock (long mask);
|
||||
long __sigblock (long mask);
|
||||
#else
|
||||
short sigsetmask (long mask);
|
||||
short __sigsetmask (long mask);
|
||||
short sigblock (long mask);
|
||||
short __sigblock (long mask);
|
||||
#endif
|
||||
/* a mask for signals */
|
||||
#define sigmask(__sig) (1L << (__sig))
|
||||
#endif /* BSD */
|
||||
|
||||
short sigaction (short, const struct sigaction *, struct sigaction *);
|
||||
short __sigaction (short, const struct sigaction *, struct sigaction *);
|
||||
short sigaddset (sigset_t *set, short signo);
|
||||
short sigdelset (sigset_t *set, short signo);
|
||||
short sigemptyset (sigset_t *set);
|
||||
short sigfillset (sigset_t *set);
|
||||
short sigismember (sigset_t *set, short signo);
|
||||
void sigpause (long mask);
|
||||
void __sigpause (long mask);
|
||||
short sigpending (sigset_t *set);
|
||||
short __sigpending (sigset_t *set);
|
||||
short sigprocmask (short how, const sigset_t *set, sigset_t *oset);
|
||||
void sigreturn (void);
|
||||
void __sigreturn (void);
|
||||
short sigsuspend (const sigset_t *sigmask);
|
||||
|
||||
/* values for "how" parameter to sigprocmask() */
|
||||
#define SIG_BLOCK 0
|
||||
#define SIG_UNBLOCK 1
|
||||
#define SIG_SETMASK 2
|
||||
|
||||
#endif /* __MINT__ */
|
||||
|
||||
#endif /* _SIGNAL_H */
|
||||
Reference in New Issue
Block a user