xref: /aosp_15_r20/system/sepolicy/tools/sepolicy-analyze/booleans.c (revision e4a36f4174b17bbab9dc043f4a65dc8d87377290)
1*e4a36f41SAndroid Build Coastguard Worker #include "booleans.h"
2*e4a36f41SAndroid Build Coastguard Worker 
booleans_usage()3*e4a36f41SAndroid Build Coastguard Worker void booleans_usage() {
4*e4a36f41SAndroid Build Coastguard Worker     fprintf(stderr, "\tbooleans\n");
5*e4a36f41SAndroid Build Coastguard Worker }
6*e4a36f41SAndroid Build Coastguard Worker 
list_booleans(hashtab_key_t k,hashtab_datum_t d,void * args)7*e4a36f41SAndroid Build Coastguard Worker static int list_booleans(hashtab_key_t k,
8*e4a36f41SAndroid Build Coastguard Worker                          __attribute__ ((unused)) hashtab_datum_t d,
9*e4a36f41SAndroid Build Coastguard Worker                          __attribute__ ((unused)) void *args)
10*e4a36f41SAndroid Build Coastguard Worker {
11*e4a36f41SAndroid Build Coastguard Worker     const char *name = k;
12*e4a36f41SAndroid Build Coastguard Worker     printf("%s\n", name);
13*e4a36f41SAndroid Build Coastguard Worker     return 0;
14*e4a36f41SAndroid Build Coastguard Worker }
15*e4a36f41SAndroid Build Coastguard Worker 
booleans_func(int argc,char ** argv,policydb_t * policydb)16*e4a36f41SAndroid Build Coastguard Worker int booleans_func (int argc, __attribute__ ((unused)) char **argv, policydb_t *policydb) {
17*e4a36f41SAndroid Build Coastguard Worker     if (argc != 1) {
18*e4a36f41SAndroid Build Coastguard Worker         USAGE_ERROR = true;
19*e4a36f41SAndroid Build Coastguard Worker         return -1;
20*e4a36f41SAndroid Build Coastguard Worker     }
21*e4a36f41SAndroid Build Coastguard Worker     return hashtab_map(policydb->p_bools.table, list_booleans, NULL);
22*e4a36f41SAndroid Build Coastguard Worker }
23