ze-filter  (ze-filter-0.8.0-develop-180218)
zeTable.h
Go to the documentation of this file.
1 /*
2  *
3  * ze-filter - Mail Server Filter for sendmail
4  *
5  * Copyright (c) 2001-2018 - Jose-Marcio Martins da Cruz
6  *
7  * Auteur : Jose Marcio Martins da Cruz
8  * jose.marcio.mc@gmail.org
9  *
10  * Historique :
11  * Creation : janvier 2002
12  *
13  * This program is free software, but with restricted license :
14  *
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19  *
20  * More details about ze-filter license can be found at ze-filter
21  * web site : http://foss.jose-marcio.org
22  */
23 
24 #ifndef __ZE_TABLE_H
25 
31 typedef struct zeTbl_T zeTbl_T;
32 
33 struct zeTbl_T {
34  size_t sz;
35  size_t rsz;
36  int chunk;
37  int dim;
38  int nb;
39  int index;
40  void *data;
41  int (*comp) (const void *, const void *);
42 };
43 
44 #define JTABLE_INITIALIZER {0,0,0,0,0,0,NULL,NULL}
45 
46 int zeTable_Init (zeTbl_T *, size_t, int,
47  int (*)(const void *, const void *));
48 int zeTable_Free (zeTbl_T *);
49 int zeTable_Clear (zeTbl_T *);
50 int zeTable_Add (zeTbl_T *, void *);
51 int zeTable_Count (zeTbl_T *);
52 int zeTable_Fetch (zeTbl_T *, void *);
53 int zeTable_Get_Ind (zeTbl_T *, void *, int);
54 int zeTable_Get_First (zeTbl_T *, void *);
55 int zeTable_Get_Next (zeTbl_T *, void *);
56 int zeTable_Sort (zeTbl_T *);
57 
58 void *zeTable_Fetch_ptr (zeTbl_T *, void *);
59 void *zeTable_Get_Ind_ptr (zeTbl_T *, int);
62 
65 #define __ZE_TABLE_H
66 #endif
int zeTable_Fetch(zeTbl_T *, void *)
Definition: zeTable.c:181
size_t rsz
Definition: zeTable.h:35
void * zeTable_Get_Ind_ptr(zeTbl_T *, int)
void * zeTable_Fetch_ptr(zeTbl_T *, void *)
int zeTable_Free(zeTbl_T *)
Definition: zeTable.c:113
int nb
Definition: zeTable.h:38
void * zeTable_Get_Next_Ptr(zeTbl_T *)
Definition: zeTable.c:327
size_t sz
Definition: zeTable.h:34
void * zeTable_Get_First_Ptr(zeTbl_T *)
Definition: zeTable.c:305
int(* comp)(const void *, const void *)
Definition: zeTable.h:41
int zeTable_Clear(zeTbl_T *)
Definition: zeTable.c:136
int zeTable_Add(zeTbl_T *, void *)
Definition: zeTable.c:155
int zeTable_Get_First(zeTbl_T *, void *)
Definition: zeTable.c:250
void * data
Definition: zeTable.h:40
int zeTable_Sort(zeTbl_T *)
Definition: zeTable.c:349
int zeTable_Get_Next(zeTbl_T *, void *)
Definition: zeTable.c:277
int zeTable_Init(zeTbl_T *, size_t, int, int(*)(const void *, const void *))
int zeTable_Count(zeTbl_T *)
Definition: zeTable.c:209
int index
Definition: zeTable.h:39
int dim
Definition: zeTable.h:37
int zeTable_Get_Ind(zeTbl_T *, void *, int)
Definition: zeTable.c:226
int chunk
Definition: zeTable.h:36