jabberd2
2.2.16
|
#include "util/inaddr.h"
Go to the source code of this file.
Data Structures | |
struct | mio_priv_fd_st |
struct | mio_priv_st |
now define our master data type More... | |
Defines | |
#define | MIO(m) ((mio_priv_t) m) |
#define | FD(m, f) ((mio_priv_fd_t) f) |
#define | ACT(m, f, a, d) (*(FD(m,f)->app))(m,a,&FD(m,f)->mio_fd,d,FD(m,f)->arg) |
#define | ZONE __LINE__ |
#define | MIO_DEBUG 0 |
#define | mio_debug if(MIO_DEBUG) _mio_debug |
Typedefs | |
typedef struct mio_priv_fd_st * | mio_priv_fd_t |
typedef struct mio_priv_st * | mio_priv_t |
now define our master data type | |
Enumerations | |
enum | mio_type_t { type_CLOSED = 0x00, type_NORMAL = 0x01, type_LISTEN = 0x02, type_CONNECT = 0x10, type_CONNECT_READ = 0x11, type_CONNECT_WRITE = 0x12 } |
our internal wrapper around a fd More... | |
Functions | |
static void | _mio_debug (int line, const char *msgfmt,...) |
static MIO_FUNCS mio_fd_t | _mio_setup_fd (mio_t m, int fd, mio_handler_t app, void *arg) |
add and set up this fd to this mio | |
static void | _mio_close (mio_t m, mio_fd_t fd) |
internal close function | |
static void | _mio_accept (mio_t m, mio_fd_t fd) |
internally accept an incoming connection from a listen sock | |
static void | _mio__connect (mio_t m, mio_fd_t fd) |
internally change a connecting socket to a normal one | |
static void | _mio_app (mio_t m, mio_fd_t fd, mio_handler_t app, void *arg) |
reset app stuff for this fd | |
static void | _mio_run (mio_t m, int timeout) |
main select loop runner | |
static void | _mio_read (mio_t m, mio_fd_t fd) |
start processing read events | |
static void | _mio_write (mio_t m, mio_fd_t fd) |
try writing to the socket via the app | |
static mio_fd_t | _mio_listen (mio_t m, int port, char *sourceip, mio_handler_t app, void *arg) |
set up a listener in this mio w/ this default app/arg | |
static mio_fd_t | _mio_connect (mio_t m, int port, char *hostip, char *srcip, mio_handler_t app, void *arg) |
create an fd and connect to the given ip/port | |
static void | _mio_free (mio_t m) |
adam | |
static mio_t | _mio_new (int maxfd) |
eve |
#define MIO | ( | m | ) | ((mio_priv_t) m) |
Definition at line 71 of file mio_impl.h.
Referenced by _mio_new().
#define FD | ( | m, | |
f | |||
) | ((mio_priv_fd_t) f) |
Definition at line 72 of file mio_impl.h.
Referenced by _mio_setup_fd(), _mio_close(), _mio_accept(), _mio__connect(), _mio_app(), _mio_run(), _mio_read(), _mio_write(), _mio_listen(), and _mio_connect().
#define ACT | ( | m, | |
f, | |||
a, | |||
d | |||
) | (*(FD(m,f)->app))(m,a,&FD(m,f)->mio_fd,d,FD(m,f)->arg) |
Definition at line 73 of file mio_impl.h.
Referenced by _mio_close(), _mio_accept(), _mio_run(), and _mio_write().
#define ZONE __LINE__ |
Definition at line 76 of file mio_impl.h.
Referenced by authreg_init(), _authreg_auth_get(), _authreg_auth_set(), _authreg_register_set(), authreg_process(), _bind_features(), bind_init(), _c2s_client_sx_callback(), _c2s_client_mio_callback(), _c2s_component_presence(), c2s_router_sx_callback(), c2s_router_mio_callback(), _c2s_sx_sasl_callback(), _c2s_time_checks(), JABBER_MAIN(), _router_sx_sasl_callback(), _router_time_checks(), _s2s_time_checks(), _s2s_dns_expiry(), _mio_resolver_callback(), _s2s_populate_whitelist_domains(), s2s_domain_in_whitelist(), _pbx_read_command(), _pbx_mio_callback(), _pbx_close_pipe(), _pbx_open_pipe(), _pbx_read_pipe(), _pbx_write_pipe(), c2s_pbx_init(), _pbx_presence_nad(), _pbx_process_command(), _sm_build_route(), sm_sx_callback(), sm_mio_callback(), sm_c2s_action(), sm_storage_rate_limit(), _mio_setup_fd(), _mio_close(), _mio_accept(), _mio__connect(), _mio_run(), _mio_listen(), _mio_connect(), aci_load(), aci_check(), aci_unload(), filter_load(), filter_packet(), _router_advertise(), _router_advertise_reverse(), _router_process_handshake(), _router_process_bind(), _router_process_unbind(), _router_comp_write(), _router_route_log_sink(), _router_process_route(), _router_sx_callback(), router_mio_callback(), s2s_router_sx_callback(), s2s_router_mio_callback(), user_table_load(), user_load(), user_free(), user_create(), user_delete(), _s2s_db_header(), s2s_db_init(), in_mio_callback(), _in_sx_callback(), _in_result(), _in_verify(), _in_packet(), _out_packet_queue(), _out_dialback(), dns_select(), out_route(), out_packet(), _dns_add_result(), _dns_add_host(), _dns_result_srv(), _dns_result_aaaa(), _dns_result_a(), dns_resolve_domain(), _out_mio_callback(), send_dialbacks(), _out_sx_callback(), _out_result(), _out_verify(), out_bounce_route_queue(), out_flush_route_queue(), s2s_db_key(), dispatch(), feature_register(), feature_unregister(), mm_new(), mm_sess_start(), mm_sess_end(), mm_in_sess(), mm_in_router(), mm_out_sess(), mm_out_router(), mm_pkt_sm(), mm_pkt_user(), mm_pkt_router(), mm_user_load(), mm_user_unload(), mm_user_create(), mm_user_delete(), mm_disco_extend(), _active_user_create(), _active_user_delete(), module_init(), _announce_in_sess(), _announce_broadcast_user(), _announce_pkt_sm(), _announce_user_delete(), _disco_unify_walker(), _disco_unify_lists(), _disco_generate_packets(), _disco_pkt_sm_populate(), _disco_pkt_router(), _echo_pkt_sm(), _help_pkt_sm(), _help_disco_extend(), _iq_last_user_delete(), _iq_private_in_sess(), _iq_private_user_delete(), _iq_vcard_to_object(), _iq_vcard_to_pkt(), _iq_vcard_user_delete(), _iq_version_disco_extend(), _offline_in_sess(), _offline_pkt_user(), _offline_user_delete(), _pep_in_sess(), _presence_pkt_user(), _presence_pkt_sm(), _privacy_free_z(), _privacy_user_load(), _privacy_action(), _privacy_in_router(), _privacy_out_router(), _unblock_jid(), _privacy_in_sess(), _privacy_user_delete(), _roster_freeuser(), _roster_save_item(), _roster_in_sess_s10n(), _roster_set_item(), _roster_in_sess(), _roster_user_load(), _roster_user_delete(), _roster_publish_get_group_name(), _roster_publish_save_item(), _roster_publish_user_load(), _session_in_router(), _session_pkt_router(), _status_pkt_sm(), _status_user_delete(), _template_roster_reload(), _template_roster_save_item(), _template_roster_user_create(), _vacation_user_delete(), _validate_in_sess(), pkt_error(), pkt_dup(), pkt_new(), pkt_free(), pkt_router(), pkt_sess(), pkt_delay(), _pres_top(), pres_update(), pres_in(), pres_error(), pres_deliver(), pres_roster(), pres_probe(), sess_route(), sess_end(), sess_start(), _sx_ack_header(), _sx_ack_process(), sx_ack_init(), _sx_address_features(), sx_address_init(), _sx_chain_io_plugin(), _sx_chain_nad_plugin(), _sx_chain_io_write(), _sx_chain_io_read(), _sx_chain_nad_write(), _sx_chain_nad_read(), _sx_client_element_start(), _sx_client_notify_header(), sx_client_init(), _sx_compress_notify_compress(), _sx_compress_process(), _sx_compress_features(), _sx_compress_wio(), _sx_compress_rio(), _sx_compress_new(), _sx_compress_free(), sx_compress_init(), sx_compress_client_compress(), sx_env_plugin(), _sx_error(), _sx_error_extended(), _sx_process_read(), sx_can_read(), _sx_get_pending_write(), sx_can_write(), _sx_nad_write(), _sx_raw_write(), _sx_sasl_wio(), _sx_sasl_rio(), _sx_sasl_stream(), _sx_sasl_features(), _sx_sasl_notify_success(), _sx_sasl_client_process(), _sx_sasl_server_process(), _sx_sasl_process(), _sx_sasl_free(), sx_sasl_init(), _sx_sasl_cb_get_simple(), _sx_sasl_cb_get_secret(), _sx_sasl_open(), _sx_sasl_gsasl_callback(), sx_sasl_auth(), _sx_server_notify_header(), _sx_server_element_start(), sx_server_init(), _sx_ssl_verify_callback(), _sx_ssl_starttls_notify_proceed(), _sx_ssl_process(), _sx_ssl_features(), _sx_ssl_get_external_id(), _sx_ssl_handshake(), _sx_ssl_wio(), _sx_ssl_rio(), _sx_ssl_client(), _sx_ssl_server(), _sx_ssl_free(), sx_ssl_init(), sx_ssl_server_addcert(), sx_ssl_client_starttls(), sx_new(), sx_free(), sx_auth(), _sx_reset(), jid_new(), xdata_new(), _xdata_field_parse(), and xdata_parse().
#define MIO_DEBUG 0 |
Definition at line 78 of file mio_impl.h.
#define mio_debug if(MIO_DEBUG) _mio_debug |
Definition at line 80 of file mio_impl.h.
Referenced by _mio_setup_fd(), _mio_close(), _mio_accept(), _mio__connect(), _mio_run(), _mio_listen(), and _mio_connect().
typedef struct mio_priv_fd_st * mio_priv_fd_t |
typedef struct mio_priv_st * mio_priv_t |
now define our master data type
enum mio_type_t |
our internal wrapper around a fd
Definition at line 41 of file mio_impl.h.
static void _mio_debug | ( | int | line, |
const char * | msgfmt, | ||
... | |||
) | [static] |
Definition at line 81 of file mio_impl.h.
static MIO_FUNCS mio_fd_t _mio_setup_fd | ( | mio_t | m, |
int | fd, | ||
mio_handler_t | app, | ||
void * | arg | ||
) | [static] |
add and set up this fd to this mio
Definition at line 94 of file mio_impl.h.
References mio_debug, ZONE, MIO_ALLOC_FD, FD, and type_NORMAL.
Referenced by _mio_accept(), _mio_listen(), _mio_connect(), and _mio_new().
internal close function
Definition at line 123 of file mio_impl.h.
References FD, type_CLOSED, mio_debug, ZONE, mio_fd_st::fd, MIO_REMOVE_FD, ACT, action_CLOSE, MIO_CAN_FREE, and MIO_FREE_FD.
Referenced by _mio_new().
internally accept an incoming connection from a listen sock
Definition at line 150 of file mio_impl.h.
References INET6_ADDRSTRLEN, mio_debug, ZONE, mio_fd_st::fd, j_inet_ntop(), j_inet_getport(), _mio_setup_fd(), FD, ACT, action_ACCEPT, MIO_REMOVE_FD, and MIO_FREE_FD.
Referenced by _mio_run().
internally change a connecting socket to a normal one
Definition at line 194 of file mio_impl.h.
References FD, mio_debug, ZONE, mio_fd_st::fd, type_NORMAL, MIO_UNSET_WRITE, type_CONNECT_READ, mio_read, type_CONNECT_WRITE, and mio_write.
Referenced by _mio_run().
static void _mio_app | ( | mio_t | m, |
mio_fd_t | fd, | ||
mio_handler_t | app, | ||
void * | arg | ||
) | [static] |
reset app stuff for this fd
Definition at line 210 of file mio_impl.h.
References FD.
Referenced by _mio_new().
static void _mio_run | ( | mio_t | m, |
int | timeout | ||
) | [static] |
main select loop runner
Definition at line 217 of file mio_impl.h.
References MIO_INIT_ITERATOR, mio_debug, ZONE, MIO_CHECK, MIO_ERROR, MIO_ITERATE_RESULTS, MIO_ITERATOR_FD, FD, type_CLOSED, type_LISTEN, MIO_CAN_READ, _mio_accept(), type_CONNECT, MIO_CAN_WRITE, _mio__connect(), type_NORMAL, ACT, action_READ, MIO_UNSET_READ, action_WRITE, MIO_UNSET_WRITE, and MIO_FREE_FD.
Referenced by _mio_new().
start processing read events
Definition at line 291 of file mio_impl.h.
References FD, type_CONNECT, type_CONNECT_READ, and MIO_SET_READ.
Referenced by _mio_new().
try writing to the socket via the app
Definition at line 306 of file mio_impl.h.
References FD, type_CONNECT, type_CONNECT_WRITE, type_NORMAL, ACT, action_WRITE, and MIO_SET_WRITE.
Referenced by _mio_new().
static mio_fd_t _mio_listen | ( | mio_t | m, |
int | port, | ||
char * | sourceip, | ||
mio_handler_t | app, | ||
void * | arg | ||
) | [static] |
set up a listener in this mio w/ this default app/arg
Definition at line 327 of file mio_impl.h.
References mio_debug, ZONE, j_inet_pton(), sockaddr_storage::ss_family, j_inet_setport(), j_inet_addrlen(), _mio_setup_fd(), FD, type_LISTEN, and mio_read.
Referenced by _mio_new().
static mio_fd_t _mio_connect | ( | mio_t | m, |
int | port, | ||
char * | hostip, | ||
char * | srcip, | ||
mio_handler_t | app, | ||
void * | arg | ||
) | [static] |
create an fd and connect to the given ip/port
Definition at line 380 of file mio_impl.h.
References mio_debug, ZONE, j_inet_pton(), MIO_SETERROR, sockaddr_storage::ss_family, j_inet_setport(), j_inet_addrlen(), MIO_STRERROR, MIO_ERROR, _mio_setup_fd(), FD, type_CONNECT, and MIO_SET_WRITE.
Referenced by _mio_new().
static void _mio_free | ( | mio_t | m | ) | [static] |
static mio_t _mio_new | ( | int | maxfd | ) | [static] |
eve
Definition at line 476 of file mio_impl.h.
References _mio_free(), _mio_listen(), _mio_connect(), _mio_setup_fd(), _mio_app(), _mio_close(), _mio_write(), _mio_read(), _mio_run(), MIO, and MIO_INIT_VARS.