113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <unistd.h>
213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stdio.h>
313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stdlib.h>
413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <selinux/selinux.h>
513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle
613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint main(int argc, char **argv)
713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{
813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	char *buf;
913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	int rc, i;
1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle
1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	if (argc < 2) {
1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		fprintf(stderr, "usage:  %s path...\n", argv[0]);
1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		exit(1);
1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	}
1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle
1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	for (i = 1; i < argc; i++) {
1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		rc = getfilecon(argv[i], &buf);
1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		if (rc < 0) {
1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle			fprintf(stderr, "%s:  getfilecon(%s) failed\n", argv[0],
2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle				argv[i]);
2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle			exit(2);
2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		}
2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		printf("%s\t%s\n", argv[i], buf);
2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle		freecon(buf);
2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	}
2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle	exit(0);
2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle}
28