Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

engines_int.h

Go to the documentation of this file.
00001 /*
00002 ** Copyright (C) 2005 by Kevin L. Mitchell <klmitch@mit.edu>
00003 **
00004 ** This program is free software; you can redistribute it and/or modify
00005 ** it under the terms of the GNU General Public License as published by
00006 ** the Free Software Foundation; either version 2 of the License, or
00007 ** (at your option) any later version.
00008 **
00009 ** This program is distributed in the hope that it will be useful,
00010 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 ** GNU General Public License for more details.
00013 **
00014 ** You should have received a copy of the GNU General Public License
00015 ** along with this program; if not, write to the Free Software
00016 ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 **
00018 ** @(#)$Id: engines_int.h,v 1.12 2005/12/18 00:15:11 klmitch Exp $
00019 */
00020 #ifndef __include_engine_int_h__
00021 #define __include_engine_int_h__
00022 
00032 #include "event_int.h"
00033 
00034 #include "engines.h"
00035 
00053 #define eng_init(ctx, eng, flags)                                             \
00054                                 ((eng)->eng_init)((ctx), (eng), (flags))
00055 
00073 #define eng_poll(ctx, eng, timeo)                                             \
00074                                 ((eng)->eng_poll)((ctx), (eng), (timeo))
00075 
00088 #define eng_fini(ctx, eng)      ((eng)->eng_fini)((ctx), (eng))
00089 
00105 #define eng_sock_add(ctx, eng, sock)                                          \
00106                                 ((eng)->eng_socket.eso_add)((ctx), (eng),     \
00107                                                             (sock))
00108 
00124 #define eng_sock_rem(ctx, eng, sock)                                          \
00125                                 ((eng)->eng_socket.eso_rem)((ctx), (eng),     \
00126                                                             (sock))
00127 
00145 #define eng_sock_ev(ctx, eng, sock, evs)                                      \
00146                                 ((eng)->eng_socket.eso_ev)((ctx), (eng),      \
00147                                                            (sock), (evs))
00148 
00164 #define eng_sig_add(ctx, eng, sig)                                            \
00165                                 ((eng)->eng_signal.esi_add)((ctx), (eng),     \
00166                                                             (sig))
00167 
00183 #define eng_sig_rem(ctx, eng, sig)                                            \
00184                                 ((eng)->eng_signal.esi_rem)((ctx), (eng),     \
00185                                                             (sig))
00186 
00202 #define eng_tim_add(ctx, eng, tim)                                            \
00203                                 (!(eng)->eng_timer.eti_add ? 0 :              \
00204                                  ((eng)->eng_timer.eti_add)((ctx), (eng),     \
00205                                                             (tim)))
00206 
00222 #define eng_tim_rem(ctx, eng, tim)                                            \
00223                                 (!(eng)->eng_timer.eti_rem ? 0 :              \
00224                                  ((eng)->eng_timer.eti_rem)((ctx), (eng),     \
00225                                                             (tim)))
00226 
00235 #define englink_clr(ptr)                                                      \
00236 do {                                                                          \
00237   _ev_englink_t *_ptr = (ptr);                                                \
00238   _ptr->el_next = _ptr->el_prev = 0;                                          \
00239 } while (0)
00240 
00241 #endif /* __include_engine_int_h__ */

Generated on Wed Dec 28 23:36:56 2005 for event by  doxygen 1.4.4