Subversion Repositories SvarDOS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2019 mateusz.vi 1
/*
2
 *  STACK.H - Stack management functions.
3
 *  Written 1995,96 by Andrew Clarke and released to the public domain.
4
 */
5
 
6
#ifndef __STACK_H__
7
#define __STACK_H__
8
 
9
#ifdef __cplusplus
10
extern "C" {
11
#endif
12
 
13
 
14
typedef struct stacknode 
15
{
16
    struct stacknode *p_prev;
17
    void *p_item;
18
} STACKNODE;
19
 
20
typedef struct 
21
{
22
    STACKNODE *p_top;
23
    unsigned long items;
24
} STACK;
25
 
26
void stackDefaults(STACK * p_stack);
27
void stackInit(STACK * p_stack);
28
void stackTerm(STACK * p_stack);
29
int stackPushItem(STACK * p_stack, void *p_item);
30
void *stackPopItem(STACK * p_stack);
31
unsigned long stackTotalItems(STACK * p_stack);
32
int stackIsEmpty(STACK * p_stack);
33
 
34
 
35
#ifdef __cplusplus
36
}
37
#endif
38
 
39
#endif
40