00001
00005 #include "sys/types.h"
00006
00007
00008 #ifndef __SIGNAL
00009 #define __SIGNAL
00010
00011 typedef unsigned long sigset_t;
00012 typedef void (*__sighandler_t) (int);
00013
00014
00015
00016 void *signal (int sig, void (*func)() );
00017
00018 struct sigaction {
00019 __sighandler_t sa_handler;
00020 sigset_t sa_mask;
00021 int sa_flags;
00022 void (*sa_restorer)(void);
00023 };
00024
00025
00026 #define SIGHUP 1
00027 #define SIGINT 2
00028 #define SIGQUIT 3
00029 #define SIGILL 4
00030 #define SIGTRAP 5
00031 #define SIGABRT 6
00032 #define SIGIOT 6
00033 #define SIGBUS 7
00034 #define SIGFPE 8
00035 #define SIGKILL 9
00036 #define SIGUSR1 10
00037 #define SIGSEGV 11
00038 #define SIGUSR2 12
00039 #define SIGPIPE 13
00040 #define SIGALRM 14
00041 #define SIGTERM 15
00042 #define SIGSTKFLT 16
00043 #define SIGCHLD 17
00044 #define SIGCONT 18
00045 #define SIGSTOP 19
00046 #define SIGTSTP 20
00047 #define SIGTTIN 21
00048 #define SIGTTOU 22
00049 #define SIGMAX 23 // Numero de seņales
00050
00051
00052 #define SIG_ERR ((void (*)(int)) -1)
00053 #define SIG_DFL ((void (*)(int)) 0)
00054 #define SIG_IGN ((void (*)(int)) 1)
00055 #define SIG_HOLD ((void (*)(int)) 2)
00056
00057 int sigprocmask(int flag, const sigset_t *set, sigset_t *old_set);
00058
00059 #define SIG_BLOCK 0
00060 #define SIG_UNBLOCK 1
00061 #define SIG_SETMASK 2
00062
00063 #define sigemptyset(set) (*set=0)
00064 #define sigfillset(set) ( (*set=0xffffffff) ? 0 : -1)
00065 #define sigaddset(set, signo) ( (signo<SIGMAX) ? ( *set |= (1<<signo))==0 : -1 )
00066 #define sigdelset(set, signo) ( (signo<SIGMAX) ? ( *set&=(~(1<<signo)))&0 : (unsigned long) -1)
00067 #define sigismember(set, signo) ( (signo<SIGMAX) ? ((*set>>signo)&1) : -1 )
00068
00069
00070 int sigaction (int signo, struct sigaction *act, struct sigaction *oact);
00071
00072 #endif