xref: /aosp_15_r20/system/sepolicy/flagging/flagging_macros (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker####################################
2*e4a36f41SAndroid Build Coastguard Worker# is_flag_enabled(flag, rules)
3*e4a36f41SAndroid Build Coastguard Worker# SELinux rules which apply only if given feature is turned on
4*e4a36f41SAndroid Build Coastguard Workerdefine(`is_flag_enabled', `ifelse(target_flag_$1, `true', `$2')')
5*e4a36f41SAndroid Build Coastguard Worker
6*e4a36f41SAndroid Build Coastguard Worker####################################
7*e4a36f41SAndroid Build Coastguard Worker# is_flag_disabled(flag, rules)
8*e4a36f41SAndroid Build Coastguard Worker# SELinux rules which apply only if given feature is turned off
9*e4a36f41SAndroid Build Coastguard Workerdefine(`is_flag_disabled', `ifelse(target_flag_$1, `true', , `$2')')
10*e4a36f41SAndroid Build Coastguard Worker
11*e4a36f41SAndroid Build Coastguard Worker####################################
12*e4a36f41SAndroid Build Coastguard Worker# starting_at_board_api(api_level, rules_if_api_level)
13*e4a36f41SAndroid Build Coastguard Worker#
14*e4a36f41SAndroid Build Coastguard Worker# This macro conditionally exposes SELinux rules ensuring they are available
15*e4a36f41SAndroid Build Coastguard Worker# only when the board API level is at or above the specified 'api_level'.
16*e4a36f41SAndroid Build Coastguard Workerdefine(`starting_at_board_api', `ifelse(eval(target_board_api_level >= $1), 1, `$2')')
17*e4a36f41SAndroid Build Coastguard Worker
18*e4a36f41SAndroid Build Coastguard Worker####################################
19*e4a36f41SAndroid Build Coastguard Worker# until_board_api(api_level, rules_if_lower_api_level)
20*e4a36f41SAndroid Build Coastguard Worker#
21*e4a36f41SAndroid Build Coastguard Worker# This macro conditionally exposes SELinux rules ensuring they are available
22*e4a36f41SAndroid Build Coastguard Worker# only when the board API level is below the specified 'api_level'.
23*e4a36f41SAndroid Build Coastguard Workerdefine(`until_board_api', `ifelse(eval(target_board_api_level < $1), 1, `$2')')
24