/usr/include/gwenhywfar4/gwenhywfar/pointerlist.h is in libgwenhywfar-core-dev 4.15.3-5+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 | /***************************************************************************
begin : Wed Sep 12 2012
copyright : (C) 2012 by Martin Preuss
email : martin@libchipcard.de
***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or (at your option) any later version. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library; if not, write to the Free Software *
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
* *
***************************************************************************/
/** @file pointerlist.h
* @short A list of pointers
*/
#ifndef GWENHYWFAR_POINTERLIST_H
#define GWENHYWFAR_POINTERLIST_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct GWEN_POINTERLIST GWEN_POINTERLIST;
typedef struct GWEN_POINTERLIST_ITERATOR GWEN_POINTERLIST_ITERATOR;
#ifdef __cplusplus
}
#endif
#include <gwenhywfar/gwenhywfarapi.h>
#include <gwenhywfar/types.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @defgroup MOD_POINTERLIST Pointer list module
* @ingroup MOD_BASE
* @short A list of pointers
*
* This is basically a list for pointers,
* but since it uses tables instead of those list objects normally used
* throughout Gwen it is less memory consuming.
*/
/*@{*/
/**
* Constructor.
*/
GWENHYWFAR_API
GWEN_POINTERLIST *GWEN_PointerList_new(void);
/**
* Destructor.
*/
GWENHYWFAR_API
void GWEN_PointerList_free(GWEN_POINTERLIST *idl);
GWENHYWFAR_API
void GWEN_PointerList_Attach(GWEN_POINTERLIST *idl);
/**
* Returns a new id list which contains all the ids of the given list
* in the same order. However, the list returned might be more
* is compact (i.e. it has fewer wholes), so the positions of ids
* within the list might have changed!.
*/
GWENHYWFAR_API
GWEN_POINTERLIST *GWEN_PointerList_dup(const GWEN_POINTERLIST *idl);
/**
* Removes all ptrs from the list thus leaving it empty.
*/
GWENHYWFAR_API
void GWEN_PointerList_Clear(GWEN_POINTERLIST *idl);
/**
* Adds a ptr to the list. This function does no doublecheck.
*/
GWENHYWFAR_API
int GWEN_PointerList_AddPtr(GWEN_POINTERLIST *idl, void *ptr);
/**
* Removes the first occurrence of the given ptr.
* @return 0 if deleted, !=0 if the ptr wasn't found
*/
GWENHYWFAR_API
int GWEN_PointerList_DelPtr(GWEN_POINTERLIST *idl, void *ptr);
/**
* Checks whether the given ptr exists in the ptrlist.
* @return 0 if found, !=0 otherwise
*/
GWENHYWFAR_API
int GWEN_PointerList_HasPtr(const GWEN_POINTERLIST *idl, void *ptr);
/**
*/
GWENHYWFAR_API
void *GWEN_PointerList_GetFirstPtr(const GWEN_POINTERLIST *idl, uint64_t *hdl);
/**
*/
GWENHYWFAR_API
void *GWEN_PointerList_GetNextPtr(const GWEN_POINTERLIST *idl, uint64_t *hdl);
/**
* Always append ptr at the end of the list.
*/
GWENHYWFAR_API
int GWEN_PointerList_AppendPtr(GWEN_POINTERLIST *idl, void *ptr);
GWENHYWFAR_API
void *GWEN_PointerList_GetPtrAt(const GWEN_POINTERLIST *idl, uint64_t index);
GWENHYWFAR_API
uint64_t GWEN_PointerList_GetEntryCount(const GWEN_POINTERLIST *idl);
/*@}*/
/**
* @defgroup MOD_POINTERLIST_ITERATOR Iterator for Pointer list module
* @ingroup MOD_BASE
* @short Iterator for a list of uint64_t objects
*
*/
/*@{*/
GWENHYWFAR_API
GWEN_POINTERLIST_ITERATOR *GWEN_PointerList_Iterator_new(GWEN_POINTERLIST *idl);
GWENHYWFAR_API
void GWEN_PointerList_Iterator_free(GWEN_POINTERLIST_ITERATOR *it);
GWENHYWFAR_API
void *GWEN_PointerList_Iterator_GetFirstId(GWEN_POINTERLIST_ITERATOR *it);
GWENHYWFAR_API
void *GWEN_PointerList_Iterator_GetNextId(GWEN_POINTERLIST_ITERATOR *it);
/*@}*/
#ifdef __cplusplus
}
#endif
#endif /* GWENHYWFAR_POINTERLIST_H */
|