Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ipcservicelayer.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: ipcservicelayer.h,v $
00003                              -------------------
00004     cvs         : $Id: ipcservicelayer.h,v 1.3 2003/05/08 12:26:38 aquamaniac Exp $
00005     begin       : Fri Nov 08 2002
00006     copyright   : (C) 2002 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
00025  *                                                                         *
00026  ***************************************************************************/
00027 
00028 
00029 #ifndef CHAMELEON_IPCSERVICELAYER_H
00030 #define CHAMELEON_IPCSERVICELAYER_H "$Id: ipcservicelayer.h,v 1.3 2003/05/08 12:26:38 aquamaniac Exp $"
00031 
00032 #include <chameleon/ipcmessagelayer.h>
00033 #include <chameleon/ipcmessage.h>
00034 #include <chameleon/error.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C" {
00038 #endif
00039 
00040 CHIPCARD_API typedef struct IPCSERVICELAYERSTRUCT IPCSERVICELAYER;
00041 
00042 
00043 CHIPCARD_API struct IPCSERVICELAYERSTRUCT {
00044   int refCount;
00045   IPCMESSAGELAYER *messageLayers;
00046   IPCMESSAGELAYER *nextMessageLayer;
00047 };
00048 
00049 
00050 
00051 
00055 CHIPCARD_API IPCSERVICELAYER *IPCServiceLayer_new();
00056 
00064 CHIPCARD_API void IPCServiceLayer_share(IPCSERVICELAYER *sl);
00065 
00069 CHIPCARD_API void IPCServiceLayer_free(IPCSERVICELAYER *sl);
00070 
00071 
00072 CHIPCARD_API ERRORCODE IPCServiceLayer_SendMessage(IPCSERVICELAYER *sl,
00073                                                    IPCMESSAGELAYER *ml,
00074                                                    IPCMESSAGE *msg);
00075 
00081 CHIPCARD_API ERRORCODE IPCServiceLayer_NextMessage(IPCSERVICELAYER *sl,
00082                                                     IPCMESSAGELAYER **ml,
00083                                                     IPCMESSAGE **msg,
00084                                                     int mark);
00085 
00086 CHIPCARD_API void IPCServiceLayer_AddMessageLayer(IPCSERVICELAYER *sl,
00087                                                    IPCMESSAGELAYER *ml);
00088 
00089 CHIPCARD_API void IPCServiceLayer_UnlinkMessageLayer(IPCSERVICELAYER *sl,
00090                                                       IPCMESSAGELAYER *ml);
00091 
00092 CHIPCARD_API ERRORCODE IPCServiceLayer_Work(IPCSERVICELAYER *sl, int timeout);
00093 
00094 CHIPCARD_API void IPCServiceLayer_RemoveDisconnected(IPCSERVICELAYER *sl);
00095 
00096 
00097 CHIPCARD_API void IPCServiceLayer_ShutDown(IPCSERVICELAYER *sl);
00098 
00099 
00100 CHIPCARD_API IPCMESSAGELAYER *IPCServiceLayer_FindMessageLayer(IPCSERVICELAYER *sl,
00101                                                                 int id);
00102 
00103 
00104 #ifdef __cplusplus
00105 }
00106 #endif
00107 
00108 #endif
00109 
00110 
00111 

Generated on Mon Jan 5 20:56:27 2004 for libchipcard by doxygen 1.3.4