]> jfr.im git - solanum.git/blobdiff - librb/include/rb_commio.h
librb: make free_fds() public as rb_close_pending_fds()
[solanum.git] / librb / include / rb_commio.h
index 88e948b6a59904197978b1a5b2b82f73a93a3ac4..dde5ca9c7a8ace268c1fbe7088cfe9a04c764fdb 100644 (file)
@@ -63,11 +63,7 @@ enum
 #define RB_FD_NONE             0x01
 #define RB_FD_FILE             0x02
 #define RB_FD_SOCKET           0x04
-#ifndef _WIN32
 #define RB_FD_PIPE             0x08
-#else
-#define RB_FD_PIPE             RB_FD_SOCKET
-#endif
 #define        RB_FD_LISTEN            0x10
 #define RB_FD_SSL              0x20
 #define RB_FD_UNKNOWN          0x40
@@ -90,10 +86,11 @@ struct rb_iovec
 
 void rb_fdlist_init(int closeall, int maxfds, size_t heapsize);
 
-rb_fde_t *rb_open(rb_platform_fd_t, uint8_t, const char *);
+rb_fde_t *rb_open(int, uint8_t, const char *);
 void rb_close(rb_fde_t *);
 void rb_dump_fd(DUMPCB *, void *xdata);
 void rb_note(rb_fde_t *, const char *);
+void rb_close_pending_fds(void);
 
 /* Type of IO */
 #define        RB_SELECT_READ          0x1
@@ -118,6 +115,8 @@ void rb_note(rb_fde_t *, const char *);
 #define RB_SSL_CERTFP_LEN_SHA512       64
 
 int rb_set_nb(rb_fde_t *);
+int rb_set_cloexec(rb_fde_t *);
+int rb_clear_cloexec(rb_fde_t *);
 int rb_set_buffers(rb_fde_t *, int);
 
 int rb_get_sockerr(rb_fde_t *);
@@ -152,7 +151,7 @@ int rb_listen(rb_fde_t *, int backlog, int defer_accept);
 const char *rb_inet_ntop(int af, const void *src, char *dst, unsigned int size);
 int rb_inet_pton(int af, const char *src, void *dst);
 const char *rb_inet_ntop_sock(struct sockaddr *src, char *dst, unsigned int size);
-int rb_inet_pton_sock(const char *src, struct sockaddr *dst);
+int rb_inet_pton_sock(const char *src, struct sockaddr_storage *dst);
 int rb_getmaxconnect(void);
 int rb_ignore_errno(int);
 
@@ -161,12 +160,12 @@ void rb_setselect(rb_fde_t *, unsigned int type, PF * handler, void *client_data
 void rb_init_netio(void);
 int rb_select(unsigned long);
 int rb_fd_ssl(rb_fde_t *F);
-rb_platform_fd_t rb_get_fd(rb_fde_t *F);
+int rb_get_fd(rb_fde_t *F);
 const char *rb_get_ssl_strerror(rb_fde_t *F);
 int rb_get_ssl_certfp(rb_fde_t *F, uint8_t certfp[RB_SSL_CERTFP_LEN], int method);
 int rb_get_ssl_certfp_file(const char *filename, uint8_t certfp[RB_SSL_CERTFP_LEN], int method);
 
-rb_fde_t *rb_get_fde(rb_platform_fd_t fd);
+rb_fde_t *rb_get_fde(int fd);
 
 int rb_send_fd_buf(rb_fde_t *xF, rb_fde_t **F, int count, void *data, size_t datasize, pid_t pid);
 int rb_recv_fd_buf(rb_fde_t *F, void *data, size_t datasize, rb_fde_t **xF, int count);
@@ -179,9 +178,6 @@ const char *rb_get_iotype(void);
 typedef enum
 {
        RB_PRNG_FILE,
-#ifdef _WIN32
-       RB_PRNGWIN32,
-#endif
        RB_PRNG_DEFAULT,
 } prng_seed_t;