UbixOS  2.0
select.h File Reference
#include <sys/cdefs.h>
#include <sys/_types.h>
#include <sys/_timespec.h>
#include <sys/_timeval.h>
#include <sys/_sigset.h>
Include dependency graph for select.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fd_set
 

Macros

#define __fdset_mask(n)   ((__fd_mask)1 << ((n) % _NFDBITS))
 
#define _howmany(x, y)   (((x) + ((y) - 1)) / (y))
 
#define _NFDBITS   (sizeof(__fd_mask) * 8) /* bits per mask */
 
#define _SELECT_DECLARED
 
#define _SIGSET_T_DECLARED
 
#define FD_CLR(n, p)   ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))
 
#define FD_COPY(f, t)   (void)(*(t) = *(f))
 
#define FD_ISSET(n, p)   (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)
 
#define FD_SET(n, p)   ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))
 
#define FD_SETSIZE   1024
 
#define FD_ZERO(p)
 
#define fds_bits   __fds_bits
 
#define NFDBITS   _NFDBITS
 

Typedefs

typedef unsigned long __fd_mask
 
typedef __fd_mask fd_mask
 
typedef struct fd_set fd_set
 
typedef __sigset_t sigset_t
 

Functions

__BEGIN_DECLS int pselect (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict)
 
int select (int, fd_set *, fd_set *, fd_set *, struct timeval *)
 

Macro Definition Documentation

◆ __fdset_mask

#define __fdset_mask (   n)    ((__fd_mask)1 << ((n) % _NFDBITS))

Definition at line 70 of file select.h.

◆ _howmany

#define _howmany (   x,
 
)    (((x) + ((y) - 1)) / (y))

Definition at line 61 of file select.h.

◆ _NFDBITS

#define _NFDBITS   (sizeof(__fd_mask) * 8) /* bits per mask */

Definition at line 57 of file select.h.

◆ _SELECT_DECLARED

#define _SELECT_DECLARED

Definition at line 91 of file select.h.

◆ _SIGSET_T_DECLARED

#define _SIGSET_T_DECLARED

Definition at line 43 of file select.h.

◆ FD_CLR

#define FD_CLR (   n,
 
)    ((p)->__fds_bits[(n)/_NFDBITS] &= ~__fdset_mask(n))

Definition at line 71 of file select.h.

◆ FD_COPY

#define FD_COPY (   f,
 
)    (void)(*(t) = *(f))

Definition at line 72 of file select.h.

◆ FD_ISSET

#define FD_ISSET (   n,
 
)    (((p)->__fds_bits[(n)/_NFDBITS] & __fdset_mask(n)) != 0)

Definition at line 73 of file select.h.

◆ FD_SET

#define FD_SET (   n,
 
)    ((p)->__fds_bits[(n)/_NFDBITS] |= __fdset_mask(n))

Definition at line 74 of file select.h.

◆ FD_SETSIZE

#define FD_SETSIZE   1024

Definition at line 54 of file select.h.

◆ FD_ZERO

#define FD_ZERO (   p)
Value:
do { \
fd_set *_p; \
__size_t _n; \
\
_p = (p); \
while (_n > 0) \
_p->__fds_bits[--_n] = 0; \
} while (0)

Definition at line 75 of file select.h.

◆ fds_bits

#define fds_bits   __fds_bits

Definition at line 68 of file select.h.

◆ NFDBITS

#define NFDBITS   _NFDBITS

Definition at line 58 of file select.h.

Typedef Documentation

◆ __fd_mask

typedef unsigned long __fd_mask

Definition at line 39 of file select.h.

◆ fd_mask

typedef __fd_mask fd_mask

Definition at line 40 of file select.h.

◆ fd_set

typedef struct fd_set fd_set

◆ sigset_t

Definition at line 44 of file select.h.

Function Documentation

◆ pselect()

__BEGIN_DECLS int pselect ( int  ,
fd_set __restrict,
fd_set __restrict,
fd_set __restrict,
const struct timespec __restrict,
const sigset_t __restrict 
)

◆ select()

int select ( int  ,
fd_set ,
fd_set ,
fd_set ,
struct timeval  
)
FD_SETSIZE
#define FD_SETSIZE
Definition: select.h:54
_howmany
#define _howmany(x, y)
Definition: select.h:61
_NFDBITS
#define _NFDBITS
Definition: select.h:57