Data Structures |
struct | cpioCrcPhysicalHeader |
| Cpio archive header information. More...
|
struct | dnli_s |
| Directory name iterator. More...
|
struct | hardLink_s |
| Keeps track of the set of all hard links to a file in an archive. More...
|
struct | fsmIterator_s |
| Iterator across package file info, forward on install, backward on erase. More...
|
struct | fsm_s |
| File name and stat information. More...
|
Files |
file | cpio.c |
| Handle cpio payloads within rpm packages.
|
file | cpio.h |
| Structures used to handle cpio payloads within rpm packages.
|
file | fsm.c |
| File state machine to handle a payload from a package.
|
file | fsm.h |
| File state machine to handle a payload within an rpm package.
|
file | psm.c |
| Package state machine to handle a package from a transaction set.
|
file | psm.h |
| Package state machine to handle a package from a transaction set.
|
file | rpmlib.h |
Defines |
#define | CPIOERR_CHECK_ERRNO 0x00008000 |
Typedefs |
typedef enum cpioMapFlags_e | cpioMapFlags |
typedef struct dnli_s * | DNLI_t |
| Directory name iterator.
|
Enumerations |
enum | cpioErrorReturns {
CPIOERR_BAD_MAGIC = (2 ),
CPIOERR_BAD_HEADER = (3 ),
CPIOERR_OPEN_FAILED = (4 | CPIOERR_CHECK_ERRNO),
CPIOERR_CHMOD_FAILED = (5 | CPIOERR_CHECK_ERRNO),
CPIOERR_CHOWN_FAILED = (6 | CPIOERR_CHECK_ERRNO),
CPIOERR_WRITE_FAILED = (7 | CPIOERR_CHECK_ERRNO),
CPIOERR_UTIME_FAILED = (8 | CPIOERR_CHECK_ERRNO),
CPIOERR_UNLINK_FAILED = (9 | CPIOERR_CHECK_ERRNO),
CPIOERR_RENAME_FAILED = (10 | CPIOERR_CHECK_ERRNO),
CPIOERR_SYMLINK_FAILED = (11 | CPIOERR_CHECK_ERRNO),
CPIOERR_STAT_FAILED = (12 | CPIOERR_CHECK_ERRNO),
CPIOERR_LSTAT_FAILED = (13 | CPIOERR_CHECK_ERRNO),
CPIOERR_MKDIR_FAILED = (14 | CPIOERR_CHECK_ERRNO),
CPIOERR_RMDIR_FAILED = (15 | CPIOERR_CHECK_ERRNO),
CPIOERR_MKNOD_FAILED = (16 | CPIOERR_CHECK_ERRNO),
CPIOERR_MKFIFO_FAILED = (17 | CPIOERR_CHECK_ERRNO),
CPIOERR_LINK_FAILED = (18 | CPIOERR_CHECK_ERRNO),
CPIOERR_READLINK_FAILED = (19 | CPIOERR_CHECK_ERRNO),
CPIOERR_READ_FAILED = (20 | CPIOERR_CHECK_ERRNO),
CPIOERR_COPY_FAILED = (21 | CPIOERR_CHECK_ERRNO),
CPIOERR_HDR_SIZE = (22 ),
CPIOERR_HDR_TRAILER = (23 ),
CPIOERR_UNKNOWN_FILETYPE = (24 ),
CPIOERR_MISSING_HARDLINK = (25 ),
CPIOERR_MD5SUM_MISMATCH = (26 ),
CPIOERR_INTERNAL = (27 ),
CPIOERR_UNMAPPED_FILE = (28 )
} |
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_MULTILIB = (1 << 31)
} |
Functions |
const char *const | cpioStrerror (int rc) |
| Return formatted error message on payload handling failure.
|
static const char * | fsmFsPath (const FSM_t fsm, const struct stat *st, const char *subdir, const char *suffix) |
| Build path to file from file info, ornamented with subdir and suffix.
|
static void * | mapFreeIterator (const void *p) |
| Destroy file info iterator.
|
static void * | mapInitIterator (const void *a, const void *b) |
| Create file info iterator.
|
static int | mapNextIterator (void *a) |
| Return next index into file info.
|
static int | cpioStrCmp (const void *a, const void *b) |
static int | mapFind (void *a, const char *fsmPath) |
| Locate archive path in file info.
|
static void * | dnlFreeIterator (const void *a) |
| Destroy directory name iterator.
|
static int | dnlCount (const DNLI_t dnli) |
static int | dnlIndex (const DNLI_t dnli) |
static void * | dnlInitIterator (const FSM_t fsm, int reverse) |
| Create directory name iterator.
|
static const char * | dnlNextIterator (DNLI_t dnli) |
| Return next directory name (from file info).
|
static int | saveHardLink (FSM_t fsm) |
| Save hard link in chain.
|
static void * | freeHardLink (struct hardLink_s *li) |
| Destroy set of hard links.
|
static int | expandRegular (FSM_t fsm) |
| Create file from payload stream.
|
static int | writeFile (FSM_t fsm, int writeData) |
| Write next item to payload stream.
|
static int | writeLinkedFile (FSM_t fsm) |
| Write set of linked files to payload stream.
|
static int | fsmMakeLinks (FSM_t fsm) |
| Create pending hard links to existing file.
|
static int | fsmCommitLinks (FSM_t fsm) |
| Commit hard linked file set atomically.
|
RPMTS |
|
typedef struct fsmIterator_s * | FSMI_t |
| Iterator across package file info, forward on install, backward on erase.
|
typedef struct fsm_s * | FSM_t |
| File state machine data.
|