Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
select.h File Reference
#include <sys/types.h>

Go to the source code of this file.

Classes

struct  _types_fd_set
 

Macros

#define NBBY   8 /* number of bits in a byte */
 
#define FD_SETSIZE   64
 
#define NFDBITS   (sizeof (fd_mask) * NBBY) /* bits per mask */
 
#define howmany(x, y)   (((x)+((y)-1))/(y))
 
#define fd_set   _types_fd_set
 
#define FD_SET(n, p)   ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))
 
#define FD_CLR(n, p)   ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))
 
#define FD_ISSET(n, p)   ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))
 
#define FD_ZERO(p)
 

Typedefs

typedef long fd_mask
 

Functions

int select (int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
 POSIX select().
 

Detailed Description

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This file imlements POSIX select() prototypes.

Author
Stuart W. Baker
Date
26 January 2015

Definition in file freertos_select/sys/select.h.

Macro Definition Documentation

◆ FD_CLR

#define FD_CLR (   n,
 
)    ((p)->fds_bits[(n)/NFDBITS] &= ~(1L << ((n) % NFDBITS)))

Definition at line 73 of file freertos_select/sys/select.h.

◆ FD_ISSET

#define FD_ISSET (   n,
 
)    ((p)->fds_bits[(n)/NFDBITS] & (1L << ((n) % NFDBITS)))

Definition at line 74 of file freertos_select/sys/select.h.

◆ fd_set

#define fd_set   _types_fd_set

Definition at line 70 of file freertos_select/sys/select.h.

◆ FD_SET

#define FD_SET (   n,
 
)    ((p)->fds_bits[(n)/NFDBITS] |= (1L << ((n) % NFDBITS)))

Definition at line 72 of file freertos_select/sys/select.h.

◆ FD_SETSIZE

#define FD_SETSIZE   64

Definition at line 55 of file freertos_select/sys/select.h.

◆ FD_ZERO

#define FD_ZERO (   p)
Value:
(__extension__ (void)({ \
size_t __i; \
char *__tmp = (char *)p; \
for (__i = 0; __i < sizeof (*(p)); ++__i) \
*__tmp++ = 0; \
}))

Definition at line 75 of file freertos_select/sys/select.h.

◆ howmany

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

Definition at line 61 of file freertos_select/sys/select.h.

◆ NBBY

#define NBBY   8 /* number of bits in a byte */

Definition at line 47 of file freertos_select/sys/select.h.

◆ NFDBITS

#define NFDBITS   (sizeof (fd_mask) * NBBY) /* bits per mask */

Definition at line 59 of file freertos_select/sys/select.h.

Typedef Documentation

◆ fd_mask

typedef long fd_mask

Definition at line 58 of file freertos_select/sys/select.h.

Function Documentation

◆ select()

int select ( int  nfds,
fd_set *  readfds,
fd_set *  writefds,
fd_set *  exceptfds,
struct timeval *  timeout 
)

POSIX select().

Parameters
nfdshighest numbered file descriptor in any of the three, sets plus 1
readfdsfd_set of file descritpors to pend on read active
writefdsfd_set of file descritpors to pend on write active
exceptfdsfd_set of file descritpors to pend on error active
timeouttimeout value to wait, if 0, return immediately, if NULL wait forever
Returns
on success, number of file descriptors in the three sets that are active, 0 on timeout, -1 with errno set appropriately upon error.

Definition at line 473 of file Fileio.cxx.