# 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_KEYINFO_LIST1_H
    02302 #define GWEN_CRYPTTOKEN_KEYINFO_LIST1_H
    02303
    02304 #ifdef __cplusplus
    02305 extern "C" {
    02306 #endif
    02307
    02309   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST_ELEMENT {
    02310     GWEN_TYPE_UINT32 id;
    02311     GWEN_CRYPTTOKEN_KEYINFO *nextObject;
    02312   } GWEN_CRYPTTOKEN_KEYINFO_LIST__ELEMENT;
    02313
    02320   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST GWEN_CRYPTTOKEN_KEYINFO_LIST;
    02322   struct GWEN_CRYPTTOKEN_KEYINFO_LIST {
    02323     GWEN_CRYPTTOKEN_KEYINFO *first;
    02324     GWEN_TYPE_UINT32 count;
    02325     GWEN_TYPE_UINT32 id;
    02326   } GWEN_CRYPTTOKEN_KEYINFO_LIST;
    02327
    02332   void GWEN_CryptToken_KeyInfo_List_AddList(GWEN_CRYPTTOKEN_KEYINFO_LIST *dst, GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
    02333
    02337   void GWEN_CryptToken_KeyInfo_List_Add(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
    02338
    02343   void GWEN_CryptToken_KeyInfo_List_Insert(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
    02344
    02351   void GWEN_CryptToken_KeyInfo_List_Del(GWEN_CRYPTTOKEN_KEYINFO *element);
    02352
    02356   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_First(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
    02357
    02361   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Last(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
    02362
    02367   void GWEN_CryptToken_KeyInfo_List_Clear(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
    02368
    02372   GWEN_CRYPTTOKEN_KEYINFO_LIST* GWEN_CryptToken_KeyInfo_List_new();
    02373
    02377   void GWEN_CryptToken_KeyInfo_List_free(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
    02378
    02382   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Next(const GWEN_CRYPTTOKEN_KEYINFO *element);
    02383
    02387   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Previous(const GWEN_CRYPTTOKEN_KEYINFO *element);
    02388
    02392   GWEN_TYPE_UINT32 GWEN_CryptToken_KeyInfo_List_GetCount(const GWEN_CRYPTTOKEN_KEYINFO_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_CRYPTINFO_LIST1_H
    02432 #define GWEN_CRYPTTOKEN_CRYPTINFO_LIST1_H
    02433
    02434 #ifdef __cplusplus
    02435 extern "C" {
    02436 #endif
    02437
    02439   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST_ELEMENT {
    02440     GWEN_TYPE_UINT32 id;
    02441     GWEN_CRYPTTOKEN_CRYPTINFO *nextObject;
    02442   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST__ELEMENT;
    02443
    02450   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
    02452   struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST {
    02453     GWEN_CRYPTTOKEN_CRYPTINFO *first;
    02454     GWEN_TYPE_UINT32 count;
    02455     GWEN_TYPE_UINT32 id;
    02456   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
    02457
    02462   void GWEN_CryptToken_CryptInfo_List_AddList(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *dst, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
    02463
    02467   void GWEN_CryptToken_CryptInfo_List_Add(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
    02468
    02473   void GWEN_CryptToken_CryptInfo_List_Insert(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
    02474
    02481   void GWEN_CryptToken_CryptInfo_List_Del(GWEN_CRYPTTOKEN_CRYPTINFO *element);
    02482
    02486   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_First(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
    02487
    02491   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Last(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
    02492
    02497   void GWEN_CryptToken_CryptInfo_List_Clear(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
    02498
    02502   GWEN_CRYPTTOKEN_CRYPTINFO_LIST* GWEN_CryptToken_CryptInfo_List_new();
    02503
    02507   void GWEN_CryptToken_CryptInfo_List_free(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
    02508
    02512   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Next(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
    02513
    02517   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Previous(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
    02518
    02522   GWEN_TYPE_UINT32 GWEN_CryptToken_CryptInfo_List_GetCount(const GWEN_CRYPTTOKEN_CRYPTINFO_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: list1.tmpl,v $
    02665  -------------------
    02666  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac 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_DBIO_LIST1_H
    02692 #define GWEN_DBIO_LIST1_H
    02693
    02694 #ifdef __cplusplus
    02695 extern "C" {
    02696 #endif
    02697
    02699   typedef struct GWEN_DBIO_LIST_ELEMENT {
    02700     GWEN_TYPE_UINT32 id;
    02701     GWEN_DBIO *nextObject;
    02702   } GWEN_DBIO_LIST__ELEMENT;
    02703
    02710   typedef struct GWEN_DBIO_LIST GWEN_DBIO_LIST;
    02712   struct GWEN_DBIO_LIST {
    02713     GWEN_DBIO *first;
    02714     GWEN_TYPE_UINT32 count;
    02715     GWEN_TYPE_UINT32 id;
    02716   } GWEN_DBIO_LIST;
    02717
    02722   void GWEN_DBIO_List_AddList(GWEN_DBIO_LIST *dst, GWEN_DBIO_LIST *l);
    02723
    02727   void GWEN_DBIO_List_Add(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
    02728
    02733   void GWEN_DBIO_List_Insert(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
    02734
    02741   void GWEN_DBIO_List_Del(GWEN_DBIO *element);
    02742
    02746   GWEN_DBIO* GWEN_DBIO_List_First(const GWEN_DBIO_LIST *l);
    02747
    02751   GWEN_DBIO* GWEN_DBIO_List_Last(const GWEN_DBIO_LIST *l);
    02752
    02757   void GWEN_DBIO_List_Clear(GWEN_DBIO_LIST *l);
    02758
    02762   GWEN_DBIO_LIST* GWEN_DBIO_List_new();
    02763
    02767   void GWEN_DBIO_List_free(GWEN_DBIO_LIST *l);
    02768
    02772   GWEN_DBIO* GWEN_DBIO_List_Next(const GWEN_DBIO *element);
    02773
    02777   GWEN_DBIO* GWEN_DBIO_List_Previous(const GWEN_DBIO *element);
    02778
    02782   GWEN_TYPE_UINT32 GWEN_DBIO_List_GetCount(const GWEN_DBIO_LIST *l);
    02783
    02784 #ifdef __cplusplus
    02785 }
    02786 #endif
    02787
    02788
    02789 #endif
    02790
    02791
    02792
    02793 /***************************************************************************
    02794  $RCSfile: list1.tmpl,v $
    02795  -------------------
    02796  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    02797  begin       : Sat Jun 28 2003
    02798  copyright   : (C) 2003 by Martin Preuss
    02799  email       : martin@libchipcard.de
    02800
    02801  ***************************************************************************
    02802  *                                                                         *
    02803  *   This library is free software; you can redistribute it and/or         *
    02804  *   modify it under the terms of the GNU Lesser General Public            *
    02805  *   License as published by the Free Software Foundation; either          *
    02806  *   version 2.1 of the License, or (at your option) any later version.    *
    02807  *                                                                         *
    02808  *   This library is distributed in the hope that it will be useful,       *
    02809  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    02810  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    02811  *   Lesser General Public License for more details.                       *
    02812  *                                                                         *
    02813  *   You should have received a copy of the GNU Lesser General Public      *
    02814  *   License along with this library; if not, write to the Free Software   *
    02815  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    02816  *   MA  02111-1307  USA                                                   *
    02817  *                                                                         *
    02818  ***************************************************************************/
    02819
    02820
    02821 #ifndef GWEN_TLV_LIST1_H
    02822 #define GWEN_TLV_LIST1_H
    02823
    02824 #ifdef __cplusplus
    02825 extern "C" {
    02826 #endif
    02827
    02829   typedef struct GWEN_TLV_LIST_ELEMENT {
    02830     GWEN_TYPE_UINT32 id;
    02831     GWEN_TLV *nextObject;
    02832   } GWEN_TLV_LIST__ELEMENT;
    02833
    02840   typedef struct GWEN_TLV_LIST GWEN_TLV_LIST;
    02842   struct GWEN_TLV_LIST {
    02843     GWEN_TLV *first;
    02844     GWEN_TYPE_UINT32 count;
    02845     GWEN_TYPE_UINT32 id;
    02846   } GWEN_TLV_LIST;
    02847
    02852   void GWEN_TLV_List_AddList(GWEN_TLV_LIST *dst, GWEN_TLV_LIST *l);
    02853
    02857   void GWEN_TLV_List_Add(GWEN_TLV *element, GWEN_TLV_LIST *list);
    02858
    02863   void GWEN_TLV_List_Insert(GWEN_TLV *element, GWEN_TLV_LIST *list);
    02864
    02871   void GWEN_TLV_List_Del(GWEN_TLV *element);
    02872
    02876   GWEN_TLV* GWEN_TLV_List_First(const GWEN_TLV_LIST *l);
    02877
    02881   GWEN_TLV* GWEN_TLV_List_Last(const GWEN_TLV_LIST *l);
    02882
    02887   void GWEN_TLV_List_Clear(GWEN_TLV_LIST *l);
    02888
    02892   GWEN_TLV_LIST* GWEN_TLV_List_new();
    02893
    02897   void GWEN_TLV_List_free(GWEN_TLV_LIST *l);
    02898
    02902   GWEN_TLV* GWEN_TLV_List_Next(const GWEN_TLV *element);
    02903
    02907   GWEN_TLV* GWEN_TLV_List_Previous(const GWEN_TLV *element);
    02908
    02912   GWEN_TYPE_UINT32 GWEN_TLV_List_GetCount(const GWEN_TLV_LIST *l);
    02913
    02914 #ifdef __cplusplus
    02915 }
    02916 #endif
    02917
    02918
    02919 #endif
    02920
    02921
    02922
    02923 /***************************************************************************
    02924  $RCSfile: list2.tmpl,v $
    02925  -------------------
    02926  cvs         : $Id: list2.tmpl,v 1.6 2004/12/15 13:41:08 cstim Exp $
    02927  begin       : Sat Jun 28 2003
    02928  copyright   : (C) 2003 by Martin Preuss
    02929  email       : martin@libchipcard.de
    02930
    02931  ***************************************************************************
    02932  *                                                                         *
    02933  *   This library is free software; you can redistribute it and/or         *
    02934  *   modify it under the terms of the GNU Lesser General Public            *
    02935  *   License as published by the Free Software Foundation; either          *
    02936  *   version 2.1 of the License, or (at your option) any later version.    *
    02937  *                                                                         *
    02938  *   This library is distributed in the hope that it will be useful,       *
    02939  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    02940  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    02941  *   Lesser General Public License for more details.                       *
    02942  *                                                                         *
    02943  *   You should have received a copy of the GNU Lesser General Public      *
    02944  *   License along with this library; if not, write to the Free Software   *
    02945  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    02946  *   MA  02111-1307  USA                                                   *
    02947  *                                                                         *
    02948  ***************************************************************************/
    02949
    02950
    02951 #ifndef GWEN_XMLNODE_LIST2_H
    02952 #define GWEN_XMLNODE_LIST2_H
    02953
    02954
    02955 #ifdef __cplusplus
    02956 extern "C" {
    02957 #endif
    02958
    02965   typedef struct GWEN_XMLNODE_LIST2 GWEN_XMLNODE_LIST2;
    02966
    02970   typedef struct GWEN_XMLNODE_LIST2_ITERATOR GWEN_XMLNODE_LIST2_ITERATOR;
    02971
    02975   typedef GWEN_XMLNODE* (GWEN_XMLNODE_LIST2_FOREACH)(GWEN_XMLNODE *element,
    02976                                                  void *user_data);
    02977
    02981   GWEN_XMLNODE_LIST2 *GWEN_XMLNode_List2_new();
    02982
    02986   void GWEN_XMLNode_List2_free(GWEN_XMLNODE_LIST2 *l);
    02987
    02991   void GWEN_XMLNode_List2_Dump(GWEN_XMLNODE_LIST2 *l, FILE *f, unsigned int indent);
    02992
    02996   void GWEN_XMLNode_List2_PushBack(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p);
    02997
    03002   void GWEN_XMLNode_List2_PushFront(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p);
    03003
    03008   GWEN_XMLNODE *GWEN_XMLNode_List2_GetFront(GWEN_XMLNODE_LIST2 *l);
    03009
    03014   GWEN_XMLNODE *GWEN_XMLNode_List2_GetBack(GWEN_XMLNODE_LIST2 *l);
    03015
    03020   void GWEN_XMLNode_List2_Erase(GWEN_XMLNODE_LIST2 *l,
    03021                                GWEN_XMLNODE_LIST2_ITERATOR *it);
    03022
    03028   unsigned int GWEN_XMLNode_List2_GetSize(GWEN_XMLNODE_LIST2 *l);
    03029
    03034   void GWEN_XMLNode_List2_PopBack(GWEN_XMLNODE_LIST2 *l);
    03035
    03040   void GWEN_XMLNode_List2_PopFront(GWEN_XMLNODE_LIST2 *l);
    03041
    03045   void GWEN_XMLNode_List2_Clear(GWEN_XMLNODE_LIST2 *l);
    03046
    03050   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_First(GWEN_XMLNODE_LIST2 *l);
    03051
    03055   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_Last(GWEN_XMLNODE_LIST2 *l);
    03056
    03060   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2Iterator_new(GWEN_XMLNODE_LIST2 *l);
    03061
    03065   void GWEN_XMLNode_List2Iterator_free(GWEN_XMLNODE_LIST2_ITERATOR *li);
    03066
    03071   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Previous(GWEN_XMLNODE_LIST2_ITERATOR *li);
    03072
    03077   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Next(GWEN_XMLNODE_LIST2_ITERATOR *li);
    03078
    03083   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Data(GWEN_XMLNODE_LIST2_ITERATOR *li);
    03084
    03096   GWEN_XMLNODE *GWEN_XMLNode_List2_ForEach(GWEN_XMLNODE_LIST2 *list,
    03097                                         GWEN_XMLNODE_LIST2_FOREACH func,
    03098                                         void *user_data);
    03099
    03100
    03101   typedef struct GWEN_XMLNODE_CONSTLIST2 GWEN_XMLNODE_CONSTLIST2;
    03102   typedef struct GWEN_XMLNODE_CONSTLIST2_ITERATOR GWEN_XMLNODE_CONSTLIST2_ITERATOR;
    03103   typedef const GWEN_XMLNODE*
    03104     (GWEN_XMLNODE_CONSTLIST2_FOREACH)(const GWEN_XMLNODE *element,
    03105                                     void *user_data);
    03106
    03107
    03108   GWEN_XMLNODE_CONSTLIST2 *GWEN_XMLNode_ConstList2_new();
    03109
    03110   void GWEN_XMLNode_ConstList2_free(GWEN_XMLNODE_CONSTLIST2 *l);
    03111
    03112   void GWEN_XMLNode_ConstList2_PushBack(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p);
    03113
    03114   void GWEN_XMLNode_ConstList2_PushFront(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p);
    03115
    03116   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetFront(GWEN_XMLNODE_CONSTLIST2 *l);
    03117
    03118   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetBack(GWEN_XMLNODE_CONSTLIST2 *l);
    03119
    03120   unsigned int GWEN_XMLNode_ConstList2_GetSize(GWEN_XMLNODE_CONSTLIST2 *l);
    03121
    03122   void GWEN_XMLNode_ConstList2_PopBack(GWEN_XMLNODE_CONSTLIST2 *l);
    03123
    03124   void GWEN_XMLNode_ConstList2_PopFront(GWEN_XMLNODE_CONSTLIST2 *l);
    03125
    03126   void GWEN_XMLNode_ConstList2_Clear(GWEN_XMLNODE_CONSTLIST2 *l);
    03127
    03128   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_First(GWEN_XMLNODE_CONSTLIST2 *l);
    03129
    03130   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_Last(GWEN_XMLNODE_CONSTLIST2 *l);
    03131
    03132   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2Iterator_new(GWEN_XMLNODE_CONSTLIST2 *l);
    03133
    03134   void GWEN_XMLNode_ConstList2Iterator_free(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li);
    03135
    03136   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Previous(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li);
    03137
    03138   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Next(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li);
    03139
    03140   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Data(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li);
    03141
    03153   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_ForEach(GWEN_XMLNODE_CONSTLIST2 *list,
    03154         GWEN_XMLNODE_CONSTLIST2_FOREACH func, void *user_data);
    03155
    03156
    03157 #ifdef __cplusplus
    03158 }
    03159 #endif
    03160
    03161
    03162 #endif /* GWEN_XMLNODE_LIST_H */
    03163
    03164
    03165
    03166 /***************************************************************************
    03167  $RCSfile: list1.tmpl,v $
    03168  -------------------
    03169  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    03170  begin       : Sat Jun 28 2003
    03171  copyright   : (C) 2003 by Martin Preuss
    03172  email       : martin@libchipcard.de
    03173
    03174  ***************************************************************************
    03175  *                                                                         *
    03176  *   This library is free software; you can redistribute it and/or         *
    03177  *   modify it under the terms of the GNU Lesser General Public            *
    03178  *   License as published by the Free Software Foundation; either          *
    03179  *   version 2.1 of the License, or (at your option) any later version.    *
    03180  *                                                                         *
    03181  *   This library is distributed in the hope that it will be useful,       *
    03182  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    03183  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    03184  *   Lesser General Public License for more details.                       *
    03185  *                                                                         *
    03186  *   You should have received a copy of the GNU Lesser General Public      *
    03187  *   License along with this library; if not, write to the Free Software   *
    03188  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    03189  *   MA  02111-1307  USA                                                   *
    03190  *                                                                         *
    03191  ***************************************************************************/
    03192
    03193
    03194 #ifndef GWEN_EVENT_LIST1_H
    03195 #define GWEN_EVENT_LIST1_H
    03196
    03197 #ifdef __cplusplus
    03198 extern "C" {
    03199 #endif
    03200
    03202   typedef struct GWEN_EVENT_LIST_ELEMENT {
    03203     GWEN_TYPE_UINT32 id;
    03204     GWEN_EVENT *nextObject;
    03205   } GWEN_EVENT_LIST__ELEMENT;
    03206
    03213   typedef struct GWEN_EVENT_LIST GWEN_EVENT_LIST;
    03215   struct GWEN_EVENT_LIST {
    03216     GWEN_EVENT *first;
    03217     GWEN_TYPE_UINT32 count;
    03218     GWEN_TYPE_UINT32 id;
    03219   } GWEN_EVENT_LIST;
    03220
    03225   void GWEN_Event_List_AddList(GWEN_EVENT_LIST *dst, GWEN_EVENT_LIST *l);
    03226
    03230   void GWEN_Event_List_Add(GWEN_EVENT *element, GWEN_EVENT_LIST *list);
    03231
    03236   void GWEN_Event_List_Insert(GWEN_EVENT *element, GWEN_EVENT_LIST *list);
    03237
    03244   void GWEN_Event_List_Del(GWEN_EVENT *element);
    03245
    03249   GWEN_EVENT* GWEN_Event_List_First(const GWEN_EVENT_LIST *l);
    03250
    03254   GWEN_EVENT* GWEN_Event_List_Last(const GWEN_EVENT_LIST *l);
    03255
    03260   void GWEN_Event_List_Clear(GWEN_EVENT_LIST *l);
    03261
    03265   GWEN_EVENT_LIST* GWEN_Event_List_new();
    03266
    03270   void GWEN_Event_List_free(GWEN_EVENT_LIST *l);
    03271
    03275   GWEN_EVENT* GWEN_Event_List_Next(const GWEN_EVENT *element);
    03276
    03280   GWEN_EVENT* GWEN_Event_List_Previous(const GWEN_EVENT *element);
    03281
    03285   GWEN_TYPE_UINT32 GWEN_Event_List_GetCount(const GWEN_EVENT_LIST *l);
    03286
    03287 #ifdef __cplusplus
    03288 }
    03289 #endif
    03290
    03291
    03292 #endif
    03293
    03294
    03295
    03296 /***************************************************************************
    03297  $RCSfile: list1.tmpl,v $
    03298  -------------------
    03299  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    03300  begin       : Sat Jun 28 2003
    03301  copyright   : (C) 2003 by Martin Preuss
    03302  email       : martin@libchipcard.de
    03303
    03304  ***************************************************************************
    03305  *                                                                         *
    03306  *   This library is free software; you can redistribute it and/or         *
    03307  *   modify it under the terms of the GNU Lesser General Public            *
    03308  *   License as published by the Free Software Foundation; either          *
    03309  *   version 2.1 of the License, or (at your option) any later version.    *
    03310  *                                                                         *
    03311  *   This library is distributed in the hope that it will be useful,       *
    03312  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    03313  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    03314  *   Lesser General Public License for more details.                       *
    03315  *                                                                         *
    03316  *   You should have received a copy of the GNU Lesser General Public      *
    03317  *   License along with this library; if not, write to the Free Software   *
    03318  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    03319  *   MA  02111-1307  USA                                                   *
    03320  *                                                                         *
    03321  ***************************************************************************/
    03322
    03323
    03324 #ifndef GWEN_TABLE_COLUMN_LIST1_H
    03325 #define GWEN_TABLE_COLUMN_LIST1_H
    03326
    03327 #ifdef __cplusplus
    03328 extern "C" {
    03329 #endif
    03330
    03332   typedef struct GWEN_TABLE_COLUMN_LIST_ELEMENT {
    03333     GWEN_TYPE_UINT32 id;
    03334     GWEN_TABLE_COLUMN *nextObject;
    03335   } GWEN_TABLE_COLUMN_LIST__ELEMENT;
    03336
    03343   typedef struct GWEN_TABLE_COLUMN_LIST GWEN_TABLE_COLUMN_LIST;
    03345   struct GWEN_TABLE_COLUMN_LIST {
    03346     GWEN_TABLE_COLUMN *first;
    03347     GWEN_TYPE_UINT32 count;
    03348     GWEN_TYPE_UINT32 id;
    03349   } GWEN_TABLE_COLUMN_LIST;
    03350
    03355   void GWEN_TableColumn_List_AddList(GWEN_TABLE_COLUMN_LIST *dst, GWEN_TABLE_COLUMN_LIST *l);
    03356
    03360   void GWEN_TableColumn_List_Add(GWEN_TABLE_COLUMN *element, GWEN_TABLE_COLUMN_LIST *list);
    03361
    03366   void GWEN_TableColumn_List_Insert(GWEN_TABLE_COLUMN *element, GWEN_TABLE_COLUMN_LIST *list);
    03367
    03374   void GWEN_TableColumn_List_Del(GWEN_TABLE_COLUMN *element);
    03375
    03379   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_First(const GWEN_TABLE_COLUMN_LIST *l);
    03380
    03384   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Last(const GWEN_TABLE_COLUMN_LIST *l);
    03385
    03390   void GWEN_TableColumn_List_Clear(GWEN_TABLE_COLUMN_LIST *l);
    03391
    03395   GWEN_TABLE_COLUMN_LIST* GWEN_TableColumn_List_new();
    03396
    03400   void GWEN_TableColumn_List_free(GWEN_TABLE_COLUMN_LIST *l);
    03401
    03405   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Next(const GWEN_TABLE_COLUMN *element);
    03406
    03410   GWEN_TABLE_COLUMN* GWEN_TableColumn_List_Previous(const GWEN_TABLE_COLUMN *element);
    03411
    03415   GWEN_TYPE_UINT32 GWEN_TableColumn_List_GetCount(const GWEN_TABLE_COLUMN_LIST *l);
    03416
    03417 #ifdef __cplusplus
    03418 }
    03419 #endif
    03420
    03421
    03422 #endif
    03423
    03424
    03425
    03426 /***************************************************************************
    03427  $RCSfile: list1.tmpl,v $
    03428  -------------------
    03429  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    03430  begin       : Sat Jun 28 2003
    03431  copyright   : (C) 2003 by Martin Preuss
    03432  email       : martin@libchipcard.de
    03433
    03434  ***************************************************************************
    03435  *                                                                         *
    03436  *   This library is free software; you can redistribute it and/or         *
    03437  *   modify it under the terms of the GNU Lesser General Public            *
    03438  *   License as published by the Free Software Foundation; either          *
    03439  *   version 2.1 of the License, or (at your option) any later version.    *
    03440  *                                                                         *
    03441  *   This library is distributed in the hope that it will be useful,       *
    03442  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    03443  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    03444  *   Lesser General Public License for more details.                       *
    03445  *                                                                         *
    03446  *   You should have received a copy of the GNU Lesser General Public      *
    03447  *   License along with this library; if not, write to the Free Software   *
    03448  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    03449  *   MA  02111-1307  USA                                                   *
    03450  *                                                                         *
    03451  ***************************************************************************/
    03452
    03453
    03454 #ifndef GWEN_TABLE_FIELD_LIST1_H
    03455 #define GWEN_TABLE_FIELD_LIST1_H
    03456
    03457 #ifdef __cplusplus
    03458 extern "C" {
    03459 #endif
    03460
    03462   typedef struct GWEN_TABLE_FIELD_LIST_ELEMENT {
    03463     GWEN_TYPE_UINT32 id;
    03464     GWEN_TABLE_FIELD *nextObject;
    03465   } GWEN_TABLE_FIELD_LIST__ELEMENT;
    03466
    03473   typedef struct GWEN_TABLE_FIELD_LIST GWEN_TABLE_FIELD_LIST;
    03475   struct GWEN_TABLE_FIELD_LIST {
    03476     GWEN_TABLE_FIELD *first;
    03477     GWEN_TYPE_UINT32 count;
    03478     GWEN_TYPE_UINT32 id;
    03479   } GWEN_TABLE_FIELD_LIST;
    03480
    03485   void GWEN_TableField_List_AddList(GWEN_TABLE_FIELD_LIST *dst, GWEN_TABLE_FIELD_LIST *l);
    03486
    03490   void GWEN_TableField_List_Add(GWEN_TABLE_FIELD *element, GWEN_TABLE_FIELD_LIST *list);
    03491
    03496   void GWEN_TableField_List_Insert(GWEN_TABLE_FIELD *element, GWEN_TABLE_FIELD_LIST *list);
    03497
    03504   void GWEN_TableField_List_Del(GWEN_TABLE_FIELD *element);
    03505
    03509   GWEN_TABLE_FIELD* GWEN_TableField_List_First(const GWEN_TABLE_FIELD_LIST *l);
    03510
    03514   GWEN_TABLE_FIELD* GWEN_TableField_List_Last(const GWEN_TABLE_FIELD_LIST *l);
    03515
    03520   void GWEN_TableField_List_Clear(GWEN_TABLE_FIELD_LIST *l);
    03521
    03525   GWEN_TABLE_FIELD_LIST* GWEN_TableField_List_new();
    03526
    03530   void GWEN_TableField_List_free(GWEN_TABLE_FIELD_LIST *l);
    03531
    03535   GWEN_TABLE_FIELD* GWEN_TableField_List_Next(const GWEN_TABLE_FIELD *element);
    03536
    03540   GWEN_TABLE_FIELD* GWEN_TableField_List_Previous(const GWEN_TABLE_FIELD *element);
    03541
    03545   GWEN_TYPE_UINT32 GWEN_TableField_List_GetCount(const GWEN_TABLE_FIELD_LIST *l);
    03546
    03547 #ifdef __cplusplus
    03548 }
    03549 #endif
    03550
    03551
    03552 #endif
    03553
    03554
    03555
    03556 /***************************************************************************
    03557  $RCSfile: list1.tmpl,v $
    03558  -------------------
    03559  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    03560  begin       : Sat Jun 28 2003
    03561  copyright   : (C) 2003 by Martin Preuss
    03562  email       : martin@libchipcard.de
    03563
    03564  ***************************************************************************
    03565  *                                                                         *
    03566  *   This library is free software; you can redistribute it and/or         *
    03567  *   modify it under the terms of the GNU Lesser General Public            *
    03568  *   License as published by the Free Software Foundation; either          *
    03569  *   version 2.1 of the License, or (at your option) any later version.    *
    03570  *                                                                         *
    03571  *   This library is distributed in the hope that it will be useful,       *
    03572  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    03573  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    03574  *   Lesser General Public License for more details.                       *
    03575  *                                                                         *
    03576  *   You should have received a copy of the GNU Lesser General Public      *
    03577  *   License along with this library; if not, write to the Free Software   *
    03578  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    03579  *   MA  02111-1307  USA                                                   *
    03580  *                                                                         *
    03581  ***************************************************************************/
    03582
    03583
    03584 #ifndef GWEN_TW_LINE_LIST1_H
    03585 #define GWEN_TW_LINE_LIST1_H
    03586
    03587 #ifdef __cplusplus
    03588 extern "C" {
    03589 #endif
    03590
    03592   typedef struct GWEN_TW_LINE_LIST_ELEMENT {
    03593     GWEN_TYPE_UINT32 id;
    03594     GWEN_TW_LINE *nextObject;
    03595   } GWEN_TW_LINE_LIST__ELEMENT;
    03596
    03603   typedef struct GWEN_TW_LINE_LIST GWEN_TW_LINE_LIST;
    03605   struct GWEN_TW_LINE_LIST {
    03606     GWEN_TW_LINE *first;
    03607     GWEN_TYPE_UINT32 count;
    03608     GWEN_TYPE_UINT32 id;
    03609   } GWEN_TW_LINE_LIST;
    03610
    03615   void GWEN_TWLine_List_AddList(GWEN_TW_LINE_LIST *dst, GWEN_TW_LINE_LIST *l);
    03616
    03620   void GWEN_TWLine_List_Add(GWEN_TW_LINE *element, GWEN_TW_LINE_LIST *list);
    03621
    03626   void GWEN_TWLine_List_Insert(GWEN_TW_LINE *element, GWEN_TW_LINE_LIST *list);
    03627
    03634   void GWEN_TWLine_List_Del(GWEN_TW_LINE *element);
    03635
    03639   GWEN_TW_LINE* GWEN_TWLine_List_First(const GWEN_TW_LINE_LIST *l);
    03640
    03644   GWEN_TW_LINE* GWEN_TWLine_List_Last(const GWEN_TW_LINE_LIST *l);
    03645
    03650   void GWEN_TWLine_List_Clear(GWEN_TW_LINE_LIST *l);
    03651
    03655   GWEN_TW_LINE_LIST* GWEN_TWLine_List_new();
    03656
    03660   void GWEN_TWLine_List_free(GWEN_TW_LINE_LIST *l);
    03661
    03665   GWEN_TW_LINE* GWEN_TWLine_List_Next(const GWEN_TW_LINE *element);
    03666
    03670   GWEN_TW_LINE* GWEN_TWLine_List_Previous(const GWEN_TW_LINE *element);
    03671
    03675   GWEN_TYPE_UINT32 GWEN_TWLine_List_GetCount(const GWEN_TW_LINE_LIST *l);
    03676
    03677 #ifdef __cplusplus
    03678 }
    03679 #endif
    03680
    03681
    03682 #endif
    03683
    03684
    03685
    03686 /***************************************************************************
    03687  $RCSfile: list1.tmpl,v $
    03688  -------------------
    03689  cvs         : $Id: list1.tmpl,v 1.3 2004/08/05 11:44:18 aquamaniac Exp $
    03690  begin       : Sat Jun 28 2003
    03691  copyright   : (C) 2003 by Martin Preuss
    03692  email       : martin@libchipcard.de
    03693
    03694  ***************************************************************************
    03695  *                                                                         *
    03696  *   This library is free software; you can redistribute it and/or         *
    03697  *   modify it under the terms of the GNU Lesser General Public            *
    03698  *   License as published by the Free Software Foundation; either          *
    03699  *   version 2.1 of the License, or (at your option) any later version.    *
    03700  *                                                                         *
    03701  *   This library is distributed in the hope that it will be useful,       *
    03702  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
    03703  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
    03704  *   Lesser General Public License for more details.                       *
    03705  *                                                                         *
    03706  *   You should have received a copy of the GNU Lesser General Public      *
    03707  *   License along with this library; if not, write to the Free Software   *
    03708  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
    03709  *   MA  02111-1307  USA                                                   *
    03710  *                                                                         *
    03711  ***************************************************************************/
    03712
    03713
    03714 #ifndef GWEN_WIDGET_LIST1_H
    03715 #define GWEN_WIDGET_LIST1_H
    03716
    03717 #ifdef __cplusplus
    03718 extern "C" {
    03719 #endif
    03720
    03722   typedef struct GWEN_WIDGET_LIST_ELEMENT {
    03723     GWEN_TYPE_UINT32 id;
    03724     GWEN_WIDGET *nextObject;
    03725   } GWEN_WIDGET_LIST__ELEMENT;
    03726
    03733   typedef struct GWEN_WIDGET_LIST GWEN_WIDGET_LIST;
    03735   struct GWEN_WIDGET_LIST {
    03736     GWEN_WIDGET *first;
    03737     GWEN_TYPE_UINT32 count;
    03738     GWEN_TYPE_UINT32 id;
    03739   } GWEN_WIDGET_LIST;
    03740
    03745   void GWEN_Widget_List_AddList(GWEN_WIDGET_LIST *dst, GWEN_WIDGET_LIST *l);
    03746
    03750   void GWEN_Widget_List_Add(GWEN_WIDGET *element, GWEN_WIDGET_LIST *list);
    03751
    03756   void GWEN_Widget_List_Insert(GWEN_WIDGET *element, GWEN_WIDGET_LIST *list);
    03757
    03764   void GWEN_Widget_List_Del(GWEN_WIDGET *element);
    03765
    03769   GWEN_WIDGET* GWEN_Widget_List_First(const GWEN_WIDGET_LIST *l);
    03770
    03774   GWEN_WIDGET* GWEN_Widget_List_Last(const GWEN_WIDGET_LIST *l);
    03775
    03780   void GWEN_Widget_List_Clear(GWEN_WIDGET_LIST *l);
    03781
    03785   GWEN_WIDGET_LIST* GWEN_Widget_List_new();
    03786
    03790   void GWEN_Widget_List_free(GWEN_WIDGET_LIST *l);
    03791
    03795   GWEN_WIDGET* GWEN_Widget_List_Next(const GWEN_WIDGET *element);
    03796
    03800   GWEN_WIDGET* GWEN_Widget_List_Previous(const GWEN_WIDGET *element);
    03801
    03805   GWEN_TYPE_UINT32 GWEN_Widget_List_GetCount(const GWEN_WIDGET_LIST *l);
    03806
    03807 #ifdef __cplusplus
    03808 }
    03809 #endif
    03810
    03811
    03812 #endif
    03813
    03814
    03815