1 #ifndef LPC_RTLIMITS_H_
2 #define LPC_RTLIMITS_H_
3 
4 /* Runtime limit index/tag values */
5 
6 #define LIMIT_EVAL           (0)
7 #define LIMIT_ARRAY          (1)
8 #define LIMIT_MAPPING        (2)
9 #define LIMIT_MAPPING_KEYS   LIMIT_MAPPING
10 #define LIMIT_MAPPING_SIZE   (3)
11 #define LIMIT_BYTE           (4)
12 #define LIMIT_FILE           (5)
13 #define LIMIT_CALLOUTS       (6)
14 #define LIMIT_COST           (7)
15 
16 #define LIMIT_MAX      (8)  /* Number of recognized limits */
17 
18 /* Special limit values */
19 
20 #define LIMIT_UNLIMITED    0   /* No limit */
21 #define LIMIT_KEEP       (-1)  /* Keep the old limit setting */
22 #define LIMIT_DEFAULT    (-2)  /* Use the default setting */
23 
24 /* memory limits */
25 #define MALLOC_SOFT_LIMIT    1
26 #define MALLOC_HARD_LIMIT    2
27 
28 /* low memory conditions */
29 #define NO_MALLOC_LIMIT_EXCEEDED     0
30 #define SOFT_MALLOC_LIMIT_EXCEEDED   MALLOC_SOFT_LIMIT
31 #define HARD_MALLOC_LIMIT_EXCEEDED   MALLOC_HARD_LIMIT
32 
33 /* Flags for available reserves */
34 #define USER_RESERVE_AVAILABLE     0x1
35 #define MASTER_RESERVE_AVAILABLE   0x2
36 #define SYSTEM_RESERVE_AVAILABLE   0x4
37 
38 #endif /* LPC_RTLIMITS_H_ */
39