listdoc.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
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$
00133  -------------------
00134  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
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_LIST1_H
00160 #define t_LIST1_H
00161 
00162 #ifdef __cplusplus
00163 extern "C" {
00164 #endif
00165 
00167   typedef struct t_LIST_ELEMENT {
00168     GWEN_TYPE_UINT32 id;
00169     t *nextObject;
00170   } t_LIST__ELEMENT;
00171 
00178   typedef struct t_LIST t_LIST;
00180   struct t_LIST {
00181     t *first;
00182     GWEN_TYPE_UINT32 count;
00183     GWEN_TYPE_UINT32 id;
00184   } t_LIST;
00185 
00190   void pr_List_AddList(t_LIST *dst, t_LIST *l);
00191 
00195   void pr_List_Add(t *element, t_LIST *list);
00196 
00201   void pr_List_Insert(t *element, t_LIST *list);
00202 
00209   void pr_List_Del(t *element);
00210 
00214   t* pr_List_First(const t_LIST *l);
00215 
00219   t* pr_List_Last(const t_LIST *l);
00220 
00225   void pr_List_Clear(t_LIST *l);
00226 
00230   t_LIST* pr_List_new();
00231 
00235   void pr_List_free(t_LIST *l);
00236 
00240   t* pr_List_Next(const t *element);
00241 
00245   t* pr_List_Previous(const t *element);
00246 
00250   GWEN_TYPE_UINT32 pr_List_GetCount(const t_LIST *l);
00251 
00252 #ifdef __cplusplus
00253 }
00254 #endif
00255 
00256 
00257 #endif
00258 
00259 
00260 
00261 /***************************************************************************
00262  $RCSfile$
00263  -------------------
00264  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
00265  begin       : Sat Jun 28 2003
00266  copyright   : (C) 2003 by Martin Preuss
00267  email       : martin@libchipcard.de
00268 
00269  ***************************************************************************
00270  *                                                                         *
00271  *   This library is free software; you can redistribute it and/or         *
00272  *   modify it under the terms of the GNU Lesser General Public            *
00273  *   License as published by the Free Software Foundation; either          *
00274  *   version 2.1 of the License, or (at your option) any later version.    *
00275  *                                                                         *
00276  *   This library is distributed in the hope that it will be useful,       *
00277  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00278  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00279  *   Lesser General Public License for more details.                       *
00280  *                                                                         *
00281  *   You should have received a copy of the GNU Lesser General Public      *
00282  *   License along with this library; if not, write to the Free Software   *
00283  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00284  *   MA  02111-1307  USA                                                   *
00285  *                                                                         *
00286  ***************************************************************************/
00287 
00288 
00289 #ifndef MYSTRUCT_LIST1_H
00290 #define MYSTRUCT_LIST1_H
00291 
00292 #ifdef __cplusplus
00293 extern "C" {
00294 #endif
00295 
00297   typedef struct MYSTRUCT_LIST_ELEMENT {
00298     GWEN_TYPE_UINT32 id;
00299     MYSTRUCT *nextObject;
00300   } MYSTRUCT_LIST__ELEMENT;
00301 
00308   typedef struct MYSTRUCT_LIST MYSTRUCT_LIST;
00310   struct MYSTRUCT_LIST {
00311     MYSTRUCT *first;
00312     GWEN_TYPE_UINT32 count;
00313     GWEN_TYPE_UINT32 id;
00314   } MYSTRUCT_LIST;
00315 
00320   void MyStruct_List_AddList(MYSTRUCT_LIST *dst, MYSTRUCT_LIST *l);
00321 
00325   void MyStruct_List_Add(MYSTRUCT *element, MYSTRUCT_LIST *list);
00326 
00331   void MyStruct_List_Insert(MYSTRUCT *element, MYSTRUCT_LIST *list);
00332 
00339   void MyStruct_List_Del(MYSTRUCT *element);
00340 
00344   MYSTRUCT* MyStruct_List_First(const MYSTRUCT_LIST *l);
00345 
00349   MYSTRUCT* MyStruct_List_Last(const MYSTRUCT_LIST *l);
00350 
00355   void MyStruct_List_Clear(MYSTRUCT_LIST *l);
00356 
00360   MYSTRUCT_LIST* MyStruct_List_new();
00361 
00365   void MyStruct_List_free(MYSTRUCT_LIST *l);
00366 
00370   MYSTRUCT* MyStruct_List_Next(const MYSTRUCT *element);
00371 
00375   MYSTRUCT* MyStruct_List_Previous(const MYSTRUCT *element);
00376 
00380   GWEN_TYPE_UINT32 MyStruct_List_GetCount(const MYSTRUCT_LIST *l);
00381 
00382 #ifdef __cplusplus
00383 }
00384 #endif
00385 
00386 
00387 #endif
00388 
00389 
00390 
00391 /***************************************************************************
00392  $RCSfile$
00393  -------------------
00394  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
00395  begin       : Sat Jun 28 2003
00396  copyright   : (C) 2003 by Martin Preuss
00397  email       : martin@libchipcard.de
00398 
00399  ***************************************************************************
00400  *                                                                         *
00401  *   This library is free software; you can redistribute it and/or         *
00402  *   modify it under the terms of the GNU Lesser General Public            *
00403  *   License as published by the Free Software Foundation; either          *
00404  *   version 2.1 of the License, or (at your option) any later version.    *
00405  *                                                                         *
00406  *   This library is distributed in the hope that it will be useful,       *
00407  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00408  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00409  *   Lesser General Public License for more details.                       *
00410  *                                                                         *
00411  *   You should have received a copy of the GNU Lesser General Public      *
00412  *   License along with this library; if not, write to the Free Software   *
00413  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00414  *   MA  02111-1307  USA                                                   *
00415  *                                                                         *
00416  ***************************************************************************/
00417 
00418 
00419 #ifndef t_LIST2_H
00420 #define t_LIST2_H
00421 
00422 
00423 #ifdef __cplusplus
00424 extern "C" {
00425 #endif
00426 
00433   typedef struct t_LIST2 t_LIST2;
00434 
00438   typedef struct t_LIST2_ITERATOR t_LIST2_ITERATOR;
00439 
00443   typedef t* (t_LIST2_FOREACH)(t *element,
00444                                                  void *user_data);
00445 
00449   t_LIST2 *pr_List2_new(); 
00450 
00454   void pr_List2_free(t_LIST2 *l); 
00455 
00459   void pr_List2_Dump(t_LIST2 *l, FILE *f, unsigned int indent); 
00460 
00464   void pr_List2_PushBack(t_LIST2 *l, t *p); 
00465    
00470   void pr_List2_PushFront(t_LIST2 *l, t *p); 
00471 
00476   t *pr_List2_GetFront(t_LIST2 *l); 
00477    
00482   t *pr_List2_GetBack(t_LIST2 *l); 
00483 
00488   void pr_List2_Erase(t_LIST2 *l,
00489                                t_LIST2_ITERATOR *it);
00490 
00496   unsigned int pr_List2_GetSize(t_LIST2 *l); 
00497 
00502   void pr_List2_PopBack(t_LIST2 *l); 
00503    
00508   void pr_List2_PopFront(t_LIST2 *l); 
00509 
00513   void pr_List2_Clear(t_LIST2 *l); 
00514 
00518   t_LIST2_ITERATOR *pr_List2_First(t_LIST2 *l); 
00519    
00523   t_LIST2_ITERATOR *pr_List2_Last(t_LIST2 *l); 
00524 
00528   t_LIST2_ITERATOR *pr_List2Iterator_new(t_LIST2 *l);
00529 
00533   void pr_List2Iterator_free(t_LIST2_ITERATOR *li); 
00534 
00539   t *pr_List2Iterator_Previous(t_LIST2_ITERATOR *li); 
00540    
00545   t *pr_List2Iterator_Next(t_LIST2_ITERATOR *li); 
00546 
00551   t *pr_List2Iterator_Data(t_LIST2_ITERATOR *li); 
00552 
00564   t *pr_List2_ForEach(t_LIST2 *list,
00565                                         t_LIST2_FOREACH func,
00566                                         void *user_data);
00567 
00568 
00569   typedef struct t_CONSTLIST2 t_CONSTLIST2; 
00570   typedef struct t_CONSTLIST2_ITERATOR t_CONSTLIST2_ITERATOR; 
00571   typedef const t*
00572     (t_CONSTLIST2_FOREACH)(const t *element,
00573                                     void *user_data);
00574   
00575    
00576   t_CONSTLIST2 *pr_ConstList2_new(); 
00577    
00578   void pr_ConstList2_free(t_CONSTLIST2 *l); 
00579    
00580   void pr_ConstList2_PushBack(t_CONSTLIST2 *l, const t *p); 
00581    
00582   void pr_ConstList2_PushFront(t_CONSTLIST2 *l, const t *p); 
00583    
00584   const t *pr_ConstList2_GetFront(t_CONSTLIST2 *l); 
00585    
00586   const t *pr_ConstList2_GetBack(t_CONSTLIST2 *l); 
00587    
00588   unsigned int pr_ConstList2_GetSize(t_CONSTLIST2 *l); 
00589    
00590   void pr_ConstList2_PopBack(t_CONSTLIST2 *l); 
00591    
00592   void pr_ConstList2_PopFront(t_CONSTLIST2 *l); 
00593    
00594   void pr_ConstList2_Clear(t_CONSTLIST2 *l); 
00595    
00596   t_CONSTLIST2_ITERATOR *pr_ConstList2_First(t_CONSTLIST2 *l); 
00597    
00598   t_CONSTLIST2_ITERATOR *pr_ConstList2_Last(t_CONSTLIST2 *l); 
00599    
00600   t_CONSTLIST2_ITERATOR *pr_ConstList2Iterator_new(t_CONSTLIST2 *l); 
00601    
00602   void pr_ConstList2Iterator_free(t_CONSTLIST2_ITERATOR *li); 
00603    
00604   const t *pr_ConstList2Iterator_Previous(t_CONSTLIST2_ITERATOR *li); 
00605    
00606   const t *pr_ConstList2Iterator_Next(t_CONSTLIST2_ITERATOR *li); 
00607    
00608   const t *pr_ConstList2Iterator_Data(t_CONSTLIST2_ITERATOR *li); 
00609    
00621   const t *pr_ConstList2_ForEach(t_CONSTLIST2 *list,
00622         t_CONSTLIST2_FOREACH func, void *user_data);
00623 
00624 
00625 #ifdef __cplusplus
00626 }
00627 #endif
00628 
00629 
00630 #endif /* t_LIST_H */
00631 
00632 
00633 
00634 /***************************************************************************
00635  $RCSfile$
00636  -------------------
00637  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
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 t_LIST2_H
00663 #define t_LIST2_H
00664 
00665 
00666 #ifdef __cplusplus
00667 extern "C" {
00668 #endif
00669 
00676   typedef struct t_LIST2 t_LIST2;
00677 
00681   typedef struct t_LIST2_ITERATOR t_LIST2_ITERATOR;
00682 
00686   typedef t* (t_LIST2_FOREACH)(t *element,
00687                                                  void *user_data);
00688 
00692   t_LIST2 *pr_List2_new(); 
00693 
00697   void pr_List2_free(t_LIST2 *l); 
00698 
00702   void pr_List2_Dump(t_LIST2 *l, FILE *f, unsigned int indent); 
00703 
00707   void pr_List2_PushBack(t_LIST2 *l, t *p); 
00708    
00713   void pr_List2_PushFront(t_LIST2 *l, t *p); 
00714 
00719   t *pr_List2_GetFront(t_LIST2 *l); 
00720    
00725   t *pr_List2_GetBack(t_LIST2 *l); 
00726 
00731   void pr_List2_Erase(t_LIST2 *l,
00732                                t_LIST2_ITERATOR *it);
00733 
00739   unsigned int pr_List2_GetSize(t_LIST2 *l); 
00740 
00745   void pr_List2_PopBack(t_LIST2 *l); 
00746    
00751   void pr_List2_PopFront(t_LIST2 *l); 
00752 
00756   void pr_List2_Clear(t_LIST2 *l); 
00757 
00761   t_LIST2_ITERATOR *pr_List2_First(t_LIST2 *l); 
00762    
00766   t_LIST2_ITERATOR *pr_List2_Last(t_LIST2 *l); 
00767 
00771   t_LIST2_ITERATOR *pr_List2Iterator_new(t_LIST2 *l);
00772 
00776   void pr_List2Iterator_free(t_LIST2_ITERATOR *li); 
00777 
00782   t *pr_List2Iterator_Previous(t_LIST2_ITERATOR *li); 
00783    
00788   t *pr_List2Iterator_Next(t_LIST2_ITERATOR *li); 
00789 
00794   t *pr_List2Iterator_Data(t_LIST2_ITERATOR *li); 
00795 
00807   t *pr_List2_ForEach(t_LIST2 *list,
00808                                         t_LIST2_FOREACH func,
00809                                         void *user_data);
00810 
00811 
00812   typedef struct t_CONSTLIST2 t_CONSTLIST2; 
00813   typedef struct t_CONSTLIST2_ITERATOR t_CONSTLIST2_ITERATOR; 
00814   typedef const t*
00815     (t_CONSTLIST2_FOREACH)(const t *element,
00816                                     void *user_data);
00817   
00818    
00819   t_CONSTLIST2 *pr_ConstList2_new(); 
00820    
00821   void pr_ConstList2_free(t_CONSTLIST2 *l); 
00822    
00823   void pr_ConstList2_PushBack(t_CONSTLIST2 *l, const t *p); 
00824    
00825   void pr_ConstList2_PushFront(t_CONSTLIST2 *l, const t *p); 
00826    
00827   const t *pr_ConstList2_GetFront(t_CONSTLIST2 *l); 
00828    
00829   const t *pr_ConstList2_GetBack(t_CONSTLIST2 *l); 
00830    
00831   unsigned int pr_ConstList2_GetSize(t_CONSTLIST2 *l); 
00832    
00833   void pr_ConstList2_PopBack(t_CONSTLIST2 *l); 
00834    
00835   void pr_ConstList2_PopFront(t_CONSTLIST2 *l); 
00836    
00837   void pr_ConstList2_Clear(t_CONSTLIST2 *l); 
00838    
00839   t_CONSTLIST2_ITERATOR *pr_ConstList2_First(t_CONSTLIST2 *l); 
00840    
00841   t_CONSTLIST2_ITERATOR *pr_ConstList2_Last(t_CONSTLIST2 *l); 
00842    
00843   t_CONSTLIST2_ITERATOR *pr_ConstList2Iterator_new(t_CONSTLIST2 *l); 
00844    
00845   void pr_ConstList2Iterator_free(t_CONSTLIST2_ITERATOR *li); 
00846    
00847   const t *pr_ConstList2Iterator_Previous(t_CONSTLIST2_ITERATOR *li); 
00848    
00849   const t *pr_ConstList2Iterator_Next(t_CONSTLIST2_ITERATOR *li); 
00850    
00851   const t *pr_ConstList2Iterator_Data(t_CONSTLIST2_ITERATOR *li); 
00852    
00864   const t *pr_ConstList2_ForEach(t_CONSTLIST2 *list,
00865         t_CONSTLIST2_FOREACH func, void *user_data);
00866 
00867 
00868 #ifdef __cplusplus
00869 }
00870 #endif
00871 
00872 
00873 #endif /* t_LIST_H */
00874 
00875 
00876 
00877 /***************************************************************************
00878  $RCSfile$
00879  -------------------
00880  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
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_LIST2_H
00906 #define GWEN_PLUGIN_DESCRIPTION_LIST2_H
00907 
00908 
00909 #ifdef __cplusplus
00910 extern "C" {
00911 #endif
00912 
00919   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST2 GWEN_PLUGIN_DESCRIPTION_LIST2;
00920 
00924   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR;
00925 
00929   typedef GWEN_PLUGIN_DESCRIPTION* (GWEN_PLUGIN_DESCRIPTION_LIST2_FOREACH)(GWEN_PLUGIN_DESCRIPTION *element,
00930                                                  void *user_data);
00931 
00935   GWEN_PLUGIN_DESCRIPTION_LIST2 *GWEN_PluginDescription_List2_new(); 
00936 
00940   void GWEN_PluginDescription_List2_free(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00941 
00945   void GWEN_PluginDescription_List2_Dump(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, FILE *f, unsigned int indent); 
00946 
00950   void GWEN_PluginDescription_List2_PushBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, GWEN_PLUGIN_DESCRIPTION *p); 
00951    
00956   void GWEN_PluginDescription_List2_PushFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l, GWEN_PLUGIN_DESCRIPTION *p); 
00957 
00962   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_GetFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00963    
00968   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_GetBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00969 
00974   void GWEN_PluginDescription_List2_Erase(GWEN_PLUGIN_DESCRIPTION_LIST2 *l,
00975                                GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *it);
00976 
00982   unsigned int GWEN_PluginDescription_List2_GetSize(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00983 
00988   void GWEN_PluginDescription_List2_PopBack(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00989    
00994   void GWEN_PluginDescription_List2_PopFront(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
00995 
00999   void GWEN_PluginDescription_List2_Clear(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
01000 
01004   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2_First(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
01005    
01009   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2_Last(GWEN_PLUGIN_DESCRIPTION_LIST2 *l); 
01010 
01014   GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *GWEN_PluginDescription_List2Iterator_new(GWEN_PLUGIN_DESCRIPTION_LIST2 *l);
01015 
01019   void GWEN_PluginDescription_List2Iterator_free(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
01020 
01025   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Previous(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
01026    
01031   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Next(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
01032 
01037   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2Iterator_Data(GWEN_PLUGIN_DESCRIPTION_LIST2_ITERATOR *li); 
01038 
01050   GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_List2_ForEach(GWEN_PLUGIN_DESCRIPTION_LIST2 *list,
01051                                         GWEN_PLUGIN_DESCRIPTION_LIST2_FOREACH func,
01052                                         void *user_data);
01053 
01054 
01055   typedef struct GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 GWEN_PLUGIN_DESCRIPTION_CONSTLIST2; 
01056   typedef struct GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR; 
01057   typedef const GWEN_PLUGIN_DESCRIPTION*
01058     (GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_FOREACH)(const GWEN_PLUGIN_DESCRIPTION *element,
01059                                     void *user_data);
01060   
01061    
01062   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *GWEN_PluginDescription_ConstList2_new(); 
01063    
01064   void GWEN_PluginDescription_ConstList2_free(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01065    
01066   void GWEN_PluginDescription_ConstList2_PushBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l, const GWEN_PLUGIN_DESCRIPTION *p); 
01067    
01068   void GWEN_PluginDescription_ConstList2_PushFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l, const GWEN_PLUGIN_DESCRIPTION *p); 
01069    
01070   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_GetFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01071    
01072   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_GetBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01073    
01074   unsigned int GWEN_PluginDescription_ConstList2_GetSize(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01075    
01076   void GWEN_PluginDescription_ConstList2_PopBack(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01077    
01078   void GWEN_PluginDescription_ConstList2_PopFront(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01079    
01080   void GWEN_PluginDescription_ConstList2_Clear(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01081    
01082   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2_First(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01083    
01084   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2_Last(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01085    
01086   GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *GWEN_PluginDescription_ConstList2Iterator_new(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *l); 
01087    
01088   void GWEN_PluginDescription_ConstList2Iterator_free(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
01089    
01090   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Previous(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
01091    
01092   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Next(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
01093    
01094   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2Iterator_Data(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_ITERATOR *li); 
01095    
01107   const GWEN_PLUGIN_DESCRIPTION *GWEN_PluginDescription_ConstList2_ForEach(GWEN_PLUGIN_DESCRIPTION_CONSTLIST2 *list,
01108         GWEN_PLUGIN_DESCRIPTION_CONSTLIST2_FOREACH func, void *user_data);
01109 
01110 
01111 #ifdef __cplusplus
01112 }
01113 #endif
01114 
01115 
01116 #endif /* GWEN_PLUGIN_DESCRIPTION_LIST_H */
01117 
01118 
01119 
01120 /***************************************************************************
01121  $RCSfile$
01122  -------------------
01123  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
01124  begin       : Sat Jun 28 2003
01125  copyright   : (C) 2003 by Martin Preuss
01126  email       : martin@libchipcard.de
01127 
01128  ***************************************************************************
01129  *                                                                         *
01130  *   This library is free software; you can redistribute it and/or         *
01131  *   modify it under the terms of the GNU Lesser General Public            *
01132  *   License as published by the Free Software Foundation; either          *
01133  *   version 2.1 of the License, or (at your option) any later version.    *
01134  *                                                                         *
01135  *   This library is distributed in the hope that it will be useful,       *
01136  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01137  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01138  *   Lesser General Public License for more details.                       *
01139  *                                                                         *
01140  *   You should have received a copy of the GNU Lesser General Public      *
01141  *   License along with this library; if not, write to the Free Software   *
01142  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01143  *   MA  02111-1307  USA                                                   *
01144  *                                                                         *
01145  ***************************************************************************/
01146 
01147 
01148 #ifndef GWEN_PLUGIN_DESCRIPTION_LIST1_H
01149 #define GWEN_PLUGIN_DESCRIPTION_LIST1_H
01150 
01151 #ifdef __cplusplus
01152 extern "C" {
01153 #endif
01154 
01156   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST_ELEMENT {
01157     GWEN_TYPE_UINT32 id;
01158     GWEN_PLUGIN_DESCRIPTION *nextObject;
01159   } GWEN_PLUGIN_DESCRIPTION_LIST__ELEMENT;
01160 
01167   typedef struct GWEN_PLUGIN_DESCRIPTION_LIST GWEN_PLUGIN_DESCRIPTION_LIST;
01169   struct GWEN_PLUGIN_DESCRIPTION_LIST {
01170     GWEN_PLUGIN_DESCRIPTION *first;
01171     GWEN_TYPE_UINT32 count;
01172     GWEN_TYPE_UINT32 id;
01173   } GWEN_PLUGIN_DESCRIPTION_LIST;
01174 
01179   void GWEN_PluginDescription_List_AddList(GWEN_PLUGIN_DESCRIPTION_LIST *dst, GWEN_PLUGIN_DESCRIPTION_LIST *l);
01180 
01184   void GWEN_PluginDescription_List_Add(GWEN_PLUGIN_DESCRIPTION *element, GWEN_PLUGIN_DESCRIPTION_LIST *list);
01185 
01190   void GWEN_PluginDescription_List_Insert(GWEN_PLUGIN_DESCRIPTION *element, GWEN_PLUGIN_DESCRIPTION_LIST *list);
01191 
01198   void GWEN_PluginDescription_List_Del(GWEN_PLUGIN_DESCRIPTION *element);
01199 
01203   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_First(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
01204 
01208   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Last(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
01209 
01214   void GWEN_PluginDescription_List_Clear(GWEN_PLUGIN_DESCRIPTION_LIST *l);
01215 
01219   GWEN_PLUGIN_DESCRIPTION_LIST* GWEN_PluginDescription_List_new();
01220 
01224   void GWEN_PluginDescription_List_free(GWEN_PLUGIN_DESCRIPTION_LIST *l);
01225 
01229   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Next(const GWEN_PLUGIN_DESCRIPTION *element);
01230 
01234   GWEN_PLUGIN_DESCRIPTION* GWEN_PluginDescription_List_Previous(const GWEN_PLUGIN_DESCRIPTION *element);
01235 
01239   GWEN_TYPE_UINT32 GWEN_PluginDescription_List_GetCount(const GWEN_PLUGIN_DESCRIPTION_LIST *l);
01240 
01241 #ifdef __cplusplus
01242 }
01243 #endif
01244 
01245 
01246 #endif
01247 
01248 
01249 
01250 /***************************************************************************
01251  $RCSfile$
01252  -------------------
01253  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
01254  begin       : Sat Jun 28 2003
01255  copyright   : (C) 2003 by Martin Preuss
01256  email       : martin@libchipcard.de
01257 
01258  ***************************************************************************
01259  *                                                                         *
01260  *   This library is free software; you can redistribute it and/or         *
01261  *   modify it under the terms of the GNU Lesser General Public            *
01262  *   License as published by the Free Software Foundation; either          *
01263  *   version 2.1 of the License, or (at your option) any later version.    *
01264  *                                                                         *
01265  *   This library is distributed in the hope that it will be useful,       *
01266  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01267  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01268  *   Lesser General Public License for more details.                       *
01269  *                                                                         *
01270  *   You should have received a copy of the GNU Lesser General Public      *
01271  *   License along with this library; if not, write to the Free Software   *
01272  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01273  *   MA  02111-1307  USA                                                   *
01274  *                                                                         *
01275  ***************************************************************************/
01276 
01277 
01278 #ifndef GWEN_WAITCALLBACK_LIST1_H
01279 #define GWEN_WAITCALLBACK_LIST1_H
01280 
01281 #ifdef __cplusplus
01282 extern "C" {
01283 #endif
01284 
01286   typedef struct GWEN_WAITCALLBACK_LIST_ELEMENT {
01287     GWEN_TYPE_UINT32 id;
01288     GWEN_WAITCALLBACK *nextObject;
01289   } GWEN_WAITCALLBACK_LIST__ELEMENT;
01290 
01297   typedef struct GWEN_WAITCALLBACK_LIST GWEN_WAITCALLBACK_LIST;
01299   struct GWEN_WAITCALLBACK_LIST {
01300     GWEN_WAITCALLBACK *first;
01301     GWEN_TYPE_UINT32 count;
01302     GWEN_TYPE_UINT32 id;
01303   } GWEN_WAITCALLBACK_LIST;
01304 
01309   void GWEN_WaitCallback_List_AddList(GWEN_WAITCALLBACK_LIST *dst, GWEN_WAITCALLBACK_LIST *l);
01310 
01314   void GWEN_WaitCallback_List_Add(GWEN_WAITCALLBACK *element, GWEN_WAITCALLBACK_LIST *list);
01315 
01320   void GWEN_WaitCallback_List_Insert(GWEN_WAITCALLBACK *element, GWEN_WAITCALLBACK_LIST *list);
01321 
01328   void GWEN_WaitCallback_List_Del(GWEN_WAITCALLBACK *element);
01329 
01333   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_First(const GWEN_WAITCALLBACK_LIST *l);
01334 
01338   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Last(const GWEN_WAITCALLBACK_LIST *l);
01339 
01344   void GWEN_WaitCallback_List_Clear(GWEN_WAITCALLBACK_LIST *l);
01345 
01349   GWEN_WAITCALLBACK_LIST* GWEN_WaitCallback_List_new();
01350 
01354   void GWEN_WaitCallback_List_free(GWEN_WAITCALLBACK_LIST *l);
01355 
01359   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Next(const GWEN_WAITCALLBACK *element);
01360 
01364   GWEN_WAITCALLBACK* GWEN_WaitCallback_List_Previous(const GWEN_WAITCALLBACK *element);
01365 
01369   GWEN_TYPE_UINT32 GWEN_WaitCallback_List_GetCount(const GWEN_WAITCALLBACK_LIST *l);
01370 
01371 #ifdef __cplusplus
01372 }
01373 #endif
01374 
01375 
01376 #endif
01377 
01378 
01379 
01380 /***************************************************************************
01381  $RCSfile$
01382  -------------------
01383  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
01384  begin       : Sat Jun 28 2003
01385  copyright   : (C) 2003 by Martin Preuss
01386  email       : martin@libchipcard.de
01387 
01388  ***************************************************************************
01389  *                                                                         *
01390  *   This library is free software; you can redistribute it and/or         *
01391  *   modify it under the terms of the GNU Lesser General Public            *
01392  *   License as published by the Free Software Foundation; either          *
01393  *   version 2.1 of the License, or (at your option) any later version.    *
01394  *                                                                         *
01395  *   This library is distributed in the hope that it will be useful,       *
01396  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01397  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01398  *   Lesser General Public License for more details.                       *
01399  *                                                                         *
01400  *   You should have received a copy of the GNU Lesser General Public      *
01401  *   License along with this library; if not, write to the Free Software   *
01402  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01403  *   MA  02111-1307  USA                                                   *
01404  *                                                                         *
01405  ***************************************************************************/
01406 
01407 
01408 #ifndef GWEN_NETLAYER_LIST2_H
01409 #define GWEN_NETLAYER_LIST2_H
01410 
01411 
01412 #ifdef __cplusplus
01413 extern "C" {
01414 #endif
01415 
01422   typedef struct GWEN_NETLAYER_LIST2 GWEN_NETLAYER_LIST2;
01423 
01427   typedef struct GWEN_NETLAYER_LIST2_ITERATOR GWEN_NETLAYER_LIST2_ITERATOR;
01428 
01432   typedef GWEN_NETLAYER* (GWEN_NETLAYER_LIST2_FOREACH)(GWEN_NETLAYER *element,
01433                                                  void *user_data);
01434 
01438   GWEN_NETLAYER_LIST2 *GWEN_NetLayer_List2_new(); 
01439 
01443   void GWEN_NetLayer_List2_free(GWEN_NETLAYER_LIST2 *l); 
01444 
01448   void GWEN_NetLayer_List2_Dump(GWEN_NETLAYER_LIST2 *l, FILE *f, unsigned int indent); 
01449 
01453   void GWEN_NetLayer_List2_PushBack(GWEN_NETLAYER_LIST2 *l, GWEN_NETLAYER *p); 
01454    
01459   void GWEN_NetLayer_List2_PushFront(GWEN_NETLAYER_LIST2 *l, GWEN_NETLAYER *p); 
01460 
01465   GWEN_NETLAYER *GWEN_NetLayer_List2_GetFront(GWEN_NETLAYER_LIST2 *l); 
01466    
01471   GWEN_NETLAYER *GWEN_NetLayer_List2_GetBack(GWEN_NETLAYER_LIST2 *l); 
01472 
01477   void GWEN_NetLayer_List2_Erase(GWEN_NETLAYER_LIST2 *l,
01478                                GWEN_NETLAYER_LIST2_ITERATOR *it);
01479 
01485   unsigned int GWEN_NetLayer_List2_GetSize(GWEN_NETLAYER_LIST2 *l); 
01486 
01491   void GWEN_NetLayer_List2_PopBack(GWEN_NETLAYER_LIST2 *l); 
01492    
01497   void GWEN_NetLayer_List2_PopFront(GWEN_NETLAYER_LIST2 *l); 
01498 
01502   void GWEN_NetLayer_List2_Clear(GWEN_NETLAYER_LIST2 *l); 
01503 
01507   GWEN_NETLAYER_LIST2_ITERATOR *GWEN_NetLayer_List2_First(GWEN_NETLAYER_LIST2 *l); 
01508    
01512   GWEN_NETLAYER_LIST2_ITERATOR *GWEN_NetLayer_List2_Last(GWEN_NETLAYER_LIST2 *l); 
01513 
01517   GWEN_NETLAYER_LIST2_ITERATOR *GWEN_NetLayer_List2Iterator_new(GWEN_NETLAYER_LIST2 *l);
01518 
01522   void GWEN_NetLayer_List2Iterator_free(GWEN_NETLAYER_LIST2_ITERATOR *li); 
01523 
01528   GWEN_NETLAYER *GWEN_NetLayer_List2Iterator_Previous(GWEN_NETLAYER_LIST2_ITERATOR *li); 
01529    
01534   GWEN_NETLAYER *GWEN_NetLayer_List2Iterator_Next(GWEN_NETLAYER_LIST2_ITERATOR *li); 
01535 
01540   GWEN_NETLAYER *GWEN_NetLayer_List2Iterator_Data(GWEN_NETLAYER_LIST2_ITERATOR *li); 
01541 
01553   GWEN_NETLAYER *GWEN_NetLayer_List2_ForEach(GWEN_NETLAYER_LIST2 *list,
01554                                         GWEN_NETLAYER_LIST2_FOREACH func,
01555                                         void *user_data);
01556 
01557 
01558   typedef struct GWEN_NETLAYER_CONSTLIST2 GWEN_NETLAYER_CONSTLIST2; 
01559   typedef struct GWEN_NETLAYER_CONSTLIST2_ITERATOR GWEN_NETLAYER_CONSTLIST2_ITERATOR; 
01560   typedef const GWEN_NETLAYER*
01561     (GWEN_NETLAYER_CONSTLIST2_FOREACH)(const GWEN_NETLAYER *element,
01562                                     void *user_data);
01563   
01564    
01565   GWEN_NETLAYER_CONSTLIST2 *GWEN_NetLayer_ConstList2_new(); 
01566    
01567   void GWEN_NetLayer_ConstList2_free(GWEN_NETLAYER_CONSTLIST2 *l); 
01568    
01569   void GWEN_NetLayer_ConstList2_PushBack(GWEN_NETLAYER_CONSTLIST2 *l, const GWEN_NETLAYER *p); 
01570    
01571   void GWEN_NetLayer_ConstList2_PushFront(GWEN_NETLAYER_CONSTLIST2 *l, const GWEN_NETLAYER *p); 
01572    
01573   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2_GetFront(GWEN_NETLAYER_CONSTLIST2 *l); 
01574    
01575   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2_GetBack(GWEN_NETLAYER_CONSTLIST2 *l); 
01576    
01577   unsigned int GWEN_NetLayer_ConstList2_GetSize(GWEN_NETLAYER_CONSTLIST2 *l); 
01578    
01579   void GWEN_NetLayer_ConstList2_PopBack(GWEN_NETLAYER_CONSTLIST2 *l); 
01580    
01581   void GWEN_NetLayer_ConstList2_PopFront(GWEN_NETLAYER_CONSTLIST2 *l); 
01582    
01583   void GWEN_NetLayer_ConstList2_Clear(GWEN_NETLAYER_CONSTLIST2 *l); 
01584    
01585   GWEN_NETLAYER_CONSTLIST2_ITERATOR *GWEN_NetLayer_ConstList2_First(GWEN_NETLAYER_CONSTLIST2 *l); 
01586    
01587   GWEN_NETLAYER_CONSTLIST2_ITERATOR *GWEN_NetLayer_ConstList2_Last(GWEN_NETLAYER_CONSTLIST2 *l); 
01588    
01589   GWEN_NETLAYER_CONSTLIST2_ITERATOR *GWEN_NetLayer_ConstList2Iterator_new(GWEN_NETLAYER_CONSTLIST2 *l); 
01590    
01591   void GWEN_NetLayer_ConstList2Iterator_free(GWEN_NETLAYER_CONSTLIST2_ITERATOR *li); 
01592    
01593   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2Iterator_Previous(GWEN_NETLAYER_CONSTLIST2_ITERATOR *li); 
01594    
01595   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2Iterator_Next(GWEN_NETLAYER_CONSTLIST2_ITERATOR *li); 
01596    
01597   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2Iterator_Data(GWEN_NETLAYER_CONSTLIST2_ITERATOR *li); 
01598    
01610   const GWEN_NETLAYER *GWEN_NetLayer_ConstList2_ForEach(GWEN_NETLAYER_CONSTLIST2 *list,
01611         GWEN_NETLAYER_CONSTLIST2_FOREACH func, void *user_data);
01612 
01613 
01614 #ifdef __cplusplus
01615 }
01616 #endif
01617 
01618 
01619 #endif /* GWEN_NETLAYER_LIST_H */
01620 
01621 
01622 
01623 /***************************************************************************
01624  $RCSfile$
01625  -------------------
01626  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
01627  begin       : Sat Jun 28 2003
01628  copyright   : (C) 2003 by Martin Preuss
01629  email       : martin@libchipcard.de
01630 
01631  ***************************************************************************
01632  *                                                                         *
01633  *   This library is free software; you can redistribute it and/or         *
01634  *   modify it under the terms of the GNU Lesser General Public            *
01635  *   License as published by the Free Software Foundation; either          *
01636  *   version 2.1 of the License, or (at your option) any later version.    *
01637  *                                                                         *
01638  *   This library is distributed in the hope that it will be useful,       *
01639  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01640  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01641  *   Lesser General Public License for more details.                       *
01642  *                                                                         *
01643  *   You should have received a copy of the GNU Lesser General Public      *
01644  *   License along with this library; if not, write to the Free Software   *
01645  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01646  *   MA  02111-1307  USA                                                   *
01647  *                                                                         *
01648  ***************************************************************************/
01649 
01650 
01651 #ifndef GWEN_URL_LIST2_H
01652 #define GWEN_URL_LIST2_H
01653 
01654 
01655 #ifdef __cplusplus
01656 extern "C" {
01657 #endif
01658 
01665   typedef struct GWEN_URL_LIST2 GWEN_URL_LIST2;
01666 
01670   typedef struct GWEN_URL_LIST2_ITERATOR GWEN_URL_LIST2_ITERATOR;
01671 
01675   typedef GWEN_URL* (GWEN_URL_LIST2_FOREACH)(GWEN_URL *element,
01676                                                  void *user_data);
01677 
01681   GWEN_URL_LIST2 *GWEN_Url_List2_new(); 
01682 
01686   void GWEN_Url_List2_free(GWEN_URL_LIST2 *l); 
01687 
01691   void GWEN_Url_List2_Dump(GWEN_URL_LIST2 *l, FILE *f, unsigned int indent); 
01692 
01696   void GWEN_Url_List2_PushBack(GWEN_URL_LIST2 *l, GWEN_URL *p); 
01697    
01702   void GWEN_Url_List2_PushFront(GWEN_URL_LIST2 *l, GWEN_URL *p); 
01703 
01708   GWEN_URL *GWEN_Url_List2_GetFront(GWEN_URL_LIST2 *l); 
01709    
01714   GWEN_URL *GWEN_Url_List2_GetBack(GWEN_URL_LIST2 *l); 
01715 
01720   void GWEN_Url_List2_Erase(GWEN_URL_LIST2 *l,
01721                                GWEN_URL_LIST2_ITERATOR *it);
01722 
01728   unsigned int GWEN_Url_List2_GetSize(GWEN_URL_LIST2 *l); 
01729 
01734   void GWEN_Url_List2_PopBack(GWEN_URL_LIST2 *l); 
01735    
01740   void GWEN_Url_List2_PopFront(GWEN_URL_LIST2 *l); 
01741 
01745   void GWEN_Url_List2_Clear(GWEN_URL_LIST2 *l); 
01746 
01750   GWEN_URL_LIST2_ITERATOR *GWEN_Url_List2_First(GWEN_URL_LIST2 *l); 
01751    
01755   GWEN_URL_LIST2_ITERATOR *GWEN_Url_List2_Last(GWEN_URL_LIST2 *l); 
01756 
01760   GWEN_URL_LIST2_ITERATOR *GWEN_Url_List2Iterator_new(GWEN_URL_LIST2 *l);
01761 
01765   void GWEN_Url_List2Iterator_free(GWEN_URL_LIST2_ITERATOR *li); 
01766 
01771   GWEN_URL *GWEN_Url_List2Iterator_Previous(GWEN_URL_LIST2_ITERATOR *li); 
01772    
01777   GWEN_URL *GWEN_Url_List2Iterator_Next(GWEN_URL_LIST2_ITERATOR *li); 
01778 
01783   GWEN_URL *GWEN_Url_List2Iterator_Data(GWEN_URL_LIST2_ITERATOR *li); 
01784 
01796   GWEN_URL *GWEN_Url_List2_ForEach(GWEN_URL_LIST2 *list,
01797                                         GWEN_URL_LIST2_FOREACH func,
01798                                         void *user_data);
01799 
01800 
01801   typedef struct GWEN_URL_CONSTLIST2 GWEN_URL_CONSTLIST2; 
01802   typedef struct GWEN_URL_CONSTLIST2_ITERATOR GWEN_URL_CONSTLIST2_ITERATOR; 
01803   typedef const GWEN_URL*
01804     (GWEN_URL_CONSTLIST2_FOREACH)(const GWEN_URL *element,
01805                                     void *user_data);
01806   
01807    
01808   GWEN_URL_CONSTLIST2 *GWEN_Url_ConstList2_new(); 
01809    
01810   void GWEN_Url_ConstList2_free(GWEN_URL_CONSTLIST2 *l); 
01811    
01812   void GWEN_Url_ConstList2_PushBack(GWEN_URL_CONSTLIST2 *l, const GWEN_URL *p); 
01813    
01814   void GWEN_Url_ConstList2_PushFront(GWEN_URL_CONSTLIST2 *l, const GWEN_URL *p); 
01815    
01816   const GWEN_URL *GWEN_Url_ConstList2_GetFront(GWEN_URL_CONSTLIST2 *l); 
01817    
01818   const GWEN_URL *GWEN_Url_ConstList2_GetBack(GWEN_URL_CONSTLIST2 *l); 
01819    
01820   unsigned int GWEN_Url_ConstList2_GetSize(GWEN_URL_CONSTLIST2 *l); 
01821    
01822   void GWEN_Url_ConstList2_PopBack(GWEN_URL_CONSTLIST2 *l); 
01823    
01824   void GWEN_Url_ConstList2_PopFront(GWEN_URL_CONSTLIST2 *l); 
01825    
01826   void GWEN_Url_ConstList2_Clear(GWEN_URL_CONSTLIST2 *l); 
01827    
01828   GWEN_URL_CONSTLIST2_ITERATOR *GWEN_Url_ConstList2_First(GWEN_URL_CONSTLIST2 *l); 
01829    
01830   GWEN_URL_CONSTLIST2_ITERATOR *GWEN_Url_ConstList2_Last(GWEN_URL_CONSTLIST2 *l); 
01831    
01832   GWEN_URL_CONSTLIST2_ITERATOR *GWEN_Url_ConstList2Iterator_new(GWEN_URL_CONSTLIST2 *l); 
01833    
01834   void GWEN_Url_ConstList2Iterator_free(GWEN_URL_CONSTLIST2_ITERATOR *li); 
01835    
01836   const GWEN_URL *GWEN_Url_ConstList2Iterator_Previous(GWEN_URL_CONSTLIST2_ITERATOR *li); 
01837    
01838   const GWEN_URL *GWEN_Url_ConstList2Iterator_Next(GWEN_URL_CONSTLIST2_ITERATOR *li); 
01839    
01840   const GWEN_URL *GWEN_Url_ConstList2Iterator_Data(GWEN_URL_CONSTLIST2_ITERATOR *li); 
01841    
01853   const GWEN_URL *GWEN_Url_ConstList2_ForEach(GWEN_URL_CONSTLIST2 *list,
01854         GWEN_URL_CONSTLIST2_FOREACH func, void *user_data);
01855 
01856 
01857 #ifdef __cplusplus
01858 }
01859 #endif
01860 
01861 
01862 #endif /* GWEN_URL_LIST_H */
01863 
01864 
01865 
01866 /***************************************************************************
01867  $RCSfile$
01868  -------------------
01869  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
01870  begin       : Sat Jun 28 2003
01871  copyright   : (C) 2003 by Martin Preuss
01872  email       : martin@libchipcard.de
01873 
01874  ***************************************************************************
01875  *                                                                         *
01876  *   This library is free software; you can redistribute it and/or         *
01877  *   modify it under the terms of the GNU Lesser General Public            *
01878  *   License as published by the Free Software Foundation; either          *
01879  *   version 2.1 of the License, or (at your option) any later version.    *
01880  *                                                                         *
01881  *   This library is distributed in the hope that it will be useful,       *
01882  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
01883  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
01884  *   Lesser General Public License for more details.                       *
01885  *                                                                         *
01886  *   You should have received a copy of the GNU Lesser General Public      *
01887  *   License along with this library; if not, write to the Free Software   *
01888  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
01889  *   MA  02111-1307  USA                                                   *
01890  *                                                                         *
01891  ***************************************************************************/
01892 
01893 
01894 #ifndef GWEN_URL_LIST1_H
01895 #define GWEN_URL_LIST1_H
01896 
01897 #ifdef __cplusplus
01898 extern "C" {
01899 #endif
01900 
01902   typedef struct GWEN_URL_LIST_ELEMENT {
01903     GWEN_TYPE_UINT32 id;
01904     GWEN_URL *nextObject;
01905   } GWEN_URL_LIST__ELEMENT;
01906 
01913   typedef struct GWEN_URL_LIST GWEN_URL_LIST;
01915   struct GWEN_URL_LIST {
01916     GWEN_URL *first;
01917     GWEN_TYPE_UINT32 count;
01918     GWEN_TYPE_UINT32 id;
01919   } GWEN_URL_LIST;
01920 
01925   void GWEN_Url_List_AddList(GWEN_URL_LIST *dst, GWEN_URL_LIST *l);
01926 
01930   void GWEN_Url_List_Add(GWEN_URL *element, GWEN_URL_LIST *list);
01931 
01936   void GWEN_Url_List_Insert(GWEN_URL *element, GWEN_URL_LIST *list);
01937 
01944   void GWEN_Url_List_Del(GWEN_URL *element);
01945 
01949   GWEN_URL* GWEN_Url_List_First(const GWEN_URL_LIST *l);
01950 
01954   GWEN_URL* GWEN_Url_List_Last(const GWEN_URL_LIST *l);
01955 
01960   void GWEN_Url_List_Clear(GWEN_URL_LIST *l);
01961 
01965   GWEN_URL_LIST* GWEN_Url_List_new();
01966 
01970   void GWEN_Url_List_free(GWEN_URL_LIST *l);
01971 
01975   GWEN_URL* GWEN_Url_List_Next(const GWEN_URL *element);
01976 
01980   GWEN_URL* GWEN_Url_List_Previous(const GWEN_URL *element);
01981 
01985   GWEN_TYPE_UINT32 GWEN_Url_List_GetCount(const GWEN_URL_LIST *l);
01986 
01987 #ifdef __cplusplus
01988 }
01989 #endif
01990 
01991 
01992 #endif
01993 
01994 
01995 
01996 /***************************************************************************
01997  $RCSfile$
01998  -------------------
01999  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
02000  begin       : Sat Jun 28 2003
02001  copyright   : (C) 2003 by Martin Preuss
02002  email       : martin@libchipcard.de
02003 
02004  ***************************************************************************
02005  *                                                                         *
02006  *   This library is free software; you can redistribute it and/or         *
02007  *   modify it under the terms of the GNU Lesser General Public            *
02008  *   License as published by the Free Software Foundation; either          *
02009  *   version 2.1 of the License, or (at your option) any later version.    *
02010  *                                                                         *
02011  *   This library is distributed in the hope that it will be useful,       *
02012  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02013  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02014  *   Lesser General Public License for more details.                       *
02015  *                                                                         *
02016  *   You should have received a copy of the GNU Lesser General Public      *
02017  *   License along with this library; if not, write to the Free Software   *
02018  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02019  *   MA  02111-1307  USA                                                   *
02020  *                                                                         *
02021  ***************************************************************************/
02022 
02023 
02024 #ifndef GWEN_CRYPTKEY_LIST2_H
02025 #define GWEN_CRYPTKEY_LIST2_H
02026 
02027 
02028 #ifdef __cplusplus
02029 extern "C" {
02030 #endif
02031 
02038   typedef struct GWEN_CRYPTKEY_LIST2 GWEN_CRYPTKEY_LIST2;
02039 
02043   typedef struct GWEN_CRYPTKEY_LIST2_ITERATOR GWEN_CRYPTKEY_LIST2_ITERATOR;
02044 
02048   typedef GWEN_CRYPTKEY* (GWEN_CRYPTKEY_LIST2_FOREACH)(GWEN_CRYPTKEY *element,
02049                                                  void *user_data);
02050 
02054   GWEN_CRYPTKEY_LIST2 *GWEN_CryptKey_List2_new(); 
02055 
02059   void GWEN_CryptKey_List2_free(GWEN_CRYPTKEY_LIST2 *l); 
02060 
02064   void GWEN_CryptKey_List2_Dump(GWEN_CRYPTKEY_LIST2 *l, FILE *f, unsigned int indent); 
02065 
02069   void GWEN_CryptKey_List2_PushBack(GWEN_CRYPTKEY_LIST2 *l, GWEN_CRYPTKEY *p); 
02070    
02075   void GWEN_CryptKey_List2_PushFront(GWEN_CRYPTKEY_LIST2 *l, GWEN_CRYPTKEY *p); 
02076 
02081   GWEN_CRYPTKEY *GWEN_CryptKey_List2_GetFront(GWEN_CRYPTKEY_LIST2 *l); 
02082    
02087   GWEN_CRYPTKEY *GWEN_CryptKey_List2_GetBack(GWEN_CRYPTKEY_LIST2 *l); 
02088 
02093   void GWEN_CryptKey_List2_Erase(GWEN_CRYPTKEY_LIST2 *l,
02094                                GWEN_CRYPTKEY_LIST2_ITERATOR *it);
02095 
02101   unsigned int GWEN_CryptKey_List2_GetSize(GWEN_CRYPTKEY_LIST2 *l); 
02102 
02107   void GWEN_CryptKey_List2_PopBack(GWEN_CRYPTKEY_LIST2 *l); 
02108    
02113   void GWEN_CryptKey_List2_PopFront(GWEN_CRYPTKEY_LIST2 *l); 
02114 
02118   void GWEN_CryptKey_List2_Clear(GWEN_CRYPTKEY_LIST2 *l); 
02119 
02123   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2_First(GWEN_CRYPTKEY_LIST2 *l); 
02124    
02128   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2_Last(GWEN_CRYPTKEY_LIST2 *l); 
02129 
02133   GWEN_CRYPTKEY_LIST2_ITERATOR *GWEN_CryptKey_List2Iterator_new(GWEN_CRYPTKEY_LIST2 *l);
02134 
02138   void GWEN_CryptKey_List2Iterator_free(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
02139 
02144   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Previous(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
02145    
02150   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Next(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
02151 
02156   GWEN_CRYPTKEY *GWEN_CryptKey_List2Iterator_Data(GWEN_CRYPTKEY_LIST2_ITERATOR *li); 
02157 
02169   GWEN_CRYPTKEY *GWEN_CryptKey_List2_ForEach(GWEN_CRYPTKEY_LIST2 *list,
02170                                         GWEN_CRYPTKEY_LIST2_FOREACH func,
02171                                         void *user_data);
02172 
02173 
02174   typedef struct GWEN_CRYPTKEY_CONSTLIST2 GWEN_CRYPTKEY_CONSTLIST2; 
02175   typedef struct GWEN_CRYPTKEY_CONSTLIST2_ITERATOR GWEN_CRYPTKEY_CONSTLIST2_ITERATOR; 
02176   typedef const GWEN_CRYPTKEY*
02177     (GWEN_CRYPTKEY_CONSTLIST2_FOREACH)(const GWEN_CRYPTKEY *element,
02178                                     void *user_data);
02179   
02180    
02181   GWEN_CRYPTKEY_CONSTLIST2 *GWEN_CryptKey_ConstList2_new(); 
02182    
02183   void GWEN_CryptKey_ConstList2_free(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02184    
02185   void GWEN_CryptKey_ConstList2_PushBack(GWEN_CRYPTKEY_CONSTLIST2 *l, const GWEN_CRYPTKEY *p); 
02186    
02187   void GWEN_CryptKey_ConstList2_PushFront(GWEN_CRYPTKEY_CONSTLIST2 *l, const GWEN_CRYPTKEY *p); 
02188    
02189   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_GetFront(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02190    
02191   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_GetBack(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02192    
02193   unsigned int GWEN_CryptKey_ConstList2_GetSize(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02194    
02195   void GWEN_CryptKey_ConstList2_PopBack(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02196    
02197   void GWEN_CryptKey_ConstList2_PopFront(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02198    
02199   void GWEN_CryptKey_ConstList2_Clear(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02200    
02201   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2_First(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02202    
02203   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2_Last(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02204    
02205   GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *GWEN_CryptKey_ConstList2Iterator_new(GWEN_CRYPTKEY_CONSTLIST2 *l); 
02206    
02207   void GWEN_CryptKey_ConstList2Iterator_free(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
02208    
02209   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Previous(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
02210    
02211   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Next(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
02212    
02213   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2Iterator_Data(GWEN_CRYPTKEY_CONSTLIST2_ITERATOR *li); 
02214    
02226   const GWEN_CRYPTKEY *GWEN_CryptKey_ConstList2_ForEach(GWEN_CRYPTKEY_CONSTLIST2 *list,
02227         GWEN_CRYPTKEY_CONSTLIST2_FOREACH func, void *user_data);
02228 
02229 
02230 #ifdef __cplusplus
02231 }
02232 #endif
02233 
02234 
02235 #endif /* GWEN_CRYPTKEY_LIST_H */
02236 
02237 
02238 
02239 /***************************************************************************
02240  $RCSfile$
02241  -------------------
02242  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
02243  begin       : Sat Jun 28 2003
02244  copyright   : (C) 2003 by Martin Preuss
02245  email       : martin@libchipcard.de
02246 
02247  ***************************************************************************
02248  *                                                                         *
02249  *   This library is free software; you can redistribute it and/or         *
02250  *   modify it under the terms of the GNU Lesser General Public            *
02251  *   License as published by the Free Software Foundation; either          *
02252  *   version 2.1 of the License, or (at your option) any later version.    *
02253  *                                                                         *
02254  *   This library is distributed in the hope that it will be useful,       *
02255  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02256  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02257  *   Lesser General Public License for more details.                       *
02258  *                                                                         *
02259  *   You should have received a copy of the GNU Lesser General Public      *
02260  *   License along with this library; if not, write to the Free Software   *
02261  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02262  *   MA  02111-1307  USA                                                   *
02263  *                                                                         *
02264  ***************************************************************************/
02265 
02266 
02267 #ifndef GWEN_CRYPTKEY_LIST1_H
02268 #define GWEN_CRYPTKEY_LIST1_H
02269 
02270 #ifdef __cplusplus
02271 extern "C" {
02272 #endif
02273 
02275   typedef struct GWEN_CRYPTKEY_LIST_ELEMENT {
02276     GWEN_TYPE_UINT32 id;
02277     GWEN_CRYPTKEY *nextObject;
02278   } GWEN_CRYPTKEY_LIST__ELEMENT;
02279 
02286   typedef struct GWEN_CRYPTKEY_LIST GWEN_CRYPTKEY_LIST;
02288   struct GWEN_CRYPTKEY_LIST {
02289     GWEN_CRYPTKEY *first;
02290     GWEN_TYPE_UINT32 count;
02291     GWEN_TYPE_UINT32 id;
02292   } GWEN_CRYPTKEY_LIST;
02293 
02298   void GWEN_CryptKey_List_AddList(GWEN_CRYPTKEY_LIST *dst, GWEN_CRYPTKEY_LIST *l);
02299 
02303   void GWEN_CryptKey_List_Add(GWEN_CRYPTKEY *element, GWEN_CRYPTKEY_LIST *list);
02304 
02309   void GWEN_CryptKey_List_Insert(GWEN_CRYPTKEY *element, GWEN_CRYPTKEY_LIST *list);
02310 
02317   void GWEN_CryptKey_List_Del(GWEN_CRYPTKEY *element);
02318 
02322   GWEN_CRYPTKEY* GWEN_CryptKey_List_First(const GWEN_CRYPTKEY_LIST *l);
02323 
02327   GWEN_CRYPTKEY* GWEN_CryptKey_List_Last(const GWEN_CRYPTKEY_LIST *l);
02328 
02333   void GWEN_CryptKey_List_Clear(GWEN_CRYPTKEY_LIST *l);
02334 
02338   GWEN_CRYPTKEY_LIST* GWEN_CryptKey_List_new();
02339 
02343   void GWEN_CryptKey_List_free(GWEN_CRYPTKEY_LIST *l);
02344 
02348   GWEN_CRYPTKEY* GWEN_CryptKey_List_Next(const GWEN_CRYPTKEY *element);
02349 
02353   GWEN_CRYPTKEY* GWEN_CryptKey_List_Previous(const GWEN_CRYPTKEY *element);
02354 
02358   GWEN_TYPE_UINT32 GWEN_CryptKey_List_GetCount(const GWEN_CRYPTKEY_LIST *l);
02359 
02360 #ifdef __cplusplus
02361 }
02362 #endif
02363 
02364 
02365 #endif
02366 
02367 
02368 
02369 /***************************************************************************
02370  $RCSfile$
02371  -------------------
02372  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
02373  begin       : Sat Jun 28 2003
02374  copyright   : (C) 2003 by Martin Preuss
02375  email       : martin@libchipcard.de
02376 
02377  ***************************************************************************
02378  *                                                                         *
02379  *   This library is free software; you can redistribute it and/or         *
02380  *   modify it under the terms of the GNU Lesser General Public            *
02381  *   License as published by the Free Software Foundation; either          *
02382  *   version 2.1 of the License, or (at your option) any later version.    *
02383  *                                                                         *
02384  *   This library is distributed in the hope that it will be useful,       *
02385  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02386  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02387  *   Lesser General Public License for more details.                       *
02388  *                                                                         *
02389  *   You should have received a copy of the GNU Lesser General Public      *
02390  *   License along with this library; if not, write to the Free Software   *
02391  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02392  *   MA  02111-1307  USA                                                   *
02393  *                                                                         *
02394  ***************************************************************************/
02395 
02396 
02397 #ifndef GWEN_KEYSPEC_LIST2_H
02398 #define GWEN_KEYSPEC_LIST2_H
02399 
02400 
02401 #ifdef __cplusplus
02402 extern "C" {
02403 #endif
02404 
02411   typedef struct GWEN_KEYSPEC_LIST2 GWEN_KEYSPEC_LIST2;
02412 
02416   typedef struct GWEN_KEYSPEC_LIST2_ITERATOR GWEN_KEYSPEC_LIST2_ITERATOR;
02417 
02421   typedef GWEN_KEYSPEC* (GWEN_KEYSPEC_LIST2_FOREACH)(GWEN_KEYSPEC *element,
02422                                                  void *user_data);
02423 
02427   GWEN_KEYSPEC_LIST2 *GWEN_KeySpec_List2_new(); 
02428 
02432   void GWEN_KeySpec_List2_free(GWEN_KEYSPEC_LIST2 *l); 
02433 
02437   void GWEN_KeySpec_List2_Dump(GWEN_KEYSPEC_LIST2 *l, FILE *f, unsigned int indent); 
02438 
02442   void GWEN_KeySpec_List2_PushBack(GWEN_KEYSPEC_LIST2 *l, GWEN_KEYSPEC *p); 
02443    
02448   void GWEN_KeySpec_List2_PushFront(GWEN_KEYSPEC_LIST2 *l, GWEN_KEYSPEC *p); 
02449 
02454   GWEN_KEYSPEC *GWEN_KeySpec_List2_GetFront(GWEN_KEYSPEC_LIST2 *l); 
02455    
02460   GWEN_KEYSPEC *GWEN_KeySpec_List2_GetBack(GWEN_KEYSPEC_LIST2 *l); 
02461 
02466   void GWEN_KeySpec_List2_Erase(GWEN_KEYSPEC_LIST2 *l,
02467                                GWEN_KEYSPEC_LIST2_ITERATOR *it);
02468 
02474   unsigned int GWEN_KeySpec_List2_GetSize(GWEN_KEYSPEC_LIST2 *l); 
02475 
02480   void GWEN_KeySpec_List2_PopBack(GWEN_KEYSPEC_LIST2 *l); 
02481    
02486   void GWEN_KeySpec_List2_PopFront(GWEN_KEYSPEC_LIST2 *l); 
02487 
02491   void GWEN_KeySpec_List2_Clear(GWEN_KEYSPEC_LIST2 *l); 
02492 
02496   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2_First(GWEN_KEYSPEC_LIST2 *l); 
02497    
02501   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2_Last(GWEN_KEYSPEC_LIST2 *l); 
02502 
02506   GWEN_KEYSPEC_LIST2_ITERATOR *GWEN_KeySpec_List2Iterator_new(GWEN_KEYSPEC_LIST2 *l);
02507 
02511   void GWEN_KeySpec_List2Iterator_free(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
02512 
02517   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Previous(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
02518    
02523   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Next(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
02524 
02529   GWEN_KEYSPEC *GWEN_KeySpec_List2Iterator_Data(GWEN_KEYSPEC_LIST2_ITERATOR *li); 
02530 
02542   GWEN_KEYSPEC *GWEN_KeySpec_List2_ForEach(GWEN_KEYSPEC_LIST2 *list,
02543                                         GWEN_KEYSPEC_LIST2_FOREACH func,
02544                                         void *user_data);
02545 
02546 
02547   typedef struct GWEN_KEYSPEC_CONSTLIST2 GWEN_KEYSPEC_CONSTLIST2; 
02548   typedef struct GWEN_KEYSPEC_CONSTLIST2_ITERATOR GWEN_KEYSPEC_CONSTLIST2_ITERATOR; 
02549   typedef const GWEN_KEYSPEC*
02550     (GWEN_KEYSPEC_CONSTLIST2_FOREACH)(const GWEN_KEYSPEC *element,
02551                                     void *user_data);
02552   
02553    
02554   GWEN_KEYSPEC_CONSTLIST2 *GWEN_KeySpec_ConstList2_new(); 
02555    
02556   void GWEN_KeySpec_ConstList2_free(GWEN_KEYSPEC_CONSTLIST2 *l); 
02557    
02558   void GWEN_KeySpec_ConstList2_PushBack(GWEN_KEYSPEC_CONSTLIST2 *l, const GWEN_KEYSPEC *p); 
02559    
02560   void GWEN_KeySpec_ConstList2_PushFront(GWEN_KEYSPEC_CONSTLIST2 *l, const GWEN_KEYSPEC *p); 
02561    
02562   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_GetFront(GWEN_KEYSPEC_CONSTLIST2 *l); 
02563    
02564   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_GetBack(GWEN_KEYSPEC_CONSTLIST2 *l); 
02565    
02566   unsigned int GWEN_KeySpec_ConstList2_GetSize(GWEN_KEYSPEC_CONSTLIST2 *l); 
02567    
02568   void GWEN_KeySpec_ConstList2_PopBack(GWEN_KEYSPEC_CONSTLIST2 *l); 
02569    
02570   void GWEN_KeySpec_ConstList2_PopFront(GWEN_KEYSPEC_CONSTLIST2 *l); 
02571    
02572   void GWEN_KeySpec_ConstList2_Clear(GWEN_KEYSPEC_CONSTLIST2 *l); 
02573    
02574   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2_First(GWEN_KEYSPEC_CONSTLIST2 *l); 
02575    
02576   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2_Last(GWEN_KEYSPEC_CONSTLIST2 *l); 
02577    
02578   GWEN_KEYSPEC_CONSTLIST2_ITERATOR *GWEN_KeySpec_ConstList2Iterator_new(GWEN_KEYSPEC_CONSTLIST2 *l); 
02579    
02580   void GWEN_KeySpec_ConstList2Iterator_free(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
02581    
02582   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Previous(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
02583    
02584   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Next(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
02585    
02586   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2Iterator_Data(GWEN_KEYSPEC_CONSTLIST2_ITERATOR *li); 
02587    
02599   const GWEN_KEYSPEC *GWEN_KeySpec_ConstList2_ForEach(GWEN_KEYSPEC_CONSTLIST2 *list,
02600         GWEN_KEYSPEC_CONSTLIST2_FOREACH func, void *user_data);
02601 
02602 
02603 #ifdef __cplusplus
02604 }
02605 #endif
02606 
02607 
02608 #endif /* GWEN_KEYSPEC_LIST_H */
02609 
02610 
02611 
02612 /***************************************************************************
02613  $RCSfile$
02614  -------------------
02615  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
02616  begin       : Sat Jun 28 2003
02617  copyright   : (C) 2003 by Martin Preuss
02618  email       : martin@libchipcard.de
02619 
02620  ***************************************************************************
02621  *                                                                         *
02622  *   This library is free software; you can redistribute it and/or         *
02623  *   modify it under the terms of the GNU Lesser General Public            *
02624  *   License as published by the Free Software Foundation; either          *
02625  *   version 2.1 of the License, or (at your option) any later version.    *
02626  *                                                                         *
02627  *   This library is distributed in the hope that it will be useful,       *
02628  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02629  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02630  *   Lesser General Public License for more details.                       *
02631  *                                                                         *
02632  *   You should have received a copy of the GNU Lesser General Public      *
02633  *   License along with this library; if not, write to the Free Software   *
02634  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02635  *   MA  02111-1307  USA                                                   *
02636  *                                                                         *
02637  ***************************************************************************/
02638 
02639 
02640 #ifndef GWEN_KEYSPEC_LIST1_H
02641 #define GWEN_KEYSPEC_LIST1_H
02642 
02643 #ifdef __cplusplus
02644 extern "C" {
02645 #endif
02646 
02648   typedef struct GWEN_KEYSPEC_LIST_ELEMENT {
02649     GWEN_TYPE_UINT32 id;
02650     GWEN_KEYSPEC *nextObject;
02651   } GWEN_KEYSPEC_LIST__ELEMENT;
02652 
02659   typedef struct GWEN_KEYSPEC_LIST GWEN_KEYSPEC_LIST;
02661   struct GWEN_KEYSPEC_LIST {
02662     GWEN_KEYSPEC *first;
02663     GWEN_TYPE_UINT32 count;
02664     GWEN_TYPE_UINT32 id;
02665   } GWEN_KEYSPEC_LIST;
02666 
02671   void GWEN_KeySpec_List_AddList(GWEN_KEYSPEC_LIST *dst, GWEN_KEYSPEC_LIST *l);
02672 
02676   void GWEN_KeySpec_List_Add(GWEN_KEYSPEC *element, GWEN_KEYSPEC_LIST *list);
02677 
02682   void GWEN_KeySpec_List_Insert(GWEN_KEYSPEC *element, GWEN_KEYSPEC_LIST *list);
02683 
02690   void GWEN_KeySpec_List_Del(GWEN_KEYSPEC *element);
02691 
02695   GWEN_KEYSPEC* GWEN_KeySpec_List_First(const GWEN_KEYSPEC_LIST *l);
02696 
02700   GWEN_KEYSPEC* GWEN_KeySpec_List_Last(const GWEN_KEYSPEC_LIST *l);
02701 
02706   void GWEN_KeySpec_List_Clear(GWEN_KEYSPEC_LIST *l);
02707 
02711   GWEN_KEYSPEC_LIST* GWEN_KeySpec_List_new();
02712 
02716   void GWEN_KeySpec_List_free(GWEN_KEYSPEC_LIST *l);
02717 
02721   GWEN_KEYSPEC* GWEN_KeySpec_List_Next(const GWEN_KEYSPEC *element);
02722 
02726   GWEN_KEYSPEC* GWEN_KeySpec_List_Previous(const GWEN_KEYSPEC *element);
02727 
02731   GWEN_TYPE_UINT32 GWEN_KeySpec_List_GetCount(const GWEN_KEYSPEC_LIST *l);
02732 
02733 #ifdef __cplusplus
02734 }
02735 #endif
02736 
02737 
02738 #endif
02739 
02740 
02741 
02742 /***************************************************************************
02743  $RCSfile$
02744  -------------------
02745  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
02746  begin       : Sat Jun 28 2003
02747  copyright   : (C) 2003 by Martin Preuss
02748  email       : martin@libchipcard.de
02749 
02750  ***************************************************************************
02751  *                                                                         *
02752  *   This library is free software; you can redistribute it and/or         *
02753  *   modify it under the terms of the GNU Lesser General Public            *
02754  *   License as published by the Free Software Foundation; either          *
02755  *   version 2.1 of the License, or (at your option) any later version.    *
02756  *                                                                         *
02757  *   This library is distributed in the hope that it will be useful,       *
02758  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
02759  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
02760  *   Lesser General Public License for more details.                       *
02761  *                                                                         *
02762  *   You should have received a copy of the GNU Lesser General Public      *
02763  *   License along with this library; if not, write to the Free Software   *
02764  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
02765  *   MA  02111-1307  USA                                                   *
02766  *                                                                         *
02767  ***************************************************************************/
02768 
02769 
02770 #ifndef GWEN_SSLCERTDESCR_LIST2_H
02771 #define GWEN_SSLCERTDESCR_LIST2_H
02772 
02773 
02774 #ifdef __cplusplus
02775 extern "C" {
02776 #endif
02777 
02784   typedef struct GWEN_SSLCERTDESCR_LIST2 GWEN_SSLCERTDESCR_LIST2;
02785 
02789   typedef struct GWEN_SSLCERTDESCR_LIST2_ITERATOR GWEN_SSLCERTDESCR_LIST2_ITERATOR;
02790 
02794   typedef GWEN_SSLCERTDESCR* (GWEN_SSLCERTDESCR_LIST2_FOREACH)(GWEN_SSLCERTDESCR *element,
02795                                                  void *user_data);
02796 
02800   GWEN_SSLCERTDESCR_LIST2 *GWEN_SslCertDescr_List2_new(); 
02801 
02805   void GWEN_SslCertDescr_List2_free(GWEN_SSLCERTDESCR_LIST2 *l); 
02806 
02810   void GWEN_SslCertDescr_List2_Dump(GWEN_SSLCERTDESCR_LIST2 *l, FILE *f, unsigned int indent); 
02811 
02815   void GWEN_SslCertDescr_List2_PushBack(GWEN_SSLCERTDESCR_LIST2 *l, GWEN_SSLCERTDESCR *p); 
02816    
02821   void GWEN_SslCertDescr_List2_PushFront(GWEN_SSLCERTDESCR_LIST2 *l, GWEN_SSLCERTDESCR *p); 
02822 
02827   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2_GetFront(GWEN_SSLCERTDESCR_LIST2 *l); 
02828    
02833   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2_GetBack(GWEN_SSLCERTDESCR_LIST2 *l); 
02834 
02839   void GWEN_SslCertDescr_List2_Erase(GWEN_SSLCERTDESCR_LIST2 *l,
02840                                GWEN_SSLCERTDESCR_LIST2_ITERATOR *it);
02841 
02847   unsigned int GWEN_SslCertDescr_List2_GetSize(GWEN_SSLCERTDESCR_LIST2 *l); 
02848 
02853   void GWEN_SslCertDescr_List2_PopBack(GWEN_SSLCERTDESCR_LIST2 *l); 
02854    
02859   void GWEN_SslCertDescr_List2_PopFront(GWEN_SSLCERTDESCR_LIST2 *l); 
02860 
02864   void GWEN_SslCertDescr_List2_Clear(GWEN_SSLCERTDESCR_LIST2 *l); 
02865 
02869   GWEN_SSLCERTDESCR_LIST2_ITERATOR *GWEN_SslCertDescr_List2_First(GWEN_SSLCERTDESCR_LIST2 *l); 
02870    
02874   GWEN_SSLCERTDESCR_LIST2_ITERATOR *GWEN_SslCertDescr_List2_Last(GWEN_SSLCERTDESCR_LIST2 *l); 
02875 
02879   GWEN_SSLCERTDESCR_LIST2_ITERATOR *GWEN_SslCertDescr_List2Iterator_new(GWEN_SSLCERTDESCR_LIST2 *l);
02880 
02884   void GWEN_SslCertDescr_List2Iterator_free(GWEN_SSLCERTDESCR_LIST2_ITERATOR *li); 
02885 
02890   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2Iterator_Previous(GWEN_SSLCERTDESCR_LIST2_ITERATOR *li); 
02891    
02896   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2Iterator_Next(GWEN_SSLCERTDESCR_LIST2_ITERATOR *li); 
02897 
02902   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2Iterator_Data(GWEN_SSLCERTDESCR_LIST2_ITERATOR *li); 
02903 
02915   GWEN_SSLCERTDESCR *GWEN_SslCertDescr_List2_ForEach(GWEN_SSLCERTDESCR_LIST2 *list,
02916                                         GWEN_SSLCERTDESCR_LIST2_FOREACH func,
02917                                         void *user_data);
02918 
02919 
02920   typedef struct GWEN_SSLCERTDESCR_CONSTLIST2 GWEN_SSLCERTDESCR_CONSTLIST2; 
02921   typedef struct GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR; 
02922   typedef const GWEN_SSLCERTDESCR*
02923     (GWEN_SSLCERTDESCR_CONSTLIST2_FOREACH)(const GWEN_SSLCERTDESCR *element,
02924                                     void *user_data);
02925   
02926    
02927   GWEN_SSLCERTDESCR_CONSTLIST2 *GWEN_SslCertDescr_ConstList2_new(); 
02928    
02929   void GWEN_SslCertDescr_ConstList2_free(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02930    
02931   void GWEN_SslCertDescr_ConstList2_PushBack(GWEN_SSLCERTDESCR_CONSTLIST2 *l, const GWEN_SSLCERTDESCR *p); 
02932    
02933   void GWEN_SslCertDescr_ConstList2_PushFront(GWEN_SSLCERTDESCR_CONSTLIST2 *l, const GWEN_SSLCERTDESCR *p); 
02934    
02935   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2_GetFront(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02936    
02937   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2_GetBack(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02938    
02939   unsigned int GWEN_SslCertDescr_ConstList2_GetSize(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02940    
02941   void GWEN_SslCertDescr_ConstList2_PopBack(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02942    
02943   void GWEN_SslCertDescr_ConstList2_PopFront(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02944    
02945   void GWEN_SslCertDescr_ConstList2_Clear(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02946    
02947   GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *GWEN_SslCertDescr_ConstList2_First(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02948    
02949   GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *GWEN_SslCertDescr_ConstList2_Last(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02950    
02951   GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *GWEN_SslCertDescr_ConstList2Iterator_new(GWEN_SSLCERTDESCR_CONSTLIST2 *l); 
02952    
02953   void GWEN_SslCertDescr_ConstList2Iterator_free(GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *li); 
02954    
02955   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2Iterator_Previous(GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *li); 
02956    
02957   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2Iterator_Next(GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *li); 
02958    
02959   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2Iterator_Data(GWEN_SSLCERTDESCR_CONSTLIST2_ITERATOR *li); 
02960    
02972   const GWEN_SSLCERTDESCR *GWEN_SslCertDescr_ConstList2_ForEach(GWEN_SSLCERTDESCR_CONSTLIST2 *list,
02973         GWEN_SSLCERTDESCR_CONSTLIST2_FOREACH func, void *user_data);
02974 
02975 
02976 #ifdef __cplusplus
02977 }
02978 #endif
02979 
02980 
02981 #endif /* GWEN_SSLCERTDESCR_LIST_H */
02982 
02983 
02984 
02985 /***************************************************************************
02986  $RCSfile$
02987  -------------------
02988  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
02989  begin       : Sat Jun 28 2003
02990  copyright   : (C) 2003 by Martin Preuss
02991  email       : martin@libchipcard.de
02992 
02993  ***************************************************************************
02994  *                                                                         *
02995  *   This library is free software; you can redistribute it and/or         *
02996  *   modify it under the terms of the GNU Lesser General Public            *
02997  *   License as published by the Free Software Foundation; either          *
02998  *   version 2.1 of the License, or (at your option) any later version.    *
02999  *                                                                         *
03000  *   This library is distributed in the hope that it will be useful,       *
03001  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03002  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03003  *   Lesser General Public License for more details.                       *
03004  *                                                                         *
03005  *   You should have received a copy of the GNU Lesser General Public      *
03006  *   License along with this library; if not, write to the Free Software   *
03007  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03008  *   MA  02111-1307  USA                                                   *
03009  *                                                                         *
03010  ***************************************************************************/
03011 
03012 
03013 #ifndef GWEN_SSLCERTDESCR_LIST1_H
03014 #define GWEN_SSLCERTDESCR_LIST1_H
03015 
03016 #ifdef __cplusplus
03017 extern "C" {
03018 #endif
03019 
03021   typedef struct GWEN_SSLCERTDESCR_LIST_ELEMENT {
03022     GWEN_TYPE_UINT32 id;
03023     GWEN_SSLCERTDESCR *nextObject;
03024   } GWEN_SSLCERTDESCR_LIST__ELEMENT;
03025 
03032   typedef struct GWEN_SSLCERTDESCR_LIST GWEN_SSLCERTDESCR_LIST;
03034   struct GWEN_SSLCERTDESCR_LIST {
03035     GWEN_SSLCERTDESCR *first;
03036     GWEN_TYPE_UINT32 count;
03037     GWEN_TYPE_UINT32 id;
03038   } GWEN_SSLCERTDESCR_LIST;
03039 
03044   void GWEN_SslCertDescr_List_AddList(GWEN_SSLCERTDESCR_LIST *dst, GWEN_SSLCERTDESCR_LIST *l);
03045 
03049   void GWEN_SslCertDescr_List_Add(GWEN_SSLCERTDESCR *element, GWEN_SSLCERTDESCR_LIST *list);
03050 
03055   void GWEN_SslCertDescr_List_Insert(GWEN_SSLCERTDESCR *element, GWEN_SSLCERTDESCR_LIST *list);
03056 
03063   void GWEN_SslCertDescr_List_Del(GWEN_SSLCERTDESCR *element);
03064 
03068   GWEN_SSLCERTDESCR* GWEN_SslCertDescr_List_First(const GWEN_SSLCERTDESCR_LIST *l);
03069 
03073   GWEN_SSLCERTDESCR* GWEN_SslCertDescr_List_Last(const GWEN_SSLCERTDESCR_LIST *l);
03074 
03079   void GWEN_SslCertDescr_List_Clear(GWEN_SSLCERTDESCR_LIST *l);
03080 
03084   GWEN_SSLCERTDESCR_LIST* GWEN_SslCertDescr_List_new();
03085 
03089   void GWEN_SslCertDescr_List_free(GWEN_SSLCERTDESCR_LIST *l);
03090 
03094   GWEN_SSLCERTDESCR* GWEN_SslCertDescr_List_Next(const GWEN_SSLCERTDESCR *element);
03095 
03099   GWEN_SSLCERTDESCR* GWEN_SslCertDescr_List_Previous(const GWEN_SSLCERTDESCR *element);
03100 
03104   GWEN_TYPE_UINT32 GWEN_SslCertDescr_List_GetCount(const GWEN_SSLCERTDESCR_LIST *l);
03105 
03106 #ifdef __cplusplus
03107 }
03108 #endif
03109 
03110 
03111 #endif
03112 
03113 
03114 
03115 /***************************************************************************
03116  $RCSfile$
03117  -------------------
03118  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
03119  begin       : Sat Jun 28 2003
03120  copyright   : (C) 2003 by Martin Preuss
03121  email       : martin@libchipcard.de
03122 
03123  ***************************************************************************
03124  *                                                                         *
03125  *   This library is free software; you can redistribute it and/or         *
03126  *   modify it under the terms of the GNU Lesser General Public            *
03127  *   License as published by the Free Software Foundation; either          *
03128  *   version 2.1 of the License, or (at your option) any later version.    *
03129  *                                                                         *
03130  *   This library is distributed in the hope that it will be useful,       *
03131  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03132  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03133  *   Lesser General Public License for more details.                       *
03134  *                                                                         *
03135  *   You should have received a copy of the GNU Lesser General Public      *
03136  *   License along with this library; if not, write to the Free Software   *
03137  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03138  *   MA  02111-1307  USA                                                   *
03139  *                                                                         *
03140  ***************************************************************************/
03141 
03142 
03143 #ifndef GWEN_SSLCIPHER_LIST2_H
03144 #define GWEN_SSLCIPHER_LIST2_H
03145 
03146 
03147 #ifdef __cplusplus
03148 extern "C" {
03149 #endif
03150 
03157   typedef struct GWEN_SSLCIPHER_LIST2 GWEN_SSLCIPHER_LIST2;
03158 
03162   typedef struct GWEN_SSLCIPHER_LIST2_ITERATOR GWEN_SSLCIPHER_LIST2_ITERATOR;
03163 
03167   typedef GWEN_SSLCIPHER* (GWEN_SSLCIPHER_LIST2_FOREACH)(GWEN_SSLCIPHER *element,
03168                                                  void *user_data);
03169 
03173   GWEN_SSLCIPHER_LIST2 *GWEN_SslCipher_List2_new(); 
03174 
03178   void GWEN_SslCipher_List2_free(GWEN_SSLCIPHER_LIST2 *l); 
03179 
03183   void GWEN_SslCipher_List2_Dump(GWEN_SSLCIPHER_LIST2 *l, FILE *f, unsigned int indent); 
03184 
03188   void GWEN_SslCipher_List2_PushBack(GWEN_SSLCIPHER_LIST2 *l, GWEN_SSLCIPHER *p); 
03189    
03194   void GWEN_SslCipher_List2_PushFront(GWEN_SSLCIPHER_LIST2 *l, GWEN_SSLCIPHER *p); 
03195 
03200   GWEN_SSLCIPHER *GWEN_SslCipher_List2_GetFront(GWEN_SSLCIPHER_LIST2 *l); 
03201    
03206   GWEN_SSLCIPHER *GWEN_SslCipher_List2_GetBack(GWEN_SSLCIPHER_LIST2 *l); 
03207 
03212   void GWEN_SslCipher_List2_Erase(GWEN_SSLCIPHER_LIST2 *l,
03213                                GWEN_SSLCIPHER_LIST2_ITERATOR *it);
03214 
03220   unsigned int GWEN_SslCipher_List2_GetSize(GWEN_SSLCIPHER_LIST2 *l); 
03221 
03226   void GWEN_SslCipher_List2_PopBack(GWEN_SSLCIPHER_LIST2 *l); 
03227    
03232   void GWEN_SslCipher_List2_PopFront(GWEN_SSLCIPHER_LIST2 *l); 
03233 
03237   void GWEN_SslCipher_List2_Clear(GWEN_SSLCIPHER_LIST2 *l); 
03238 
03242   GWEN_SSLCIPHER_LIST2_ITERATOR *GWEN_SslCipher_List2_First(GWEN_SSLCIPHER_LIST2 *l); 
03243    
03247   GWEN_SSLCIPHER_LIST2_ITERATOR *GWEN_SslCipher_List2_Last(GWEN_SSLCIPHER_LIST2 *l); 
03248 
03252   GWEN_SSLCIPHER_LIST2_ITERATOR *GWEN_SslCipher_List2Iterator_new(GWEN_SSLCIPHER_LIST2 *l);
03253 
03257   void GWEN_SslCipher_List2Iterator_free(GWEN_SSLCIPHER_LIST2_ITERATOR *li); 
03258 
03263   GWEN_SSLCIPHER *GWEN_SslCipher_List2Iterator_Previous(GWEN_SSLCIPHER_LIST2_ITERATOR *li); 
03264    
03269   GWEN_SSLCIPHER *GWEN_SslCipher_List2Iterator_Next(GWEN_SSLCIPHER_LIST2_ITERATOR *li); 
03270 
03275   GWEN_SSLCIPHER *GWEN_SslCipher_List2Iterator_Data(GWEN_SSLCIPHER_LIST2_ITERATOR *li); 
03276 
03288   GWEN_SSLCIPHER *GWEN_SslCipher_List2_ForEach(GWEN_SSLCIPHER_LIST2 *list,
03289                                         GWEN_SSLCIPHER_LIST2_FOREACH func,
03290                                         void *user_data);
03291 
03292 
03293   typedef struct GWEN_SSLCIPHER_CONSTLIST2 GWEN_SSLCIPHER_CONSTLIST2; 
03294   typedef struct GWEN_SSLCIPHER_CONSTLIST2_ITERATOR GWEN_SSLCIPHER_CONSTLIST2_ITERATOR; 
03295   typedef const GWEN_SSLCIPHER*
03296     (GWEN_SSLCIPHER_CONSTLIST2_FOREACH)(const GWEN_SSLCIPHER *element,
03297                                     void *user_data);
03298   
03299    
03300   GWEN_SSLCIPHER_CONSTLIST2 *GWEN_SslCipher_ConstList2_new(); 
03301    
03302   void GWEN_SslCipher_ConstList2_free(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03303    
03304   void GWEN_SslCipher_ConstList2_PushBack(GWEN_SSLCIPHER_CONSTLIST2 *l, const GWEN_SSLCIPHER *p); 
03305    
03306   void GWEN_SslCipher_ConstList2_PushFront(GWEN_SSLCIPHER_CONSTLIST2 *l, const GWEN_SSLCIPHER *p); 
03307    
03308   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2_GetFront(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03309    
03310   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2_GetBack(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03311    
03312   unsigned int GWEN_SslCipher_ConstList2_GetSize(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03313    
03314   void GWEN_SslCipher_ConstList2_PopBack(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03315    
03316   void GWEN_SslCipher_ConstList2_PopFront(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03317    
03318   void GWEN_SslCipher_ConstList2_Clear(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03319    
03320   GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *GWEN_SslCipher_ConstList2_First(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03321    
03322   GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *GWEN_SslCipher_ConstList2_Last(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03323    
03324   GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *GWEN_SslCipher_ConstList2Iterator_new(GWEN_SSLCIPHER_CONSTLIST2 *l); 
03325    
03326   void GWEN_SslCipher_ConstList2Iterator_free(GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *li); 
03327    
03328   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2Iterator_Previous(GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *li); 
03329    
03330   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2Iterator_Next(GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *li); 
03331    
03332   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2Iterator_Data(GWEN_SSLCIPHER_CONSTLIST2_ITERATOR *li); 
03333    
03345   const GWEN_SSLCIPHER *GWEN_SslCipher_ConstList2_ForEach(GWEN_SSLCIPHER_CONSTLIST2 *list,
03346         GWEN_SSLCIPHER_CONSTLIST2_FOREACH func, void *user_data);
03347 
03348 
03349 #ifdef __cplusplus
03350 }
03351 #endif
03352 
03353 
03354 #endif /* GWEN_SSLCIPHER_LIST_H */
03355 
03356 
03357 
03358 /***************************************************************************
03359  $RCSfile$
03360  -------------------
03361  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
03362  begin       : Sat Jun 28 2003
03363  copyright   : (C) 2003 by Martin Preuss
03364  email       : martin@libchipcard.de
03365 
03366  ***************************************************************************
03367  *                                                                         *
03368  *   This library is free software; you can redistribute it and/or         *
03369  *   modify it under the terms of the GNU Lesser General Public            *
03370  *   License as published by the Free Software Foundation; either          *
03371  *   version 2.1 of the License, or (at your option) any later version.    *
03372  *                                                                         *
03373  *   This library is distributed in the hope that it will be useful,       *
03374  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03375  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03376  *   Lesser General Public License for more details.                       *
03377  *                                                                         *
03378  *   You should have received a copy of the GNU Lesser General Public      *
03379  *   License along with this library; if not, write to the Free Software   *
03380  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03381  *   MA  02111-1307  USA                                                   *
03382  *                                                                         *
03383  ***************************************************************************/
03384 
03385 
03386 #ifndef GWEN_SSLCIPHER_LIST1_H
03387 #define GWEN_SSLCIPHER_LIST1_H
03388 
03389 #ifdef __cplusplus
03390 extern "C" {
03391 #endif
03392 
03394   typedef struct GWEN_SSLCIPHER_LIST_ELEMENT {
03395     GWEN_TYPE_UINT32 id;
03396     GWEN_SSLCIPHER *nextObject;
03397   } GWEN_SSLCIPHER_LIST__ELEMENT;
03398 
03405   typedef struct GWEN_SSLCIPHER_LIST GWEN_SSLCIPHER_LIST;
03407   struct GWEN_SSLCIPHER_LIST {
03408     GWEN_SSLCIPHER *first;
03409     GWEN_TYPE_UINT32 count;
03410     GWEN_TYPE_UINT32 id;
03411   } GWEN_SSLCIPHER_LIST;
03412 
03417   void GWEN_SslCipher_List_AddList(GWEN_SSLCIPHER_LIST *dst, GWEN_SSLCIPHER_LIST *l);
03418 
03422   void GWEN_SslCipher_List_Add(GWEN_SSLCIPHER *element, GWEN_SSLCIPHER_LIST *list);
03423 
03428   void GWEN_SslCipher_List_Insert(GWEN_SSLCIPHER *element, GWEN_SSLCIPHER_LIST *list);
03429 
03436   void GWEN_SslCipher_List_Del(GWEN_SSLCIPHER *element);
03437 
03441   GWEN_SSLCIPHER* GWEN_SslCipher_List_First(const GWEN_SSLCIPHER_LIST *l);
03442 
03446   GWEN_SSLCIPHER* GWEN_SslCipher_List_Last(const GWEN_SSLCIPHER_LIST *l);
03447 
03452   void GWEN_SslCipher_List_Clear(GWEN_SSLCIPHER_LIST *l);
03453 
03457   GWEN_SSLCIPHER_LIST* GWEN_SslCipher_List_new();
03458 
03462   void GWEN_SslCipher_List_free(GWEN_SSLCIPHER_LIST *l);
03463 
03467   GWEN_SSLCIPHER* GWEN_SslCipher_List_Next(const GWEN_SSLCIPHER *element);
03468 
03472   GWEN_SSLCIPHER* GWEN_SslCipher_List_Previous(const GWEN_SSLCIPHER *element);
03473 
03477   GWEN_TYPE_UINT32 GWEN_SslCipher_List_GetCount(const GWEN_SSLCIPHER_LIST *l);
03478 
03479 #ifdef __cplusplus
03480 }
03481 #endif
03482 
03483 
03484 #endif
03485 
03486 
03487 
03488 /***************************************************************************
03489  $RCSfile$
03490  -------------------
03491  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
03492  begin       : Sat Jun 28 2003
03493  copyright   : (C) 2003 by Martin Preuss
03494  email       : martin@libchipcard.de
03495 
03496  ***************************************************************************
03497  *                                                                         *
03498  *   This library is free software; you can redistribute it and/or         *
03499  *   modify it under the terms of the GNU Lesser General Public            *
03500  *   License as published by the Free Software Foundation; either          *
03501  *   version 2.1 of the License, or (at your option) any later version.    *
03502  *                                                                         *
03503  *   This library is distributed in the hope that it will be useful,       *
03504  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03505  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03506  *   Lesser General Public License for more details.                       *
03507  *                                                                         *
03508  *   You should have received a copy of the GNU Lesser General Public      *
03509  *   License along with this library; if not, write to the Free Software   *
03510  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03511  *   MA  02111-1307  USA                                                   *
03512  *                                                                         *
03513  ***************************************************************************/
03514 
03515 
03516 #ifndef GWEN_CRYPTTOKEN_LIST1_H
03517 #define GWEN_CRYPTTOKEN_LIST1_H
03518 
03519 #ifdef __cplusplus
03520 extern "C" {
03521 #endif
03522 
03524   typedef struct GWEN_CRYPTTOKEN_LIST_ELEMENT {
03525     GWEN_TYPE_UINT32 id;
03526     GWEN_CRYPTTOKEN *nextObject;
03527   } GWEN_CRYPTTOKEN_LIST__ELEMENT;
03528 
03535   typedef struct GWEN_CRYPTTOKEN_LIST GWEN_CRYPTTOKEN_LIST;
03537   struct GWEN_CRYPTTOKEN_LIST {
03538     GWEN_CRYPTTOKEN *first;
03539     GWEN_TYPE_UINT32 count;
03540     GWEN_TYPE_UINT32 id;
03541   } GWEN_CRYPTTOKEN_LIST;
03542 
03547   void GWEN_CryptToken_List_AddList(GWEN_CRYPTTOKEN_LIST *dst, GWEN_CRYPTTOKEN_LIST *l);
03548 
03552   void GWEN_CryptToken_List_Add(GWEN_CRYPTTOKEN *element, GWEN_CRYPTTOKEN_LIST *list);
03553 
03558   void GWEN_CryptToken_List_Insert(GWEN_CRYPTTOKEN *element, GWEN_CRYPTTOKEN_LIST *list);
03559 
03566   void GWEN_CryptToken_List_Del(GWEN_CRYPTTOKEN *element);
03567 
03571   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_First(const GWEN_CRYPTTOKEN_LIST *l);
03572 
03576   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Last(const GWEN_CRYPTTOKEN_LIST *l);
03577 
03582   void GWEN_CryptToken_List_Clear(GWEN_CRYPTTOKEN_LIST *l);
03583 
03587   GWEN_CRYPTTOKEN_LIST* GWEN_CryptToken_List_new();
03588 
03592   void GWEN_CryptToken_List_free(GWEN_CRYPTTOKEN_LIST *l);
03593 
03597   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Next(const GWEN_CRYPTTOKEN *element);
03598 
03602   GWEN_CRYPTTOKEN* GWEN_CryptToken_List_Previous(const GWEN_CRYPTTOKEN *element);
03603 
03607   GWEN_TYPE_UINT32 GWEN_CryptToken_List_GetCount(const GWEN_CRYPTTOKEN_LIST *l);
03608 
03609 #ifdef __cplusplus
03610 }
03611 #endif
03612 
03613 
03614 #endif
03615 
03616 
03617 
03618 /***************************************************************************
03619  $RCSfile$
03620  -------------------
03621  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
03622  begin       : Sat Jun 28 2003
03623  copyright   : (C) 2003 by Martin Preuss
03624  email       : martin@libchipcard.de
03625 
03626  ***************************************************************************
03627  *                                                                         *
03628  *   This library is free software; you can redistribute it and/or         *
03629  *   modify it under the terms of the GNU Lesser General Public            *
03630  *   License as published by the Free Software Foundation; either          *
03631  *   version 2.1 of the License, or (at your option) any later version.    *
03632  *                                                                         *
03633  *   This library is distributed in the hope that it will be useful,       *
03634  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03635  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03636  *   Lesser General Public License for more details.                       *
03637  *                                                                         *
03638  *   You should have received a copy of the GNU Lesser General Public      *
03639  *   License along with this library; if not, write to the Free Software   *
03640  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03641  *   MA  02111-1307  USA                                                   *
03642  *                                                                         *
03643  ***************************************************************************/
03644 
03645 
03646 #ifndef GWEN_CRYPTTOKEN_CONTEXT_LIST1_H
03647 #define GWEN_CRYPTTOKEN_CONTEXT_LIST1_H
03648 
03649 #ifdef __cplusplus
03650 extern "C" {
03651 #endif
03652 
03654   typedef struct GWEN_CRYPTTOKEN_CONTEXT_LIST_ELEMENT {
03655     GWEN_TYPE_UINT32 id;
03656     GWEN_CRYPTTOKEN_CONTEXT *nextObject;
03657   } GWEN_CRYPTTOKEN_CONTEXT_LIST__ELEMENT;
03658 
03665   typedef struct GWEN_CRYPTTOKEN_CONTEXT_LIST GWEN_CRYPTTOKEN_CONTEXT_LIST;
03667   struct GWEN_CRYPTTOKEN_CONTEXT_LIST {
03668     GWEN_CRYPTTOKEN_CONTEXT *first;
03669     GWEN_TYPE_UINT32 count;
03670     GWEN_TYPE_UINT32 id;
03671   } GWEN_CRYPTTOKEN_CONTEXT_LIST;
03672 
03677   void GWEN_CryptToken_Context_List_AddList(GWEN_CRYPTTOKEN_CONTEXT_LIST *dst, GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03678 
03682   void GWEN_CryptToken_Context_List_Add(GWEN_CRYPTTOKEN_CONTEXT *element, GWEN_CRYPTTOKEN_CONTEXT_LIST *list);
03683 
03688   void GWEN_CryptToken_Context_List_Insert(GWEN_CRYPTTOKEN_CONTEXT *element, GWEN_CRYPTTOKEN_CONTEXT_LIST *list);
03689 
03696   void GWEN_CryptToken_Context_List_Del(GWEN_CRYPTTOKEN_CONTEXT *element);
03697 
03701   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_First(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03702 
03706   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Last(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03707 
03712   void GWEN_CryptToken_Context_List_Clear(GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03713 
03717   GWEN_CRYPTTOKEN_CONTEXT_LIST* GWEN_CryptToken_Context_List_new();
03718 
03722   void GWEN_CryptToken_Context_List_free(GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03723 
03727   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Next(const GWEN_CRYPTTOKEN_CONTEXT *element);
03728 
03732   GWEN_CRYPTTOKEN_CONTEXT* GWEN_CryptToken_Context_List_Previous(const GWEN_CRYPTTOKEN_CONTEXT *element);
03733 
03737   GWEN_TYPE_UINT32 GWEN_CryptToken_Context_List_GetCount(const GWEN_CRYPTTOKEN_CONTEXT_LIST *l);
03738 
03739 #ifdef __cplusplus
03740 }
03741 #endif
03742 
03743 
03744 #endif
03745 
03746 
03747 
03748 /***************************************************************************
03749  $RCSfile$
03750  -------------------
03751  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
03752  begin       : Sat Jun 28 2003
03753  copyright   : (C) 2003 by Martin Preuss
03754  email       : martin@libchipcard.de
03755 
03756  ***************************************************************************
03757  *                                                                         *
03758  *   This library is free software; you can redistribute it and/or         *
03759  *   modify it under the terms of the GNU Lesser General Public            *
03760  *   License as published by the Free Software Foundation; either          *
03761  *   version 2.1 of the License, or (at your option) any later version.    *
03762  *                                                                         *
03763  *   This library is distributed in the hope that it will be useful,       *
03764  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03765  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03766  *   Lesser General Public License for more details.                       *
03767  *                                                                         *
03768  *   You should have received a copy of the GNU Lesser General Public      *
03769  *   License along with this library; if not, write to the Free Software   *
03770  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03771  *   MA  02111-1307  USA                                                   *
03772  *                                                                         *
03773  ***************************************************************************/
03774 
03775 
03776 #ifndef GWEN_CRYPTTOKEN_CRYPTINFO_LIST1_H
03777 #define GWEN_CRYPTTOKEN_CRYPTINFO_LIST1_H
03778 
03779 #ifdef __cplusplus
03780 extern "C" {
03781 #endif
03782 
03784   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST_ELEMENT {
03785     GWEN_TYPE_UINT32 id;
03786     GWEN_CRYPTTOKEN_CRYPTINFO *nextObject;
03787   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST__ELEMENT;
03788 
03795   typedef struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
03797   struct GWEN_CRYPTTOKEN_CRYPTINFO_LIST {
03798     GWEN_CRYPTTOKEN_CRYPTINFO *first;
03799     GWEN_TYPE_UINT32 count;
03800     GWEN_TYPE_UINT32 id;
03801   } GWEN_CRYPTTOKEN_CRYPTINFO_LIST;
03802 
03807   void GWEN_CryptToken_CryptInfo_List_AddList(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *dst, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03808 
03812   void GWEN_CryptToken_CryptInfo_List_Add(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
03813 
03818   void GWEN_CryptToken_CryptInfo_List_Insert(GWEN_CRYPTTOKEN_CRYPTINFO *element, GWEN_CRYPTTOKEN_CRYPTINFO_LIST *list);
03819 
03826   void GWEN_CryptToken_CryptInfo_List_Del(GWEN_CRYPTTOKEN_CRYPTINFO *element);
03827 
03831   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_First(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03832 
03836   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Last(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03837 
03842   void GWEN_CryptToken_CryptInfo_List_Clear(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03843 
03847   GWEN_CRYPTTOKEN_CRYPTINFO_LIST* GWEN_CryptToken_CryptInfo_List_new();
03848 
03852   void GWEN_CryptToken_CryptInfo_List_free(GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03853 
03857   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Next(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
03858 
03862   GWEN_CRYPTTOKEN_CRYPTINFO* GWEN_CryptToken_CryptInfo_List_Previous(const GWEN_CRYPTTOKEN_CRYPTINFO *element);
03863 
03867   GWEN_TYPE_UINT32 GWEN_CryptToken_CryptInfo_List_GetCount(const GWEN_CRYPTTOKEN_CRYPTINFO_LIST *l);
03868 
03869 #ifdef __cplusplus
03870 }
03871 #endif
03872 
03873 
03874 #endif
03875 
03876 
03877 
03878 /***************************************************************************
03879  $RCSfile$
03880  -------------------
03881  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
03882  begin       : Sat Jun 28 2003
03883  copyright   : (C) 2003 by Martin Preuss
03884  email       : martin@libchipcard.de
03885 
03886  ***************************************************************************
03887  *                                                                         *
03888  *   This library is free software; you can redistribute it and/or         *
03889  *   modify it under the terms of the GNU Lesser General Public            *
03890  *   License as published by the Free Software Foundation; either          *
03891  *   version 2.1 of the License, or (at your option) any later version.    *
03892  *                                                                         *
03893  *   This library is distributed in the hope that it will be useful,       *
03894  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
03895  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
03896  *   Lesser General Public License for more details.                       *
03897  *                                                                         *
03898  *   You should have received a copy of the GNU Lesser General Public      *
03899  *   License along with this library; if not, write to the Free Software   *
03900  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
03901  *   MA  02111-1307  USA                                                   *
03902  *                                                                         *
03903  ***************************************************************************/
03904 
03905 
03906 #ifndef GWEN_CRYPTTOKEN_KEYINFO_LIST1_H
03907 #define GWEN_CRYPTTOKEN_KEYINFO_LIST1_H
03908 
03909 #ifdef __cplusplus
03910 extern "C" {
03911 #endif
03912 
03914   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST_ELEMENT {
03915     GWEN_TYPE_UINT32 id;
03916     GWEN_CRYPTTOKEN_KEYINFO *nextObject;
03917   } GWEN_CRYPTTOKEN_KEYINFO_LIST__ELEMENT;
03918 
03925   typedef struct GWEN_CRYPTTOKEN_KEYINFO_LIST GWEN_CRYPTTOKEN_KEYINFO_LIST;
03927   struct GWEN_CRYPTTOKEN_KEYINFO_LIST {
03928     GWEN_CRYPTTOKEN_KEYINFO *first;
03929     GWEN_TYPE_UINT32 count;
03930     GWEN_TYPE_UINT32 id;
03931   } GWEN_CRYPTTOKEN_KEYINFO_LIST;
03932 
03937   void GWEN_CryptToken_KeyInfo_List_AddList(GWEN_CRYPTTOKEN_KEYINFO_LIST *dst, GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03938 
03942   void GWEN_CryptToken_KeyInfo_List_Add(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
03943 
03948   void GWEN_CryptToken_KeyInfo_List_Insert(GWEN_CRYPTTOKEN_KEYINFO *element, GWEN_CRYPTTOKEN_KEYINFO_LIST *list);
03949 
03956   void GWEN_CryptToken_KeyInfo_List_Del(GWEN_CRYPTTOKEN_KEYINFO *element);
03957 
03961   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_First(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03962 
03966   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Last(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03967 
03972   void GWEN_CryptToken_KeyInfo_List_Clear(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03973 
03977   GWEN_CRYPTTOKEN_KEYINFO_LIST* GWEN_CryptToken_KeyInfo_List_new();
03978 
03982   void GWEN_CryptToken_KeyInfo_List_free(GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03983 
03987   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Next(const GWEN_CRYPTTOKEN_KEYINFO *element);
03988 
03992   GWEN_CRYPTTOKEN_KEYINFO* GWEN_CryptToken_KeyInfo_List_Previous(const GWEN_CRYPTTOKEN_KEYINFO *element);
03993 
03997   GWEN_TYPE_UINT32 GWEN_CryptToken_KeyInfo_List_GetCount(const GWEN_CRYPTTOKEN_KEYINFO_LIST *l);
03998 
03999 #ifdef __cplusplus
04000 }
04001 #endif
04002 
04003 
04004 #endif
04005 
04006 
04007 
04008 /***************************************************************************
04009  $RCSfile$
04010  -------------------
04011  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
04012  begin       : Sat Jun 28 2003
04013  copyright   : (C) 2003 by Martin Preuss
04014  email       : martin@libchipcard.de
04015 
04016  ***************************************************************************
04017  *                                                                         *
04018  *   This library is free software; you can redistribute it and/or         *
04019  *   modify it under the terms of the GNU Lesser General Public            *
04020  *   License as published by the Free Software Foundation; either          *
04021  *   version 2.1 of the License, or (at your option) any later version.    *
04022  *                                                                         *
04023  *   This library is distributed in the hope that it will be useful,       *
04024  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04025  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04026  *   Lesser General Public License for more details.                       *
04027  *                                                                         *
04028  *   You should have received a copy of the GNU Lesser General Public      *
04029  *   License along with this library; if not, write to the Free Software   *
04030  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04031  *   MA  02111-1307  USA                                                   *
04032  *                                                                         *
04033  ***************************************************************************/
04034 
04035 
04036 #ifndef GWEN_CRYPTTOKEN_SIGNINFO_LIST1_H
04037 #define GWEN_CRYPTTOKEN_SIGNINFO_LIST1_H
04038 
04039 #ifdef __cplusplus
04040 extern "C" {
04041 #endif
04042 
04044   typedef struct GWEN_CRYPTTOKEN_SIGNINFO_LIST_ELEMENT {
04045     GWEN_TYPE_UINT32 id;
04046     GWEN_CRYPTTOKEN_SIGNINFO *nextObject;
04047   } GWEN_CRYPTTOKEN_SIGNINFO_LIST__ELEMENT;
04048 
04055   typedef struct GWEN_CRYPTTOKEN_SIGNINFO_LIST GWEN_CRYPTTOKEN_SIGNINFO_LIST;
04057   struct GWEN_CRYPTTOKEN_SIGNINFO_LIST {
04058     GWEN_CRYPTTOKEN_SIGNINFO *first;
04059     GWEN_TYPE_UINT32 count;
04060     GWEN_TYPE_UINT32 id;
04061   } GWEN_CRYPTTOKEN_SIGNINFO_LIST;
04062 
04067   void GWEN_CryptToken_SignInfo_List_AddList(GWEN_CRYPTTOKEN_SIGNINFO_LIST *dst, GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04068 
04072   void GWEN_CryptToken_SignInfo_List_Add(GWEN_CRYPTTOKEN_SIGNINFO *element, GWEN_CRYPTTOKEN_SIGNINFO_LIST *list);
04073 
04078   void GWEN_CryptToken_SignInfo_List_Insert(GWEN_CRYPTTOKEN_SIGNINFO *element, GWEN_CRYPTTOKEN_SIGNINFO_LIST *list);
04079 
04086   void GWEN_CryptToken_SignInfo_List_Del(GWEN_CRYPTTOKEN_SIGNINFO *element);
04087 
04091   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_First(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04092 
04096   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Last(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04097 
04102   void GWEN_CryptToken_SignInfo_List_Clear(GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04103 
04107   GWEN_CRYPTTOKEN_SIGNINFO_LIST* GWEN_CryptToken_SignInfo_List_new();
04108 
04112   void GWEN_CryptToken_SignInfo_List_free(GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04113 
04117   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Next(const GWEN_CRYPTTOKEN_SIGNINFO *element);
04118 
04122   GWEN_CRYPTTOKEN_SIGNINFO* GWEN_CryptToken_SignInfo_List_Previous(const GWEN_CRYPTTOKEN_SIGNINFO *element);
04123 
04127   GWEN_TYPE_UINT32 GWEN_CryptToken_SignInfo_List_GetCount(const GWEN_CRYPTTOKEN_SIGNINFO_LIST *l);
04128 
04129 #ifdef __cplusplus
04130 }
04131 #endif
04132 
04133 
04134 #endif
04135 
04136 
04137 
04138 /***************************************************************************
04139  $RCSfile$
04140  -------------------
04141  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
04142  begin       : Sat Jun 28 2003
04143  copyright   : (C) 2003 by Martin Preuss
04144  email       : martin@libchipcard.de
04145 
04146  ***************************************************************************
04147  *                                                                         *
04148  *   This library is free software; you can redistribute it and/or         *
04149  *   modify it under the terms of the GNU Lesser General Public            *
04150  *   License as published by the Free Software Foundation; either          *
04151  *   version 2.1 of the License, or (at your option) any later version.    *
04152  *                                                                         *
04153  *   This library is distributed in the hope that it will be useful,       *
04154  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04155  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04156  *   Lesser General Public License for more details.                       *
04157  *                                                                         *
04158  *   You should have received a copy of the GNU Lesser General Public      *
04159  *   License along with this library; if not, write to the Free Software   *
04160  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04161  *   MA  02111-1307  USA                                                   *
04162  *                                                                         *
04163  ***************************************************************************/
04164 
04165 
04166 #ifndef GWEN_CRYPTTOKEN_USER_LIST2_H
04167 #define GWEN_CRYPTTOKEN_USER_LIST2_H
04168 
04169 
04170 #ifdef __cplusplus
04171 extern "C" {
04172 #endif
04173 
04180   typedef struct GWEN_CRYPTTOKEN_USER_LIST2 GWEN_CRYPTTOKEN_USER_LIST2;
04181 
04185   typedef struct GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR;
04186 
04190   typedef GWEN_CRYPTTOKEN_USER* (GWEN_CRYPTTOKEN_USER_LIST2_FOREACH)(GWEN_CRYPTTOKEN_USER *element,
04191                                                  void *user_data);
04192 
04196   GWEN_CRYPTTOKEN_USER_LIST2 *GWEN_CryptToken_User_List2_new(); 
04197 
04201   void GWEN_CryptToken_User_List2_free(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04202 
04206   void GWEN_CryptToken_User_List2_Dump(GWEN_CRYPTTOKEN_USER_LIST2 *l, FILE *f, unsigned int indent); 
04207 
04211   void GWEN_CryptToken_User_List2_PushBack(GWEN_CRYPTTOKEN_USER_LIST2 *l, GWEN_CRYPTTOKEN_USER *p); 
04212    
04217   void GWEN_CryptToken_User_List2_PushFront(GWEN_CRYPTTOKEN_USER_LIST2 *l, GWEN_CRYPTTOKEN_USER *p); 
04218 
04223   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_GetFront(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04224    
04229   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_GetBack(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04230 
04235   void GWEN_CryptToken_User_List2_Erase(GWEN_CRYPTTOKEN_USER_LIST2 *l,
04236                                GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *it);
04237 
04243   unsigned int GWEN_CryptToken_User_List2_GetSize(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04244 
04249   void GWEN_CryptToken_User_List2_PopBack(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04250    
04255   void GWEN_CryptToken_User_List2_PopFront(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04256 
04260   void GWEN_CryptToken_User_List2_Clear(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04261 
04265   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2_First(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04266    
04270   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2_Last(GWEN_CRYPTTOKEN_USER_LIST2 *l); 
04271 
04275   GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *GWEN_CryptToken_User_List2Iterator_new(GWEN_CRYPTTOKEN_USER_LIST2 *l);
04276 
04280   void GWEN_CryptToken_User_List2Iterator_free(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
04281 
04286   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Previous(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
04287    
04292   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Next(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
04293 
04298   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2Iterator_Data(GWEN_CRYPTTOKEN_USER_LIST2_ITERATOR *li); 
04299 
04311   GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_List2_ForEach(GWEN_CRYPTTOKEN_USER_LIST2 *list,
04312                                         GWEN_CRYPTTOKEN_USER_LIST2_FOREACH func,
04313                                         void *user_data);
04314 
04315 
04316   typedef struct GWEN_CRYPTTOKEN_USER_CONSTLIST2 GWEN_CRYPTTOKEN_USER_CONSTLIST2; 
04317   typedef struct GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR; 
04318   typedef const GWEN_CRYPTTOKEN_USER*
04319     (GWEN_CRYPTTOKEN_USER_CONSTLIST2_FOREACH)(const GWEN_CRYPTTOKEN_USER *element,
04320                                     void *user_data);
04321   
04322    
04323   GWEN_CRYPTTOKEN_USER_CONSTLIST2 *GWEN_CryptToken_User_ConstList2_new(); 
04324    
04325   void GWEN_CryptToken_User_ConstList2_free(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04326    
04327   void GWEN_CryptToken_User_ConstList2_PushBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l, const GWEN_CRYPTTOKEN_USER *p); 
04328    
04329   void GWEN_CryptToken_User_ConstList2_PushFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l, const GWEN_CRYPTTOKEN_USER *p); 
04330    
04331   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_GetFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04332    
04333   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_GetBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04334    
04335   unsigned int GWEN_CryptToken_User_ConstList2_GetSize(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04336    
04337   void GWEN_CryptToken_User_ConstList2_PopBack(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04338    
04339   void GWEN_CryptToken_User_ConstList2_PopFront(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04340    
04341   void GWEN_CryptToken_User_ConstList2_Clear(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04342    
04343   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2_First(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04344    
04345   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2_Last(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04346    
04347   GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *GWEN_CryptToken_User_ConstList2Iterator_new(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *l); 
04348    
04349   void GWEN_CryptToken_User_ConstList2Iterator_free(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
04350    
04351   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Previous(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
04352    
04353   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Next(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
04354    
04355   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2Iterator_Data(GWEN_CRYPTTOKEN_USER_CONSTLIST2_ITERATOR *li); 
04356    
04368   const GWEN_CRYPTTOKEN_USER *GWEN_CryptToken_User_ConstList2_ForEach(GWEN_CRYPTTOKEN_USER_CONSTLIST2 *list,
04369         GWEN_CRYPTTOKEN_USER_CONSTLIST2_FOREACH func, void *user_data);
04370 
04371 
04372 #ifdef __cplusplus
04373 }
04374 #endif
04375 
04376 
04377 #endif /* GWEN_CRYPTTOKEN_USER_LIST_H */
04378 
04379 
04380 
04381 /***************************************************************************
04382  $RCSfile$
04383  -------------------
04384  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
04385  begin       : Sat Jun 28 2003
04386  copyright   : (C) 2003 by Martin Preuss
04387  email       : martin@libchipcard.de
04388 
04389  ***************************************************************************
04390  *                                                                         *
04391  *   This library is free software; you can redistribute it and/or         *
04392  *   modify it under the terms of the GNU Lesser General Public            *
04393  *   License as published by the Free Software Foundation; either          *
04394  *   version 2.1 of the License, or (at your option) any later version.    *
04395  *                                                                         *
04396  *   This library is distributed in the hope that it will be useful,       *
04397  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04398  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04399  *   Lesser General Public License for more details.                       *
04400  *                                                                         *
04401  *   You should have received a copy of the GNU Lesser General Public      *
04402  *   License along with this library; if not, write to the Free Software   *
04403  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04404  *   MA  02111-1307  USA                                                   *
04405  *                                                                         *
04406  ***************************************************************************/
04407 
04408 
04409 #ifndef GWEN_CRYPTTOKEN_USER_LIST1_H
04410 #define GWEN_CRYPTTOKEN_USER_LIST1_H
04411 
04412 #ifdef __cplusplus
04413 extern "C" {
04414 #endif
04415 
04417   typedef struct GWEN_CRYPTTOKEN_USER_LIST_ELEMENT {
04418     GWEN_TYPE_UINT32 id;
04419     GWEN_CRYPTTOKEN_USER *nextObject;
04420   } GWEN_CRYPTTOKEN_USER_LIST__ELEMENT;
04421 
04428   typedef struct GWEN_CRYPTTOKEN_USER_LIST GWEN_CRYPTTOKEN_USER_LIST;
04430   struct GWEN_CRYPTTOKEN_USER_LIST {
04431     GWEN_CRYPTTOKEN_USER *first;
04432     GWEN_TYPE_UINT32 count;
04433     GWEN_TYPE_UINT32 id;
04434   } GWEN_CRYPTTOKEN_USER_LIST;
04435 
04440   void GWEN_CryptToken_User_List_AddList(GWEN_CRYPTTOKEN_USER_LIST *dst, GWEN_CRYPTTOKEN_USER_LIST *l);
04441 
04445   void GWEN_CryptToken_User_List_Add(GWEN_CRYPTTOKEN_USER *element, GWEN_CRYPTTOKEN_USER_LIST *list);
04446 
04451   void GWEN_CryptToken_User_List_Insert(GWEN_CRYPTTOKEN_USER *element, GWEN_CRYPTTOKEN_USER_LIST *list);
04452 
04459   void GWEN_CryptToken_User_List_Del(GWEN_CRYPTTOKEN_USER *element);
04460 
04464   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_First(const GWEN_CRYPTTOKEN_USER_LIST *l);
04465 
04469   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Last(const GWEN_CRYPTTOKEN_USER_LIST *l);
04470 
04475   void GWEN_CryptToken_User_List_Clear(GWEN_CRYPTTOKEN_USER_LIST *l);
04476 
04480   GWEN_CRYPTTOKEN_USER_LIST* GWEN_CryptToken_User_List_new();
04481 
04485   void GWEN_CryptToken_User_List_free(GWEN_CRYPTTOKEN_USER_LIST *l);
04486 
04490   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Next(const GWEN_CRYPTTOKEN_USER *element);
04491 
04495   GWEN_CRYPTTOKEN_USER* GWEN_CryptToken_User_List_Previous(const GWEN_CRYPTTOKEN_USER *element);
04496 
04500   GWEN_TYPE_UINT32 GWEN_CryptToken_User_List_GetCount(const GWEN_CRYPTTOKEN_USER_LIST *l);
04501 
04502 #ifdef __cplusplus
04503 }
04504 #endif
04505 
04506 
04507 #endif
04508 
04509 
04510 
04511 /***************************************************************************
04512  $RCSfile$
04513  -------------------
04514  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
04515  begin       : Sat Jun 28 2003
04516  copyright   : (C) 2003 by Martin Preuss
04517  email       : martin@libchipcard.de
04518 
04519  ***************************************************************************
04520  *                                                                         *
04521  *   This library is free software; you can redistribute it and/or         *
04522  *   modify it under the terms of the GNU Lesser General Public            *
04523  *   License as published by the Free Software Foundation; either          *
04524  *   version 2.1 of the License, or (at your option) any later version.    *
04525  *                                                                         *
04526  *   This library is distributed in the hope that it will be useful,       *
04527  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04528  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04529  *   Lesser General Public License for more details.                       *
04530  *                                                                         *
04531  *   You should have received a copy of the GNU Lesser General Public      *
04532  *   License along with this library; if not, write to the Free Software   *
04533  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04534  *   MA  02111-1307  USA                                                   *
04535  *                                                                         *
04536  ***************************************************************************/
04537 
04538 
04539 #ifndef GWEN_CT_FILE_CONTEXT_LIST2_H
04540 #define GWEN_CT_FILE_CONTEXT_LIST2_H
04541 
04542 
04543 #ifdef __cplusplus
04544 extern "C" {
04545 #endif
04546 
04553   typedef struct GWEN_CT_FILE_CONTEXT_LIST2 GWEN_CT_FILE_CONTEXT_LIST2;
04554 
04558   typedef struct GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR;
04559 
04563   typedef GWEN_CT_FILE_CONTEXT* (GWEN_CT_FILE_CONTEXT_LIST2_FOREACH)(GWEN_CT_FILE_CONTEXT *element,
04564                                                  void *user_data);
04565 
04569   GWEN_CT_FILE_CONTEXT_LIST2 *GWEN_CryptTokenFile_Context_List2_new(); 
04570 
04574   void GWEN_CryptTokenFile_Context_List2_free(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04575 
04579   void GWEN_CryptTokenFile_Context_List2_Dump(GWEN_CT_FILE_CONTEXT_LIST2 *l, FILE *f, unsigned int indent); 
04580 
04584   void GWEN_CryptTokenFile_Context_List2_PushBack(GWEN_CT_FILE_CONTEXT_LIST2 *l, GWEN_CT_FILE_CONTEXT *p); 
04585    
04590   void GWEN_CryptTokenFile_Context_List2_PushFront(GWEN_CT_FILE_CONTEXT_LIST2 *l, GWEN_CT_FILE_CONTEXT *p); 
04591 
04596   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_GetFront(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04597    
04602   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_GetBack(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04603 
04608   void GWEN_CryptTokenFile_Context_List2_Erase(GWEN_CT_FILE_CONTEXT_LIST2 *l,
04609                                GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *it);
04610 
04616   unsigned int GWEN_CryptTokenFile_Context_List2_GetSize(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04617 
04622   void GWEN_CryptTokenFile_Context_List2_PopBack(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04623    
04628   void GWEN_CryptTokenFile_Context_List2_PopFront(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04629 
04633   void GWEN_CryptTokenFile_Context_List2_Clear(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04634 
04638   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2_First(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04639    
04643   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2_Last(GWEN_CT_FILE_CONTEXT_LIST2 *l); 
04644 
04648   GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *GWEN_CryptTokenFile_Context_List2Iterator_new(GWEN_CT_FILE_CONTEXT_LIST2 *l);
04649 
04653   void GWEN_CryptTokenFile_Context_List2Iterator_free(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
04654 
04659   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Previous(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
04660    
04665   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Next(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
04666 
04671   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2Iterator_Data(GWEN_CT_FILE_CONTEXT_LIST2_ITERATOR *li); 
04672 
04684   GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_List2_ForEach(GWEN_CT_FILE_CONTEXT_LIST2 *list,
04685                                         GWEN_CT_FILE_CONTEXT_LIST2_FOREACH func,
04686                                         void *user_data);
04687 
04688 
04689   typedef struct GWEN_CT_FILE_CONTEXT_CONSTLIST2 GWEN_CT_FILE_CONTEXT_CONSTLIST2; 
04690   typedef struct GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR; 
04691   typedef const GWEN_CT_FILE_CONTEXT*
04692     (GWEN_CT_FILE_CONTEXT_CONSTLIST2_FOREACH)(const GWEN_CT_FILE_CONTEXT *element,
04693                                     void *user_data);
04694   
04695    
04696   GWEN_CT_FILE_CONTEXT_CONSTLIST2 *GWEN_CryptTokenFile_Context_ConstList2_new(); 
04697    
04698   void GWEN_CryptTokenFile_Context_ConstList2_free(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04699    
04700   void GWEN_CryptTokenFile_Context_ConstList2_PushBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l, const GWEN_CT_FILE_CONTEXT *p); 
04701    
04702   void GWEN_CryptTokenFile_Context_ConstList2_PushFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l, const GWEN_CT_FILE_CONTEXT *p); 
04703    
04704   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_GetFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04705    
04706   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_GetBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04707    
04708   unsigned int GWEN_CryptTokenFile_Context_ConstList2_GetSize(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04709    
04710   void GWEN_CryptTokenFile_Context_ConstList2_PopBack(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04711    
04712   void GWEN_CryptTokenFile_Context_ConstList2_PopFront(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04713    
04714   void GWEN_CryptTokenFile_Context_ConstList2_Clear(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04715    
04716   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2_First(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04717    
04718   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2_Last(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04719    
04720   GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *GWEN_CryptTokenFile_Context_ConstList2Iterator_new(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *l); 
04721    
04722   void GWEN_CryptTokenFile_Context_ConstList2Iterator_free(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
04723    
04724   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Previous(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
04725    
04726   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Next(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
04727    
04728   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2Iterator_Data(GWEN_CT_FILE_CONTEXT_CONSTLIST2_ITERATOR *li); 
04729    
04741   const GWEN_CT_FILE_CONTEXT *GWEN_CryptTokenFile_Context_ConstList2_ForEach(GWEN_CT_FILE_CONTEXT_CONSTLIST2 *list,
04742         GWEN_CT_FILE_CONTEXT_CONSTLIST2_FOREACH func, void *user_data);
04743 
04744 
04745 #ifdef __cplusplus
04746 }
04747 #endif
04748 
04749 
04750 #endif /* GWEN_CT_FILE_CONTEXT_LIST_H */
04751 
04752 
04753 
04754 /***************************************************************************
04755  $RCSfile$
04756  -------------------
04757  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
04758  begin       : Sat Jun 28 2003
04759  copyright   : (C) 2003 by Martin Preuss
04760  email       : martin@libchipcard.de
04761 
04762  ***************************************************************************
04763  *                                                                         *
04764  *   This library is free software; you can redistribute it and/or         *
04765  *   modify it under the terms of the GNU Lesser General Public            *
04766  *   License as published by the Free Software Foundation; either          *
04767  *   version 2.1 of the License, or (at your option) any later version.    *
04768  *                                                                         *
04769  *   This library is distributed in the hope that it will be useful,       *
04770  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04771  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04772  *   Lesser General Public License for more details.                       *
04773  *                                                                         *
04774  *   You should have received a copy of the GNU Lesser General Public      *
04775  *   License along with this library; if not, write to the Free Software   *
04776  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04777  *   MA  02111-1307  USA                                                   *
04778  *                                                                         *
04779  ***************************************************************************/
04780 
04781 
04782 #ifndef GWEN_CT_FILE_CONTEXT_LIST1_H
04783 #define GWEN_CT_FILE_CONTEXT_LIST1_H
04784 
04785 #ifdef __cplusplus
04786 extern "C" {
04787 #endif
04788 
04790   typedef struct GWEN_CT_FILE_CONTEXT_LIST_ELEMENT {
04791     GWEN_TYPE_UINT32 id;
04792     GWEN_CT_FILE_CONTEXT *nextObject;
04793   } GWEN_CT_FILE_CONTEXT_LIST__ELEMENT;
04794 
04801   typedef struct GWEN_CT_FILE_CONTEXT_LIST GWEN_CT_FILE_CONTEXT_LIST;
04803   struct GWEN_CT_FILE_CONTEXT_LIST {
04804     GWEN_CT_FILE_CONTEXT *first;
04805     GWEN_TYPE_UINT32 count;
04806     GWEN_TYPE_UINT32 id;
04807   } GWEN_CT_FILE_CONTEXT_LIST;
04808 
04813   void GWEN_CryptTokenFile_Context_List_AddList(GWEN_CT_FILE_CONTEXT_LIST *dst, GWEN_CT_FILE_CONTEXT_LIST *l);
04814 
04818   void GWEN_CryptTokenFile_Context_List_Add(GWEN_CT_FILE_CONTEXT *element, GWEN_CT_FILE_CONTEXT_LIST *list);
04819 
04824   void GWEN_CryptTokenFile_Context_List_Insert(GWEN_CT_FILE_CONTEXT *element, GWEN_CT_FILE_CONTEXT_LIST *list);
04825 
04832   void GWEN_CryptTokenFile_Context_List_Del(GWEN_CT_FILE_CONTEXT *element);
04833 
04837   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_First(const GWEN_CT_FILE_CONTEXT_LIST *l);
04838 
04842   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Last(const GWEN_CT_FILE_CONTEXT_LIST *l);
04843 
04848   void GWEN_CryptTokenFile_Context_List_Clear(GWEN_CT_FILE_CONTEXT_LIST *l);
04849 
04853   GWEN_CT_FILE_CONTEXT_LIST* GWEN_CryptTokenFile_Context_List_new();
04854 
04858   void GWEN_CryptTokenFile_Context_List_free(GWEN_CT_FILE_CONTEXT_LIST *l);
04859 
04863   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Next(const GWEN_CT_FILE_CONTEXT *element);
04864 
04868   GWEN_CT_FILE_CONTEXT* GWEN_CryptTokenFile_Context_List_Previous(const GWEN_CT_FILE_CONTEXT *element);
04869 
04873   GWEN_TYPE_UINT32 GWEN_CryptTokenFile_Context_List_GetCount(const GWEN_CT_FILE_CONTEXT_LIST *l);
04874 
04875 #ifdef __cplusplus
04876 }
04877 #endif
04878 
04879 
04880 #endif
04881 
04882 
04883 
04884 /***************************************************************************
04885  $RCSfile$
04886  -------------------
04887  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
04888  begin       : Sat Jun 28 2003
04889  copyright   : (C) 2003 by Martin Preuss
04890  email       : martin@libchipcard.de
04891 
04892  ***************************************************************************
04893  *                                                                         *
04894  *   This library is free software; you can redistribute it and/or         *
04895  *   modify it under the terms of the GNU Lesser General Public            *
04896  *   License as published by the Free Software Foundation; either          *
04897  *   version 2.1 of the License, or (at your option) any later version.    *
04898  *                                                                         *
04899  *   This library is distributed in the hope that it will be useful,       *
04900  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
04901  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
04902  *   Lesser General Public License for more details.                       *
04903  *                                                                         *
04904  *   You should have received a copy of the GNU Lesser General Public      *
04905  *   License along with this library; if not, write to the Free Software   *
04906  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
04907  *   MA  02111-1307  USA                                                   *
04908  *                                                                         *
04909  ***************************************************************************/
04910 
04911 
04912 #ifndef GWEN_IPC_REQUEST_LIST2_H
04913 #define GWEN_IPC_REQUEST_LIST2_H
04914 
04915 
04916 #ifdef __cplusplus
04917 extern "C" {
04918 #endif
04919 
04926   typedef struct GWEN_IPC_REQUEST_LIST2 GWEN_IPC_REQUEST_LIST2;
04927 
04931   typedef struct GWEN_IPC_REQUEST_LIST2_ITERATOR GWEN_IPC_REQUEST_LIST2_ITERATOR;
04932 
04936   typedef GWEN_IPC_REQUEST* (GWEN_IPC_REQUEST_LIST2_FOREACH)(GWEN_IPC_REQUEST *element,
04937                                                  void *user_data);
04938 
04942   GWEN_IPC_REQUEST_LIST2 *GWEN_IpcRequest_List2_new(); 
04943 
04947   void GWEN_IpcRequest_List2_free(GWEN_IPC_REQUEST_LIST2 *l); 
04948 
04952   void GWEN_IpcRequest_List2_Dump(GWEN_IPC_REQUEST_LIST2 *l, FILE *f, unsigned int indent); 
04953 
04957   void GWEN_IpcRequest_List2_PushBack(GWEN_IPC_REQUEST_LIST2 *l, GWEN_IPC_REQUEST *p); 
04958    
04963   void GWEN_IpcRequest_List2_PushFront(GWEN_IPC_REQUEST_LIST2 *l, GWEN_IPC_REQUEST *p); 
04964 
04969   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2_GetFront(GWEN_IPC_REQUEST_LIST2 *l); 
04970    
04975   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2_GetBack(GWEN_IPC_REQUEST_LIST2 *l); 
04976 
04981   void GWEN_IpcRequest_List2_Erase(GWEN_IPC_REQUEST_LIST2 *l,
04982                                GWEN_IPC_REQUEST_LIST2_ITERATOR *it);
04983 
04989   unsigned int GWEN_IpcRequest_List2_GetSize(GWEN_IPC_REQUEST_LIST2 *l); 
04990 
04995   void GWEN_IpcRequest_List2_PopBack(GWEN_IPC_REQUEST_LIST2 *l); 
04996    
05001   void GWEN_IpcRequest_List2_PopFront(GWEN_IPC_REQUEST_LIST2 *l); 
05002 
05006   void GWEN_IpcRequest_List2_Clear(GWEN_IPC_REQUEST_LIST2 *l); 
05007 
05011   GWEN_IPC_REQUEST_LIST2_ITERATOR *GWEN_IpcRequest_List2_First(GWEN_IPC_REQUEST_LIST2 *l); 
05012    
05016   GWEN_IPC_REQUEST_LIST2_ITERATOR *GWEN_IpcRequest_List2_Last(GWEN_IPC_REQUEST_LIST2 *l); 
05017 
05021   GWEN_IPC_REQUEST_LIST2_ITERATOR *GWEN_IpcRequest_List2Iterator_new(GWEN_IPC_REQUEST_LIST2 *l);
05022 
05026   void GWEN_IpcRequest_List2Iterator_free(GWEN_IPC_REQUEST_LIST2_ITERATOR *li); 
05027 
05032   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2Iterator_Previous(GWEN_IPC_REQUEST_LIST2_ITERATOR *li); 
05033    
05038   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2Iterator_Next(GWEN_IPC_REQUEST_LIST2_ITERATOR *li); 
05039 
05044   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2Iterator_Data(GWEN_IPC_REQUEST_LIST2_ITERATOR *li); 
05045 
05057   GWEN_IPC_REQUEST *GWEN_IpcRequest_List2_ForEach(GWEN_IPC_REQUEST_LIST2 *list,
05058                                         GWEN_IPC_REQUEST_LIST2_FOREACH func,
05059                                         void *user_data);
05060 
05061 
05062   typedef struct GWEN_IPC_REQUEST_CONSTLIST2 GWEN_IPC_REQUEST_CONSTLIST2; 
05063   typedef struct GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR; 
05064   typedef const GWEN_IPC_REQUEST*
05065     (GWEN_IPC_REQUEST_CONSTLIST2_FOREACH)(const GWEN_IPC_REQUEST *element,
05066                                     void *user_data);
05067   
05068    
05069   GWEN_IPC_REQUEST_CONSTLIST2 *GWEN_IpcRequest_ConstList2_new(); 
05070    
05071   void GWEN_IpcRequest_ConstList2_free(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05072    
05073   void GWEN_IpcRequest_ConstList2_PushBack(GWEN_IPC_REQUEST_CONSTLIST2 *l, const GWEN_IPC_REQUEST *p); 
05074    
05075   void GWEN_IpcRequest_ConstList2_PushFront(GWEN_IPC_REQUEST_CONSTLIST2 *l, const GWEN_IPC_REQUEST *p); 
05076    
05077   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2_GetFront(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05078    
05079   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2_GetBack(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05080    
05081   unsigned int GWEN_IpcRequest_ConstList2_GetSize(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05082    
05083   void GWEN_IpcRequest_ConstList2_PopBack(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05084    
05085   void GWEN_IpcRequest_ConstList2_PopFront(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05086    
05087   void GWEN_IpcRequest_ConstList2_Clear(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05088    
05089   GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *GWEN_IpcRequest_ConstList2_First(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05090    
05091   GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *GWEN_IpcRequest_ConstList2_Last(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05092    
05093   GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *GWEN_IpcRequest_ConstList2Iterator_new(GWEN_IPC_REQUEST_CONSTLIST2 *l); 
05094    
05095   void GWEN_IpcRequest_ConstList2Iterator_free(GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *li); 
05096    
05097   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2Iterator_Previous(GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *li); 
05098    
05099   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2Iterator_Next(GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *li); 
05100    
05101   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2Iterator_Data(GWEN_IPC_REQUEST_CONSTLIST2_ITERATOR *li); 
05102    
05114   const GWEN_IPC_REQUEST *GWEN_IpcRequest_ConstList2_ForEach(GWEN_IPC_REQUEST_CONSTLIST2 *list,
05115         GWEN_IPC_REQUEST_CONSTLIST2_FOREACH func, void *user_data);
05116 
05117 
05118 #ifdef __cplusplus
05119 }
05120 #endif
05121 
05122 
05123 #endif /* GWEN_IPC_REQUEST_LIST_H */
05124 
05125 
05126 
05127 /***************************************************************************
05128  $RCSfile$
05129  -------------------
05130  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
05131  begin       : Sat Jun 28 2003
05132  copyright   : (C) 2003 by Martin Preuss
05133  email       : martin@libchipcard.de
05134 
05135  ***************************************************************************
05136  *                                                                         *
05137  *   This library is free software; you can redistribute it and/or         *
05138  *   modify it under the terms of the GNU Lesser General Public            *
05139  *   License as published by the Free Software Foundation; either          *
05140  *   version 2.1 of the License, or (at your option) any later version.    *
05141  *                                                                         *
05142  *   This library is distributed in the hope that it will be useful,       *
05143  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
05144  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
05145  *   Lesser General Public License for more details.                       *
05146  *                                                                         *
05147  *   You should have received a copy of the GNU Lesser General Public      *
05148  *   License along with this library; if not, write to the Free Software   *
05149  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
05150  *   MA  02111-1307  USA                                                   *
05151  *                                                                         *
05152  ***************************************************************************/
05153 
05154 
05155 #ifndef GWEN_IPC_REQUEST_LIST1_H
05156 #define GWEN_IPC_REQUEST_LIST1_H
05157 
05158 #ifdef __cplusplus
05159 extern "C" {
05160 #endif
05161 
05163   typedef struct GWEN_IPC_REQUEST_LIST_ELEMENT {
05164     GWEN_TYPE_UINT32 id;
05165     GWEN_IPC_REQUEST *nextObject;
05166   } GWEN_IPC_REQUEST_LIST__ELEMENT;
05167 
05174   typedef struct GWEN_IPC_REQUEST_LIST GWEN_IPC_REQUEST_LIST;
05176   struct GWEN_IPC_REQUEST_LIST {
05177     GWEN_IPC_REQUEST *first;
05178     GWEN_TYPE_UINT32 count;
05179     GWEN_TYPE_UINT32 id;
05180   } GWEN_IPC_REQUEST_LIST;
05181 
05186   void GWEN_IpcRequest_List_AddList(GWEN_IPC_REQUEST_LIST *dst, GWEN_IPC_REQUEST_LIST *l);
05187 
05191   void GWEN_IpcRequest_List_Add(GWEN_IPC_REQUEST *element, GWEN_IPC_REQUEST_LIST *list);
05192 
05197   void GWEN_IpcRequest_List_Insert(GWEN_IPC_REQUEST *element, GWEN_IPC_REQUEST_LIST *list);
05198 
05205   void GWEN_IpcRequest_List_Del(GWEN_IPC_REQUEST *element);
05206 
05210   GWEN_IPC_REQUEST* GWEN_IpcRequest_List_First(const GWEN_IPC_REQUEST_LIST *l);
05211 
05215   GWEN_IPC_REQUEST* GWEN_IpcRequest_List_Last(const GWEN_IPC_REQUEST_LIST *l);
05216 
05221   void GWEN_IpcRequest_List_Clear(GWEN_IPC_REQUEST_LIST *l);
05222 
05226   GWEN_IPC_REQUEST_LIST* GWEN_IpcRequest_List_new();
05227 
05231   void GWEN_IpcRequest_List_free(GWEN_IPC_REQUEST_LIST *l);
05232 
05236   GWEN_IPC_REQUEST* GWEN_IpcRequest_List_Next(const GWEN_IPC_REQUEST *element);
05237 
05241   GWEN_IPC_REQUEST* GWEN_IpcRequest_List_Previous(const GWEN_IPC_REQUEST *element);
05242 
05246   GWEN_TYPE_UINT32 GWEN_IpcRequest_List_GetCount(const GWEN_IPC_REQUEST_LIST *l);
05247 
05248 #ifdef __cplusplus
05249 }
05250 #endif
05251 
05252 
05253 #endif
05254 
05255 
05256 
05257 /***************************************************************************
05258  $RCSfile$
05259  -------------------
05260  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
05261  begin       : Sat Jun 28 2003
05262  copyright   : (C) 2003 by Martin Preuss
05263  email       : martin@libchipcard.de
05264 
05265  ***************************************************************************
05266  *                                                                         *
05267  *   This library is free software; you can redistribute it and/or         *
05268  *   modify it under the terms of the GNU Lesser General Public            *
05269  *   License as published by the Free Software Foundation; either          *
05270  *   version 2.1 of the License, or (at your option) any later version.    *
05271  *                                                                         *
05272  *   This library is distributed in the hope that it will be useful,       *
05273  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
05274  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
05275  *   Lesser General Public License for more details.                       *
05276  *                                                                         *
05277  *   You should have received a copy of the GNU Lesser General Public      *
05278  *   License along with this library; if not, write to the Free Software   *
05279  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
05280  *   MA  02111-1307  USA                                                   *
05281  *                                                                         *
05282  ***************************************************************************/
05283 
05284 
05285 #ifndef GWEN_DBIO_LIST1_H
05286 #define GWEN_DBIO_LIST1_H
05287 
05288 #ifdef __cplusplus
05289 extern "C" {
05290 #endif
05291 
05293   typedef struct GWEN_DBIO_LIST_ELEMENT {
05294     GWEN_TYPE_UINT32 id;
05295     GWEN_DBIO *nextObject;
05296   } GWEN_DBIO_LIST__ELEMENT;
05297 
05304   typedef struct GWEN_DBIO_LIST GWEN_DBIO_LIST;
05306   struct GWEN_DBIO_LIST {
05307     GWEN_DBIO *first;
05308     GWEN_TYPE_UINT32 count;
05309     GWEN_TYPE_UINT32 id;
05310   } GWEN_DBIO_LIST;
05311 
05316   void GWEN_DBIO_List_AddList(GWEN_DBIO_LIST *dst, GWEN_DBIO_LIST *l);
05317 
05321   void GWEN_DBIO_List_Add(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
05322 
05327   void GWEN_DBIO_List_Insert(GWEN_DBIO *element, GWEN_DBIO_LIST *list);
05328 
05335   void GWEN_DBIO_List_Del(GWEN_DBIO *element);
05336 
05340   GWEN_DBIO* GWEN_DBIO_List_First(const GWEN_DBIO_LIST *l);
05341 
05345   GWEN_DBIO* GWEN_DBIO_List_Last(const GWEN_DBIO_LIST *l);
05346 
05351   void GWEN_DBIO_List_Clear(GWEN_DBIO_LIST *l);
05352 
05356   GWEN_DBIO_LIST* GWEN_DBIO_List_new();
05357 
05361   void GWEN_DBIO_List_free(GWEN_DBIO_LIST *l);
05362 
05366   GWEN_DBIO* GWEN_DBIO_List_Next(const GWEN_DBIO *element);
05367 
05371   GWEN_DBIO* GWEN_DBIO_List_Previous(const GWEN_DBIO *element);
05372 
05376   GWEN_TYPE_UINT32 GWEN_DBIO_List_GetCount(const GWEN_DBIO_LIST *l);
05377 
05378 #ifdef __cplusplus
05379 }
05380 #endif
05381 
05382 
05383 #endif
05384 
05385 
05386 
05387 /***************************************************************************
05388  $RCSfile$
05389  -------------------
05390  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
05391  begin       : Sat Jun 28 2003
05392  copyright   : (C) 2003 by Martin Preuss
05393  email       : martin@libchipcard.de
05394 
05395  ***************************************************************************
05396  *                                                                         *
05397  *   This library is free software; you can redistribute it and/or         *
05398  *   modify it under the terms of the GNU Lesser General Public            *
05399  *   License as published by the Free Software Foundation; either          *
05400  *   version 2.1 of the License, or (at your option) any later version.    *
05401  *                                                                         *
05402  *   This library is distributed in the hope that it will be useful,       *
05403  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
05404  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
05405  *   Lesser General Public License for more details.                       *
05406  *                                                                         *
05407  *   You should have received a copy of the GNU Lesser General Public      *
05408  *   License along with this library; if not, write to the Free Software   *
05409  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
05410  *   MA  02111-1307  USA                                                   *
05411  *                                                                         *
05412  ***************************************************************************/
05413 
05414 
05415 #ifndef GWEN_TLV_LIST1_H
05416 #define GWEN_TLV_LIST1_H
05417 
05418 #ifdef __cplusplus
05419 extern "C" {
05420 #endif
05421 
05423   typedef struct GWEN_TLV_LIST_ELEMENT {
05424     GWEN_TYPE_UINT32 id;
05425     GWEN_TLV *nextObject;
05426   } GWEN_TLV_LIST__ELEMENT;
05427 
05434   typedef struct GWEN_TLV_LIST GWEN_TLV_LIST;
05436   struct GWEN_TLV_LIST {
05437     GWEN_TLV *first;
05438     GWEN_TYPE_UINT32 count;
05439     GWEN_TYPE_UINT32 id;
05440   } GWEN_TLV_LIST;
05441 
05446   void GWEN_TLV_List_AddList(GWEN_TLV_LIST *dst, GWEN_TLV_LIST *l);
05447 
05451   void GWEN_TLV_List_Add(GWEN_TLV *element, GWEN_TLV_LIST *list);
05452 
05457   void GWEN_TLV_List_Insert(GWEN_TLV *element, GWEN_TLV_LIST *list);
05458 
05465   void GWEN_TLV_List_Del(GWEN_TLV *element);
05466 
05470   GWEN_TLV* GWEN_TLV_List_First(const GWEN_TLV_LIST *l);
05471 
05475   GWEN_TLV* GWEN_TLV_List_Last(const GWEN_TLV_LIST *l);
05476 
05481   void GWEN_TLV_List_Clear(GWEN_TLV_LIST *l);
05482 
05486   GWEN_TLV_LIST* GWEN_TLV_List_new();
05487 
05491   void GWEN_TLV_List_free(GWEN_TLV_LIST *l);
05492 
05496   GWEN_TLV* GWEN_TLV_List_Next(const GWEN_TLV *element);
05497 
05501   GWEN_TLV* GWEN_TLV_List_Previous(const GWEN_TLV *element);
05502 
05506   GWEN_TYPE_UINT32 GWEN_TLV_List_GetCount(const GWEN_TLV_LIST *l);
05507 
05508 #ifdef __cplusplus
05509 }
05510 #endif
05511 
05512 
05513 #endif
05514 
05515 
05516 
05517 /***************************************************************************
05518  $RCSfile$
05519  -------------------
05520  cvs         : $Id: list2.tmpl 646 2004-12-15 13:41:08Z cstim $
05521  begin       : Sat Jun 28 2003
05522  copyright   : (C) 2003 by Martin Preuss
05523  email       : martin@libchipcard.de
05524 
05525  ***************************************************************************
05526  *                                                                         *
05527  *   This library is free software; you can redistribute it and/or         *
05528  *   modify it under the terms of the GNU Lesser General Public            *
05529  *   License as published by the Free Software Foundation; either          *
05530  *   version 2.1 of the License, or (at your option) any later version.    *
05531  *                                                                         *
05532  *   This library is distributed in the hope that it will be useful,       *
05533  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
05534  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
05535  *   Lesser General Public License for more details.                       *
05536  *                                                                         *
05537  *   You should have received a copy of the GNU Lesser General Public      *
05538  *   License along with this library; if not, write to the Free Software   *
05539  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
05540  *   MA  02111-1307  USA                                                   *
05541  *                                                                         *
05542  ***************************************************************************/
05543 
05544 
05545 #ifndef GWEN_XMLNODE_LIST2_H
05546 #define GWEN_XMLNODE_LIST2_H
05547 
05548 
05549 #ifdef __cplusplus
05550 extern "C" {
05551 #endif
05552 
05559   typedef struct GWEN_XMLNODE_LIST2 GWEN_XMLNODE_LIST2;
05560 
05564   typedef struct GWEN_XMLNODE_LIST2_ITERATOR GWEN_XMLNODE_LIST2_ITERATOR;
05565 
05569   typedef GWEN_XMLNODE* (GWEN_XMLNODE_LIST2_FOREACH)(GWEN_XMLNODE *element,
05570                                                  void *user_data);
05571 
05575   GWEN_XMLNODE_LIST2 *GWEN_XMLNode_List2_new(); 
05576 
05580   void GWEN_XMLNode_List2_free(GWEN_XMLNODE_LIST2 *l); 
05581 
05585   void GWEN_XMLNode_List2_Dump(GWEN_XMLNODE_LIST2 *l, FILE *f, unsigned int indent); 
05586 
05590   void GWEN_XMLNode_List2_PushBack(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p); 
05591    
05596   void GWEN_XMLNode_List2_PushFront(GWEN_XMLNODE_LIST2 *l, GWEN_XMLNODE *p); 
05597 
05602   GWEN_XMLNODE *GWEN_XMLNode_List2_GetFront(GWEN_XMLNODE_LIST2 *l); 
05603    
05608   GWEN_XMLNODE *GWEN_XMLNode_List2_GetBack(GWEN_XMLNODE_LIST2 *l); 
05609 
05614   void GWEN_XMLNode_List2_Erase(GWEN_XMLNODE_LIST2 *l,
05615                                GWEN_XMLNODE_LIST2_ITERATOR *it);
05616 
05622   unsigned int GWEN_XMLNode_List2_GetSize(GWEN_XMLNODE_LIST2 *l); 
05623 
05628   void GWEN_XMLNode_List2_PopBack(GWEN_XMLNODE_LIST2 *l); 
05629    
05634   void GWEN_XMLNode_List2_PopFront(GWEN_XMLNODE_LIST2 *l); 
05635 
05639   void GWEN_XMLNode_List2_Clear(GWEN_XMLNODE_LIST2 *l); 
05640 
05644   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_First(GWEN_XMLNODE_LIST2 *l); 
05645    
05649   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2_Last(GWEN_XMLNODE_LIST2 *l); 
05650 
05654   GWEN_XMLNODE_LIST2_ITERATOR *GWEN_XMLNode_List2Iterator_new(GWEN_XMLNODE_LIST2 *l);
05655 
05659   void GWEN_XMLNode_List2Iterator_free(GWEN_XMLNODE_LIST2_ITERATOR *li); 
05660 
05665   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Previous(GWEN_XMLNODE_LIST2_ITERATOR *li); 
05666    
05671   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Next(GWEN_XMLNODE_LIST2_ITERATOR *li); 
05672 
05677   GWEN_XMLNODE *GWEN_XMLNode_List2Iterator_Data(GWEN_XMLNODE_LIST2_ITERATOR *li); 
05678 
05690   GWEN_XMLNODE *GWEN_XMLNode_List2_ForEach(GWEN_XMLNODE_LIST2 *list,
05691                                         GWEN_XMLNODE_LIST2_FOREACH func,
05692                                         void *user_data);
05693 
05694 
05695   typedef struct GWEN_XMLNODE_CONSTLIST2 GWEN_XMLNODE_CONSTLIST2; 
05696   typedef struct GWEN_XMLNODE_CONSTLIST2_ITERATOR GWEN_XMLNODE_CONSTLIST2_ITERATOR; 
05697   typedef const GWEN_XMLNODE*
05698     (GWEN_XMLNODE_CONSTLIST2_FOREACH)(const GWEN_XMLNODE *element,
05699                                     void *user_data);
05700   
05701    
05702   GWEN_XMLNODE_CONSTLIST2 *GWEN_XMLNode_ConstList2_new(); 
05703    
05704   void GWEN_XMLNode_ConstList2_free(GWEN_XMLNODE_CONSTLIST2 *l); 
05705    
05706   void GWEN_XMLNode_ConstList2_PushBack(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p); 
05707    
05708   void GWEN_XMLNode_ConstList2_PushFront(GWEN_XMLNODE_CONSTLIST2 *l, const GWEN_XMLNODE *p); 
05709    
05710   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetFront(GWEN_XMLNODE_CONSTLIST2 *l); 
05711    
05712   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_GetBack(GWEN_XMLNODE_CONSTLIST2 *l); 
05713    
05714   unsigned int GWEN_XMLNode_ConstList2_GetSize(GWEN_XMLNODE_CONSTLIST2 *l); 
05715    
05716   void GWEN_XMLNode_ConstList2_PopBack(GWEN_XMLNODE_CONSTLIST2 *l); 
05717    
05718   void GWEN_XMLNode_ConstList2_PopFront(GWEN_XMLNODE_CONSTLIST2 *l); 
05719    
05720   void GWEN_XMLNode_ConstList2_Clear(GWEN_XMLNODE_CONSTLIST2 *l); 
05721    
05722   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_First(GWEN_XMLNODE_CONSTLIST2 *l); 
05723    
05724   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2_Last(GWEN_XMLNODE_CONSTLIST2 *l); 
05725    
05726   GWEN_XMLNODE_CONSTLIST2_ITERATOR *GWEN_XMLNode_ConstList2Iterator_new(GWEN_XMLNODE_CONSTLIST2 *l); 
05727    
05728   void GWEN_XMLNode_ConstList2Iterator_free(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
05729    
05730   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Previous(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
05731    
05732   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Next(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
05733    
05734   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2Iterator_Data(GWEN_XMLNODE_CONSTLIST2_ITERATOR *li); 
05735    
05747   const GWEN_XMLNODE *GWEN_XMLNode_ConstList2_ForEach(GWEN_XMLNODE_CONSTLIST2 *list,
05748         GWEN_XMLNODE_CONSTLIST2_FOREACH func, void *user_data);
05749 
05750 
05751 #ifdef __cplusplus
05752 }
05753 #endif
05754 
05755 
05756 #endif /* GWEN_XMLNODE_LIST_H */
05757 
05758 
05759 
05760 /***************************************************************************
05761  $RCSfile$
05762  -------------------
05763  cvs         : $Id: list1.tmpl 481 2004-08-05 11:44:18Z aquamaniac $
05764  begin       : Sat Jun 28 2003
05765  copyright   : (C) 2003 by Martin Preuss
05766  email       : martin@libchipcard.de
05767 
05768  ***************************************************************************
05769  *                                                                         *
05770  *   This library is free software; you can redistribute it and/or         *
05771  *   modify it under the terms of the GNU Lesser General Public            *
05772  *   License as published by the Free Software Foundation; either          *
05773  *   version 2.1 of the License, or (at your option) any later version.    *
05774  *                                                                         *
05775  *   This library is distributed in the hope that it will be useful,       *
05776  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
05777  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
05778  *   Lesser General Public License for more details.                       *
05779  *                                                                         *
05780  *   You should have received a copy of the GNU Lesser General Public      *
05781  *   License along with this library; if not, write to the Free Software   *
05782  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
05783  *   MA  02111-1307  USA                                                   *
05784  *                                                                         *
05785  ***************************************************************************/
05786 
05787 
05788 #ifndef GWEN_XMLNODE_LIST1_H
05789 #define GWEN_XMLNODE_LIST1_H
05790 
05791 #ifdef __cplusplus
05792 extern "C" {
05793 #endif
05794 
05796   typedef struct GWEN_XMLNODE_LIST_ELEMENT {
05797     GWEN_TYPE_UINT32 id;
05798     GWEN_XMLNODE *nextObject;
05799   } GWEN_XMLNODE_LIST__ELEMENT;
05800 
05807   typedef struct GWEN_XMLNODE_LIST GWEN_XMLNODE_LIST;
05809   struct GWEN_XMLNODE_LIST {
05810     GWEN_XMLNODE *first;
05811     GWEN_TYPE_UINT32 count;
05812     GWEN_TYPE_UINT32 id;
05813   } GWEN_XMLNODE_LIST;
05814 
05819   void GWEN_XMLNode_List_AddList(GWEN_XMLNODE_LIST *dst, GWEN_XMLNODE_LIST *l);
05820 
05824   void GWEN_XMLNode_List_Add(GWEN_XMLNODE *element, GWEN_XMLNODE_LIST *list);
05825 
05830   void GWEN_XMLNode_List_Insert(GWEN_XMLNODE *element, GWEN_XMLNODE_LIST *list);
05831 
05838   void GWEN_XMLNode_List_Del(GWEN_XMLNODE *element);
05839 
05843   GWEN_XMLNODE* GWEN_XMLNode_List_First(const GWEN_XMLNODE_LIST *l);
05844 
05848   GWEN_XMLNODE* GWEN_XMLNode_List_Last(const GWEN_XMLNODE_LIST *l);
05849 
05854   void GWEN_XMLNode_List_Clear(GWEN_XMLNODE_LIST *l);
05855 
05859   GWEN_XMLNODE_LIST* GWEN_XMLNode_List_new();
05860 
05864   void GWEN_XMLNode_List_free(GWEN_XMLNODE_LIST *l);
05865 
05869   GWEN_XMLNODE* GWEN_XMLNode_List_Next(const GWEN_XMLNODE *element);
05870 
05874   GWEN_XMLNODE* GWEN_XMLNode_List_Previous(const GWEN_XMLNODE *element);
05875 
05879   GWEN_TYPE_UINT32 GWEN_XMLNode_List_GetCount(const GWEN_XMLNODE_LIST *l);
05880 
05881 #ifdef __cplusplus
05882 }
05883 #endif
05884 
05885 
05886 #endif
05887 
05888 
05889 

Generated on Wed Jun 21 00:59:52 2006 for gwenhywfar by  doxygen 1.4.6