
type
   P_sigaction = ^_sigaction;
   _sigaction = record // Renamed, avoid conflict with sigaction function 
     sa_handler : __sighandler_t;
     sa_mask : __sigset_t;
     sa_flags : longint;
     sa_restorer : procedure ;cdecl;
   end;
  

const
   SA_NOCLDSTOP = 1;
   SA_NOCLDWAIT = 2;
   SA_SIGINFO = 4;

const
   SA_ONSTACK = $08000000;
   SA_RESTART = $10000000;
   SA_NODEFER = $40000000;
   SA_RESETHAND = $80000000;

   SA_INTERRUPT = $20000000;
   SA_NOMASK = SA_NODEFER;
   SA_ONESHOT = SA_RESETHAND;
   SA_STACK = SA_ONSTACK;

const
   SIG_BLOCK = 0;
   SIG_UNBLOCK = 1;
   SIG_SETMASK = 2;

{ ---------------------------------------------------------------------
    Borland compatibility types
  ---------------------------------------------------------------------}

Type  
  TSigAction = _sigaction;
  PSigAction = ^TSigAction;
  
  TRestoreHandler = procedure; cdecl; 
   
         
      