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

listdoc.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: list1.tmpl,v $
00003  -------------------
00004  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
00005  begin       : Sat Jun 28 2003
00006  copyright   : (C) 2003 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 GWEN_INHERITDATA_LIST1_H
00030 #define GWEN_INHERITDATA_LIST1_H
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035 
00037   typedef struct GWEN_INHERITDATA_LIST_ELEMENT {
00038     GWEN_TYPE_UINT32 id;
00039     GWEN_INHERITDATA *nextObject;
00040   } GWEN_INHERITDATA_LIST__ELEMENT;
00041 
00048   typedef struct GWEN_INHERITDATA_LIST GWEN_INHERITDATA_LIST;
00050   struct GWEN_INHERITDATA_LIST {
00051     GWEN_INHERITDATA *first;
00052     GWEN_TYPE_UINT32 count;
00053     GWEN_TYPE_UINT32 id;
00054   } GWEN_INHERITDATA_LIST;
00055 
00060   void GWEN_InheritData_List_AddList(GWEN_INHERITDATA_LIST *dst, GWEN_INHERITDATA_LIST *l);
00061 
00065   void GWEN_InheritData_List_Add(GWEN_INHERITDATA *element, GWEN_INHERITDATA_LIST *list);
00066 
00071   void GWEN_InheritData_List_Insert(GWEN_INHERITDATA *element, GWEN_INHERITDATA_LIST *list);
00072 
00079   void GWEN_InheritData_List_Del(GWEN_INHERITDATA *element);
00080 
00084   GWEN_INHERITDATA* GWEN_InheritData_List_First(const GWEN_INHERITDATA_LIST *l);
00085 
00089   GWEN_INHERITDATA* GWEN_InheritData_List_Last(const GWEN_INHERITDATA_LIST *l);
00090 
00095   void GWEN_InheritData_List_Clear(GWEN_INHERITDATA_LIST *l);
00096 
00100   GWEN_INHERITDATA_LIST* GWEN_InheritData_List_new();
00101 
00105   void GWEN_InheritData_List_free(GWEN_INHERITDATA_LIST *l);
00106 
00110   GWEN_INHERITDATA* GWEN_InheritData_List_Next(const GWEN_INHERITDATA *element);
00111 
00115   GWEN_INHERITDATA* GWEN_InheritData_List_Previous(const GWEN_INHERITDATA *element);
00116 
00120   GWEN_TYPE_UINT32 GWEN_InheritData_List_GetCount(const GWEN_INHERITDATA_LIST *l);
00121 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 
00126 
00127 #endif
00128 
00129 
00130 
00131 /***************************************************************************
00132  $RCSfile: list2.tmpl,v $
00133  -------------------
00134  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
00135  begin       : Sat Jun 28 2003
00136  copyright   : (C) 2003 by Martin Preuss
00137  email       : martin@libchipcard.de
00138 
00139  ***************************************************************************
00140  *                                                                         *
00141  *   This library is free software; you can redistribute it and/or         *
00142  *   modify it under the terms of the GNU Lesser General Public            *
00143  *   License as published by the Free Software Foundation; either          *
00144  *   version 2.1 of the License, or (at your option) any later version.    *
00145  *                                                                         *
00146  *   This library is distributed in the hope that it will be useful,       *
00147  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00148  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00149  *   Lesser General Public License for more details.                       *
00150  *                                                                         *
00151  *   You should have received a copy of the GNU Lesser General Public      *
00152  *   License along with this library; if not, write to the Free Software   *
00153  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00154  *   MA  02111-1307  USA                                                   *
00155  *                                                                         *
00156  ***************************************************************************/
00157 
00158 
00159 #ifndef t_LIST2_H
00160 #define t_LIST2_H
00161 
00162 
00163 #ifdef __cplusplus
00164 extern "C" {
00165 #endif
00166 
00173   typedef struct t_LIST2 t_LIST2;
00174 
00178   typedef struct t_LIST2_ITERATOR t_LIST2_ITERATOR;
00179 
00183   typedef t* (t_LIST2_FOREACH)(t *element,
00184                                                  void *user_data);
00185 
00189   t_LIST2 *pr_List2_new(); 
00190 
00194   void pr_List2_free(t_LIST2 *l); 
00195 
00199   void pr_List2_Dump(t_LIST2 *l, FILE *f, unsigned int indent); 
00200 
00204   void pr_List2_PushBack(t_LIST2 *l, t *p); 
00205    
00210   void pr_List2_PushFront(t_LIST2 *l, t *p); 
00211 
00216   t *pr_List2_GetFront(t_LIST2 *l); 
00217    
00222   t *pr_List2_GetBack(t_LIST2 *l); 
00223 
00228   void pr_List2_Erase(t_LIST2 *l,
00229                                t_LIST2_ITERATOR *it);
00230 
00236   unsigned int pr_List2_GetSize(t_LIST2 *l); 
00237 
00242   void pr_List2_PopBack(t_LIST2 *l); 
00243    
00248   void pr_List2_PopFront(t_LIST2 *l); 
00249 
00253   void pr_List2_Clear(t_LIST2 *l); 
00254 
00258   t_LIST2_ITERATOR *pr_List2_First(t_LIST2 *l); 
00259    
00263   t_LIST2_ITERATOR *pr_List2_Last(t_LIST2 *l); 
00264 
00268   t_LIST2_ITERATOR *pr_List2Iterator_new(t_LIST2 *l);
00269 
00273   void pr_List2Iterator_free(t_LIST2_ITERATOR *li); 
00274 
00279   t *pr_List2Iterator_Previous(t_LIST2_ITERATOR *li); 
00280    
00285   t *pr_List2Iterator_Next(t_LIST2_ITERATOR *li); 
00286 
00291   t *pr_List2Iterator_Data(t_LIST2_ITERATOR *li); 
00292 
00304   t *pr_List2_ForEach(t_LIST2 *list,
00305                                         t_LIST2_FOREACH func,
00306                                         void *user_data);
00307 
00308 
00309   typedef struct t_CONSTLIST2 t_CONSTLIST2; 
00310   typedef struct t_CONSTLIST2_ITERATOR t_CONSTLIST2_ITERATOR; 
00311   typedef const t*
00312     (t_CONSTLIST2_FOREACH)(const t *element,
00313                                     void *user_data);
00314   
00315    
00316   t_CONSTLIST2 *pr_ConstList2_new(); 
00317    
00318   void pr_ConstList2_free(t_CONSTLIST2 *l); 
00319    
00320   void pr_ConstList2_PushBack(t_CONSTLIST2 *l, const t *p); 
00321    
00322   void pr_ConstList2_PushFront(t_CONSTLIST2 *l, const t *p); 
00323    
00324   const t *pr_ConstList2_GetFront(t_CONSTLIST2 *l); 
00325    
00326   const t *pr_ConstList2_GetBack(t_CONSTLIST2 *l); 
00327    
00328   unsigned int pr_ConstList2_GetSize(t_CONSTLIST2 *l); 
00329    
00330   void pr_ConstList2_PopBack(t_CONSTLIST2 *l); 
00331    
00332   void pr_ConstList2_PopFront(t_CONSTLIST2 *l); 
00333    
00334   void pr_ConstList2_Clear(t_CONSTLIST2 *l); 
00335    
00336   t_CONSTLIST2_ITERATOR *pr_ConstList2_First(t_CONSTLIST2 *l); 
00337    
00338   t_CONSTLIST2_ITERATOR *pr_ConstList2_Last(t_CONSTLIST2 *l); 
00339    
00340   t_CONSTLIST2_ITERATOR *pr_ConstList2Iterator_new(t_CONSTLIST2 *l); 
00341    
00342   void pr_ConstList2Iterator_free(t_CONSTLIST2_ITERATOR *li); 
00343    
00344   const t *pr_ConstList2Iterator_Previous(t_CONSTLIST2_ITERATOR *li); 
00345    
00346   const t *pr_ConstList2Iterator_Next(t_CONSTLIST2_ITERATOR *li); 
00347    
00348   const t *pr_ConstList2Iterator_Data(t_CONSTLIST2_ITERATOR *li); 
00349    
00361   const t *pr_ConstList2_ForEach(t_CONSTLIST2 *list,
00362         t_CONSTLIST2_FOREACH func, void *user_data);
00363 
00364 
00365 #ifdef __cplusplus
00366 }
00367 #endif
00368 
00369 
00370 #endif /* t_LIST_H */
00371 
00372 
00373 
00374 /***************************************************************************
00375  $RCSfile: list1.tmpl,v $
00376  -------------------
00377  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
00378  begin       : Sat Jun 28 2003
00379  copyright   : (C) 2003 by Martin Preuss
00380  email       : martin@libchipcard.de
00381 
00382  ***************************************************************************
00383  *                                                                         *
00384  *   This library is free software; you can redistribute it and/or         *
00385  *   modify it under the terms of the GNU Lesser General Public            *
00386  *   License as published by the Free Software Foundation; either          *
00387  *   version 2.1 of the License, or (at your option) any later version.    *
00388  *                                                                         *
00389  *   This library is distributed in the hope that it will be useful,       *
00390  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00391  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00392  *   Lesser General Public License for more details.                       *
00393  *                                                                         *
00394  *   You should have received a copy of the GNU Lesser General Public      *
00395  *   License along with this library; if not, write to the Free Software   *
00396  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00397  *   MA  02111-1307  USA                                                   *
00398  *                                                                         *
00399  ***************************************************************************/
00400 
00401 
00402 #ifndef t_LIST1_H
00403 #define t_LIST1_H
00404 
00405 #ifdef __cplusplus
00406 extern "C" {
00407 #endif
00408 
00410   typedef struct t_LIST_ELEMENT {
00411     GWEN_TYPE_UINT32 id;
00412     t *nextObject;
00413   } t_LIST__ELEMENT;
00414 
00421   typedef struct t_LIST t_LIST;
00423   struct t_LIST {
00424     t *first;
00425     GWEN_TYPE_UINT32 count;
00426     GWEN_TYPE_UINT32 id;
00427   } t_LIST;
00428 
00433   void pr_List_AddList(t_LIST *dst, t_LIST *l);
00434 
00438   void pr_List_Add(t *element, t_LIST *list);
00439 
00444   void pr_List_Insert(t *element, t_LIST *list);
00445 
00452   void pr_List_Del(t *element);
00453 
00457   t* pr_List_First(const t_LIST *l);
00458 
00462   t* pr_List_Last(const t_LIST *l);
00463 
00468   void pr_List_Clear(t_LIST *l);
00469 
00473   t_LIST* pr_List_new();
00474 
00478   void pr_List_free(t_LIST *l);
00479 
00483   t* pr_List_Next(const t *element);
00484 
00488   t* pr_List_Previous(const t *element);
00489 
00493   GWEN_TYPE_UINT32 pr_List_GetCount(const t_LIST *l);
00494 
00495 #ifdef __cplusplus
00496 }
00497 #endif
00498 
00499 
00500 #endif
00501 
00502 
00503 
00504 /***************************************************************************
00505  $RCSfile: list1.tmpl,v $
00506  -------------------
00507  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
00508  begin       : Sat Jun 28 2003
00509  copyright   : (C) 2003 by Martin Preuss
00510  email       : martin@libchipcard.de
00511 
00512  ***************************************************************************
00513  *                                                                         *
00514  *   This library is free software; you can redistribute it and/or         *
00515  *   modify it under the terms of the GNU Lesser General Public            *
00516  *   License as published by the Free Software Foundation; either          *
00517  *   version 2.1 of the License, or (at your option) any later version.    *
00518  *                                                                         *
00519  *   This library is distributed in the hope that it will be useful,       *
00520  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00521  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00522  *   Lesser General Public License for more details.                       *
00523  *                                                                         *
00524  *   You should have received a copy of the GNU Lesser General Public      *
00525  *   License along with this library; if not, write to the Free Software   *
00526  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00527  *   MA  02111-1307  USA                                                   *
00528  *                                                                         *
00529  ***************************************************************************/
00530 
00531 
00532 #ifndef MYSTRUCT_LIST1_H
00533 #define MYSTRUCT_LIST1_H
00534 
00535 #ifdef __cplusplus
00536 extern "C" {
00537 #endif
00538 
00540   typedef struct MYSTRUCT_LIST_ELEMENT {
00541     GWEN_TYPE_UINT32 id;
00542     MYSTRUCT *nextObject;
00543   } MYSTRUCT_LIST__ELEMENT;
00544 
00551   typedef struct MYSTRUCT_LIST MYSTRUCT_LIST;
00553   struct MYSTRUCT_LIST {
00554     MYSTRUCT *first;
00555     GWEN_TYPE_UINT32 count;
00556     GWEN_TYPE_UINT32 id;
00557   } MYSTRUCT_LIST;
00558 
00563   void MyStruct_List_AddList(MYSTRUCT_LIST *dst, MYSTRUCT_LIST *l);
00564 
00568   void MyStruct_List_Add(MYSTRUCT *element, MYSTRUCT_LIST *list);
00569 
00574   void MyStruct_List_Insert(MYSTRUCT *element, MYSTRUCT_LIST *list);
00575 
00582   void MyStruct_List_Del(MYSTRUCT *element);
00583 
00587   MYSTRUCT* MyStruct_List_First(const MYSTRUCT_LIST *l);
00588 
00592   MYSTRUCT* MyStruct_List_Last(const MYSTRUCT_LIST *l);
00593 
00598   void MyStruct_List_Clear(MYSTRUCT_LIST *l);
00599 
00603   MYSTRUCT_LIST* MyStruct_List_new();
00604 
00608   void MyStruct_List_free(MYSTRUCT_LIST *l);
00609 
00613   MYSTRUCT* MyStruct_List_Next(const MYSTRUCT *element);
00614 
00618   MYSTRUCT* MyStruct_List_Previous(const MYSTRUCT *element);
00619 
00623   GWEN_TYPE_UINT32 MyStruct_List_GetCount(const MYSTRUCT_LIST *l);
00624 
00625 #ifdef __cplusplus
00626 }
00627 #endif
00628 
00629 
00630 #endif
00631 
00632 
00633 
00634 /***************************************************************************
00635  $RCSfile: list2.tmpl,v $
00636  -------------------
00637  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
00638  begin       : Sat Jun 28 2003
00639  copyright   : (C) 2003 by Martin Preuss
00640  email       : martin@libchipcard.de
00641 
00642  ***************************************************************************
00643  *                                                                         *
00644  *   This library is free software; you can redistribute it and/or         *
00645  *   modify it under the terms of the GNU Lesser General Public            *
00646  *   License as published by the Free Software Foundation; either          *
00647  *   version 2.1 of the License, or (at your option) any later version.    *
00648  *                                                                         *
00649  *   This library is distributed in the hope that it will be useful,       *
00650  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00651  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00652  *   Lesser General Public License for more details.                       *
00653  *                                                                         *
00654  *   You should have received a copy of the GNU Lesser General Public      *
00655  *   License along with this library; if not, write to the Free Software   *
00656  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00657  *   MA  02111-1307  USA                                                   *
00658  *                                                                         *
00659  ***************************************************************************/
00660 
00661 
00662 #ifndef GWEN_PLUGIN_DESCRIPTION_LIST2_H
00663 #define GWEN_PLUGIN_DESCRIPTION_LIST2_H
00664 
00665 
00666 #ifdef __cplusplus
00667 extern "C" {
00668 #endif
00669 
00676   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST2 GWEN_PLUGIN_DESCRIPTION_LIST2;
00677 
00681   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR;
00682 
00686   typedef GWEN_PLUGIN_DESCRIPTION* (GWEN_PLUGIN_DESCRIPTION_LIST2_FOREACH)(GWEN_PLUGIN_DESCRIPTION *element,
00687                                                  void *user_data);
00688 
00692   GWEN_PLUGIN_DESCRIPTION_LIST2 *GWEN_PluginDescription_List2_new(); 
00693 
00697   void GWEN_PluginDescription_List2_free(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00698 
00702   void GWEN_PluginDescription_List2_Dump(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, FILE *f, unsigned int indent); 
00703 
00707   void GWEN_PluginDescription_List2_PushBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, GWEN_PLUGIN_DESCRIPTION *p); 
00708    
00713   void GWEN_PluginDescription_List2_PushFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, GWEN_PLUGIN_DESCRIPTION *p); 
00714 
00719   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_GetFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00720    
00725   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_GetBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00726 
00731   void GWEN_PluginDescription_List2_Erase(GWEN_PLUGIN_DESCRIPTION_LIST2 *l,
00732                                GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *it);
00733 
00739   unsigned int GWEN_PluginDescription_List2_GetSize(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00740 
00745   void GWEN_PluginDescription_List2_PopBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00746    
00751   void GWEN_PluginDescription_List2_PopFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00752 
00756   void GWEN_PluginDescription_List2_Clear(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00757 
00761   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2_First(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00762    
00766   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2_Last(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00767 
00771   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2Iterator_new(GWEN_PLUGIN_DESCRIPTION_LIST2 *l);
00772 
00776   void GWEN_PluginDescription_List2Iterator_free(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
00777 
00782   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Previous(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
00783    
00788   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Next(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
00789 
00794   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Data(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
00795 
00807   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_ForEach(GWEN_PLUGIN_DESCRIPTION_LIST2 *list,
00808                                         GWEN_PLUGIN_DESCRIPTION_LIST2_FOREACH func,
00809                                         void *user_data);
00810 
00811 
00812   typedef struct GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 GWEN_PLUGIN_DESCRIPTION_CONSTLIST2; 
00813   typedef struct GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR; 
00814   typedef const GWEN_PLUGIN_DESCRIPTION*
00815     (GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_FOREACH)(const GWEN_PLUGIN_DESCRIPTION *element,
00816                                     void *user_data);
00817   
00818    
00819   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *GWEN_PluginDescription_ConstList2_new(); 
00820    
00821   void GWEN_PluginDescription_ConstList2_free(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00822    
00823   void GWEN_PluginDescription_ConstList2_PushBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l, const GWEN_PLUGIN_DESCRIPTION *p); 
00824    
00825   void GWEN_PluginDescription_ConstList2_PushFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l, const GWEN_PLUGIN_DESCRIPTION *p); 
00826    
00827   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_GetFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00828    
00829   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_GetBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00830    
00831   unsigned int GWEN_PluginDescription_ConstList2_GetSize(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00832    
00833   void GWEN_PluginDescription_ConstList2_PopBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00834    
00835   void GWEN_PluginDescription_ConstList2_PopFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00836    
00837   void GWEN_PluginDescription_ConstList2_Clear(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00838    
00839   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2_First(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00840    
00841   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2_Last(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00842    
00843   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2Iterator_new(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
00844    
00845   void GWEN_PluginDescription_ConstList2Iterator_free(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
00846    
00847   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Previous(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
00848    
00849   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Next(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
00850    
00851   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Data(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
00852    
00864   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_ForEach(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *list,
00865         GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_FOREACH func, void *user_data);
00866 
00867 
00868 #ifdef __cplusplus
00869 }
00870 #endif
00871 
00872 
00873 #endif /* GWEN_PLUGIN_DESCRIPTION_LIST_H */
00874 
00875 
00876 
00877 /***************************************************************************
00878  $RCSfile: list1.tmpl,v $
00879  -------------------
00880  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
00881  begin       : Sat Jun 28 2003
00882  copyright   : (C) 2003 by Martin Preuss
00883  email       : martin@libchipcard.de
00884 
00885  ***************************************************************************
00886  *                                                                         *
00887  *   This library is free software; you can redistribute it and/or         *
00888  *   modify it under the terms of the GNU Lesser General Public            *
00889  *   License as published by the Free Software Foundation; either          *
00890  *   version 2.1 of the License, or (at your option) any later version.    *
00891  *                                                                         *
00892  *   This library is distributed in the hope that it will be useful,       *
00893  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00894  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00895  *   Lesser General Public License for more details.                       *
00896  *                                                                         *
00897  *   You should have received a copy of the GNU Lesser General Public      *
00898  *   License along with this library; if not, write to the Free Software   *
00899  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00900  *   MA  02111-1307  USA                                                   *
00901  *                                                                         *
00902  ***************************************************************************/
00903 
00904 
00905 #ifndef GWEN_PLUGIN_DESCRIPTION_LIST1_H
00906 #define GWEN_PLUGIN_DESCRIPTION_LIST1_H
00907 
00908 #ifdef __cplusplus
00909 extern "C" {
00910 #endif
00911 
00913   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST_ELEMENT {
00914     GWEN_TYPE_UINT32 id;
00915     GWEN_PLUGIN_DESCRIPTION *nextObject;
00916   } GWEN_PLUGIN_DESCRIPTION_LIST__ELEMENT;
00917 
00924   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST GWEN_PLUGIN_DESCRIPTION_LIST;
00926   struct GWEN_PLUGIN_DESCRIPTION_LIST {
00927     GWEN_PLUGIN_DESCRIPTION *first;
00928     GWEN_TYPE_UINT32 count;
00929     GWEN_TYPE_UINT32 id;
00930   } GWEN_PLUGIN_DESCRIPTION_LIST;
00931 
00936   void GWEN_PluginDescription_List_AddList(GWEN_PLUGIN_DESCRIPTION_LIST *dst, GWEN_PLUGIN_DESCRIPTION_LIST *l);
00937 
00941   void GWEN_PluginDescription_List_Add(GWEN_PLUGIN_DESCRIPTION *element, GWEN_PLUGIN_DESCRIPTION_LIST *list);
00942 
00947   void GWEN_PluginDescription_List_Insert(GWEN_PLUGIN_DESCRIPTION *element, GWEN_PLUGIN_DESCRIPTION_LIST *list);
00948 
00955   void GWEN_PluginDescription_List_Del(GWEN_PLUGIN_DESCRIPTION *element);
00956 
00960   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_First(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
00961 
00965   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Last(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
00966 
00971   void GWEN_PluginDescription_List_Clear(GWEN_PLUGIN_DESCRIPTION_LIST *l);
00972 
00976   GWEN_PLUGIN_DESCRIPTION_LIST* GWEN_PluginDescription_List_new();
00977 
00981   void GWEN_PluginDescription_List_free(GWEN_PLUGIN_DESCRIPTION_LIST *l);
00982 
00986   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Next(const GWEN_PLUGIN_DESCRIPTION *element);
00987 
00991   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Previous(const GWEN_PLUGIN_DESCRIPTION *element);
00992 
00996   GWEN_TYPE_UINT32 GWEN_PluginDescription_List_GetCount(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
00997 
00998 #ifdef __cplusplus
00999 }
01000 #endif
01001 
01002 
01003 #endif
01004 
01005 
01006 
01007 /***************************************************************************
01008  $RCSfile: list1.tmpl,v $
01009  -------------------
01010  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
01011  begin       : Sat Jun 28 2003
01012  copyright   : (C) 2003 by Martin Preuss
01013  email       : martin@libchipcard.de
01014 
01015  ***************************************************************************
01016  *                                                                         *
01017  *   This library is free software; you can redistribute it and/or         *
01018  *   modify it under the terms of the GNU Lesser General Public            *
01019  *   License as published by the Free Software Foundation; either          *
01020  *   version 2.1 of the License, or (at your option) any later version.    *
01021  *                                                                         *
01022  *   This library is distributed in the hope that it will be useful,       *
01023  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01024  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01025  *   Lesser General Public License for more details.                       *
01026  *                                                                         *
01027  *   You should have received a copy of the GNU Lesser General Public      *
01028  *   License along with this library; if not, write to the Free Software   *
01029  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01030  *   MA  02111-1307  USA                                                   *
01031  *                                                                         *
01032  ***************************************************************************/
01033 
01034 
01035 #ifndef GWEN_WAITCALLBACK_LIST1_H
01036 #define GWEN_WAITCALLBACK_LIST1_H
01037 
01038 #ifdef __cplusplus
01039 extern "C" {
01040 #endif
01041 
01043   typedef struct GWEN_WAITCALLBACK_LIST_ELEMENT {
01044     GWEN_TYPE_UINT32 id;
01045     GWEN_WAITCALLBACK *nextObject;
01046   } GWEN_WAITCALLBACK_LIST__ELEMENT;
01047 
01054   typedef struct GWEN_WAITCALLBACK_LIST GWEN_WAITCALLBACK_LIST;
01056   struct GWEN_WAITCALLBACK_LIST {
01057     GWEN_WAITCALLBACK *first;
01058     GWEN_TYPE_UINT32 count;
01059     GWEN_TYPE_UINT32 id;
01060   } GWEN_WAITCALLBACK_LIST;
01061 
01066   void GWEN_WaitCallback_List_AddList(GWEN_WAITCALLBACK_LIST *dst, GWEN_WAITCALLBACK_LIST *l);
01067 
01071   void GWEN_WaitCallback_List_Add(GWEN_WAITCALLBACK *element, GWEN_WAITCALLBACK_LIST *list);
01072 
01077   void GWEN_WaitCallback_List_Insert(GWEN_WAITCALLBACK *element, GWEN_WAITCALLBACK_LIST *list);
01078 
01085   void GWEN_WaitCallback_List_Del(GWEN_WAITCALLBACK *element);
01086 
01090   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_First(const GWEN_WAITCALLBACK_LIST *l);
01091 
01095   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Last(const GWEN_WAITCALLBACK_LIST *l);
01096 
01101   void GWEN_WaitCallback_List_Clear(GWEN_WAITCALLBACK_LIST *l);
01102 
01106   GWEN_WAITCALLBACK_LIST* GWEN_WaitCallback_List_new();
01107 
01111   void GWEN_WaitCallback_List_free(GWEN_WAITCALLBACK_LIST *l);
01112 
01116   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Next(const GWEN_WAITCALLBACK *element);
01117 
01121   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Previous(const GWEN_WAITCALLBACK *element);
01122 
01126   GWEN_TYPE_UINT32 GWEN_WaitCallback_List_GetCount(const GWEN_WAITCALLBACK_LIST *l);
01127 
01128 #ifdef __cplusplus
01129 }
01130 #endif
01131 
01132 
01133 #endif
01134 
01135 
01136 
01137 /***************************************************************************
01138  $RCSfile: list1.tmpl,v $
01139  -------------------
01140  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
01141  begin       : Sat Jun 28 2003
01142  copyright   : (C) 2003 by Martin Preuss
01143  email       : martin@libchipcard.de
01144 
01145  ***************************************************************************
01146  *                                                                         *
01147  *   This library is free software; you can redistribute it and/or         *
01148  *   modify it under the terms of the GNU Lesser General Public            *
01149  *   License as published by the Free Software Foundation; either          *
01150  *   version 2.1 of the License, or (at your option) any later version.    *
01151  *                                                                         *
01152  *   This library is distributed in the hope that it will be useful,       *
01153  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01154  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01155  *   Lesser General Public License for more details.                       *
01156  *                                                                         *
01157  *   You should have received a copy of the GNU Lesser General Public      *
01158  *   License along with this library; if not, write to the Free Software   *
01159  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01160  *   MA  02111-1307  USA                                                   *
01161  *                                                                         *
01162  ***************************************************************************/
01163 
01164 
01165 #ifndef GWEN_NETCONNECTION_LIST1_H
01166 #define GWEN_NETCONNECTION_LIST1_H
01167 
01168 #ifdef __cplusplus
01169 extern "C" {
01170 #endif
01171 
01173   typedef struct GWEN_NETCONNECTION_LIST_ELEMENT {
01174     GWEN_TYPE_UINT32 id;
01175     GWEN_NETCONNECTION *nextObject;
01176   } GWEN_NETCONNECTION_LIST__ELEMENT;
01177 
01184   typedef struct GWEN_NETCONNECTION_LIST GWEN_NETCONNECTION_LIST;
01186   struct GWEN_NETCONNECTION_LIST {
01187     GWEN_NETCONNECTION *first;
01188     GWEN_TYPE_UINT32 count;
01189     GWEN_TYPE_UINT32 id;
01190   } GWEN_NETCONNECTION_LIST;
01191 
01196   void GWEN_NetConnection_List_AddList(GWEN_NETCONNECTION_LIST *dst, GWEN_NETCONNECTION_LIST *l);
01197 
01201   void GWEN_NetConnection_List_Add(GWEN_NETCONNECTION *element, GWEN_NETCONNECTION_LIST *list);
01202 
01207   void GWEN_NetConnection_List_Insert(GWEN_NETCONNECTION *element, GWEN_NETCONNECTION_LIST *list);
01208 
01215   void GWEN_NetConnection_List_Del(GWEN_NETCONNECTION *element);
01216 
01220   GWEN_NETCONNECTION* GWEN_NetConnection_List_First(const GWEN_NETCONNECTION_LIST *l);
01221 
01225   GWEN_NETCONNECTION* GWEN_NetConnection_List_Last(const GWEN_NETCONNECTION_LIST *l);
01226 
01231   void GWEN_NetConnection_List_Clear(GWEN_NETCONNECTION_LIST *l);
01232 
01236   GWEN_NETCONNECTION_LIST* GWEN_NetConnection_List_new();
01237 
01241   void GWEN_NetConnection_List_free(GWEN_NETCONNECTION_LIST *l);
01242 
01246   GWEN_NETCONNECTION* GWEN_NetConnection_List_Next(const GWEN_NETCONNECTION *element);
01247 
01251   GWEN_NETCONNECTION* GWEN_NetConnection_List_Previous(const GWEN_NETCONNECTION *element);
01252 
01256   GWEN_TYPE_UINT32 GWEN_NetConnection_List_GetCount(const GWEN_NETCONNECTION_LIST *l);
01257 
01258 #ifdef __cplusplus
01259 }
01260 #endif
01261 
01262 
01263 #endif
01264 
01265 
01266 
01267 /***************************************************************************
01268  $RCSfile: list1.tmpl,v $
01269  -------------------
01270  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
01271  begin       : Sat Jun 28 2003
01272  copyright   : (C) 2003 by Martin Preuss
01273  email       : martin@libchipcard.de
01274 
01275  ***************************************************************************
01276  *                                                                         *
01277  *   This library is free software; you can redistribute it and/or         *
01278  *   modify it under the terms of the GNU Lesser General Public            *
01279  *   License as published by the Free Software Foundation; either          *
01280  *   version 2.1 of the License, or (at your option) any later version.    *
01281  *                                                                         *
01282  *   This library is distributed in the hope that it will be useful,       *
01283  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01284  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01285  *   Lesser General Public License for more details.                       *
01286  *                                                                         *
01287  *   You should have received a copy of the GNU Lesser General Public      *
01288  *   License along with this library; if not, write to the Free Software   *
01289  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01290  *   MA  02111-1307  USA                                                   *
01291  *                                                                         *
01292  ***************************************************************************/
01293 
01294 
01295 #ifndef GWEN_NETMSG_LIST1_H
01296 #define GWEN_NETMSG_LIST1_H
01297 
01298 #ifdef __cplusplus
01299 extern "C" {
01300 #endif
01301 
01303   typedef struct GWEN_NETMSG_LIST_ELEMENT {
01304     GWEN_TYPE_UINT32 id;
01305     GWEN_NETMSG *nextObject;
01306   } GWEN_NETMSG_LIST__ELEMENT;
01307 
01314   typedef struct GWEN_NETMSG_LIST GWEN_NETMSG_LIST;
01316   struct GWEN_NETMSG_LIST {
01317     GWEN_NETMSG *first;
01318     GWEN_TYPE_UINT32 count;
01319     GWEN_TYPE_UINT32 id;
01320   } GWEN_NETMSG_LIST;
01321 
01326   void GWEN_NetMsg_List_AddList(GWEN_NETMSG_LIST *dst, GWEN_NETMSG_LIST *l);
01327 
01331   void GWEN_NetMsg_List_Add(GWEN_NETMSG *element, GWEN_NETMSG_LIST *list);
01332 
01337   void GWEN_NetMsg_List_Insert(GWEN_NETMSG *element, GWEN_NETMSG_LIST *list);
01338 
01345   void GWEN_NetMsg_List_Del(GWEN_NETMSG *element);
01346 
01350   GWEN_NETMSG* GWEN_NetMsg_List_First(const GWEN_NETMSG_LIST *l);
01351 
01355   GWEN_NETMSG* GWEN_NetMsg_List_Last(const GWEN_NETMSG_LIST *l);
01356 
01361   void GWEN_NetMsg_List_Clear(GWEN_NETMSG_LIST *l);
01362 
01366   GWEN_NETMSG_LIST* GWEN_NetMsg_List_new();
01367 
01371   void GWEN_NetMsg_List_free(GWEN_NETMSG_LIST *l);
01372 
01376   GWEN_NETMSG* GWEN_NetMsg_List_Next(const GWEN_NETMSG *element);
01377 
01381   GWEN_NETMSG* GWEN_NetMsg_List_Previous(const GWEN_NETMSG *element);
01382 
01386   GWEN_TYPE_UINT32 GWEN_NetMsg_List_GetCount(const GWEN_NETMSG_LIST *l);
01387 
01388 #ifdef __cplusplus
01389 }
01390 #endif
01391 
01392 
01393 #endif
01394 
01395 
01396 
01397 /***************************************************************************
01398  $RCSfile: list1.tmpl,v $
01399  -------------------
01400  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
01401  begin       : Sat Jun 28 2003
01402  copyright   : (C) 2003 by Martin Preuss
01403  email       : martin@libchipcard.de
01404 
01405  ***************************************************************************
01406  *                                                                         *
01407  *   This library is free software; you can redistribute it and/or         *
01408  *   modify it under the terms of the GNU Lesser General Public            *
01409  *   License as published by the Free Software Foundation; either          *
01410  *   version 2.1 of the License, or (at your option) any later version.    *
01411  *                                                                         *
01412  *   This library is distributed in the hope that it will be useful,       *
01413  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01414  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01415  *   Lesser General Public License for more details.                       *
01416  *                                                                         *
01417  *   You should have received a copy of the GNU Lesser General Public      *
01418  *   License along with this library; if not, write to the Free Software   *
01419  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01420  *   MA  02111-1307  USA                                                   *
01421  *                                                                         *
01422  ***************************************************************************/
01423 
01424 
01425 #ifndef GWEN_NETTRANSPORT_LIST1_H
01426 #define GWEN_NETTRANSPORT_LIST1_H
01427 
01428 #ifdef __cplusplus
01429 extern "C" {
01430 #endif
01431 
01433   typedef struct GWEN_NETTRANSPORT_LIST_ELEMENT {
01434     GWEN_TYPE_UINT32 id;
01435     GWEN_NETTRANSPORT *nextObject;
01436   } GWEN_NETTRANSPORT_LIST__ELEMENT;
01437 
01444   typedef struct GWEN_NETTRANSPORT_LIST GWEN_NETTRANSPORT_LIST;
01446   struct GWEN_NETTRANSPORT_LIST {
01447     GWEN_NETTRANSPORT *first;
01448     GWEN_TYPE_UINT32 count;
01449     GWEN_TYPE_UINT32 id;
01450   } GWEN_NETTRANSPORT_LIST;
01451 
01456   void GWEN_NetTransport_List_AddList(GWEN_NETTRANSPORT_LIST *dst, GWEN_NETTRANSPORT_LIST *l);
01457 
01461   void GWEN_NetTransport_List_Add(GWEN_NETTRANSPORT *element, GWEN_NETTRANSPORT_LIST *list);
01462 
01467   void GWEN_NetTransport_List_Insert(GWEN_NETTRANSPORT *element, GWEN_NETTRANSPORT_LIST *list);
01468 
01475   void GWEN_NetTransport_List_Del(GWEN_NETTRANSPORT *element);
01476 
01480   GWEN_NETTRANSPORT* GWEN_NetTransport_List_First(const GWEN_NETTRANSPORT_LIST *l);
01481 
01485   GWEN_NETTRANSPORT* GWEN_NetTransport_List_Last(const GWEN_NETTRANSPORT_LIST *l);
01486 
01491   void GWEN_NetTransport_List_Clear(GWEN_NETTRANSPORT_LIST *l);
01492 
01496   GWEN_NETTRANSPORT_LIST* GWEN_NetTransport_List_new();
01497 
01501   void GWEN_NetTransport_List_free(GWEN_NETTRANSPORT_LIST *l);
01502 
01506   GWEN_NETTRANSPORT* GWEN_NetTransport_List_Next(const GWEN_NETTRANSPORT *element);
01507 
01511   GWEN_NETTRANSPORT* GWEN_NetTransport_List_Previous(const GWEN_NETTRANSPORT *element);
01512 
01516   GWEN_TYPE_UINT32 GWEN_NetTransport_List_GetCount(const GWEN_NETTRANSPORT_LIST *l);
01517 
01518 #ifdef __cplusplus
01519 }
01520 #endif
01521 
01522 
01523 #endif
01524 
01525 
01526 
01527 /***************************************************************************
01528  $RCSfile: list2.tmpl,v $
01529  -------------------
01530  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
01531  begin       : Sat Jun 28 2003
01532  copyright   : (C) 2003 by Martin Preuss
01533  email       : martin@libchipcard.de
01534 
01535  ***************************************************************************
01536  *                                                                         *
01537  *   This library is free software; you can redistribute it and/or         *
01538  *   modify it under the terms of the GNU Lesser General Public            *
01539  *   License as published by the Free Software Foundation; either          *
01540  *   version 2.1 of the License, or (at your option) any later version.    *
01541  *                                                                         *
01542  *   This library is distributed in the hope that it will be useful,       *
01543  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01544  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01545  *   Lesser General Public License for more details.                       *
01546  *                                                                         *
01547  *   You should have received a copy of the GNU Lesser General Public      *
01548  *   License along with this library; if not, write to the Free Software   *
01549  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01550  *   MA  02111-1307  USA                                                   *
01551  *                                                                         *
01552  ***************************************************************************/
01553 
01554 
01555 #ifndef GWEN_CRYPTKEY_LIST2_H
01556 #define GWEN_CRYPTKEY_LIST2_H
01557 
01558 
01559 #ifdef __cplusplus
01560 extern "C" {
01561 #endif
01562 
01569   typedef struct GWEN_CRYPTKEY_LIST2 GWEN_CRYPTKEY_LIST2;
01570 
01574   typedef struct GWEN_CRYPTKEY_LIST2_ITERATOR GWEN_CRYPTKEY_LIST2_ITERATOR;
01575 
01579   typedef GWEN_CRYPTKEY* (GWEN_CRYPTKEY_LIST2_FOREACH)(GWEN_CRYPTKEY *element,
01580                                                  void *user_data);
01581 
01585   GWEN_CRYPTKEY_LIST2 *GWEN_CryptKey_List2_new(); 
01586 
01590   void GWEN_CryptKey_List2_free(GWEN_CRYPTKEY_LIST2 *l); 
01591 
01595   void GWEN_CryptKey_List2_Dump(GWEN_CRYPTKEY_LIST2 *l, FILE *f, unsigned int indent); 
01596 
01600   void GWEN_CryptKey_List2_PushBack(GWEN_CRYPTKEY_LIST2 *l, GWEN_CRYPTKEY *p); 
01601    
01606   void GWEN_CryptKey_List2_PushFront(GWEN_CRYPTKEY_LIST2 *l, GWEN_CRYPTKEY *p); 
01607 
01612   GWEN_CRYPTKEY *GWEN_CryptKey_List2_GetFront(GWEN_CRYPTKEY_LIST2 *l); 
01613    
01618   GWEN_CRYPTKEY *GWEN_CryptKey_List2_GetBack(GWEN_CRYPTKEY_LIST2 *l); 
01619 
01624   void GWEN_CryptKey_List2_Erase(GWEN_CRYPTKEY_LIST2 *l,
01625                                GWEN_CRYPTKEY_LIST2_ITERATOR *it);
01626 
01632   unsigned int GWEN_CryptKey_List2_GetSize(GWEN_CRYPTKEY_LIST2 *l); 
01633 
01638   void GWEN_CryptKey_List2_PopBack(GWEN_CRYPTKEY_LIST2 *l); 
01639    
01644   void GWEN_CryptKey_List2_PopFront(GWEN_CRYPTKEY_LIST2 *l); 
01645 
01649   void GWEN_CryptKey_List2_Clear(GWEN_CRYPTKEY_LIST2 *l); 
01650 
01654   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2_First(GWEN_CRYPTKEY_LIST2 *l); 
01655    
01659   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2_Last(GWEN_CRYPTKEY_LIST2 *l); 
01660 
01664   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2Iterator_new(GWEN_CRYPTKEY_LIST2 *l);
01665 
01669   void GWEN_CryptKey_List2Iterator_free(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
01670 
01675   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Previous(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
01676    
01681   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Next(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
01682 
01687   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Data(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
01688 
01700   GWEN_CRYPTKEY *GWEN_CryptKey_List2_ForEach(GWEN_CRYPTKEY_LIST2 *list,
01701                                         GWEN_CRYPTKEY_LIST2_FOREACH func,
01702                                         void *user_data);
01703 
01704 
01705   typedef struct GWEN_CRYPTKEY_CONSTLIST2 GWEN_CRYPTKEY_CONSTLIST2; 
01706   typedef struct GWEN_CRYPTKEY_CONSTLIST2_ITERATOR GWEN_CRYPTKEY_CONSTLIST2_ITERATOR; 
01707   typedef const GWEN_CRYPTKEY*
01708     (GWEN_CRYPTKEY_CONSTLIST2_FOREACH)(const GWEN_CRYPTKEY *element,
01709                                     void *user_data);
01710   
01711    
01712   GWEN_CRYPTKEY_CONSTLIST2 *GWEN_CryptKey_ConstList2_new(); 
01713    
01714   void GWEN_CryptKey_ConstList2_free(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01715    
01716   void GWEN_CryptKey_ConstList2_PushBack(GWEN_CRYPTKEY_CONSTLIST2 *l, const GWEN_CRYPTKEY *p); 
01717    
01718   void GWEN_CryptKey_ConstList2_PushFront(GWEN_CRYPTKEY_CONSTLIST2 *l, const GWEN_CRYPTKEY *p); 
01719    
01720   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_GetFront(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01721    
01722   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_GetBack(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01723    
01724   unsigned int GWEN_CryptKey_ConstList2_GetSize(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01725    
01726   void GWEN_CryptKey_ConstList2_PopBack(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01727    
01728   void GWEN_CryptKey_ConstList2_PopFront(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01729    
01730   void GWEN_CryptKey_ConstList2_Clear(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01731    
01732   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2_First(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01733    
01734   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2_Last(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01735    
01736   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2Iterator_new(GWEN_CRYPTKEY_CONSTLIST2 *l); 
01737    
01738   void GWEN_CryptKey_ConstList2Iterator_free(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
01739    
01740   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Previous(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
01741    
01742   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Next(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
01743    
01744   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Data(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
01745    
01757   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_ForEach(GWEN_CRYPTKEY_CONSTLIST2 *list,
01758         GWEN_CRYPTKEY_CONSTLIST2_FOREACH func, void *user_data);
01759 
01760 
01761 #ifdef __cplusplus
01762 }
01763 #endif
01764 
01765 
01766 #endif /* GWEN_CRYPTKEY_LIST_H */
01767 
01768 
01769 
01770 /***************************************************************************
01771  $RCSfile: list2.tmpl,v $
01772  -------------------
01773  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
01774  begin       : Sat Jun 28 2003
01775  copyright   : (C) 2003 by Martin Preuss
01776  email       : martin@libchipcard.de
01777 
01778  ***************************************************************************
01779  *                                                                         *
01780  *   This library is free software; you can redistribute it and/or         *
01781  *   modify it under the terms of the GNU Lesser General Public            *
01782  *   License as published by the Free Software Foundation; either          *
01783  *   version 2.1 of the License, or (at your option) any later version.    *
01784  *                                                                         *
01785  *   This library is distributed in the hope that it will be useful,       *
01786  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01787  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01788  *   Lesser General Public License for more details.                       *
01789  *                                                                         *
01790  *   You should have received a copy of the GNU Lesser General Public      *
01791  *   License along with this library; if not, write to the Free Software   *
01792  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01793  *   MA  02111-1307  USA                                                   *
01794  *                                                                         *
01795  ***************************************************************************/
01796 
01797 
01798 #ifndef GWEN_KEYSPEC_LIST2_H
01799 #define GWEN_KEYSPEC_LIST2_H
01800 
01801 
01802 #ifdef __cplusplus
01803 extern "C" {
01804 #endif
01805 
01812   typedef struct GWEN_KEYSPEC_LIST2 GWEN_KEYSPEC_LIST2;
01813 
01817   typedef struct GWEN_KEYSPEC_LIST2_ITERATOR GWEN_KEYSPEC_LIST2_ITERATOR;
01818 
01822   typedef GWEN_KEYSPEC* (GWEN_KEYSPEC_LIST2_FOREACH)(GWEN_KEYSPEC *element,
01823                                                  void *user_data);
01824 
01828   GWEN_KEYSPEC_LIST2 *GWEN_KeySpec_List2_new(); 
01829 
01833   void GWEN_KeySpec_List2_free(GWEN_KEYSPEC_LIST2 *l); 
01834 
01838   void GWEN_KeySpec_List2_Dump(GWEN_KEYSPEC_LIST2 *l, FILE *f, unsigned int indent); 
01839 
01843   void GWEN_KeySpec_List2_PushBack(GWEN_KEYSPEC_LIST2 *l, GWEN_KEYSPEC *p); 
01844    
01849   void GWEN_KeySpec_List2_PushFront(GWEN_KEYSPEC_LIST2 *l, GWEN_KEYSPEC *p); 
01850 
01855   GWEN_KEYSPEC *GWEN_KeySpec_List2_GetFront(GWEN_KEYSPEC_LIST2 *l); 
01856    
01861   GWEN_KEYSPEC *GWEN_KeySpec_List2_GetBack(GWEN_KEYSPEC_LIST2 *l); 
01862 
01867   void GWEN_KeySpec_List2_Erase(GWEN_KEYSPEC_LIST2 *l,
01868                                GWEN_KEYSPEC_LIST2_ITERATOR *it);
01869 
01875   unsigned int GWEN_KeySpec_List2_GetSize(GWEN_KEYSPEC_LIST2 *l); 
01876 
01881   void GWEN_KeySpec_List2_PopBack(GWEN_KEYSPEC_LIST2 *l); 
01882    
01887   void GWEN_KeySpec_List2_PopFront(GWEN_KEYSPEC_LIST2 *l); 
01888 
01892   void GWEN_KeySpec_List2_Clear(GWEN_KEYSPEC_LIST2 *l); 
01893 
01897   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2_First(GWEN_KEYSPEC_LIST2 *l); 
01898    
01902   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2_Last(GWEN_KEYSPEC_LIST2 *l); 
01903 
01907   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2Iterator_new(GWEN_KEYSPEC_LIST2 *l);
01908 
01912   void GWEN_KeySpec_List2Iterator_free(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
01913 
01918   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Previous(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
01919    
01924   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Next(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
01925 
01930   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Data(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
01931 
01943   GWEN_KEYSPEC *GWEN_KeySpec_List2_ForEach(GWEN_KEYSPEC_LIST2 *list,
01944                                         GWEN_KEYSPEC_LIST2_FOREACH func,
01945                                         void *user_data);
01946 
01947 
01948   typedef struct GWEN_KEYSPEC_CONSTLIST2 GWEN_KEYSPEC_CONSTLIST2; 
01949   typedef struct GWEN_KEYSPEC_CONSTLIST2_ITERATOR GWEN_KEYSPEC_CONSTLIST2_ITERATOR; 
01950   typedef const GWEN_KEYSPEC*
01951     (GWEN_KEYSPEC_CONSTLIST2_FOREACH)(const GWEN_KEYSPEC *element,
01952                                     void *user_data);
01953   
01954    
01955   GWEN_KEYSPEC_CONSTLIST2 *GWEN_KeySpec_ConstList2_new(); 
01956    
01957   void GWEN_KeySpec_ConstList2_free(GWEN_KEYSPEC_CONSTLIST2 *l); 
01958    
01959   void GWEN_KeySpec_ConstList2_PushBack(GWEN_KEYSPEC_CONSTLIST2 *l, const GWEN_KEYSPEC *p); 
01960    
01961   void GWEN_KeySpec_ConstList2_PushFront(GWEN_KEYSPEC_CONSTLIST2 *l, const GWEN_KEYSPEC *p); 
01962    
01963   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_GetFront(GWEN_KEYSPEC_CONSTLIST2 *l); 
01964    
01965   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_GetBack(GWEN_KEYSPEC_CONSTLIST2 *l); 
01966    
01967   unsigned int GWEN_KeySpec_ConstList2_GetSize(GWEN_KEYSPEC_CONSTLIST2 *l); 
01968    
01969   void GWEN_KeySpec_ConstList2_PopBack(GWEN_KEYSPEC_CONSTLIST2 *l); 
01970    
01971   void GWEN_KeySpec_ConstList2_PopFront(GWEN_KEYSPEC_CONSTLIST2 *l); 
01972    
01973   void GWEN_KeySpec_ConstList2_Clear(GWEN_KEYSPEC_CONSTLIST2 *l); 
01974    
01975   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2_First(GWEN_KEYSPEC_CONSTLIST2 *l); 
01976    
01977   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2_Last(GWEN_KEYSPEC_CONSTLIST2 *l); 
01978    
01979   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2Iterator_new(GWEN_KEYSPEC_CONSTLIST2 *l); 
01980    
01981   void GWEN_KeySpec_ConstList2Iterator_free(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
01982    
01983   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Previous(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
01984    
01985   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Next(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
01986    
01987   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Data(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
01988    
02000   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_ForEach(GWEN_KEYSPEC_CONSTLIST2 *list,
02001         GWEN_KEYSPEC_CONSTLIST2_FOREACH func, void *user_data);
02002 
02003 
02004 #ifdef __cplusplus
02005 }
02006 #endif
02007 
02008 
02009 #endif /* GWEN_KEYSPEC_LIST_H */
02010 
02011 
02012 
02013 /***************************************************************************
02014  $RCSfile: list1.tmpl,v $
02015  -------------------
02016  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02017  begin       : Sat Jun 28 2003
02018  copyright   : (C) 2003 by Martin Preuss
02019  email       : martin@libchipcard.de
02020 
02021  ***************************************************************************
02022  *                                                                         *
02023  *   This library is free software; you can redistribute it and/or         *
02024  *   modify it under the terms of the GNU Lesser General Public            *
02025  *   License as published by the Free Software Foundation; either          *
02026  *   version 2.1 of the License, or (at your option) any later version.    *
02027  *                                                                         *
02028  *   This library is distributed in the hope that it will be useful,       *
02029  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02030  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02031  *   Lesser General Public License for more details.                       *
02032  *                                                                         *
02033  *   You should have received a copy of the GNU Lesser General Public      *
02034  *   License along with this library; if not, write to the Free Software   *
02035  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02036  *   MA  02111-1307  USA                                                   *
02037  *                                                                         *
02038  ***************************************************************************/
02039 
02040 
02041 #ifndef GWEN_CRYPTTOKEN_LIST1_H
02042 #define GWEN_CRYPTTOKEN_LIST1_H
02043 
02044 #ifdef __cplusplus
02045 extern "C" {
02046 #endif
02047 
02049   typedef struct GWEN_CRYPTTOKEN_LIST_ELEMENT {
02050     GWEN_TYPE_UINT32 id;
02051     GWEN_CRYPTTOKEN *nextObject;
02052   } GWEN_CRYPTTOKEN_LIST__ELEMENT;
02053 
02060   typedef struct GWEN_CRYPTTOKEN_LIST GWEN_CRYPTTOKEN_LIST;
02062   struct GWEN_CRYPTTOKEN_LIST {
02063     GWEN_CRYPTTOKEN *first;
02064     GWEN_TYPE_UINT32 count;
02065     GWEN_TYPE_UINT32 id;
02066   } GWEN_CRYPTTOKEN_LIST;
02067 
02072   void GWEN_CryptToken_List_AddList(GWEN_CRYPTTOKEN_LIST *dst, GWEN_CRYPTTOKEN_LIST *l);
02073 
02077   void GWEN_CryptToken_List_Add(GWEN_CRYPTTOKEN *element, GWEN_CRYPTTOKEN_LIST *list);
02078 
02083   void GWEN_CryptToken_List_Insert(GWEN_CRYPTTOKEN *element, GWEN_CRYPTTOKEN_LIST *list);
02084 
02091   void GWEN_CryptToken_List_Del(GWEN_CRYPTTOKEN *element);
02092 
02096   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_First(const GWEN_CRYPTTOKEN_LIST *l);
02097 
02101   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Last(const GWEN_CRYPTTOKEN_LIST *l);
02102 
02107   void GWEN_CryptToken_List_Clear(GWEN_CRYPTTOKEN_LIST *l);
02108 
02112   GWEN_CRYPTTOKEN_LIST* GWEN_CryptToken_List_new();
02113 
02117   void GWEN_CryptToken_List_free(GWEN_CRYPTTOKEN_LIST *l);
02118 
02122   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Next(const GWEN_CRYPTTOKEN *element);
02123 
02127   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Previous(const GWEN_CRYPTTOKEN *element);
02128 
02132   GWEN_TYPE_UINT32 GWEN_CryptToken_List_GetCount(const GWEN_CRYPTTOKEN_LIST *l);
02133 
02134 #ifdef __cplusplus
02135 }
02136 #endif
02137 
02138 
02139 #endif
02140 
02141 
02142 
02143 /***************************************************************************
02144  $RCSfile: list1.tmpl,v $
02145  -------------------
02146  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02147  begin       : Sat Jun 28 2003
02148  copyright   : (C) 2003 by Martin Preuss
02149  email       : martin@libchipcard.de
02150 
02151  ***************************************************************************
02152  *                                                                         *
02153  *   This library is free software; you can redistribute it and/or         *
02154  *   modify it under the terms of the GNU Lesser General Public            *
02155  *   License as published by the Free Software Foundation; either          *
02156  *   version 2.1 of the License, or (at your option) any later version.    *
02157  *                                                                         *
02158  *   This library is distributed in the hope that it will be useful,       *
02159  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02160  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02161  *   Lesser General Public License for more details.                       *
02162  *                                                                         *
02163  *   You should have received a copy of the GNU Lesser General Public      *
02164  *   License along with this library; if not, write to the Free Software   *
02165  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02166  *   MA  02111-1307  USA                                                   *
02167  *                                                                         *
02168  ***************************************************************************/
02169 
02170 
02171 #ifndef GWEN_CRYPTTOKEN_CONTEXT_LIST1_H
02172 #define GWEN_CRYPTTOKEN_CONTEXT_LIST1_H
02173 
02174 #ifdef __cplusplus
02175 extern "C" {
02176 #endif
02177 
02179   typedef struct GWEN_CRYPTTOKEN_CONTEXT_LIST_ELEMENT {
02180     GWEN_TYPE_UINT32 id;
02181     GWEN_CRYPTTOKEN_CONTEXT *nextObject;
02182   } GWEN_CRYPTTOKEN_CONTEXT_LIST__ELEMENT;
02183 
02190   typedef struct GWEN_CRYPTTOKEN_CONTEXT_LIST GWEN_CRYPTTOKEN_CONTEXT_LIST;
02192   struct GWEN_CRYPTTOKEN_CONTEXT_LIST {
02193     GWEN_CRYPTTOKEN_CONTEXT *first;
02194     GWEN_TYPE_UINT32 count;
02195     GWEN_TYPE_UINT32 id;
02196   } GWEN_CRYPTTOKEN_CONTEXT_LIST;
02197 
02202   void GWEN_CryptToken_Context_List_AddList(GWEN_CRYPTTOKEN_CONTEXT_LIST *dst, GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02203 
02207   void GWEN_CryptToken_Context_List_Add(GWEN_CRYPTTOKEN_CONTEXT *element, GWEN_CRYPTTOKEN_CONTEXT_LIST *list);
02208 
02213   void GWEN_CryptToken_Context_List_Insert(GWEN_CRYPTTOKEN_CONTEXT *element, GWEN_CRYPTTOKEN_CONTEXT_LIST *list);
02214 
02221   void GWEN_CryptToken_Context_List_Del(GWEN_CRYPTTOKEN_CONTEXT *element);
02222 
02226   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_First(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02227 
02231   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Last(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02232 
02237   void GWEN_CryptToken_Context_List_Clear(GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02238 
02242   GWEN_CRYPTTOKEN_CONTEXT_LIST* GWEN_CryptToken_Context_List_new();
02243 
02247   void GWEN_CryptToken_Context_List_free(GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02248 
02252   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Next(const GWEN_CRYPTTOKEN_CONTEXT *element);
02253 
02257   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Previous(const GWEN_CRYPTTOKEN_CONTEXT *element);
02258 
02262   GWEN_TYPE_UINT32 GWEN_CryptToken_Context_List_GetCount(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
02263 
02264 #ifdef __cplusplus
02265 }
02266 #endif
02267 
02268 
02269 #endif
02270 
02271 
02272 
02273 /***************************************************************************
02274  $RCSfile: list1.tmpl,v $
02275  -------------------
02276  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02277  begin       : Sat Jun 28 2003
02278  copyright   : (C) 2003 by Martin Preuss
02279  email       : martin@libchipcard.de
02280 
02281  ***************************************************************************
02282  *                                                                         *
02283  *   This library is free software; you can redistribute it and/or         *
02284  *   modify it under the terms of the GNU Lesser General Public            *
02285  *   License as published by the Free Software Foundation; either          *
02286  *   version 2.1 of the License, or (at your option) any later version.    *
02287  *                                                                         *
02288  *   This library is distributed in the hope that it will be useful,       *
02289  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02290  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02291  *   Lesser General Public License for more details.                       *
02292  *                                                                         *
02293  *   You should have received a copy of the GNU Lesser General Public      *
02294  *   License along with this library; if not, write to the Free Software   *
02295  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02296  *   MA  02111-1307  USA                                                   *
02297  *                                                                         *
02298  ***************************************************************************/
02299 
02300 
02301 #ifndef GWEN_CRYPTTOKEN_CRYPTINFO_LIST1_H
02302 #define GWEN_CRYPTTOKEN_CRYPTINFO_LIST1_H
02303 
02304 #ifdef __cplusplus
02305 extern "C" {
02306 #endif
02307 
02309   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST_ELEMENT {
02310     GWEN_TYPE_UINT32 id;
02311     GWEN_CRYPTTOKEN_CRYPTINFO *nextObject;
02312   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST__ELEMENT;
02313 
02320   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
02322   struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST {
02323     GWEN_CRYPTTOKEN_CRYPTINFO *first;
02324     GWEN_TYPE_UINT32 count;
02325     GWEN_TYPE_UINT32 id;
02326   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
02327 
02332   void GWEN_CryptToken_CryptInfo_List_AddList(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *dst, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02333 
02337   void GWEN_CryptToken_CryptInfo_List_Add(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
02338 
02343   void GWEN_CryptToken_CryptInfo_List_Insert(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
02344 
02351   void GWEN_CryptToken_CryptInfo_List_Del(GWEN_CRYPTTOKEN_CRYPTINFO *element);
02352 
02356   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_First(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02357 
02361   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Last(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02362 
02367   void GWEN_CryptToken_CryptInfo_List_Clear(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02368 
02372   GWEN_CRYPTTOKEN_CRYPTINFO_LIST* GWEN_CryptToken_CryptInfo_List_new();
02373 
02377   void GWEN_CryptToken_CryptInfo_List_free(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02378 
02382   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Next(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
02383 
02387   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Previous(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
02388 
02392   GWEN_TYPE_UINT32 GWEN_CryptToken_CryptInfo_List_GetCount(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
02393 
02394 #ifdef __cplusplus
02395 }
02396 #endif
02397 
02398 
02399 #endif
02400 
02401 
02402 
02403 /***************************************************************************
02404  $RCSfile: list1.tmpl,v $
02405  -------------------
02406  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02407  begin       : Sat Jun 28 2003
02408  copyright   : (C) 2003 by Martin Preuss
02409  email       : martin@libchipcard.de
02410 
02411  ***************************************************************************
02412  *                                                                         *
02413  *   This library is free software; you can redistribute it and/or         *
02414  *   modify it under the terms of the GNU Lesser General Public            *
02415  *   License as published by the Free Software Foundation; either          *
02416  *   version 2.1 of the License, or (at your option) any later version.    *
02417  *                                                                         *
02418  *   This library is distributed in the hope that it will be useful,       *
02419  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02420  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02421  *   Lesser General Public License for more details.                       *
02422  *                                                                         *
02423  *   You should have received a copy of the GNU Lesser General Public      *
02424  *   License along with this library; if not, write to the Free Software   *
02425  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02426  *   MA  02111-1307  USA                                                   *
02427  *                                                                         *
02428  ***************************************************************************/
02429 
02430 
02431 #ifndef GWEN_CRYPTTOKEN_KEYINFO_LIST1_H
02432 #define GWEN_CRYPTTOKEN_KEYINFO_LIST1_H
02433 
02434 #ifdef __cplusplus
02435 extern "C" {
02436 #endif
02437 
02439   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST_ELEMENT {
02440     GWEN_TYPE_UINT32 id;
02441     GWEN_CRYPTTOKEN_KEYINFO *nextObject;
02442   } GWEN_CRYPTTOKEN_KEYINFO_LIST__ELEMENT;
02443 
02450   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST GWEN_CRYPTTOKEN_KEYINFO_LIST;
02452   struct GWEN_CRYPTTOKEN_KEYINFO_LIST {
02453     GWEN_CRYPTTOKEN_KEYINFO *first;
02454     GWEN_TYPE_UINT32 count;
02455     GWEN_TYPE_UINT32 id;
02456   } GWEN_CRYPTTOKEN_KEYINFO_LIST;
02457 
02462   void GWEN_CryptToken_KeyInfo_List_AddList(GWEN_CRYPTTOKEN_KEYINFO_LIST *dst, GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02463 
02467   void GWEN_CryptToken_KeyInfo_List_Add(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
02468 
02473   void GWEN_CryptToken_KeyInfo_List_Insert(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
02474 
02481   void GWEN_CryptToken_KeyInfo_List_Del(GWEN_CRYPTTOKEN_KEYINFO *element);
02482 
02486   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_First(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02487 
02491   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Last(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02492 
02497   void GWEN_CryptToken_KeyInfo_List_Clear(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02498 
02502   GWEN_CRYPTTOKEN_KEYINFO_LIST* GWEN_CryptToken_KeyInfo_List_new();
02503 
02507   void GWEN_CryptToken_KeyInfo_List_free(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02508 
02512   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Next(const GWEN_CRYPTTOKEN_KEYINFO *element);
02513 
02517   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Previous(const GWEN_CRYPTTOKEN_KEYINFO *element);
02518 
02522   GWEN_TYPE_UINT32 GWEN_CryptToken_KeyInfo_List_GetCount(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
02523 
02524 #ifdef __cplusplus
02525 }
02526 #endif
02527 
02528 
02529 #endif
02530 
02531 
02532 
02533 /***************************************************************************
02534  $RCSfile: list1.tmpl,v $
02535  -------------------
02536  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02537  begin       : Sat Jun 28 2003
02538  copyright   : (C) 2003 by Martin Preuss
02539  email       : martin@libchipcard.de
02540 
02541  ***************************************************************************
02542  *                                                                         *
02543  *   This library is free software; you can redistribute it and/or         *
02544  *   modify it under the terms of the GNU Lesser General Public            *
02545  *   License as published by the Free Software Foundation; either          *
02546  *   version 2.1 of the License, or (at your option) any later version.    *
02547  *                                                                         *
02548  *   This library is distributed in the hope that it will be useful,       *
02549  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02550  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02551  *   Lesser General Public License for more details.                       *
02552  *                                                                         *
02553  *   You should have received a copy of the GNU Lesser General Public      *
02554  *   License along with this library; if not, write to the Free Software   *
02555  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02556  *   MA  02111-1307  USA                                                   *
02557  *                                                                         *
02558  ***************************************************************************/
02559 
02560 
02561 #ifndef GWEN_CRYPTTOKEN_SIGNINFO_LIST1_H
02562 #define GWEN_CRYPTTOKEN_SIGNINFO_LIST1_H
02563 
02564 #ifdef __cplusplus
02565 extern "C" {
02566 #endif
02567 
02569   typedef struct GWEN_CRYPTTOKEN_SIGNINFO_LIST_ELEMENT {
02570     GWEN_TYPE_UINT32 id;
02571     GWEN_CRYPTTOKEN_SIGNINFO *nextObject;
02572   } GWEN_CRYPTTOKEN_SIGNINFO_LIST__ELEMENT;
02573 
02580   typedef struct GWEN_CRYPTTOKEN_SIGNINFO_LIST GWEN_CRYPTTOKEN_SIGNINFO_LIST;
02582   struct GWEN_CRYPTTOKEN_SIGNINFO_LIST {
02583     GWEN_CRYPTTOKEN_SIGNINFO *first;
02584     GWEN_TYPE_UINT32 count;
02585     GWEN_TYPE_UINT32 id;
02586   } GWEN_CRYPTTOKEN_SIGNINFO_LIST;
02587 
02592   void GWEN_CryptToken_SignInfo_List_AddList(GWEN_CRYPTTOKEN_SIGNINFO_LIST *dst, GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02593 
02597   void GWEN_CryptToken_SignInfo_List_Add(GWEN_CRYPTTOKEN_SIGNINFO *element, GWEN_CRYPTTOKEN_SIGNINFO_LIST *list);
02598 
02603   void GWEN_CryptToken_SignInfo_List_Insert(GWEN_CRYPTTOKEN_SIGNINFO *element, GWEN_CRYPTTOKEN_SIGNINFO_LIST *list);
02604 
02611   void GWEN_CryptToken_SignInfo_List_Del(GWEN_CRYPTTOKEN_SIGNINFO *element);
02612 
02616   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_First(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02617 
02621   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Last(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02622 
02627   void GWEN_CryptToken_SignInfo_List_Clear(GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02628 
02632   GWEN_CRYPTTOKEN_SIGNINFO_LIST* GWEN_CryptToken_SignInfo_List_new();
02633 
02637   void GWEN_CryptToken_SignInfo_List_free(GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02638 
02642   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Next(const GWEN_CRYPTTOKEN_SIGNINFO *element);
02643 
02647   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Previous(const GWEN_CRYPTTOKEN_SIGNINFO *element);
02648 
02652   GWEN_TYPE_UINT32 GWEN_CryptToken_SignInfo_List_GetCount(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
02653 
02654 #ifdef __cplusplus
02655 }
02656 #endif
02657 
02658 
02659 #endif
02660 
02661 
02662 
02663 /***************************************************************************
02664  $RCSfile: list2.tmpl,v $
02665  -------------------
02666  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
02667  begin       : Sat Jun 28 2003
02668  copyright   : (C) 2003 by Martin Preuss
02669  email       : martin@libchipcard.de
02670 
02671  ***************************************************************************
02672  *                                                                         *
02673  *   This library is free software; you can redistribute it and/or         *
02674  *   modify it under the terms of the GNU Lesser General Public            *
02675  *   License as published by the Free Software Foundation; either          *
02676  *   version 2.1 of the License, or (at your option) any later version.    *
02677  *                                                                         *
02678  *   This library is distributed in the hope that it will be useful,       *
02679  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02680  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02681  *   Lesser General Public License for more details.                       *
02682  *                                                                         *
02683  *   You should have received a copy of the GNU Lesser General Public      *
02684  *   License along with this library; if not, write to the Free Software   *
02685  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02686  *   MA  02111-1307  USA                                                   *
02687  *                                                                         *
02688  ***************************************************************************/
02689 
02690 
02691 #ifndef GWEN_CRYPTTOKEN_USER_LIST2_H
02692 #define GWEN_CRYPTTOKEN_USER_LIST2_H
02693 
02694 
02695 #ifdef __cplusplus
02696 extern "C" {
02697 #endif
02698 
02705   typedef struct GWEN_CRYPTTOKEN_USER_LIST2 GWEN_CRYPTTOKEN_USER_LIST2;
02706 
02710   typedef struct GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR;
02711 
02715   typedef GWEN_CRYPTTOKEN_USER* (GWEN_CRYPTTOKEN_USER_LIST2_FOREACH)(GWEN_CRYPTTOKEN_USER *element,
02716                                                  void *user_data);
02717 
02721   GWEN_CRYPTTOKEN_USER_LIST2 *GWEN_CryptToken_User_List2_new(); 
02722 
02726   void GWEN_CryptToken_User_List2_free(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02727 
02731   void GWEN_CryptToken_User_List2_Dump(GWEN_CRYPTTOKEN_USER_LIST2 *l, FILE *f, unsigned int indent); 
02732 
02736   void GWEN_CryptToken_User_List2_PushBack(GWEN_CRYPTTOKEN_USER_LIST2 *l, GWEN_CRYPTTOKEN_USER *p); 
02737    
02742   void GWEN_CryptToken_User_List2_PushFront(GWEN_CRYPTTOKEN_USER_LIST2 *l, GWEN_CRYPTTOKEN_USER *p); 
02743 
02748   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_GetFront(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02749    
02754   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_GetBack(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02755 
02760   void GWEN_CryptToken_User_List2_Erase(GWEN_CRYPTTOKEN_USER_LIST2 *l,
02761                                GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *it);
02762 
02768   unsigned int GWEN_CryptToken_User_List2_GetSize(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02769 
02774   void GWEN_CryptToken_User_List2_PopBack(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02775    
02780   void GWEN_CryptToken_User_List2_PopFront(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02781 
02785   void GWEN_CryptToken_User_List2_Clear(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02786 
02790   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2_First(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02791    
02795   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2_Last(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
02796 
02800   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2Iterator_new(GWEN_CRYPTTOKEN_USER_LIST2 *l);
02801 
02805   void GWEN_CryptToken_User_List2Iterator_free(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
02806 
02811   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Previous(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
02812    
02817   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Next(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
02818 
02823   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Data(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
02824 
02836   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_ForEach(GWEN_CRYPTTOKEN_USER_LIST2 *list,
02837                                         GWEN_CRYPTTOKEN_USER_LIST2_FOREACH func,
02838                                         void *user_data);
02839 
02840 
02841   typedef struct GWEN_CRYPTTOKEN_USER_CONSTLIST2 GWEN_CRYPTTOKEN_USER_CONSTLIST2; 
02842   typedef struct GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR; 
02843   typedef const GWEN_CRYPTTOKEN_USER*
02844     (GWEN_CRYPTTOKEN_USER_CONSTLIST2_FOREACH)(const GWEN_CRYPTTOKEN_USER *element,
02845                                     void *user_data);
02846   
02847    
02848   GWEN_CRYPTTOKEN_USER_CONSTLIST2 *GWEN_CryptToken_User_ConstList2_new(); 
02849    
02850   void GWEN_CryptToken_User_ConstList2_free(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02851    
02852   void GWEN_CryptToken_User_ConstList2_PushBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l, const GWEN_CRYPTTOKEN_USER *p); 
02853    
02854   void GWEN_CryptToken_User_ConstList2_PushFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l, const GWEN_CRYPTTOKEN_USER *p); 
02855    
02856   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_GetFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02857    
02858   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_GetBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02859    
02860   unsigned int GWEN_CryptToken_User_ConstList2_GetSize(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02861    
02862   void GWEN_CryptToken_User_ConstList2_PopBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02863    
02864   void GWEN_CryptToken_User_ConstList2_PopFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02865    
02866   void GWEN_CryptToken_User_ConstList2_Clear(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02867    
02868   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2_First(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02869    
02870   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2_Last(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02871    
02872   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2Iterator_new(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
02873    
02874   void GWEN_CryptToken_User_ConstList2Iterator_free(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
02875    
02876   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Previous(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
02877    
02878   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Next(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
02879    
02880   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Data(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
02881    
02893   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_ForEach(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *list,
02894         GWEN_CRYPTTOKEN_USER_CONSTLIST2_FOREACH func, void *user_data);
02895 
02896 
02897 #ifdef __cplusplus
02898 }
02899 #endif
02900 
02901 
02902 #endif /* GWEN_CRYPTTOKEN_USER_LIST_H */
02903 
02904 
02905 
02906 /***************************************************************************
02907  $RCSfile: list1.tmpl,v $
02908  -------------------
02909  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
02910  begin       : Sat Jun 28 2003
02911  copyright   : (C) 2003 by Martin Preuss
02912  email       : martin@libchipcard.de
02913 
02914  ***************************************************************************
02915  *                                                                         *
02916  *   This library is free software; you can redistribute it and/or         *
02917  *   modify it under the terms of the GNU Lesser General Public            *
02918  *   License as published by the Free Software Foundation; either          *
02919  *   version 2.1 of the License, or (at your option) any later version.    *
02920  *                                                                         *
02921  *   This library is distributed in the hope that it will be useful,       *
02922  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02923  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02924  *   Lesser General Public License for more details.                       *
02925  *                                                                         *
02926  *   You should have received a copy of the GNU Lesser General Public      *
02927  *   License along with this library; if not, write to the Free Software   *
02928  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02929  *   MA  02111-1307  USA                                                   *
02930  *                                                                         *
02931  ***************************************************************************/
02932 
02933 
02934 #ifndef GWEN_CRYPTTOKEN_USER_LIST1_H
02935 #define GWEN_CRYPTTOKEN_USER_LIST1_H
02936 
02937 #ifdef __cplusplus
02938 extern "C" {
02939 #endif
02940 
02942   typedef struct GWEN_CRYPTTOKEN_USER_LIST_ELEMENT {
02943     GWEN_TYPE_UINT32 id;
02944     GWEN_CRYPTTOKEN_USER *nextObject;
02945   } GWEN_CRYPTTOKEN_USER_LIST__ELEMENT;
02946 
02953   typedef struct GWEN_CRYPTTOKEN_USER_LIST GWEN_CRYPTTOKEN_USER_LIST;
02955   struct GWEN_CRYPTTOKEN_USER_LIST {
02956     GWEN_CRYPTTOKEN_USER *first;
02957     GWEN_TYPE_UINT32 count;
02958     GWEN_TYPE_UINT32 id;
02959   } GWEN_CRYPTTOKEN_USER_LIST;
02960 
02965   void GWEN_CryptToken_User_List_AddList(GWEN_CRYPTTOKEN_USER_LIST *dst, GWEN_CRYPTTOKEN_USER_LIST *l);
02966 
02970   void GWEN_CryptToken_User_List_Add(GWEN_CRYPTTOKEN_USER *element, GWEN_CRYPTTOKEN_USER_LIST *list);
02971 
02976   void GWEN_CryptToken_User_List_Insert(GWEN_CRYPTTOKEN_USER *element, GWEN_CRYPTTOKEN_USER_LIST *list);
02977 
02984   void GWEN_CryptToken_User_List_Del(GWEN_CRYPTTOKEN_USER *element);
02985 
02989   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_First(const GWEN_CRYPTTOKEN_USER_LIST *l);
02990 
02994   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Last(const GWEN_CRYPTTOKEN_USER_LIST *l);
02995 
03000   void GWEN_CryptToken_User_List_Clear(GWEN_CRYPTTOKEN_USER_LIST *l);
03001 
03005   GWEN_CRYPTTOKEN_USER_LIST* GWEN_CryptToken_User_List_new();
03006 
03010   void GWEN_CryptToken_User_List_free(GWEN_CRYPTTOKEN_USER_LIST *l);
03011 
03015   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Next(const GWEN_CRYPTTOKEN_USER *element);
03016 
03020   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Previous(const GWEN_CRYPTTOKEN_USER *element);
03021 
03025   GWEN_TYPE_UINT32 GWEN_CryptToken_User_List_GetCount(const GWEN_CRYPTTOKEN_USER_LIST *l);
03026 
03027 #ifdef __cplusplus
03028 }
03029 #endif
03030 
03031 
03032 #endif
03033 
03034 
03035 
03036 /***************************************************************************
03037  $RCSfile: list2.tmpl,v $
03038  -------------------
03039  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
03040  begin       : Sat Jun 28 2003
03041  copyright   : (C) 2003 by Martin Preuss
03042  email       : martin@libchipcard.de
03043 
03044  ***************************************************************************
03045  *                                                                         *
03046  *   This library is free software; you can redistribute it and/or         *
03047  *   modify it under the terms of the GNU Lesser General Public            *
03048  *   License as published by the Free Software Foundation; either          *
03049  *   version 2.1 of the License, or (at your option) any later version.    *
03050  *                                                                         *
03051  *   This library is distributed in the hope that it will be useful,       *
03052  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03053  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03054  *   Lesser General Public License for more details.                       *
03055  *                                                                         *
03056  *   You should have received a copy of the GNU Lesser General Public      *
03057  *   License along with this library; if not, write to the Free Software   *
03058  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03059  *   MA  02111-1307  USA                                                   *
03060  *                                                                         *
03061  ***************************************************************************/
03062 
03063 
03064 #ifndef GWEN_CT_FILE_CONTEXT_LIST2_H
03065 #define GWEN_CT_FILE_CONTEXT_LIST2_H
03066 
03067 
03068 #ifdef __cplusplus
03069 extern "C" {
03070 #endif
03071 
03078   typedef struct GWEN_CT_FILE_CONTEXT_LIST2 GWEN_CT_FILE_CONTEXT_LIST2;
03079 
03083   typedef struct GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR;
03084 
03088   typedef GWEN_CT_FILE_CONTEXT* (GWEN_CT_FILE_CONTEXT_LIST2_FOREACH)(GWEN_CT_FILE_CONTEXT *element,
03089                                                  void *user_data);
03090 
03094   GWEN_CT_FILE_CONTEXT_LIST2 *GWEN_CryptTokenFile_Context_List2_new(); 
03095 
03099   void GWEN_CryptTokenFile_Context_List2_free(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03100 
03104   void GWEN_CryptTokenFile_Context_List2_Dump(GWEN_CT_FILE_CONTEXT_LIST2 *l, FILE *f, unsigned int indent); 
03105 
03109   void GWEN_CryptTokenFile_Context_List2_PushBack(GWEN_CT_FILE_CONTEXT_LIST2 *l, GWEN_CT_FILE_CONTEXT *p); 
03110    
03115   void GWEN_CryptTokenFile_Context_List2_PushFront(GWEN_CT_FILE_CONTEXT_LIST2 *l, GWEN_CT_FILE_CONTEXT *p); 
03116 
03121   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_GetFront(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03122    
03127   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_GetBack(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03128 
03133   void GWEN_CryptTokenFile_Context_List2_Erase(GWEN_CT_FILE_CONTEXT_LIST2 *l,
03134                                GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *it);
03135 
03141   unsigned int GWEN_CryptTokenFile_Context_List2_GetSize(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03142 
03147   void GWEN_CryptTokenFile_Context_List2_PopBack(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03148    
03153   void GWEN_CryptTokenFile_Context_List2_PopFront(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03154 
03158   void GWEN_CryptTokenFile_Context_List2_Clear(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03159 
03163   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2_First(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03164    
03168   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2_Last(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
03169 
03173   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2Iterator_new(GWEN_CT_FILE_CONTEXT_LIST2 *l);
03174 
03178   void GWEN_CryptTokenFile_Context_List2Iterator_free(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
03179 
03184   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Previous(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
03185    
03190   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Next(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
03191 
03196   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Data(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
03197 
03209   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_ForEach(GWEN_CT_FILE_CONTEXT_LIST2 *list,
03210                                         GWEN_CT_FILE_CONTEXT_LIST2_FOREACH func,
03211                                         void *user_data);
03212 
03213 
03214   typedef struct GWEN_CT_FILE_CONTEXT_CONSTLIST2 GWEN_CT_FILE_CONTEXT_CONSTLIST2; 
03215   typedef struct GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR; 
03216   typedef const GWEN_CT_FILE_CONTEXT*
03217     (GWEN_CT_FILE_CONTEXT_CONSTLIST2_FOREACH)(const GWEN_CT_FILE_CONTEXT *element,
03218                                     void *user_data);
03219   
03220    
03221   GWEN_CT_FILE_CONTEXT_CONSTLIST2 *GWEN_CryptTokenFile_Context_ConstList2_new(); 
03222    
03223   void GWEN_CryptTokenFile_Context_ConstList2_free(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03224    
03225   void GWEN_CryptTokenFile_Context_ConstList2_PushBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l, const GWEN_CT_FILE_CONTEXT *p); 
03226    
03227   void GWEN_CryptTokenFile_Context_ConstList2_PushFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l, const GWEN_CT_FILE_CONTEXT *p); 
03228    
03229   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_GetFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03230    
03231   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_GetBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03232    
03233   unsigned int GWEN_CryptTokenFile_Context_ConstList2_GetSize(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03234    
03235   void GWEN_CryptTokenFile_Context_ConstList2_PopBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03236    
03237   void GWEN_CryptTokenFile_Context_ConstList2_PopFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03238    
03239   void GWEN_CryptTokenFile_Context_ConstList2_Clear(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03240    
03241   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2_First(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03242    
03243   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2_Last(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03244    
03245   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2Iterator_new(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
03246    
03247   void GWEN_CryptTokenFile_Context_ConstList2Iterator_free(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
03248    
03249   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Previous(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
03250    
03251   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Next(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
03252    
03253   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Data(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
03254    
03266   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_ForEach(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *list,
03267         GWEN_CT_FILE_CONTEXT_CONSTLIST2_FOREACH func, void *user_data);
03268 
03269 
03270 #ifdef __cplusplus
03271 }
03272 #endif
03273 
03274 
03275 #endif /* GWEN_CT_FILE_CONTEXT_LIST_H */
03276 
03277 
03278 
03279 /***************************************************************************
03280  $RCSfile: list1.tmpl,v $
03281  -------------------
03282  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
03283  begin       : Sat Jun 28 2003
03284  copyright   : (C) 2003 by Martin Preuss
03285  email       : martin@libchipcard.de
03286 
03287  ***************************************************************************
03288  *                                                                         *
03289  *   This library is free software; you can redistribute it and/or         *
03290  *   modify it under the terms of the GNU Lesser General Public            *
03291  *   License as published by the Free Software Foundation; either          *
03292  *   version 2.1 of the License, or (at your option) any later version.    *
03293  *                                                                         *
03294  *   This library is distributed in the hope that it will be useful,       *
03295  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03296  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03297  *   Lesser General Public License for more details.                       *
03298  *                                                                         *
03299  *   You should have received a copy of the GNU Lesser General Public      *
03300  *   License along with this library; if not, write to the Free Software   *
03301  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03302  *   MA  02111-1307  USA                                                   *
03303  *                                                                         *
03304  ***************************************************************************/
03305 
03306 
03307 #ifndef GWEN_CT_FILE_CONTEXT_LIST1_H
03308 #define GWEN_CT_FILE_CONTEXT_LIST1_H
03309 
03310 #ifdef __cplusplus
03311 extern "C" {
03312 #endif
03313 
03315   typedef struct GWEN_CT_FILE_CONTEXT_LIST_ELEMENT {
03316     GWEN_TYPE_UINT32 id;
03317     GWEN_CT_FILE_CONTEXT *nextObject;
03318   } GWEN_CT_FILE_CONTEXT_LIST__ELEMENT;
03319 
03326   typedef struct GWEN_CT_FILE_CONTEXT_LIST GWEN_CT_FILE_CONTEXT_LIST;
03328   struct GWEN_CT_FILE_CONTEXT_LIST {
03329     GWEN_CT_FILE_CONTEXT *first;
03330     GWEN_TYPE_UINT32 count;
03331     GWEN_TYPE_UINT32 id;
03332   } GWEN_CT_FILE_CONTEXT_LIST;
03333 
03338   void GWEN_CryptTokenFile_Context_List_AddList(GWEN_CT_FILE_CONTEXT_LIST *dst, GWEN_CT_FILE_CONTEXT_LIST *l);
03339 
03343   void GWEN_CryptTokenFile_Context_List_Add(GWEN_CT_FILE_CONTEXT *element, GWEN_CT_FILE_CONTEXT_LIST *list);
03344 
03349   void GWEN_CryptTokenFile_Context_List_Insert(GWEN_CT_FILE_CONTEXT *element, GWEN_CT_FILE_CONTEXT_LIST *list);
03350 
03357   void GWEN_CryptTokenFile_Context_List_Del(GWEN_CT_FILE_CONTEXT *element);
03358 
03362   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_First(const GWEN_CT_FILE_CONTEXT_LIST *l);
03363 
03367   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Last(const GWEN_CT_FILE_CONTEXT_LIST *l);
03368 
03373   void GWEN_CryptTokenFile_Context_List_Clear(GWEN_CT_FILE_CONTEXT_LIST *l);
03374 
03378   GWEN_CT_FILE_CONTEXT_LIST* GWEN_CryptTokenFile_Context_List_new();
03379 
03383   void GWEN_CryptTokenFile_Context_List_free(GWEN_CT_FILE_CONTEXT_LIST *l);
03384 
03388   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Next(const GWEN_CT_FILE_CONTEXT *element);
03389 
03393   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Previous(const GWEN_CT_FILE_CONTEXT *element);
03394 
03398   GWEN_TYPE_UINT32 GWEN_CryptTokenFile_Context_List_GetCount(const GWEN_CT_FILE_CONTEXT_LIST *l);
03399 
03400 #ifdef __cplusplus
03401 }
03402 #endif
03403 
03404 
03405 #endif
03406 
03407 
03408 
03409 /***************************************************************************
03410  $RCSfile: list1.tmpl,v $
03411  -------------------
03412  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
03413  begin       : Sat Jun 28 2003
03414  copyright   : (C) 2003 by Martin Preuss
03415  email       : martin@libchipcard.de
03416 
03417  ***************************************************************************
03418  *                                                                         *
03419  *   This library is free software; you can redistribute it and/or         *
03420  *   modify it under the terms of the GNU Lesser General Public            *
03421  *   License as published by the Free Software Foundation; either          *
03422  *   version 2.1 of the License, or (at your option) any later version.    *
03423  *                                                                         *
03424  *   This library is distributed in the hope that it will be useful,       *
03425  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03426  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03427  *   Lesser General Public License for more details.                       *
03428  *                                                                         *
03429  *   You should have received a copy of the GNU Lesser General Public      *
03430  *   License along with this library; if not, write to the Free Software   *
03431  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03432  *   MA  02111-1307  USA                                                   *
03433  *                                                                         *
03434  ***************************************************************************/
03435 
03436 
03437 #ifndef GWEN_DBIO_LIST1_H
03438 #define GWEN_DBIO_LIST1_H
03439 
03440 #ifdef __cplusplus
03441 extern "C" {
03442 #endif
03443 
03445   typedef struct GWEN_DBIO_LIST_ELEMENT {
03446     GWEN_TYPE_UINT32 id;
03447     GWEN_DBIO *nextObject;
03448   } GWEN_DBIO_LIST__ELEMENT;
03449 
03456   typedef struct GWEN_DBIO_LIST GWEN_DBIO_LIST;
03458   struct GWEN_DBIO_LIST {
03459     GWEN_DBIO *first;
03460     GWEN_TYPE_UINT32 count;
03461     GWEN_TYPE_UINT32 id;
03462   } GWEN_DBIO_LIST;
03463 
03468   void GWEN_DBIO_List_AddList(GWEN_DBIO_LIST *dst, GWEN_DBIO_LIST *l);
03469 
03473   void GWEN_DBIO_List_Add(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
03474 
03479   void GWEN_DBIO_List_Insert(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
03480 
03487   void GWEN_DBIO_List_Del(GWEN_DBIO *element);
03488 
03492   GWEN_DBIO* GWEN_DBIO_List_First(const GWEN_DBIO_LIST *l);
03493 
03497   GWEN_DBIO* GWEN_DBIO_List_Last(const GWEN_DBIO_LIST *l);
03498 
03503   void GWEN_DBIO_List_Clear(GWEN_DBIO_LIST *l);
03504 
03508   GWEN_DBIO_LIST* GWEN_DBIO_List_new();
03509 
03513   void GWEN_DBIO_List_free(GWEN_DBIO_LIST *l);
03514 
03518   GWEN_DBIO* GWEN_DBIO_List_Next(const GWEN_DBIO *element);
03519 
03523   GWEN_DBIO* GWEN_DBIO_List_Previous(const GWEN_DBIO *element);
03524 
03528   GWEN_TYPE_UINT32 GWEN_DBIO_List_GetCount(const GWEN_DBIO_LIST *l);
03529 
03530 #ifdef __cplusplus
03531 }
03532 #endif
03533 
03534 
03535 #endif
03536 
03537 
03538 
03539 /***************************************************************************
03540  $RCSfile: list1.tmpl,v $
03541  -------------------
03542  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
03543  begin       : Sat Jun 28 2003
03544  copyright   : (C) 2003 by Martin Preuss
03545  email       : martin@libchipcard.de
03546 
03547  ***************************************************************************
03548  *                                                                         *
03549  *   This library is free software; you can redistribute it and/or         *
03550  *   modify it under the terms of the GNU Lesser General Public            *
03551  *   License as published by the Free Software Foundation; either          *
03552  *   version 2.1 of the License, or (at your option) any later version.    *
03553  *                                                                         *
03554  *   This library is distributed in the hope that it will be useful,       *
03555  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03556  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03557  *   Lesser General Public License for more details.                       *
03558  *                                                                         *
03559  *   You should have received a copy of the GNU Lesser General Public      *
03560  *   License along with this library; if not, write to the Free Software   *
03561  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03562  *   MA  02111-1307  USA                                                   *
03563  *                                                                         *
03564  ***************************************************************************/
03565 
03566 
03567 #ifndef GWEN_TLV_LIST1_H
03568 #define GWEN_TLV_LIST1_H
03569 
03570 #ifdef __cplusplus
03571 extern "C" {
03572 #endif
03573 
03575   typedef struct GWEN_TLV_LIST_ELEMENT {
03576     GWEN_TYPE_UINT32 id;
03577     GWEN_TLV *nextObject;
03578   } GWEN_TLV_LIST__ELEMENT;
03579 
03586   typedef struct GWEN_TLV_LIST GWEN_TLV_LIST;
03588   struct GWEN_TLV_LIST {
03589     GWEN_TLV *first;
03590     GWEN_TYPE_UINT32 count;
03591     GWEN_TYPE_UINT32 id;
03592   } GWEN_TLV_LIST;
03593 
03598   void GWEN_TLV_List_AddList(GWEN_TLV_LIST *dst, GWEN_TLV_LIST *l);
03599 
03603   void GWEN_TLV_List_Add(GWEN_TLV *element, GWEN_TLV_LIST *list);
03604 
03609   void GWEN_TLV_List_Insert(GWEN_TLV *element, GWEN_TLV_LIST *list);
03610 
03617   void GWEN_TLV_List_Del(GWEN_TLV *element);
03618 
03622   GWEN_TLV* GWEN_TLV_List_First(const GWEN_TLV_LIST *l);
03623 
03627   GWEN_TLV* GWEN_TLV_List_Last(const GWEN_TLV_LIST *l);
03628 
03633   void GWEN_TLV_List_Clear(GWEN_TLV_LIST *l);
03634 
03638   GWEN_TLV_LIST* GWEN_TLV_List_new();
03639 
03643   void GWEN_TLV_List_free(GWEN_TLV_LIST *l);
03644 
03648   GWEN_TLV* GWEN_TLV_List_Next(const GWEN_TLV *element);
03649 
03653   GWEN_TLV* GWEN_TLV_List_Previous(const GWEN_TLV *element);
03654 
03658   GWEN_TYPE_UINT32 GWEN_TLV_List_GetCount(const GWEN_TLV_LIST *l);
03659 
03660 #ifdef __cplusplus
03661 }
03662 #endif
03663 
03664 
03665 #endif
03666 
03667 
03668 
03669 /***************************************************************************
03670  $RCSfile: list2.tmpl,v $
03671  -------------------
03672  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
03673  begin       : Sat Jun 28 2003
03674  copyright   : (C) 2003 by Martin Preuss
03675  email       : martin@libchipcard.de
03676 
03677  ***************************************************************************
03678  *                                                                         *
03679  *   This library is free software; you can redistribute it and/or         *
03680  *   modify it under the terms of the GNU Lesser General Public            *
03681  *   License as published by the Free Software Foundation; either          *
03682  *   version 2.1 of the License, or (at your option) any later version.    *
03683  *                                                                         *
03684  *   This library is distributed in the hope that it will be useful,       *
03685  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03686  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03687  *   Lesser General Public License for more details.                       *
03688  *                                                                         *
03689  *   You should have received a copy of the GNU Lesser General Public      *
03690  *   License along with this library; if not, write to the Free Software   *
03691  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03692  *   MA  02111-1307  USA                                                   *
03693  *                                                                         *
03694  ***************************************************************************/
03695 
03696 
03697 #ifndef GWEN_XMLNODE_LIST2_H
03698 #define GWEN_XMLNODE_LIST2_H
03699 
03700 
03701 #ifdef __cplusplus
03702 extern "C" {
03703 #endif
03704 
03711   typedef struct GWEN_XMLNODE_LIST2 GWEN_XMLNODE_LIST2;
03712 
03716   typedef struct GWEN_XMLNODE_LIST2_ITERATOR GWEN_XMLNODE_LIST2_ITERATOR;
03717 
03721   typedef GWEN_XMLNODE* (GWEN_XMLNODE_LIST2_FOREACH)(GWEN_XMLNODE *element,
03722                                                  void *user_data);
03723 
03727   GWEN_XMLNODE_LIST2 *GWEN_XMLNode_List2_new(); 
03728 
03732   void GWEN_XMLNode_List2_free(GWEN_XMLNODE_LIST2 *l); 
03733 
03737   void GWEN_XMLNode_List2_Dump(GWEN_XMLNODE_LIST2 *l, FILE *f, unsigned int indent); 
03738 
03742   void GWEN_XMLNode_List2_PushBack(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p); 
03743    
03748   void GWEN_XMLNode_List2_PushFront(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p); 
03749 
03754   GWEN_XMLNODE *GWEN_XMLNode_List2_GetFront(GWEN_XMLNODE_LIST2 *l); 
03755    
03760   GWEN_XMLNODE *GWEN_XMLNode_List2_GetBack(GWEN_XMLNODE_LIST2 *l); 
03761 
03766   void GWEN_XMLNode_List2_Erase(GWEN_XMLNODE_LIST2 *l,
03767                                GWEN_XMLNODE_LIST2_ITERATOR *it);
03768 
03774   unsigned int GWEN_XMLNode_List2_GetSize(GWEN_XMLNODE_LIST2 *l); 
03775 
03780   void GWEN_XMLNode_List2_PopBack(GWEN_XMLNODE_LIST2 *l); 
03781    
03786   void GWEN_XMLNode_List2_PopFront(GWEN_XMLNODE_LIST2 *l); 
03787 
03791   void GWEN_XMLNode_List2_Clear(GWEN_XMLNODE_LIST2 *l); 
03792 
03796   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_First(GWEN_XMLNODE_LIST2 *l); 
03797    
03801   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_Last(GWEN_XMLNODE_LIST2 *l); 
03802 
03806   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2Iterator_new(GWEN_XMLNODE_LIST2 *l);
03807 
03811   void GWEN_XMLNode_List2Iterator_free(GWEN_XMLNODE_LIST2_ITERATOR *li); 
03812 
03817   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Previous(GWEN_XMLNODE_LIST2_ITERATOR *li); 
03818    
03823   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Next(GWEN_XMLNODE_LIST2_ITERATOR *li); 
03824 
03829   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Data(GWEN_XMLNODE_LIST2_ITERATOR *li); 
03830 
03842   GWEN_XMLNODE *GWEN_XMLNode_List2_ForEach(GWEN_XMLNODE_LIST2 *list,
03843                                         GWEN_XMLNODE_LIST2_FOREACH func,
03844                                         void *user_data);
03845 
03846 
03847   typedef struct GWEN_XMLNODE_CONSTLIST2 GWEN_XMLNODE_CONSTLIST2; 
03848   typedef struct GWEN_XMLNODE_CONSTLIST2_ITERATOR GWEN_XMLNODE_CONSTLIST2_ITERATOR; 
03849   typedef const GWEN_XMLNODE*
03850     (GWEN_XMLNODE_CONSTLIST2_FOREACH)(const GWEN_XMLNODE *element,
03851                                     void *user_data);
03852   
03853    
03854   GWEN_XMLNODE_CONSTLIST2 *GWEN_XMLNode_ConstList2_new(); 
03855    
03856   void GWEN_XMLNode_ConstList2_free(GWEN_XMLNODE_CONSTLIST2 *l); 
03857    
03858   void GWEN_XMLNode_ConstList2_PushBack(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p); 
03859    
03860   void GWEN_XMLNode_ConstList2_PushFront(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p); 
03861    
03862   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetFront(GWEN_XMLNODE_CONSTLIST2 *l); 
03863    
03864   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetBack(GWEN_XMLNODE_CONSTLIST2 *l); 
03865    
03866   unsigned int GWEN_XMLNode_ConstList2_GetSize(GWEN_XMLNODE_CONSTLIST2 *l); 
03867    
03868   void GWEN_XMLNode_ConstList2_PopBack(GWEN_XMLNODE_CONSTLIST2 *l); 
03869    
03870   void GWEN_XMLNode_ConstList2_PopFront(GWEN_XMLNODE_CONSTLIST2 *l); 
03871    
03872   void GWEN_XMLNode_ConstList2_Clear(GWEN_XMLNODE_CONSTLIST2 *l); 
03873    
03874   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_First(GWEN_XMLNODE_CONSTLIST2 *l); 
03875    
03876   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_Last(GWEN_XMLNODE_CONSTLIST2 *l); 
03877    
03878   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2Iterator_new(GWEN_XMLNODE_CONSTLIST2 *l); 
03879    
03880   void GWEN_XMLNode_ConstList2Iterator_free(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
03881    
03882   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Previous(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
03883    
03884   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Next(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
03885    
03886   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Data(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
03887    
03899   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_ForEach(GWEN_XMLNODE_CONSTLIST2 *list,
03900         GWEN_XMLNODE_CONSTLIST2_FOREACH func, void *user_data);
03901 
03902 
03903 #ifdef __cplusplus
03904 }
03905 #endif
03906 
03907 
03908 #endif /* GWEN_XMLNODE_LIST_H */
03909 
03910 
03911 
03912 /***************************************************************************
03913  $RCSfile: list1.tmpl,v $
03914  -------------------
03915  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
03916  begin       : Sat Jun 28 2003
03917  copyright   : (C) 2003 by Martin Preuss
03918  email       : martin@libchipcard.de
03919 
03920  ***************************************************************************
03921  *                                                                         *
03922  *   This library is free software; you can redistribute it and/or         *
03923  *   modify it under the terms of the GNU Lesser General Public            *
03924  *   License as published by the Free Software Foundation; either          *
03925  *   version 2.1 of the License, or (at your option) any later version.    *
03926  *                                                                         *
03927  *   This library is distributed in the hope that it will be useful,       *
03928  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03929  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03930  *   Lesser General Public License for more details.                       *
03931  *                                                                         *
03932  *   You should have received a copy of the GNU Lesser General Public      *
03933  *   License along with this library; if not, write to the Free Software   *
03934  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03935  *   MA  02111-1307  USA                                                   *
03936  *                                                                         *
03937  ***************************************************************************/
03938 
03939 
03940 #ifndef GWEN_EVENT_LIST1_H
03941 #define GWEN_EVENT_LIST1_H
03942 
03943 #ifdef __cplusplus
03944 extern "C" {
03945 #endif
03946 
03948   typedef struct GWEN_EVENT_LIST_ELEMENT {
03949     GWEN_TYPE_UINT32 id;
03950     GWEN_EVENT *nextObject;
03951   } GWEN_EVENT_LIST__ELEMENT;
03952 
03959   typedef struct GWEN_EVENT_LIST GWEN_EVENT_LIST;
03961   struct GWEN_EVENT_LIST {
03962     GWEN_EVENT *first;
03963     GWEN_TYPE_UINT32 count;
03964     GWEN_TYPE_UINT32 id;
03965   } GWEN_EVENT_LIST;
03966 
03971   void GWEN_Event_List_AddList(GWEN_EVENT_LIST *dst, GWEN_EVENT_LIST *l);
03972 
03976   void GWEN_Event_List_Add(GWEN_EVENT *element, GWEN_EVENT_LIST *list);
03977 
03982   void GWEN_Event_List_Insert(GWEN_EVENT *element, GWEN_EVENT_LIST *list);
03983 
03990   void GWEN_Event_List_Del(GWEN_EVENT *element);
03991 
03995   GWEN_EVENT* GWEN_Event_List_First(const GWEN_EVENT_LIST *l);
03996 
04000   GWEN_EVENT* GWEN_Event_List_Last(const GWEN_EVENT_LIST *l);
04001 
04006   void GWEN_Event_List_Clear(GWEN_EVENT_LIST *l);
04007 
04011   GWEN_EVENT_LIST* GWEN_Event_List_new();
04012 
04016   void GWEN_Event_List_free(GWEN_EVENT_LIST *l);
04017 
04021   GWEN_EVENT* GWEN_Event_List_Next(const GWEN_EVENT *element);
04022 
04026   GWEN_EVENT* GWEN_Event_List_Previous(const GWEN_EVENT *element);
04027 
04031   GWEN_TYPE_UINT32 GWEN_Event_List_GetCount(const GWEN_EVENT_LIST *l);
04032 
04033 #ifdef __cplusplus
04034 }
04035 #endif
04036 
04037 
04038 #endif
04039 
04040 
04041 
04042 /***************************************************************************
04043  $RCSfile: list1.tmpl,v $
04044  -------------------
04045  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
04046  begin       : Sat Jun 28 2003
04047  copyright   : (C) 2003 by Martin Preuss
04048  email       : martin@libchipcard.de
04049 
04050  ***************************************************************************
04051  *                                                                         *
04052  *   This library is free software; you can redistribute it and/or         *
04053  *   modify it under the terms of the GNU Lesser General Public            *
04054  *   License as published by the Free Software Foundation; either          *
04055  *   version 2.1 of the License, or (at your option) any later version.    *
04056  *                                                                         *
04057  *   This library is distributed in the hope that it will be useful,       *
04058  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04059  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04060  *   Lesser General Public License for more details.                       *
04061  *                                                                         *
04062  *   You should have received a copy of the GNU Lesser General Public      *
04063  *   License along with this library; if not, write to the Free Software   *
04064  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04065  *   MA  02111-1307  USA                                                   *
04066  *                                                                         *
04067  ***************************************************************************/
04068 
04069 
04070 #ifndef GWEN_TABLE_COLUMN_LIST1_H
04071 #define GWEN_TABLE_COLUMN_LIST1_H
04072 
04073 #ifdef __cplusplus
04074 extern "C" {
04075 #endif
04076 
04078   typedef struct GWEN_TABLE_COLUMN_LIST_ELEMENT {
04079     GWEN_TYPE_UINT32 id;
04080     GWEN_TABLE_COLUMN *nextObject;
04081   } GWEN_TABLE_COLUMN_LIST__ELEMENT;
04082 
04089   typedef struct GWEN_TABLE_COLUMN_LIST GWEN_TABLE_COLUMN_LIST;
04091   struct GWEN_TABLE_COLUMN_LIST {
04092     GWEN_TABLE_COLUMN *first;
04093     GWEN_TYPE_UINT32 count;
04094     GWEN_TYPE_UINT32 id;
04095   } GWEN_TABLE_COLUMN_LIST;
04096 
04101   void GWEN_TableColumn_List_AddList(GWEN_TABLE_COLUMN_LIST *dst, GWEN_TABLE_COLUMN_LIST *l);
04102 
04106   void GWEN_TableColumn_List_Add(GWEN_TABLE_COLUMN *element, GWEN_TABLE_COLUMN_LIST *list);
04107 
04112   void GWEN_TableColumn_List_Insert(GWEN_TABLE_COLUMN *element, GWEN_TABLE_COLUMN_LIST *list);
04113 
04120   void GWEN_TableColumn_List_Del(GWEN_TABLE_COLUMN *element);
04121 
04125   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_First(const GWEN_TABLE_COLUMN_LIST *l);
04126 
04130   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Last(const GWEN_TABLE_COLUMN_LIST *l);
04131 
04136   void GWEN_TableColumn_List_Clear(GWEN_TABLE_COLUMN_LIST *l);
04137 
04141   GWEN_TABLE_COLUMN_LIST* GWEN_TableColumn_List_new();
04142 
04146   void GWEN_TableColumn_List_free(GWEN_TABLE_COLUMN_LIST *l);
04147 
04151   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Next(const GWEN_TABLE_COLUMN *element);
04152 
04156   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Previous(const GWEN_TABLE_COLUMN *element);
04157 
04161   GWEN_TYPE_UINT32 GWEN_TableColumn_List_GetCount(const GWEN_TABLE_COLUMN_LIST *l);
04162 
04163 #ifdef __cplusplus
04164 }
04165 #endif
04166 
04167 
04168 #endif
04169 
04170 
04171 
04172 /***************************************************************************
04173  $RCSfile: list1.tmpl,v $
04174  -------------------
04175  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
04176  begin       : Sat Jun 28 2003
04177  copyright   : (C) 2003 by Martin Preuss
04178  email       : martin@libchipcard.de
04179 
04180  ***************************************************************************
04181  *                                                                         *
04182  *   This library is free software; you can redistribute it and/or         *
04183  *   modify it under the terms of the GNU Lesser General Public            *
04184  *   License as published by the Free Software Foundation; either          *
04185  *   version 2.1 of the License, or (at your option) any later version.    *
04186  *                                                                         *
04187  *   This library is distributed in the hope that it will be useful,       *
04188  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04189  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04190  *   Lesser General Public License for more details.                       *
04191  *                                                                         *
04192  *   You should have received a copy of the GNU Lesser General Public      *
04193  *   License along with this library; if not, write to the Free Software   *
04194  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04195  *   MA  02111-1307  USA                                                   *
04196  *                                                                         *
04197  ***************************************************************************/
04198 
04199 
04200 #ifndef GWEN_TABLE_FIELD_LIST1_H
04201 #define GWEN_TABLE_FIELD_LIST1_H
04202 
04203 #ifdef __cplusplus
04204 extern "C" {
04205 #endif
04206 
04208   typedef struct GWEN_TABLE_FIELD_LIST_ELEMENT {
04209     GWEN_TYPE_UINT32 id;
04210     GWEN_TABLE_FIELD *nextObject;
04211   } GWEN_TABLE_FIELD_LIST__ELEMENT;
04212 
04219   typedef struct GWEN_TABLE_FIELD_LIST GWEN_TABLE_FIELD_LIST;
04221   struct GWEN_TABLE_FIELD_LIST {
04222     GWEN_TABLE_FIELD *first;
04223     GWEN_TYPE_UINT32 count;
04224     GWEN_TYPE_UINT32 id;
04225   } GWEN_TABLE_FIELD_LIST;
04226 
04231   void GWEN_TableField_List_AddList(GWEN_TABLE_FIELD_LIST *dst, GWEN_TABLE_FIELD_LIST *l);
04232 
04236   void GWEN_TableField_List_Add(GWEN_TABLE_FIELD *element, GWEN_TABLE_FIELD_LIST *list);
04237 
04242   void GWEN_TableField_List_Insert(GWEN_TABLE_FIELD *element, GWEN_TABLE_FIELD_LIST *list);
04243 
04250   void GWEN_TableField_List_Del(GWEN_TABLE_FIELD *element);
04251 
04255   GWEN_TABLE_FIELD* GWEN_TableField_List_First(const GWEN_TABLE_FIELD_LIST *l);
04256 
04260   GWEN_TABLE_FIELD* GWEN_TableField_List_Last(const GWEN_TABLE_FIELD_LIST *l);
04261 
04266   void GWEN_TableField_List_Clear(GWEN_TABLE_FIELD_LIST *l);
04267 
04271   GWEN_TABLE_FIELD_LIST* GWEN_TableField_List_new();
04272 
04276   void GWEN_TableField_List_free(GWEN_TABLE_FIELD_LIST *l);
04277 
04281   GWEN_TABLE_FIELD* GWEN_TableField_List_Next(const GWEN_TABLE_FIELD *element);
04282 
04286   GWEN_TABLE_FIELD* GWEN_TableField_List_Previous(const GWEN_TABLE_FIELD *element);
04287 
04291   GWEN_TYPE_UINT32 GWEN_TableField_List_GetCount(const GWEN_TABLE_FIELD_LIST *l);
04292 
04293 #ifdef __cplusplus
04294 }
04295 #endif
04296 
04297 
04298 #endif
04299 
04300 
04301 
04302 /***************************************************************************
04303  $RCSfile: list1.tmpl,v $
04304  -------------------
04305  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
04306  begin       : Sat Jun 28 2003
04307  copyright   : (C) 2003 by Martin Preuss
04308  email       : martin@libchipcard.de
04309 
04310  ***************************************************************************
04311  *                                                                         *
04312  *   This library is free software; you can redistribute it and/or         *
04313  *   modify it under the terms of the GNU Lesser General Public            *
04314  *   License as published by the Free Software Foundation; either          *
04315  *   version 2.1 of the License, or (at your option) any later version.    *
04316  *                                                                         *
04317  *   This library is distributed in the hope that it will be useful,       *
04318  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04319  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04320  *   Lesser General Public License for more details.                       *
04321  *                                                                         *
04322  *   You should have received a copy of the GNU Lesser General Public      *
04323  *   License along with this library; if not, write to the Free Software   *
04324  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04325  *   MA  02111-1307  USA                                                   *
04326  *                                                                         *
04327  ***************************************************************************/
04328 
04329 
04330 #ifndef GWEN_TW_LINE_LIST1_H
04331 #define GWEN_TW_LINE_LIST1_H
04332 
04333 #ifdef __cplusplus
04334 extern "C" {
04335 #endif
04336 
04338   typedef struct GWEN_TW_LINE_LIST_ELEMENT {
04339     GWEN_TYPE_UINT32 id;
04340     GWEN_TW_LINE *nextObject;
04341   } GWEN_TW_LINE_LIST__ELEMENT;
04342 
04349   typedef struct GWEN_TW_LINE_LIST GWEN_TW_LINE_LIST;
04351   struct GWEN_TW_LINE_LIST {
04352     GWEN_TW_LINE *first;
04353     GWEN_TYPE_UINT32 count;
04354     GWEN_TYPE_UINT32 id;
04355   } GWEN_TW_LINE_LIST;
04356 
04361   void GWEN_TWLine_List_AddList(GWEN_TW_LINE_LIST *dst, GWEN_TW_LINE_LIST *l);
04362 
04366   void GWEN_TWLine_List_Add(GWEN_TW_LINE *element, GWEN_TW_LINE_LIST *list);
04367 
04372   void GWEN_TWLine_List_Insert(GWEN_TW_LINE *element, GWEN_TW_LINE_LIST *list);
04373 
04380   void GWEN_TWLine_List_Del(GWEN_TW_LINE *element);
04381 
04385   GWEN_TW_LINE* GWEN_TWLine_List_First(const GWEN_TW_LINE_LIST *l);
04386 
04390   GWEN_TW_LINE* GWEN_TWLine_List_Last(const GWEN_TW_LINE_LIST *l);
04391 
04396   void GWEN_TWLine_List_Clear(GWEN_TW_LINE_LIST *l);
04397 
04401   GWEN_TW_LINE_LIST* GWEN_TWLine_List_new();
04402 
04406   void GWEN_TWLine_List_free(GWEN_TW_LINE_LIST *l);
04407 
04411   GWEN_TW_LINE* GWEN_TWLine_List_Next(const GWEN_TW_LINE *element);
04412 
04416   GWEN_TW_LINE* GWEN_TWLine_List_Previous(const GWEN_TW_LINE *element);
04417 
04421   GWEN_TYPE_UINT32 GWEN_TWLine_List_GetCount(const GWEN_TW_LINE_LIST *l);
04422 
04423 #ifdef __cplusplus
04424 }
04425 #endif
04426 
04427 
04428 #endif
04429 
04430 
04431 
04432 /***************************************************************************
04433  $RCSfile: list1.tmpl,v $
04434  -------------------
04435  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
04436  begin       : Sat Jun 28 2003
04437  copyright   : (C) 2003 by Martin Preuss
04438  email       : martin@libchipcard.de
04439 
04440  ***************************************************************************
04441  *                                                                         *
04442  *   This library is free software; you can redistribute it and/or         *
04443  *   modify it under the terms of the GNU Lesser General Public            *
04444  *   License as published by the Free Software Foundation; either          *
04445  *   version 2.1 of the License, or (at your option) any later version.    *
04446  *                                                                         *
04447  *   This library is distributed in the hope that it will be useful,       *
04448  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04449  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04450  *   Lesser General Public License for more details.                       *
04451  *                                                                         *
04452  *   You should have received a copy of the GNU Lesser General Public      *
04453  *   License along with this library; if not, write to the Free Software   *
04454  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04455  *   MA  02111-1307  USA                                                   *
04456  *                                                                         *
04457  ***************************************************************************/
04458 
04459 
04460 #ifndef GWEN_WIDGET_LIST1_H
04461 #define GWEN_WIDGET_LIST1_H
04462 
04463 #ifdef __cplusplus
04464 extern "C" {
04465 #endif
04466 
04468   typedef struct GWEN_WIDGET_LIST_ELEMENT {
04469     GWEN_TYPE_UINT32 id;
04470     GWEN_WIDGET *nextObject;
04471   } GWEN_WIDGET_LIST__ELEMENT;
04472 
04479   typedef struct GWEN_WIDGET_LIST GWEN_WIDGET_LIST;
04481   struct GWEN_WIDGET_LIST {
04482     GWEN_WIDGET *first;
04483     GWEN_TYPE_UINT32 count;
04484     GWEN_TYPE_UINT32 id;
04485   } GWEN_WIDGET_LIST;
04486 
04491   void GWEN_Widget_List_AddList(GWEN_WIDGET_LIST *dst, GWEN_WIDGET_LIST *l);
04492 
04496   void GWEN_Widget_List_Add(GWEN_WIDGET *element, GWEN_WIDGET_LIST *list);
04497 
04502   void GWEN_Widget_List_Insert(GWEN_WIDGET *element, GWEN_WIDGET_LIST *list);
04503 
04510   void GWEN_Widget_List_Del(GWEN_WIDGET *element);
04511 
04515   GWEN_WIDGET* GWEN_Widget_List_First(const GWEN_WIDGET_LIST *l);
04516 
04520   GWEN_WIDGET* GWEN_Widget_List_Last(const GWEN_WIDGET_LIST *l);
04521 
04526   void GWEN_Widget_List_Clear(GWEN_WIDGET_LIST *l);
04527 
04531   GWEN_WIDGET_LIST* GWEN_Widget_List_new();
04532 
04536   void GWEN_Widget_List_free(GWEN_WIDGET_LIST *l);
04537 
04541   GWEN_WIDGET* GWEN_Widget_List_Next(const GWEN_WIDGET *element);
04542 
04546   GWEN_WIDGET* GWEN_Widget_List_Previous(const GWEN_WIDGET *element);
04547 
04551   GWEN_TYPE_UINT32 GWEN_Widget_List_GetCount(const GWEN_WIDGET_LIST *l);
04552 
04553 #ifdef __cplusplus
04554 }
04555 #endif
04556 
04557 
04558 #endif
04559 
04560 
04561 

Generated on Wed Oct 5 15:12:37 2005 for gwenhywfar by  doxygen 1.4.4