summaryrefslogtreecommitdiff
path: root/plugins/!NotAdopted/IMO2sProxy2/src/common/memlist.h
blob: be37bbb723b679eb8c3489724df3114adf351be7 (plain)
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
#ifndef __LIST_H__
#define __LIST_H__

#ifndef BOOL
#define BOOL int
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef FALSE
#define FALSE 0
#endif

struct _tagLIST;
typedef struct _tagLIST TYP_LIST;

TYP_LIST *List_Init(unsigned int uiCapacity);
void List_Exit(TYP_LIST *pstHandle);
BOOL List_Push(TYP_LIST *pstHandle, void *pItem);
void *List_Pop (TYP_LIST *pstHandle);
BOOL List_ReplaceElementAt(TYP_LIST *pstHandle, void *pItem, unsigned int uiPos);
BOOL List_InsertElementAt(TYP_LIST *pstHandle, void *pItem, unsigned int uiPos);
void *List_RemoveElementAt(TYP_LIST *pstHandle, unsigned int uiPos);
unsigned int List_Count(TYP_LIST *pstHandle);
void *List_ElementAt(TYP_LIST *pstHandle,unsigned int uiPos);
void *List_Top(TYP_LIST *pstHandle);
void List_FreeElements(TYP_LIST *pstHandle);
void List_Sort(TYP_LIST *pstHandle, int (*pFunc)(const void*,const void*));

#endif