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
|
# ifndef EREF_H
# define EREF_H
# include "employee.h"
typedef int eref;
/* Private typedefs used in macros */
typedef enum { used, avail } eref_status;
typedef struct {
employee *conts;
eref_status *status;
int size;
} eref_ERP;
/* Declared here so that macros can use it */
extern eref_ERP eref_Pool;
# include "eref.lh"
# define erefNIL -1
# define eref_free(er) (eref_Pool.status[er] = avail)
# define eref_assign(er, e) (eref_Pool.conts[er] = (e))
# define eref_get(er) (eref_Pool.conts[er])
# define eref_equal(er1, er2) ((er1) == (er2))
# endif
|