00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id: idlist.h 1102 2006-12-30 19:39:37Z martin $ 00005 begin : Mon Mar 01 2004 00006 copyright : (C) 2004 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 00033 #ifndef GWENHYWFAR_IDLIST64_H 00034 #define GWENHYWFAR_IDLIST64_H 00035 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 typedef struct GWEN_IDLIST64 GWEN_IDLIST64; 00040 typedef struct GWEN_IDLIST64_ITERATOR GWEN_IDLIST64_ITERATOR; 00041 #ifdef __cplusplus 00042 } 00043 #endif 00044 00045 #include <gwenhywfar/gwenhywfarapi.h> 00046 #include <gwenhywfar/types.h> 00047 00048 #ifdef __cplusplus 00049 extern "C" { 00050 #endif 00051 00065 GWENHYWFAR_API 00066 GWEN_IDLIST64 *GWEN_IdList64_new(); 00067 00071 GWENHYWFAR_API 00072 void GWEN_IdList64_free(GWEN_IDLIST64 *idl); 00073 00074 00075 00076 GWENHYWFAR_API 00077 void GWEN_IdList64_Attach(GWEN_IDLIST64 *idl); 00078 00079 00085 GWENHYWFAR_API 00086 GWEN_IDLIST64 *GWEN_IdList64_dup(const GWEN_IDLIST64 *idl); 00087 00088 00092 GWENHYWFAR_API 00093 void GWEN_IdList64_Clear(GWEN_IDLIST64 *idl); 00094 00098 GWENHYWFAR_API 00099 int GWEN_IdList64_AddId(GWEN_IDLIST64 *idl, uint64_t id); 00100 00105 GWENHYWFAR_API 00106 int GWEN_IdList64_DelId(GWEN_IDLIST64 *idl, uint64_t id); 00107 00112 GWENHYWFAR_API 00113 int GWEN_IdList64_HasId(const GWEN_IDLIST64 *idl, uint64_t id); 00114 00120 GWENHYWFAR_API DEPRECATED 00121 uint64_t GWEN_IdList64_GetFirstId(GWEN_IDLIST64 *idl); 00122 00128 GWENHYWFAR_API DEPRECATED 00129 uint64_t GWEN_IdList64_GetNextId(GWEN_IDLIST64 *idl); 00130 00136 GWENHYWFAR_API DEPRECATED 00137 uint64_t GWEN_IdList64_GetFirstId2(const GWEN_IDLIST64 *idl, 00138 uint64_t *hdl); 00139 00145 GWENHYWFAR_API DEPRECATED 00146 uint64_t GWEN_IdList64_GetNextId2(const GWEN_IDLIST64 *idl, 00147 uint64_t *hdl); 00148 00149 00153 GWENHYWFAR_API 00154 int GWEN_IdList64_Sort(GWEN_IDLIST64 *idl); 00155 00156 00157 GWENHYWFAR_API 00158 int GWEN_IdList64_ReverseSort(GWEN_IDLIST64 *idl); 00159 00160 00164 GWENHYWFAR_API 00165 int GWEN_IdList64_AppendId(GWEN_IDLIST64 *idl, uint64_t id); 00166 00167 GWENHYWFAR_API 00168 uint64_t GWEN_IdList64_GetIdAt(const GWEN_IDLIST64 *idl, uint64_t index); 00169 00170 00183 00184 GWENHYWFAR_API 00185 GWEN_IDLIST64_ITERATOR *GWEN_IdList64_Iterator_new(GWEN_IDLIST64 *idl); 00186 00187 GWENHYWFAR_API 00188 void GWEN_IdList64_Iterator_free(GWEN_IDLIST64_ITERATOR *it); 00189 00190 GWENHYWFAR_API 00191 uint64_t GWEN_IdList64_Iterator_GetFirstId(GWEN_IDLIST64_ITERATOR *it); 00192 00193 GWENHYWFAR_API 00194 uint64_t GWEN_IdList64_Iterator_GetNextId(GWEN_IDLIST64_ITERATOR *it); 00195 00199 #ifdef __cplusplus 00200 } 00201 #endif 00202 00203 00204 #endif /* GWENHYWFAR_IDLIST64_H */ 00205 00206