]>
Commit | Line | Data |
---|---|---|
885824d3 | 1 | # ifndef EREF_H |
2 | # define EREF_H | |
3 | ||
4 | # include "employee.h" | |
5 | ||
6 | typedef int eref; | |
7 | ||
8 | /* Private typedefs used in macros */ | |
9 | typedef enum { used, avail } eref_status; | |
10 | typedef struct { | |
11 | employee *conts; | |
12 | eref_status *status; | |
13 | int size; | |
14 | } eref_ERP; | |
15 | ||
16 | /* Declared here so that macros can use it */ | |
17 | extern eref_ERP eref_Pool; | |
18 | ||
19 | # include "eref.lh" | |
20 | ||
21 | # define erefNIL -1 | |
22 | ||
23 | # define eref_free(er) (eref_Pool.status[er] = avail) | |
24 | # define eref_assign(er, e) (eref_Pool.conts[er] = e) | |
25 | # define eref_get(er) (eref_Pool.conts[er]) | |
26 | # define eref_equal(er1, er2) (er1 == er2) | |
27 | ||
28 | # endif |