#include #include #include #include #ifdef __linux #include #include #endif #ifdef __APPLE__ #include #define setxattr(file, name, buffer, size) \ setxattr((file), (name), (buffer), (size), 0, 0) #endif #define MAXATTR 1023 char buffer[MAXATTR+1]; char names[MAXATTR+1]; int main (int argc, char **argv ) { char *name; if (argc != 4 || !argv[1] || !argv[2] || !argv[3] ) { printf("Bad invocation!\n" "Usage: setxattr FILENAME NAME VALUE\n"); exit(1); } int vsize = setxattr(argv[1], argv[2], argv[3], strlen(argv[3])); if (vsize == -1) { printf("setxattr(\"%s\", \"%s\", \"%s\", ...) failed: %s\n", argv[1], argv[2], argv[3], strerror(errno)); exit(2); } return 0; }