diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/siginfo.h | 51 | 
1 files changed, 33 insertions, 18 deletions
| diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h index a6e41354b..5199d4d99 100644 --- a/libc/sysdeps/linux/mips/bits/siginfo.h +++ b/libc/sysdeps/linux/mips/bits/siginfo.h @@ -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).  */ | 
