Stephen Smalley | 2dd4e51 | 2012-01-04 12:33:27 -0500 | [diff] [blame] | 1 | ######################################## |
| 2 | # |
| 3 | # gen_cats(N) |
| 4 | # |
| 5 | # declares categores c0 to c(N-1) |
| 6 | # |
| 7 | define(`decl_cats',`dnl |
| 8 | category c$1; |
| 9 | ifelse(`$1',`$2',,`decl_cats(incr($1),$2)')dnl |
| 10 | ') |
| 11 | |
| 12 | define(`gen_cats',`decl_cats(0,decr($1))') |
| 13 | |
| 14 | ######################################## |
| 15 | # |
| 16 | # gen_sens(N) |
| 17 | # |
| 18 | # declares sensitivites s0 to s(N-1) with dominance |
| 19 | # in increasing numeric order with s0 lowest, s(N-1) highest |
| 20 | # |
| 21 | define(`decl_sens',`dnl |
| 22 | sensitivity s$1; |
| 23 | ifelse(`$1',`$2',,`decl_sens(incr($1),$2)')dnl |
| 24 | ') |
| 25 | |
| 26 | define(`gen_dominance',`s$1 ifelse(`$1',`$2',,`gen_dominance(incr($1),$2)')') |
| 27 | |
| 28 | define(`gen_sens',` |
| 29 | # Each sensitivity has a name and zero or more aliases. |
| 30 | decl_sens(0,decr($1)) |
| 31 | |
| 32 | # Define the ordering of the sensitivity levels (least to greatest) |
| 33 | dominance { gen_dominance(0,decr($1)) } |
| 34 | ') |
| 35 | |
| 36 | ######################################## |
| 37 | # |
| 38 | # gen_levels(N,M) |
| 39 | # |
| 40 | # levels from s0 to (N-1) with categories c0 to (M-1) |
| 41 | # |
| 42 | define(`decl_levels',`dnl |
| 43 | level s$1:c0.c$3; |
| 44 | ifelse(`$1',`$2',,`decl_levels(incr($1),$2,$3)')dnl |
| 45 | ') |
| 46 | |
| 47 | define(`gen_levels',`decl_levels(0,decr($1),decr($2))') |
| 48 | |
| 49 | ######################################## |
| 50 | # |
| 51 | # Basic level names for system low and high |
| 52 | # |
| 53 | define(`mls_systemlow',`s0') |
| 54 | define(`mls_systemhigh',`s`'decr(mls_num_sens):c0.c`'decr(mls_num_cats)') |