// This file is part of noxos and licensed under the MIT open source license #ifndef NOX_USTAR_H #define NOX_USTAR_H #include "utils/stdtypes.h" typedef enum { USTAR_FILE, USTAR_LINK_HARD, USTAR_LINK_SYM, USTAR_CHAR_DEVICE, USTAR_BLOCK_DEVICE, USTAR_DIRECTORY, USTAR_PIPE } ustar_type_E; typedef struct { char name [100]; uint64_t mode; uint64_t owner_id; uint64_t group_id; char size [12]; // octal based string (don't ask me why, the ustar standard is weird) char last_modification [12]; // unix timestamp (octal) uint64_t checksum; uint8_t type; char name_linked [100]; char indicator [6]; uint16_t version; char owner_user_name [32]; char owner_group_name [32]; uint64_t device_major; uint64_t device_minor; char name_prefix [155]; }__attribute__((packed)) __attribute__((aligned(512))) ustar_header_T; #endif //NOX_USTAR_H