File: eref.h

package info (click to toggle)
splint 3.1.2.dfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, squeeze, wheezy
  • size: 12,908 kB
  • ctags: 15,816
  • sloc: ansic: 150,306; yacc: 3,463; sh: 3,426; makefile: 2,218; lex: 412
file content (28 lines) | stat: -rw-r--r-- 585 bytes parent folder | download | duplicates (11)
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