X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=include%2Fircd_osdep.h;h=89579c01b8f4d0d10c1843b57dab68ab9bdf1d5a;hb=3d59398668e6f0977c147c5efeefe7582d05b25b;hp=87a443a87a64541974816ba6dd28d30ce000a9cc;hpb=9b1f5beca29ec78141f19a19d689f0f7cc3fe3ac;p=ircu2.10.12-pk.git diff --git a/include/ircd_osdep.h b/include/ircd_osdep.h index 87a443a..89579c0 100644 --- a/include/ircd_osdep.h +++ b/include/ircd_osdep.h @@ -1,7 +1,6 @@ -/* - * ircd_osdep.h - * - * $Id$ +/** @file ircd_osdep.h + * @brief Public definitions and APIs for OS-dependent operations. + * @version $Id$ */ #ifndef INCLUDED_ircd_osdep_h #define INCLUDED_ircd_osdep_h @@ -10,10 +9,11 @@ struct Client; struct irc_sockaddr; struct MsgQ; +/** Result of an input/output operation. */ typedef enum IOResult { - IO_FAILURE = -1, - IO_BLOCKED = 0, - IO_SUCCESS = 1 + IO_FAILURE = -1, /**< Serious I/O error (not due to blocking). */ + IO_BLOCKED = 0, /**< I/O could not start because it would block. */ + IO_SUCCESS = 1 /**< I/O succeeded. */ } IOResult; /* @@ -21,14 +21,18 @@ typedef enum IOResult { * Client struct. When passed as a parameter, the pointer just needs * to be forwarded to the enumeration function. */ -typedef void (*EnumFn)(struct Client*, const char* msg); +/** Callback function to show rusage information. + * @param cptr Client to receive the message. + * @param msg Text message to send to user. + */ +typedef void (*EnumFn)(struct Client* cptr, const char* msg); extern int os_disable_options(int fd); extern int os_get_rusage(struct Client* cptr, int uptime, EnumFn enumerator); extern int os_get_sockerr(int fd); extern int os_get_sockname(int fd, struct irc_sockaddr* sin_out); extern int os_get_peername(int fd, struct irc_sockaddr* sin_out); -extern int os_socket(const struct irc_sockaddr* local, int type, const char* port_name); +extern int os_socket(const struct irc_sockaddr* local, int type, const char* port_name, int family); extern int os_accept(int fd, struct irc_sockaddr* peer); extern IOResult os_sendto_nonb(int fd, const char* buf, unsigned int length, unsigned int* length_out, unsigned int flags, @@ -49,6 +53,7 @@ extern int os_set_nonblocking(int fd); extern int os_set_reuseaddr(int fd); extern int os_set_sockbufs(int fd, unsigned int ssize, unsigned int rsize); extern int os_set_tos(int fd,int tos); +extern int os_socketpair(int sv[2]); #endif /* INCLUDED_ircd_osdep_h */