OpenDNSSEC-signer  2.1.7
Data Structures | Macros | Typedefs | Enumerations | Functions
netio.h File Reference
#include <signal.h>
#include "config.h"
#include "status.h"

Go to the source code of this file.

Data Structures

struct  netio_handler_list_struct
 
struct  netio_handler_struct
 
struct  netio_struct
 

Macros

#define PF_INET   AF_INET
 
#define PF_INET6   AF_INET6
 

Typedefs

typedef enum netio_events_enum netio_events_type
 
typedef struct netio_struct netio_type
 
typedef struct netio_handler_struct netio_handler_type
 
typedef struct netio_handler_list_struct netio_handler_list_type
 
typedef void(* netio_event_handler_type) (netio_type *netio, netio_handler_type *handler, netio_events_type event_types)
 

Enumerations

enum  netio_events_enum {
  NETIO_EVENT_NONE = 0 , NETIO_EVENT_READ = 1 , NETIO_EVENT_WRITE = 2 , NETIO_EVENT_EXCEPT = 4 ,
  NETIO_EVENT_TIMEOUT = 8
}
 

Functions

netio_typenetio_create (void)
 
void netio_add_handler (netio_type *netio, netio_handler_type *handler)
 
void netio_remove_handler (netio_type *netio, netio_handler_type *handler)
 
const struct timespec * netio_current_time (netio_type *netio)
 
int netio_dispatch (netio_type *netio, const struct timespec *timeout, const sigset_t *sigmask)
 
void netio_cleanup (netio_type *netio)
 
void netio_cleanup_shallow (netio_type *netio)
 
void timespec_add (struct timespec *left, const struct timespec *right)
 

Macro Definition Documentation

◆ PF_INET

#define PF_INET   AF_INET

Network I/O Support.

Definition at line 58 of file netio.h.

◆ PF_INET6

#define PF_INET6   AF_INET6

Definition at line 61 of file netio.h.

Typedef Documentation

◆ netio_event_handler_type

typedef void(* netio_event_handler_type) (netio_type *netio, netio_handler_type *handler, netio_events_type event_types)

Network I/O event handler function.

Definition at line 86 of file netio.h.

◆ netio_events_type

Definition at line 1 of file netio.h.

◆ netio_handler_list_type

Definition at line 1 of file netio.h.

◆ netio_handler_type

Definition at line 1 of file netio.h.

◆ netio_type

typedef struct netio_struct netio_type

Definition at line 1 of file netio.h.

Enumeration Type Documentation

◆ netio_events_enum

Enumerator
NETIO_EVENT_NONE 
NETIO_EVENT_READ 
NETIO_EVENT_WRITE 
NETIO_EVENT_EXCEPT 
NETIO_EVENT_TIMEOUT 

Definition at line 69 of file netio.h.

Function Documentation

◆ netio_add_handler()

void netio_add_handler ( netio_type netio,
netio_handler_type handler 
)

◆ netio_cleanup()

void netio_cleanup ( netio_type netio)

Clean up netio instance

Parameters
[in]netionetio instance

Clean up netio instance

Definition at line 336 of file netio.c.

References netio_handler_struct::free_handler, netio_handler_list_struct::handler, netio_struct::handlers, netio_handler_list_struct::next, and netio_handler_struct::user_data.

Referenced by dnshandler_cleanup().

◆ netio_cleanup_shallow()

void netio_cleanup_shallow ( netio_type netio)

Clean up netio instance

Definition at line 355 of file netio.c.

References netio_struct::handlers.

Referenced by xfrhandler_cleanup().

◆ netio_create()

netio_type* netio_create ( void  )

Definition at line 39 of file netio.c.

References netio_struct::dispatch_next, and netio_struct::handlers.

Referenced by xfrhandler_create().

◆ netio_current_time()

const struct timespec* netio_current_time ( netio_type netio)

Definition at line 163 of file netio.c.

References netio_struct::have_current_time.

◆ netio_dispatch()

int netio_dispatch ( netio_type netio,
const struct timespec *  timeout,
const sigset_t *  sigmask 
)

◆ netio_remove_handler()

void netio_remove_handler ( netio_type netio,
netio_handler_type handler 
)

◆ timespec_add()

void timespec_add ( struct timespec *  left,
const struct timespec *  right 
)

Add timespecs.

Parameters
[in]leftleft
[in]rightright

Add timespecs.

Definition at line 131 of file netio.c.

References NANOSECONDS_PER_SECOND.