iolayer_be.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $
00005     begin       : Wed Mar 16 2005
00006     copyright   : (C) 2005 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00013 
00014 #ifndef GWEN_IOLAYER_BE_H
00015 #define GWEN_IOLAYER_BE_H
00016 
00017 
00018 #include <gwenhywfar/iolayer.h>
00019 #include <gwenhywfar/inherit.h>
00020 #include <gwenhywfar/inetsocket.h>
00021 
00022 
00023 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_IO_LAYER, GWENHYWFAR_API)
00024 
00025 
00026 
00027 typedef GWEN_IO_LAYER_WORKRESULT (*GWEN_IO_LAYER_WORKONREQUESTS_FN)(GWEN_IO_LAYER *io);
00028 
00029 typedef int (*GWEN_IO_LAYER_ADDREQUEST_FN)(GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r);
00030 typedef int (*GWEN_IO_LAYER_DELREQUEST_FN)(GWEN_IO_LAYER *io, GWEN_IO_REQUEST *r);
00031 typedef int (*GWEN_IO_LAYER_HASWAITINGREQUESTS_FN)(GWEN_IO_LAYER *io);
00032 typedef int (*GWEN_IO_LAYER_ADDWAITINGSOCKETS_FN)(GWEN_IO_LAYER *io,
00033                                                   GWEN_SOCKET_LIST2 *readSockets,
00034                                                   GWEN_SOCKET_LIST2 *writeSockets);
00035 typedef int (*GWEN_IO_LAYER_LISTEN_FN)(GWEN_IO_LAYER *io);
00036 
00037 
00038 GWENHYWFAR_API GWEN_IO_LAYER *GWEN_Io_Layer_new(const char *typeName, GWEN_IO_LAYER *baseLayer);
00039 
00040 
00041 GWENHYWFAR_API void GWEN_Io_Layer_SetStatus(GWEN_IO_LAYER *io, GWEN_IO_LAYER_STATUS st);
00042 
00043 
00044 GWENHYWFAR_API void GWEN_Io_Layer_AddIncomingLayer(GWEN_IO_LAYER *io, GWEN_IO_LAYER *newIo);
00045 
00046 GWENHYWFAR_API GWEN_IO_LAYER_WORKRESULT GWEN_Io_Layer_WorkOnRequests(GWEN_IO_LAYER *io);
00047 
00048 
00049 GWENHYWFAR_API GWEN_IO_LAYER_WORKONREQUESTS_FN
00050   GWEN_Io_Layer_SetWorkOnRequestsFn(GWEN_IO_LAYER *io, GWEN_IO_LAYER_WORKONREQUESTS_FN f);
00051 
00052 GWENHYWFAR_API GWEN_IO_LAYER_ADDREQUEST_FN
00053   GWEN_Io_Layer_SetAddRequestFn(GWEN_IO_LAYER *io, GWEN_IO_LAYER_ADDREQUEST_FN f);
00054 
00055 GWENHYWFAR_API GWEN_IO_LAYER_DELREQUEST_FN
00056   GWEN_Io_Layer_SetDelRequestFn(GWEN_IO_LAYER *io, GWEN_IO_LAYER_DELREQUEST_FN f);
00057 
00058 GWENHYWFAR_API GWEN_IO_LAYER_HASWAITINGREQUESTS_FN
00059   GWEN_Io_Layer_SetHasWaitingRequestsFn(GWEN_IO_LAYER *io,
00060                                         GWEN_IO_LAYER_HASWAITINGREQUESTS_FN f);
00061 
00062 GWENHYWFAR_API GWEN_IO_LAYER_ADDWAITINGSOCKETS_FN
00063   GWEN_Io_Layer_SetAddWaitingSocketsFn(GWEN_IO_LAYER *io,
00064                                        GWEN_IO_LAYER_ADDWAITINGSOCKETS_FN f);
00065 
00066 GWENHYWFAR_API GWEN_IO_LAYER_LISTEN_FN
00067   GWEN_Io_Layer_SetListenFn(GWEN_IO_LAYER *io, GWEN_IO_LAYER_LISTEN_FN f);
00068 
00069 
00070 #endif

Generated on Wed Sep 3 15:21:58 2008 for gwenhywfar by  doxygen 1.5.6