xref: /aosp_15_r20/external/selinux/libselinux/utils/getenforce.c (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1 #include <unistd.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include <errno.h>
6 #include <selinux/selinux.h>
7 
main(int argc,char ** argv)8 int main(int argc __attribute__ ((unused)),
9 	 char **argv __attribute__ ((unused)))
10 {
11 	int rc;
12 
13 	rc = is_selinux_enabled();
14 	if (rc < 0) {
15 		fputs("getenforce:  is_selinux_enabled() failed", stderr);
16 		return 2;
17 	}
18 	if (rc == 1) {
19 		rc = security_getenforce();
20 		if (rc < 0) {
21 			fprintf(stderr, "getenforce:  security_getenforce() failed:  %s\n", strerror(errno));
22 			return 2;
23 		}
24 
25 		if (rc)
26 			puts("Enforcing");
27 		else
28 			puts("Permissive");
29 	} else {
30 		puts("Disabled");
31 	}
32 
33 	return 0;
34 }
35