|  | @@ -69,6 +69,22 @@ typedef struct siginfo
 | 
	
		
			
				|  |  |  	    __uid_t si_uid;	/* Real user ID of sending process.  */
 | 
	
		
			
				|  |  |  	  } _kill;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +	/* POSIX.1b timers.  */
 | 
	
		
			
				|  |  | +	struct
 | 
	
		
			
				|  |  | +	  {
 | 
	
		
			
				|  |  | +	    int si_tid;		/* Timer ID.  */
 | 
	
		
			
				|  |  | +	    int si_overrun;	/* Overrun count.  */
 | 
	
		
			
				|  |  | +	    sigval_t si_sigval;	/* Signal value.  */
 | 
	
		
			
				|  |  | +	  } _timer;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	/* POSIX.1b signals.  */
 | 
	
		
			
				|  |  | +	struct
 | 
	
		
			
				|  |  | +	  {
 | 
	
		
			
				|  |  | +	    __pid_t si_pid;	/* Sending process ID.  */
 | 
	
		
			
				|  |  | +	    __uid_t si_uid;	/* Real user ID of sending process.  */
 | 
	
		
			
				|  |  | +	    sigval_t si_sigval;	/* Signal value.  */
 | 
	
		
			
				|  |  | +	  } _rt;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	/* SIGCHLD.  */
 | 
	
		
			
				|  |  |  	struct
 | 
	
		
			
				|  |  |  	  {
 | 
	
	
		
			
				|  | @@ -83,29 +99,15 @@ typedef struct siginfo
 | 
	
		
			
				|  |  |  	struct
 | 
	
		
			
				|  |  |  	  {
 | 
	
		
			
				|  |  |  	    void *si_addr;	/* Faulting insn/memory ref.  */
 | 
	
		
			
				|  |  | +	    short int si_addr_lsb;	/* Valid LSB of the reported address.  */
 | 
	
		
			
				|  |  |  	  } _sigfault;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	/* SIGPOLL.  */
 | 
	
		
			
				|  |  |  	struct
 | 
	
		
			
				|  |  |  	  {
 | 
	
		
			
				|  |  | -	    int si_band;	/* Band event for SIGPOLL.  */
 | 
	
		
			
				|  |  | +	    long int si_band;	/* Band event for SIGPOLL.  */
 | 
	
		
			
				|  |  |  	    int si_fd;
 | 
	
		
			
				|  |  |  	  } _sigpoll;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	/* POSIX.1b timers.  */
 | 
	
		
			
				|  |  | -	struct
 | 
	
		
			
				|  |  | -	  {
 | 
	
		
			
				|  |  | -	    unsigned int _timer1;
 | 
	
		
			
				|  |  | -	    unsigned int _timer2;
 | 
	
		
			
				|  |  | -	  } _timer;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -	/* POSIX.1b signals.  */
 | 
	
		
			
				|  |  | -	struct
 | 
	
		
			
				|  |  | -	  {
 | 
	
		
			
				|  |  | -	    __pid_t si_pid;	/* Sending process ID.  */
 | 
	
		
			
				|  |  | -	    __uid_t si_uid;	/* Real user ID of sending process.  */
 | 
	
		
			
				|  |  | -	    sigval_t si_sigval;	/* Signal value.  */
 | 
	
		
			
				|  |  | -	  } _rt;
 | 
	
		
			
				|  |  |        } _sifields;
 | 
	
		
			
				|  |  |    } siginfo_t;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -113,6 +115,8 @@ typedef struct siginfo
 | 
	
		
			
				|  |  |  /* X/Open requires some more fields with fixed names.  */
 | 
	
		
			
				|  |  |  # define si_pid		_sifields._kill.si_pid
 | 
	
		
			
				|  |  |  # define si_uid		_sifields._kill.si_uid
 | 
	
		
			
				|  |  | +# define si_timerid	_sifields._timer.si_tid
 | 
	
		
			
				|  |  | +# define si_overrun	_sifields._timer.si_overrun
 | 
	
		
			
				|  |  |  # define si_status	_sifields._sigchld.si_status
 | 
	
		
			
				|  |  |  # define si_utime	_sifields._sigchld.si_utime
 | 
	
		
			
				|  |  |  # define si_stime	_sifields._sigchld.si_stime
 | 
	
	
		
			
				|  | @@ -120,6 +124,7 @@ typedef struct siginfo
 | 
	
		
			
				|  |  |  # define si_int		_sifields._rt.si_sigval.sival_int
 | 
	
		
			
				|  |  |  # define si_ptr		_sifields._rt.si_sigval.sival_ptr
 | 
	
		
			
				|  |  |  # define si_addr	_sifields._sigfault.si_addr
 | 
	
		
			
				|  |  | +# define si_addr_lsb	_sifields._sigfault.si_addr_lsb
 | 
	
		
			
				|  |  |  # define si_band	_sifields._sigpoll.si_band
 | 
	
		
			
				|  |  |  # define si_fd		_sifields._sigpoll.si_fd
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -142,13 +147,14 @@ enum
 | 
	
		
			
				|  |  |  # define SI_ASYNCIO	SI_ASYNCIO
 | 
	
		
			
				|  |  |    SI_QUEUE,			/* Sent by sigqueue.  */
 | 
	
		
			
				|  |  |  # define SI_QUEUE	SI_QUEUE
 | 
	
		
			
				|  |  | -  SI_USER,			/* Sent by kill, sigsend, raise.  */
 | 
	
		
			
				|  |  | +  SI_USER,			/* Sent by kill, sigsend.  */
 | 
	
		
			
				|  |  |  # define SI_USER	SI_USER
 | 
	
		
			
				|  |  |    SI_KERNEL = 0x80		/* Send by kernel.  */
 | 
	
		
			
				|  |  |  #define SI_KERNEL	SI_KERNEL
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 | 
	
		
			
				|  |  |  /* `si_code' values for SIGILL signal.  */
 | 
	
		
			
				|  |  |  enum
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -207,10 +213,16 @@ enum
 | 
	
		
			
				|  |  |  # define BUS_ADRALN	BUS_ADRALN
 | 
	
		
			
				|  |  |    BUS_ADRERR,			/* Non-existant physical address.  */
 | 
	
		
			
				|  |  |  # define BUS_ADRERR	BUS_ADRERR
 | 
	
		
			
				|  |  | -  BUS_OBJERR			/* Object specific hardware error.  */
 | 
	
		
			
				|  |  | +  BUS_OBJERR,			/* Object specific hardware error.  */
 | 
	
		
			
				|  |  |  # define BUS_OBJERR	BUS_OBJERR
 | 
	
		
			
				|  |  | +  BUS_MCEERR_AR,		/* Hardware memory error: action required.  */
 | 
	
		
			
				|  |  | +#  define BUS_MCEERR_AR	BUS_MCEERR_AR
 | 
	
		
			
				|  |  | +  BUS_MCEERR_AO			/* Hardware memory error: action optional.  */
 | 
	
		
			
				|  |  | +#  define BUS_MCEERR_AO	BUS_MCEERR_AO
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | +# endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +# ifdef __USE_XOPEN_EXTENDED
 | 
	
		
			
				|  |  |  /* `si_code' values for SIGTRAP signal.  */
 | 
	
		
			
				|  |  |  enum
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -219,7 +231,9 @@ enum
 | 
	
		
			
				|  |  |    TRAP_TRACE			/* Process trace trap.  */
 | 
	
		
			
				|  |  |  # define TRAP_TRACE	TRAP_TRACE
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | +# endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
 | 
	
		
			
				|  |  |  /* `si_code' values for SIGCHLD signal.  */
 | 
	
		
			
				|  |  |  enum
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -253,6 +267,7 @@ enum
 | 
	
		
			
				|  |  |    POLL_HUP			/* Device disconnected.  */
 | 
	
		
			
				|  |  |  # define POLL_HUP	POLL_HUP
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | +# endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  # undef __need_siginfo_t
 | 
	
		
			
				|  |  |  #endif	/* !have siginfo_t && (have _SIGNAL_H || need siginfo_t).  */
 |