jabberd2  2.5.0
mio.c
Go to the documentation of this file.
1 /*
2  * jabberd - Jabber Open Source Server
3  * Copyright (c) 2002 Jeremie Miller, Thomas Muldowney,
4  * Ryan Eatmon, Robert Norris, Christof Meerwald
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307USA
19  */
20 
21 /*
22  MIO -- Managed Input/Output
23  ---------------------------
24 */
25 
26 #ifdef HAVE_CONFIG_H
27 # include <config.h>
28 #endif
29 
30 #include "mio.h"
31 
32 mio_t mio_kqueue_new(int maxfd);
33 mio_t mio_epoll_new(int maxfd);
34 mio_t mio_poll_new(int maxfd);
35 mio_t mio_select_new(int maxfd);
36 mio_t mio_wsasync_new(int maxfd);
37 
38 mio_t mio_new(int maxfd)
39 {
40  mio_t m = NULL;
41 
42 #ifdef MIO_KQUEUE
43  m = mio_kqueue_new(maxfd);
44  if (m != NULL) return m;
45 #endif
46 
47 #ifdef MIO_EPOLL
48  m = mio_epoll_new(maxfd);
49  if (m != NULL) return m;
50 #endif
51 
52 #ifdef MIO_WSASYNC
53  m = mio_wsasync_new(maxfd);
54  if (m != NULL) return m;
55 #endif
56 
57 #ifdef MIO_SELECT
58  m = mio_select_new(maxfd);
59  if (m != NULL) return m;
60 #endif
61 
62 #ifdef MIO_POLL
63  m = mio_poll_new(maxfd);
64  if (m != NULL) return m;
65 #endif
66 
67  return m;
68 }
mio_t mio_epoll_new(int maxfd)
mio_t mio_new(int maxfd)
create/free the mio subsytem
Definition: mio.c:38
Definition: mio.h:109
mio_t mio_wsasync_new(int maxfd)
mio_t mio_poll_new(int maxfd)
mio - manage i/o
mio_t mio_select_new(int maxfd)
mio_t mio_kqueue_new(int maxfd)