libosmocore  1.5.1.205-e67e
Osmocom core library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Select loop abstraction

Files

file  select.h
 libmnl integration
 

Data Structures

struct  osmo_fd
 Structure representing a file dsecriptor. More...
 
struct  osmo_signalfd
 

Macros

#define OSMO_FD_READ   0x0001
 Indicate interest in reading from the file descriptor. More...
 
#define OSMO_FD_WRITE   0x0002
 Indicate interest in writing to the file descriptor. More...
 
#define OSMO_FD_EXCEPT   0x0004
 Indicate interest in exceptions from the file descriptor. More...
 
#define OSMO_FD_MASK   0xFFFF
 Used as when_mask in osmo_fd_update_when() More...
 
#define BSC_FD_READ   OSMO_FD_READ
 
#define BSC_FD_WRITE   OSMO_FD_WRITE
 
#define BSC_FD_EXCEPT   OSMO_FD_EXCEPT
 

Typedefs

typedef void osmo_signalfd_cb (struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi)
 

Functions

void osmo_fd_setup (struct osmo_fd *ofd, int fd, unsigned int when, int(*cb)(struct osmo_fd *fd, unsigned int what), void *data, unsigned int priv_nr)
 
void osmo_fd_update_when (struct osmo_fd *ofd, unsigned int when_mask, unsigned int when)
 
static void osmo_fd_read_enable (struct osmo_fd *ofd)
 
static void osmo_fd_read_disable (struct osmo_fd *ofd)
 
static void osmo_fd_write_enable (struct osmo_fd *ofd)
 
static void osmo_fd_write_disable (struct osmo_fd *ofd)
 
bool osmo_fd_is_registered (struct osmo_fd *fd)
 
int osmo_fd_register (struct osmo_fd *fd)
 
void osmo_fd_unregister (struct osmo_fd *fd)
 
void osmo_fd_close (struct osmo_fd *fd)
 
int osmo_select_main (int polling)
 
int osmo_select_main_ctx (int polling)
 
void osmo_select_init (void)
 
struct osmo_fdosmo_fd_get_by_fd (int fd)
 
int osmo_fd_fill_fds (void *readset, void *writeset, void *exceptset)
 
int osmo_fd_disp_fds (void *readset, void *writeset, void *exceptset)
 
int osmo_timerfd_disable (struct osmo_fd *ofd)
 
int osmo_timerfd_schedule (struct osmo_fd *ofd, const struct timespec *first, const struct timespec *interval)
 
int osmo_timerfd_setup (struct osmo_fd *ofd, int(*cb)(struct osmo_fd *, unsigned int), void *data)
 
struct osmo_signalfdosmo_signalfd_setup (void *ctx, sigset_t set, osmo_signalfd_cb *cb, void *data)
 
void osmo_select_shutdown_request ()
 
int osmo_select_shutdown_requested ()
 
bool osmo_select_shutdown_done ()
 

Detailed Description

Macro Definition Documentation

#define BSC_FD_EXCEPT   OSMO_FD_EXCEPT
#define BSC_FD_READ   OSMO_FD_READ
#define BSC_FD_WRITE   OSMO_FD_WRITE
#define OSMO_FD_EXCEPT   0x0004

Indicate interest in exceptions from the file descriptor.

Referenced by osmo_wqueue_bfd_cb().

#define OSMO_FD_MASK   0xFFFF

Used as when_mask in osmo_fd_update_when()

Referenced by osmo_fd_read_enable(), and osmo_fd_write_enable().

#define OSMO_FD_READ   0x0001

Indicate interest in reading from the file descriptor.

Referenced by osmo_fd_read_disable(), osmo_fd_read_enable(), osmo_mnl_fd_cb(), osmo_mnl_init(), osmo_stats_timer_cb(), and osmo_wqueue_bfd_cb().

#define OSMO_FD_WRITE   0x0002

Indicate interest in writing to the file descriptor.

Referenced by osmo_fd_write_disable(), osmo_fd_write_enable(), osmo_wqueue_bfd_cb(), osmo_wqueue_clear(), and osmo_wqueue_enqueue_quiet().

Typedef Documentation

typedef void osmo_signalfd_cb(struct osmo_signalfd *osfd, const struct signalfd_siginfo *fdsi)

Function Documentation

void osmo_fd_close ( struct osmo_fd fd)
int osmo_fd_disp_fds ( void *  readset,
void *  writeset,
void *  exceptset 
)
int osmo_fd_fill_fds ( void *  readset,
void *  writeset,
void *  exceptset 
)
struct osmo_fd* osmo_fd_get_by_fd ( int  fd)
bool osmo_fd_is_registered ( struct osmo_fd fd)
static void osmo_fd_read_disable ( struct osmo_fd ofd)
inlinestatic
static void osmo_fd_read_enable ( struct osmo_fd ofd)
inlinestatic
int osmo_fd_register ( struct osmo_fd fd)

Referenced by osmo_mnl_init().

void osmo_fd_setup ( struct osmo_fd ofd,
int  fd,
unsigned int  when,
int(*)(struct osmo_fd *fd, unsigned int what)  cb,
void *  data,
unsigned int  priv_nr 
)

Referenced by osmo_mnl_init().

void osmo_fd_unregister ( struct osmo_fd fd)

Referenced by osmo_mnl_destroy().

void osmo_fd_update_when ( struct osmo_fd ofd,
unsigned int  when_mask,
unsigned int  when 
)
static void osmo_fd_write_disable ( struct osmo_fd ofd)
inlinestatic
static void osmo_fd_write_enable ( struct osmo_fd ofd)
inlinestatic
void osmo_select_init ( void  )
int osmo_select_main ( int  polling)
int osmo_select_main_ctx ( int  polling)
bool osmo_select_shutdown_done ( )
void osmo_select_shutdown_request ( )
int osmo_select_shutdown_requested ( )
struct osmo_signalfd* osmo_signalfd_setup ( void *  ctx,
sigset_t  set,
osmo_signalfd_cb cb,
void *  data 
)
int osmo_timerfd_disable ( struct osmo_fd ofd)

Referenced by start_timer().

int osmo_timerfd_schedule ( struct osmo_fd ofd,
const struct timespec *  first,
const struct timespec *  interval 
)

Referenced by start_timer().

int osmo_timerfd_setup ( struct osmo_fd ofd,
int(*)(struct osmo_fd *, unsigned int)  cb,
void *  data 
)

Referenced by start_timer().