|
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 |
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...
|
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.
|
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 | 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_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.
|