aboutsummaryrefslogtreecommitdiffstats
path: root/inc/stack.h
blob: a8815b4921df1df5452d268cf1d844277ee4dcbb (plain) (blame)
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    __STACK_H__
#define    __STACK_H__

#include "utility.h"

pvoid  ctl_stack_initX(ppvoid s, uint size);
pvoid  ctl_stack_freeX(ppvoid s);

uint   ctl_stack_getEntrySizeX(ppcvoid q);
int    ctl_stack_isEmptyX     (ppcvoid q);
pcvoid ctl_stack_getX         (ppcvoid q);

pcvoid ctl_stack_addX(ppvoid q, pcvoid data);
int    ctl_stack_delX(ppvoid q);

pvoid  ctl_stack_copyX(ppcvoid q, ppvoid q2);

#define ctl_stack_init(X,Y) ctl_stack_initX(ppVoid(X),Y)
#define ctl_stack_free(X)   ctl_stack_freeX(ppVoid(X))

#define ctl_stack_getEntrySize(X) ctl_stack_getEntrySizeX(ppcVoid(X))
#define ctl_stack_isEmpty(X)      ctl_stack_isEmptyX     (ppcVoid(X))
#define ctl_stack_get(X)          ctl_stack_getX         (ppcVoid(X))

#define ctl_stack_add(X,Y) ctl_stack_addX(ppVoid(X),pcVoid(Y))
#define ctl_stack_del(X)   ctl_stack_delX(ppVoid(X))

#define ctl_stack_copy(X,Y) ctl_stack_copyX(ppcVoid(X),ppVoid(Y))

#endif  /* __STACK_H__ */