#ifndef KPI_MBUF_H
#include <sys/kpi_mbuf.h>
#endif

#ifndef SYS_CONTROL_H
#include <sys/kern_control.h>
#endif

#ifndef KPI_SOCKETFILTER_H
#include <sys/kpi_socketfilter.h>
#endif


#include <linux/types.h>
#include <sys/event.h>

typedef __sigset_t sigset_t;//hys

//hys 
/*
 1     SIGHUP       terminate process    terminal line hangup
     2     SIGINT       terminate process    interrupt program
     3     SIGQUIT      create core image    quit program
     4     SIGILL       create core image    illegal instruction
     5     SIGTRAP      create core image    trace trap
     6     SIGABRT      create core image    abort program (formerly SIGIOT)
     7     SIGEMT       create core image    emulate instruction executed
     8     SIGFPE       create core image    floating-point exception
     9     SIGKILL      terminate process    kill program
     10    SIGBUS       create core image    bus error
     11    SIGSEGV      create core image    segmentation violation
     12    SIGSYS       create core image    non-existent system call invoked
     13    SIGPIPE      terminate process    write on a pipe with no reader
     14    SIGALRM      terminate process    real-time timer expired
     15    SIGTERM      terminate process    software termination signal
     16    SIGURG       discard signal       urgent condition present on
                                             socket
     17    SIGSTOP      stop process         stop (cannot be caught or
                                             ignored)
     18    SIGTSTP      stop process         stop signal generated from
                                             keyboard
     19    SIGCONT      discard signal       continue after stop
     20    SIGCHLD      discard signal       child status has changed
     21    SIGTTIN      stop process         background read attempted from
                                             control terminal
     22    SIGTTOU      stop process         background write attempted to
                                             control terminal
     23    SIGIO        discard signal       I/O is possible on a descriptor
                                             (see fcntl(2))
     24    SIGXCPU      terminate process    cpu time limit exceeded (see
                                             setrlimit(2))
     25    SIGXFSZ      terminate process    file size limit exceeded (see
                                             setrlimit(2))
     26    SIGVTALRM    terminate process    virtual time alarm (see
                                             setitimer(2))
     27    SIGPROF      terminate process    profiling timer alarm (see
                                             setitimer(2))
     28    SIGWINCH     discard signal       Window size change
     29    SIGINFO      discard signal       status request from keyboard
     30    SIGUSR1      terminate process    User defined signal 1
     31    SIGUSR2      terminate process    User defined signal 2
     32    SIGTHR       terminate process    thread interrupt*/
#define       SIGHUP 1       
#define            SIGINT       2
#define   SIGQUIT     3
#define    SIGILL       4
 #define   SIGTRAP   5
          #define   SIGABRT   6
          #define   SIGEMT     7
#define             SIGFPE      8
          #define   SIGKILL      9
         #define   SIGBUS     10
         #define   SIGSEGV   11
         #define   SIGSYS     12
         #define   SIGPIPE    13
         #define   SIGALRM   14
         #define   SIGTERM   151
         #define   SIGURG          6                         
         #define   SIGSTOP          17                           
         #define   SIGTSTP              18                     
         #define   SIGCONT 19
         #define   SIGCHLD  20
         #define   SIGTTIN       21                          
         #define   SIGTTOU         22                      
         #define   SIGIO                  23                 
         #define   SIGXCPU  24
         #define   SIGXFSZ   25
         #define   SIGVTALRM  26  
         #define   SIGPROF          27                              
         #define   SIGWINCH     28
         #define   SIGINFO      29
         #define   SIGUSR1     30
         #define   SIGUSR2     31
         #define   SIGTHR       32



/*SIGSETOPS(3)             BSD Library Functions Manual             SIGSETOPS(3)

NAME
     sigemptyset, sigfillset, sigaddset, sigdelset, sigismember -- manipulate
     signal sets

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <signal.h>

     int
     sigemptyset(sigset_t *set);

     int
     sigfillset(sigset_t *set);

     int
     sigaddset(sigset_t *set, int signo);

     int
     sigdelset(sigset_t *set, int signo);

     int
     sigismember(const sigset_t *set, int signo);

DESCRIPTION
     These functions manipulate signal sets stored in a sigset_t.  Either
     sigemptyset() or sigfillset() must be called for every object of type
     sigset_t before any other use of the object.

     The sigemptyset() function initializes a signal set to be empty.

     The sigfillset() function initializes a signal set to contain all sig-signals.
     nals.

     The sigaddset() function adds the specified signal signo to the signal
     set.

     The sigdelset() function deletes the specified signal signo from the sig-signal
     nal set.

     The sigismember() function returns whether a specified signal signo is
     contained in the signal set.

     These functions are provided as macros in the include file <signal.h>.
     Actual functions are available if their names are undefined (with #undef
     name).

RETURN VALUES
     The sigismember() function returns 1 if the signal is a member of the
     set, 0 otherwise.  The other functions return 0.

ERRORS
     Currently no errors are detected.

SEE ALSO
     kill(2), sigaction(2), sigsuspend(2)

STANDARDS
     These functions are defined by IEEE Std 1003.1-1988 (``POSIX.1'').

BSD                              June 4, 1993                              BSD*/
int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set, int signo);
int sigdelset(sigset_t *set, int signo);
int sigismember(const sigset_t *set, int signo);

