]> jfr.im git - solanum.git/blobdiff - libratbox/src/ports.c
Copied libratbox and related stuff from shadowircd upstream.
[solanum.git] / libratbox / src / ports.c
index 353b07b7f4940927be157e263b777a752e055b4c..0802e1d68f801d513808be12a0e2f507a1a81325 100644 (file)
@@ -23,7 +23,7 @@
  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
  *  USA
  *
- *  $Id: ports.c 25038 2008-01-23 16:03:08Z androsyn $
+ *  $Id: ports.c 26092 2008-09-19 15:13:52Z androsyn $
  */
 
 #include <libratbox_config.h>
@@ -44,26 +44,26 @@ static struct timespec zero_timespec;
 static port_event_t *pelst;    /* port buffer */
 static int pemax;              /* max structs to buffer */
 
-int 
-rb_setup_fd_ports(rb_fde_t *F)
+int
+rb_setup_fd_ports(int fd)
 {
-        return 0;
+       return 0;
 }
-        
+
 
 static void
-pe_update_events(rb_fde_t * F, short filter, PF * handler)
+pe_update_events(rb_fde_t *F, short filter, PF * handler)
 {
        PF *cur_handler = NULL;
 
-       if (filter == POLLRDNORM)
+       if(filter == POLLRDNORM)
                cur_handler = F->read_handler;
-       else if (filter == POLLWRNORM)
+       else if(filter == POLLWRNORM)
                cur_handler = F->write_handler;
 
-       if (!cur_handler && handler)
+       if(!cur_handler && handler)
                port_associate(pe, PORT_SOURCE_FD, F->fd, filter, F);
-       else if (cur_handler && !handler)
+       else if(cur_handler && !handler)
                port_dissociate(pe, PORT_SOURCE_FD, F->fd);
 }
 
@@ -80,7 +80,8 @@ pe_update_events(rb_fde_t * F, short filter, PF * handler)
 int
 rb_init_netio_ports(void)
 {
-       if((pe = port_create()) < 0) {
+       if((pe = port_create()) < 0)
+       {
                return errno;
        }
        pemax = getdtablesize();
@@ -96,18 +97,19 @@ rb_init_netio_ports(void)
  * and deregister interest in a pending IO state for a given FD.
  */
 void
-rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler,
-              void *client_data)
+rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_data)
 {
        lrb_assert(IsFDOpen(F));
 
        /* Update the list, even though we're not using it .. */
-       if(type & RB_SELECT_READ) {
+       if(type & RB_SELECT_READ)
+       {
                pe_update_events(F, POLLRDNORM, handler);
                F->read_handler = handler;
                F->read_data = client_data;
        }
-       if(type & RB_SELECT_WRITE) {
+       if(type & RB_SELECT_WRITE)
+       {
                pe_update_events(F, POLLWRNORM, handler);
                F->write_handler = handler;
                F->write_data = client_data;
@@ -126,10 +128,10 @@ rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler,
 int
 rb_select_ports(long delay)
 {
-       int              i, fd;
-       uint             nget = 1;
-struct timespec         poll_time;
-struct timer_data      *tdata;
+       int i, fd;
+       uint nget = 1;
+       struct timespec poll_time;
+       struct timer_data *tdata;
 
        poll_time.tv_sec = delay / 1000;
        poll_time.tv_nsec = (delay % 1000) * 1000000;
@@ -137,21 +139,25 @@ struct    timer_data      *tdata;
        i = port_getn(pe, pelst, pemax, &nget, &poll_time);
        rb_set_time();
 
-       if (i == -1)
+       if(i == -1)
                return RB_OK;
 
-       for (i = 0; i < nget; i++) {
-               switch(pelst[i].portev_source) {
+       for(i = 0; i < nget; i++)
+       {
+               switch (pelst[i].portev_source)
+               {
                case PORT_SOURCE_FD:
                        fd = pelst[i].portev_object;
                        PF *hdl = NULL;
                        rb_fde_t *F = rb_find_fd(fd);
 
-                       if ((pelst[i].portev_events & POLLRDNORM) && (hdl = F->read_handler)) {
+                       if((pelst[i].portev_events & POLLRDNORM) && (hdl = F->read_handler))
+                       {
                                F->read_handler = NULL;
                                hdl(F, F->read_data);
                        }
-                       if ((pelst[i].portev_events & POLLWRNORM) && (hdl = F->write_handler)) {
+                       if((pelst[i].portev_events & POLLWRNORM) && (hdl = F->write_handler))
+                       {
                                F->write_handler = NULL;
                                hdl(F, F->write_data);
                        }
@@ -162,7 +168,7 @@ struct      timer_data      *tdata;
 }
 
 #else /* ports not supported */
-int 
+int
 rb_init_netio_ports(void)
 {
        return ENOSYS;
@@ -171,23 +177,23 @@ rb_init_netio_ports(void)
 void
 rb_setselect_ports(rb_fde_t *F, unsigned int type, PF * handler, void *client_data)
 {
-        errno = ENOSYS;
-        return;
+       errno = ENOSYS;
+       return;
 }
+
 int
 rb_select_ports(long delay)
 {
-        errno = ENOSYS;
-        return -1;
+       errno = ENOSYS;
+       return -1;
 }
+
 int
 rb_setup_fd_ports(rb_fde_t *F)
 {
-        errno = ENOSYS;
-        return -1;
+       errno = ENOSYS;
+       return -1;
 }
 
-                                                  
+
 #endif