#include #include void main(int argc, char** argv) { const char* path=argv[1]; ssize_t result, newresult; char* list; char* value; int i; list = malloc(128); result = listxattr(path, list, 128); printf("listxattr returned %d.\n", result); printf("Name of extended attribute is %s.\n", list); free(list); // find out size of attribute data value = malloc(32); result = getxattr(path, "netware.metadata", value, 0); printf("Size of attribute data is %d.\n", result); free(value); value = malloc(result); newresult = getxattr(path, "netware.metadata", value, result); printf("getxattr returned %d bytes:\n", newresult); for (i = 0; i < result; i++) printf("%08x ", *(value + i)); free(value); }