* include/cygwin/signal.h: New file.
(also check in tlsoffsets.h, missed by previous checkin)
This commit is contained in:
		| @@ -1,3 +1,7 @@ | |||||||
|  | 2003-11-28  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
|  | 	* include/cygwin/signal.h: New file. | ||||||
|  |  | ||||||
| 2003-11-28  Christopher Faylor  <cgf@redhat.com> | 2003-11-28  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	Eliminate use of sigframe and sigthread throughout. | 	Eliminate use of sigframe and sigthread throughout. | ||||||
|   | |||||||
							
								
								
									
										191
									
								
								winsup/cygwin/include/cygwin/signal.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								winsup/cygwin/include/cygwin/signal.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | |||||||
|  | #ifndef _CYGWIN_SIGNAL_H | ||||||
|  | #define _CYGWIN_SIGNAL_H | ||||||
|  |  | ||||||
|  | #if 0 | ||||||
|  | struct ucontext | ||||||
|  | { | ||||||
|  |   unsigned long uc_flags; | ||||||
|  |   void *uc_link; | ||||||
|  |   stack_t uc_stack; | ||||||
|  |   struct sigcontext uc_mcontext; | ||||||
|  |   sigset_t uc_sigmask;    | ||||||
|  | }; | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | typedef union sigval | ||||||
|  | { | ||||||
|  |   int sival_int;			/* integer signal value */ | ||||||
|  |   void  *sival_ptr;			/* pointer signal value */ | ||||||
|  | } sigval_t; | ||||||
|  |  | ||||||
|  | #pragma pack(push,4) | ||||||
|  | typedef struct | ||||||
|  | { | ||||||
|  |   int si_signo;				/* signal number */ | ||||||
|  |   int si_errno;				/* errno associated with signal */ | ||||||
|  |   int si_code;				/* signal code */ | ||||||
|  |  | ||||||
|  |   union | ||||||
|  |   { | ||||||
|  |     int __pad[128];			/* plan for future growth */ | ||||||
|  |  | ||||||
|  |     union | ||||||
|  |     { | ||||||
|  |     /* timers */ | ||||||
|  |       struct | ||||||
|  |       { | ||||||
|  | 	unsigned int si_tid;		/* timer id */ | ||||||
|  | 	unsigned int si_overrun;	/* overrun count */ | ||||||
|  |       }; | ||||||
|  | 	   | ||||||
|  |       /* POSIX signals or signals invoked by kill() */ | ||||||
|  |       struct | ||||||
|  |       { | ||||||
|  | 	pid_t si_pid;            	/* sender's pid */ | ||||||
|  | 	uid_t si_uid;            	/* sender's uid */ | ||||||
|  |       }; | ||||||
|  |       sigval_t si_sigval;		/* signal value */ | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     struct | ||||||
|  |     { | ||||||
|  |       pid_t si_pid2;           		/* which child */ | ||||||
|  |       uid_t si_uid2;           		/* sender's uid */ | ||||||
|  |       int si_status;           		/* exit code */ | ||||||
|  |       clock_t si_utime;			/* user time */ | ||||||
|  |       clock_t si_stime;			/* system time */ | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     /* core dumping signals */ | ||||||
|  |     struct | ||||||
|  |     { | ||||||
|  |       void *si_addr;			/* faulting address */ | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } siginfo_t; | ||||||
|  | #pragma pack(pop) | ||||||
|  |  | ||||||
|  | enum | ||||||
|  | { | ||||||
|  |   SI_USER = 1,				/* sent by kill, raise, pthread_kill */ | ||||||
|  |   SI_ASYNCIO,				/* sent by AIO completion (currently | ||||||
|  | 					   unimplemented) */ | ||||||
|  |   SI_MESGQ,				/* sent by real time mesq state change | ||||||
|  | 					   (currently unimplemented) */ | ||||||
|  |   SI_TIMER,				/* sent by timer expiration */ | ||||||
|  |   SI_QUEUE,				/* sent by sigqueue (currently | ||||||
|  | 					   unimplemented) */ | ||||||
|  |   SI_KERNEL,				/* sent by system */ | ||||||
|  |  | ||||||
|  |   ILL_ILLOP,				/* illegal opcode */ | ||||||
|  |   ILL_ILLOPN,				/* illegal operand */ | ||||||
|  |   ILL_ILLADR,				/* illegal addressing mode */ | ||||||
|  |   ILL_ILLTRP,				/* illegal trap*/ | ||||||
|  |   ILL_PRVOPC,				/* privileged opcode */ | ||||||
|  |   ILL_PRVREG,				/* privileged register */ | ||||||
|  |   ILL_COPROC,				/* coprocessor error */ | ||||||
|  |   ILL_BADSTK,				/* internal stack error */ | ||||||
|  |  | ||||||
|  |   FPE_INTDIV,				/* integer divide by zero */ | ||||||
|  |   FPE_INTOVF,				/* integer overflow */ | ||||||
|  |   FPE_FLTDIV,				/* floating point divide by zero */ | ||||||
|  |   FPE_FLTOVF,				/* floating point overflow */ | ||||||
|  |   FPE_FLTUND,				/* floating point underflow */ | ||||||
|  |   FPE_FLTRES,				/* floating point inexact result */ | ||||||
|  |   FPE_FLTINV,				/* floating point invalid operation */ | ||||||
|  |   FPE_FLTSUB,				/* subscript out of range */ | ||||||
|  |  | ||||||
|  |   SEGV_MAPERR,				/* address not mapped to object */ | ||||||
|  |   SEGV_ACCERR,				/* invalid permissions for mapped object */ | ||||||
|  |  | ||||||
|  |   BUS_ADRALN,				/* invalid address alignment.  */ | ||||||
|  |   BUS_ADRERR,				/* non-existant physical address.  */ | ||||||
|  |   BUS_OBJERR,				/* object specific hardware error.  */ | ||||||
|  |  | ||||||
|  |   CLD_EXITED,				/* child has exited */ | ||||||
|  |   CLD_KILLED,				/* child was killed */ | ||||||
|  |   CLD_DUMPED,				/* child terminated abnormally */ | ||||||
|  |   CLD_TRAPPED,				/* traced child has trapped */ | ||||||
|  |   CLD_STOPPED,				/* child has stopped */ | ||||||
|  |   CLD_CONTINUED				/* stopped child has continued */ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | typedef struct sigevent | ||||||
|  | { | ||||||
|  |   sigval_t sigev_value;			/* signal value */ | ||||||
|  |   int sigev_signo;			/* signal number */  | ||||||
|  |   int sigev_notify;			/* notification type */ | ||||||
|  |   void (*sigev_notify_function) (sigval_t); /* notification function */ | ||||||
|  |   pthread_attr_t *sigev_notify_attributes; /* notification attributes */ | ||||||
|  | } sigevent_t; | ||||||
|  |  | ||||||
|  | enum | ||||||
|  | { | ||||||
|  |   SIGEV_SIGNAL = 0,			/* a queued signal, with an application | ||||||
|  | 					   defined value, is generated when the | ||||||
|  | 					   event of interest occurs */ | ||||||
|  |   SIGEV_NONE,				/* no asynchronous notification is | ||||||
|  | 					   delivered when the event of interest | ||||||
|  | 					   occurs */ | ||||||
|  |   SIGEV_THREAD				/* a notification function is called to | ||||||
|  | 					   perform notification */ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | typedef void (*_sig_func_ptr)(int); | ||||||
|  |  | ||||||
|  | struct sigaction  | ||||||
|  | { | ||||||
|  |   union | ||||||
|  |   { | ||||||
|  |     _sig_func_ptr sa_handler;  		/* SIG_DFL, SIG_IGN, or pointer to a function */ | ||||||
|  |     void  (*sa_sigaction) ( int, siginfo_t *, void * ); | ||||||
|  |   }; | ||||||
|  |   sigset_t sa_mask; | ||||||
|  |   int sa_flags; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #define SA_NOCLDSTOP 1   		/* Do not generate SIGCHLD when children | ||||||
|  | 					   stop */ | ||||||
|  | #define SA_SIGINFO   2   		/* Invoke the signal catching function | ||||||
|  | 					   with three arguments instead of one | ||||||
|  | 					 */ | ||||||
|  | #define SA_RESTART   0x10000000 	/* Restart syscall on signal return */ | ||||||
|  | #define SA_NODEFER   0x40000000		/* Don't automatically block the signal | ||||||
|  | 					   when its handler is being executed  */ | ||||||
|  | #define SA_RESETHAND 0x80000000		/* Reset to SIG_DFL on entry to handler */ | ||||||
|  |  | ||||||
|  | #define	SIGHUP	1	/* hangup */ | ||||||
|  | #define	SIGINT	2	/* interrupt */ | ||||||
|  | #define	SIGQUIT	3	/* quit */ | ||||||
|  | #define	SIGILL	4	/* illegal instruction (not reset when caught) */ | ||||||
|  | #define	SIGTRAP	5	/* trace trap (not reset when caught) */ | ||||||
|  | #define	SIGABRT 6	/* used by abort */ | ||||||
|  | #define	SIGEMT	7	/* EMT instruction */ | ||||||
|  | #define	SIGFPE	8	/* floating point exception */ | ||||||
|  | #define	SIGKILL	9	/* kill (cannot be caught or ignored) */ | ||||||
|  | #define	SIGBUS	10	/* bus error */ | ||||||
|  | #define	SIGSEGV	11	/* segmentation violation */ | ||||||
|  | #define	SIGSYS	12	/* bad argument to system call */ | ||||||
|  | #define	SIGPIPE	13	/* write on a pipe with no one to read it */ | ||||||
|  | #define	SIGALRM	14	/* alarm clock */ | ||||||
|  | #define	SIGTERM	15	/* software termination signal from kill */ | ||||||
|  | #define	SIGURG	16	/* urgent condition on IO channel */ | ||||||
|  | #define	SIGSTOP	17	/* sendable stop signal not from tty */ | ||||||
|  | #define	SIGTSTP	18	/* stop signal from tty */ | ||||||
|  | #define	SIGCONT	19	/* continue a stopped process */ | ||||||
|  | #define	SIGCHLD	20	/* to parent on child stop or exit */ | ||||||
|  | #define	SIGCLD	20	/* System V name for SIGCHLD */ | ||||||
|  | #define	SIGTTIN	21	/* to readers pgrp upon background tty read */ | ||||||
|  | #define	SIGTTOU	22	/* like TTIN for output if (tp->t_local<OSTOP) */ | ||||||
|  | #define	SIGIO	23	/* input/output possible signal */ | ||||||
|  | #define	SIGPOLL	SIGIO	/* System V name for SIGIO */ | ||||||
|  | #define	SIGXCPU	24	/* exceeded CPU time limit */ | ||||||
|  | #define	SIGXFSZ	25	/* exceeded file size limit */ | ||||||
|  | #define	SIGVTALRM 26	/* virtual time alarm */ | ||||||
|  | #define	SIGPROF	27	/* profiling time alarm */ | ||||||
|  | #define	SIGWINCH 28	/* window changed */ | ||||||
|  | #define	SIGLOST 29	/* resource lost (eg, record-lock lost) */ | ||||||
|  | #define	SIGUSR1 30	/* user defined signal 1 */ | ||||||
|  | #define	SIGUSR2 31	/* user defined signal 2 */ | ||||||
|  | #define NSIG	32      /* signal 0 implied */ | ||||||
|  | #endif /*_CYGWIN_SIGNAL_H*/ | ||||||
							
								
								
									
										40
									
								
								winsup/cygwin/tlsoffsets.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								winsup/cygwin/tlsoffsets.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | |||||||
|  | //;# autogenerated:  Do not edit. | ||||||
|  |  | ||||||
|  | //; $tls::func = -620; | ||||||
|  | //; $tls::saved_errno = -616; | ||||||
|  | //; $tls::sa_flags = -612; | ||||||
|  | //; $tls::oldmask = -608; | ||||||
|  | //; $tls::newmask = -604; | ||||||
|  | //; $tls::event = -600; | ||||||
|  | //; $tls::errno_addr = -596; | ||||||
|  | //; $tls::initialized = -592; | ||||||
|  | //; $tls::sigmask = -588; | ||||||
|  | //; $tls::sigwait_mask = -584; | ||||||
|  | //; $tls::sigwait_info = -580; | ||||||
|  | //; $tls::infodata = -576; | ||||||
|  | //; $tls::tid = -52; | ||||||
|  | //; $tls::prev = -48; | ||||||
|  | //; $tls::next = -44; | ||||||
|  | //; $tls::stack = -40; | ||||||
|  | //; $tls::sig = -8; | ||||||
|  | //; $tls::stackptr = -4; | ||||||
|  | //; __DATA__ | ||||||
|  |  | ||||||
|  | #define tls_func (-620) | ||||||
|  | #define tls_saved_errno (-616) | ||||||
|  | #define tls_sa_flags (-612) | ||||||
|  | #define tls_oldmask (-608) | ||||||
|  | #define tls_newmask (-604) | ||||||
|  | #define tls_event (-600) | ||||||
|  | #define tls_errno_addr (-596) | ||||||
|  | #define tls_initialized (-592) | ||||||
|  | #define tls_sigmask (-588) | ||||||
|  | #define tls_sigwait_mask (-584) | ||||||
|  | #define tls_sigwait_info (-580) | ||||||
|  | #define tls_infodata (-576) | ||||||
|  | #define tls_tid (-52) | ||||||
|  | #define tls_prev (-48) | ||||||
|  | #define tls_next (-44) | ||||||
|  | #define tls_stack (-40) | ||||||
|  | #define tls_sig (-8) | ||||||
|  | #define tls_stackptr (-4) | ||||||
		Reference in New Issue
	
	Block a user