Go to the source code of this file.
Data Structures | |
struct | cpioCrcPhysicalHeader |
Cpio archive header information. More... | |
Defines | |
#define | CPIOERR_CHECK_ERRNO 0x00008000 |
| |
#define | CPIO_NEWC_MAGIC "070701" |
#define | CPIO_CRC_MAGIC "070702" |
#define | CPIO_TRAILER "TRAILER!!!" |
#define | PHYS_HDR_SIZE 110 |
Typedefs | |
typedef enum cpioMapFlags_e | cpioMapFlags |
Enumerations | |
enum | cpioErrorReturns { CPIOERR_BAD_MAGIC = (2 ), CPIOERR_BAD_HEADER = (3 ), CPIOERR_OPEN_FAILED = (4 | 0x00008000 ), CPIOERR_CHMOD_FAILED = (5 | 0x00008000 ), CPIOERR_CHOWN_FAILED = (6 | 0x00008000 ), CPIOERR_WRITE_FAILED = (7 | 0x00008000 ), CPIOERR_UTIME_FAILED = (8 | 0x00008000 ), CPIOERR_UNLINK_FAILED = (9 | 0x00008000 ), CPIOERR_RENAME_FAILED = (10 | 0x00008000 ), CPIOERR_SYMLINK_FAILED = (11 | 0x00008000 ), CPIOERR_STAT_FAILED = (12 | 0x00008000 ), CPIOERR_LSTAT_FAILED = (13 | 0x00008000 ), CPIOERR_MKDIR_FAILED = (14 | 0x00008000 ), CPIOERR_RMDIR_FAILED = (15 | 0x00008000 ), CPIOERR_MKNOD_FAILED = (16 | 0x00008000 ), CPIOERR_MKFIFO_FAILED = (17 | 0x00008000 ), CPIOERR_LINK_FAILED = (18 | 0x00008000 ), CPIOERR_READLINK_FAILED = (19 | 0x00008000 ), CPIOERR_READ_FAILED = (20 | 0x00008000 ), CPIOERR_COPY_FAILED = (21 | 0x00008000 ), CPIOERR_LSETFCON_FAILED = (22 | 0x00008000 ), CPIOERR_HDR_SIZE = (23 ), CPIOERR_HDR_TRAILER = (24 ), CPIOERR_UNKNOWN_FILETYPE = (25 ), CPIOERR_MISSING_HARDLINK = (26 ), CPIOERR_MD5SUM_MISMATCH = (27 ), CPIOERR_INTERNAL = (28 ), CPIOERR_UNMAPPED_FILE = (29 ), CPIOERR_ENOENT = (30 ), CPIOERR_ENOTEMPTY = (31 ) } |
enum | cpioMapFlags_e { CPIO_MAP_PATH = (1 << 0), CPIO_MAP_MODE = (1 << 1), CPIO_MAP_UID = (1 << 2), CPIO_MAP_GID = (1 << 3), CPIO_FOLLOW_SYMLINKS = (1 << 4), CPIO_MAP_ABSOLUTE = (1 << 5), CPIO_MAP_ADDDOT = (1 << 6), CPIO_ALL_HARDLINKS = (1 << 7), CPIO_MAP_TYPE = (1 << 8), CPIO_SBIT_CHECK = (1 << 9) } |
Functions | |
int | cpioTrailerWrite (FSM_t fsm) |
Write cpio trailer. | |
int | cpioHeaderWrite (FSM_t fsm, struct stat *st) |
Write cpio header. | |
int | cpioHeaderRead (FSM_t fsm, struct stat *st) |
Read cpio header. | |
const char *const | cpioStrerror (int rc) |
Return formatted error message on payload handling failure. |
Definition in file cpio.h.
#define CPIO_CRC_MAGIC "070702" |
#define CPIO_NEWC_MAGIC "070701" |
Definition at line 71 of file cpio.h.
Referenced by cpioHeaderRead(), cpioHeaderWrite(), and cpioTrailerWrite().
#define CPIO_TRAILER "TRAILER!!!" |
#define PHYS_HDR_SIZE 110 |
Definition at line 95 of file cpio.h.
Referenced by cpioHeaderRead(), cpioHeaderWrite(), and cpioTrailerWrite().
int cpioHeaderRead | ( | FSM_t | fsm, | |
struct stat * | st | |||
) |
Read cpio header.
fsm | file path and stat info | |
st |
Definition at line 130 of file cpio.c.
References _free(), CPIO_CRC_MAGIC, CPIO_NEWC_MAGIC, CPIOERR_BAD_HEADER, CPIOERR_BAD_MAGIC, CPIOERR_READ_FAILED, cpioCrcPhysicalHeader::devMajor, cpioCrcPhysicalHeader::devMinor, cpioCrcPhysicalHeader::filesize, FSM_DREAD, fsmNext(), GET_NUM_FIELD, cpioCrcPhysicalHeader::gid, cpioCrcPhysicalHeader::inode, cpioCrcPhysicalHeader::magic, major, makedev, minor, cpioCrcPhysicalHeader::mode, cpioCrcPhysicalHeader::mtime, cpioCrcPhysicalHeader::namesize, cpioCrcPhysicalHeader::nlink, fsm_s::path, PHYS_HDR_SIZE, cpioCrcPhysicalHeader::rdevMajor, cpioCrcPhysicalHeader::rdevMinor, fsm_s::rdnb, cpioCrcPhysicalHeader::uid, fsm_s::wrbuf, fsm_s::wrlen, fsm_s::wrsize, and xmalloc().
int cpioHeaderWrite | ( | FSM_t | fsm, | |
struct stat * | st | |||
) |
Write cpio header.
fsm | file path and stat info |
st |
Definition at line 92 of file cpio.c.
References cpioCrcPhysicalHeader::checksum, CPIO_NEWC_MAGIC, CPIOERR_WRITE_FAILED, cpioCrcPhysicalHeader::devMajor, cpioCrcPhysicalHeader::devMinor, cpioCrcPhysicalHeader::filesize, FSM_DWRITE, FSM_PAD, fsmNext(), cpioCrcPhysicalHeader::gid, cpioCrcPhysicalHeader::inode, cpioCrcPhysicalHeader::magic, major, minor, cpioCrcPhysicalHeader::mode, cpioCrcPhysicalHeader::mtime, cpioCrcPhysicalHeader::namesize, cpioCrcPhysicalHeader::nlink, fsm_s::path, PHYS_HDR_SIZE, fsm_s::rdbuf, cpioCrcPhysicalHeader::rdevMajor, cpioCrcPhysicalHeader::rdevMinor, fsm_s::rdnb, SET_NUM_FIELD, cpioCrcPhysicalHeader::uid, and fsm_s::wrnb.
int cpioTrailerWrite | ( | FSM_t | fsm | ) |
Write cpio trailer.
fsm | file path and stat info |
Definition at line 64 of file cpio.c.
References CPIO_NEWC_MAGIC, CPIO_TRAILER, FSM_DWRITE, FSM_PAD, fsmNext(), PHYS_HDR_SIZE, fsm_s::rdbuf, and fsm_s::rdnb.