added basic ssl support to ircu
[ircu2.10.12-pk.git] / include / ircd_osdep.h
index 87a443a87a64541974816ba6dd28d30ce000a9cc..89579c01b8f4d0d10c1843b57dab68ab9bdf1d5a 100644 (file)
@@ -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 */