libosmocore 1.9.0.191-50e38
Osmocom core library
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 (void)
 
int osmo_select_shutdown_requested (void)
 
bool osmo_select_shutdown_done (void)
 

Detailed Description

Macro Definition Documentation

◆ BSC_FD_EXCEPT

#define BSC_FD_EXCEPT   OSMO_FD_EXCEPT

◆ BSC_FD_READ

#define BSC_FD_READ   OSMO_FD_READ

◆ BSC_FD_WRITE

#define BSC_FD_WRITE   OSMO_FD_WRITE

◆ OSMO_FD_EXCEPT

#define OSMO_FD_EXCEPT   0x0004

Indicate interest in exceptions from the file descriptor.

◆ OSMO_FD_MASK

#define OSMO_FD_MASK   0xFFFF

Used as when_mask in osmo_fd_update_when()

◆ OSMO_FD_READ

#define OSMO_FD_READ   0x0001

Indicate interest in reading from the file descriptor.

◆ OSMO_FD_WRITE

#define OSMO_FD_WRITE   0x0002

Indicate interest in writing to the file descriptor.

Typedef Documentation

◆ osmo_signalfd_cb

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

Function Documentation

◆ osmo_fd_close()

void osmo_fd_close ( struct osmo_fd fd)

Referenced by iofd_poll_close().

◆ osmo_fd_disp_fds()

int osmo_fd_disp_fds ( void *  readset,
void *  writeset,
void *  exceptset 
)

◆ osmo_fd_fill_fds()

int osmo_fd_fill_fds ( void *  readset,
void *  writeset,
void *  exceptset 
)

◆ osmo_fd_get_by_fd()

struct osmo_fd * osmo_fd_get_by_fd ( int  fd)

◆ osmo_fd_is_registered()

bool osmo_fd_is_registered ( struct osmo_fd fd)

Referenced by rate_ctr_init().

◆ osmo_fd_read_disable()

static void osmo_fd_read_disable ( struct osmo_fd ofd)
inlinestatic

◆ osmo_fd_read_enable()

static void osmo_fd_read_enable ( struct osmo_fd ofd)
inlinestatic

◆ osmo_fd_register()

◆ osmo_fd_setup()

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 
)

◆ osmo_fd_unregister()

◆ osmo_fd_update_when()

void osmo_fd_update_when ( struct osmo_fd ofd,
unsigned int  when_mask,
unsigned int  when 
)

◆ osmo_fd_write_disable()

static void osmo_fd_write_disable ( struct osmo_fd ofd)
inlinestatic

◆ osmo_fd_write_enable()

static void osmo_fd_write_enable ( struct osmo_fd ofd)
inlinestatic

◆ osmo_select_init()

void osmo_select_init ( void  )

◆ osmo_select_main()

int osmo_select_main ( int  polling)

◆ osmo_select_main_ctx()

int osmo_select_main_ctx ( int  polling)

◆ osmo_select_shutdown_done()

bool osmo_select_shutdown_done ( void  )

◆ osmo_select_shutdown_request()

void osmo_select_shutdown_request ( void  )

◆ osmo_select_shutdown_requested()

int osmo_select_shutdown_requested ( void  )

◆ osmo_signalfd_setup()

struct osmo_signalfd * osmo_signalfd_setup ( void *  ctx,
sigset_t  set,
osmo_signalfd_cb cb,
void *  data 
)

◆ osmo_timerfd_disable()

int osmo_timerfd_disable ( struct osmo_fd ofd)

Referenced by start_timer().

◆ osmo_timerfd_schedule()

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

Referenced by rate_ctr_init(), and start_timer().

◆ osmo_timerfd_setup()

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

Referenced by rate_ctr_init(), and start_timer().