typedef enum
{
E_TAR_HEADER_SIZE_NAME = 100,
E_TAR_HEADER_SIZE_MODE = 8,
E_TAR_HEADER_SIZE_UID = 8,
E_TAR_HEADER_SIZE_GID = 8,
E_TAR_HEADER_SIZE_SIZE = 12,
E_TAR_HEADER_SIZE_MAKETIME = 12,
E_TAR_HEADER_SIZE_CHECKSUM = 8,
E_TAR_HEADER_SIZE_TYPEFLAG = 1,
E_TAR_HEADER_SIZE_LINKNAME = 100,
E_TAR_HEADER_SIZE_MAGIC = 6,
E_TAR_HEADER_SIZE_VERSION = 2,
E_TAR_HEADER_SIZE_UNAME = 32,
E_TAR_HEADER_SIZE_GNAME = 32,
E_TAR_HEADER_SIZE_DEVMAJOR = 8,
E_TAR_HEADER_SIZE_DEVMINOR = 8,
E_TAR_HEADER_SIZE_PREFIX = 155,
E_TAR_HEADER_SIZE_PADDING = 12,
}e_TAR_HEADER
typedef struct
{
char Name[E_TAR_HEADER_SIZE_NAME];
char Mode[E_TAR_HEADER_SIZE_MODE];
char UID[E_TAR_HEADER_SIZE_UID];
char GID[E_TAR_HEADER_SIZE_GID];
char Size[E_TAR_HEADER_SIZE_SIZE];
char MakeTime[E_TAR_HEADER_SIZE_MAKETIME];
char CheckSum[E_TAR_HEADER_SIZE_CHECKSUM];
char TypeFlag[E_TAR_HEADER_SIZE_TYPEFLAG];
char LinkName[E_TAR_HEADER_SIZE_LINKNAME];
char Magic[E_TAR_HEADER_SIZE_MAGIC];
char Version[E_TAR_HEADER_SIZE_VERSION];
char UName[E_TAR_HEADER_SIZE_UNAME];
char GName[E_TAR_HEADER_SIZE_GNAME];
char DevMajor[E_TAR_HEADER_SIZE_DEVMAJOR];
char DevMinor[E_TAR_HEADER_SIZE_DEVMINOR];
char Prefix[E_TAR_HEADER_SIZE_PREFIX];
char Padding[E_TAR_HEADER_SIZE_PADDING];
}t_TAR_HEADER; /* Total header size is 512 bytes */