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