Возможно, вы захотите взглянуть на setxattr и getxattr для записи и чтения расширенных атрибутов файла соответственно.Вы можете поместить в эти атрибуты практически все, что захотите.
int setxattr(const char *path, const char *name, void *value, size_t size, u_int32_t position, int options);
ssize_t getxattr(const char *path, const char *name, void *value, size_t size, u_int32_t position, int options);
setxattr man page