Blame sysdeps/unix/sysv/linux/bits/types/sigevent_t.h
|
Packit |
6c4009 |
#ifndef __sigevent_t_defined
|
|
Packit |
6c4009 |
#define __sigevent_t_defined 1
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#include <bits/wordsize.h>
|
|
Packit |
6c4009 |
#include <bits/types.h>
|
|
Packit |
6c4009 |
#include <bits/types/__sigval_t.h>
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#define __SIGEV_MAX_SIZE 64
|
|
Packit |
6c4009 |
#if __WORDSIZE == 64
|
|
Packit |
6c4009 |
# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
|
|
Packit |
6c4009 |
#else
|
|
Packit |
6c4009 |
# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* Forward declaration. */
|
|
Packit |
6c4009 |
#ifndef __have_pthread_attr_t
|
|
Packit |
6c4009 |
typedef union pthread_attr_t pthread_attr_t;
|
|
Packit |
6c4009 |
# define __have_pthread_attr_t 1
|
|
Packit |
6c4009 |
#endif
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* Structure to transport application-defined values with signals. */
|
|
Packit |
6c4009 |
typedef struct sigevent
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
__sigval_t sigev_value;
|
|
Packit |
6c4009 |
int sigev_signo;
|
|
Packit |
6c4009 |
int sigev_notify;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
union
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
int _pad[__SIGEV_PAD_SIZE];
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
|
|
Packit |
6c4009 |
thread to receive the signal. */
|
|
Packit |
6c4009 |
__pid_t _tid;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
struct
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
void (*_function) (__sigval_t); /* Function to start. */
|
|
Packit |
6c4009 |
pthread_attr_t *_attribute; /* Thread attributes. */
|
|
Packit |
6c4009 |
} _sigev_thread;
|
|
Packit |
6c4009 |
} _sigev_un;
|
|
Packit |
6c4009 |
} sigevent_t;
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
/* POSIX names to access some of the members. */
|
|
Packit |
6c4009 |
#define sigev_notify_function _sigev_un._sigev_thread._function
|
|
Packit |
6c4009 |
#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#endif
|