rpm 4.19.92
The RPM Package Manager
|
Go to the source code of this file.
Macros | |
#define | RPMERR_CHECK_ERRNO -32768 |
Enumerations | |
enum | rpmfilesErrorCodes { RPMERR_ITER_END = -1 , RPMERR_BAD_MAGIC = -2 , RPMERR_BAD_HEADER = -3 , RPMERR_HDR_SIZE = -4 , RPMERR_UNKNOWN_FILETYPE = -5 , RPMERR_MISSING_FILE = -6 , RPMERR_DIGEST_MISMATCH = -7 , RPMERR_INTERNAL = -8 , RPMERR_UNMAPPED_FILE = -9 , RPMERR_ENOENT = -10 , RPMERR_ENOTEMPTY = -11 , RPMERR_FILE_SIZE = -12 , RPMERR_ITER_SKIP = -13 , RPMERR_EXIST_AS_DIR = -14 , RPMERR_INVALID_SYMLINK = -15 , RPMERR_ENOTDIR = -16 , RPMERR_OPEN_FAILED = -32768 , RPMERR_CHMOD_FAILED = -32769 , RPMERR_CHOWN_FAILED = -32770 , RPMERR_WRITE_FAILED = -32771 , RPMERR_UTIME_FAILED = -32772 , RPMERR_UNLINK_FAILED = -32773 , RPMERR_RENAME_FAILED = -32774 , RPMERR_SYMLINK_FAILED = -32775 , RPMERR_STAT_FAILED = -32776 , RPMERR_LSTAT_FAILED = -32777 , RPMERR_MKDIR_FAILED = -32778 , RPMERR_RMDIR_FAILED = -32779 , RPMERR_MKNOD_FAILED = -32780 , RPMERR_MKFIFO_FAILED = -32781 , RPMERR_LINK_FAILED = -32782 , RPMERR_READLINK_FAILED = -32783 , RPMERR_READ_FAILED = -32784 , RPMERR_COPY_FAILED = -32785 , RPMERR_LSETFCON_FAILED = -32786 , RPMERR_SETCAP_FAILED = -32787 , RPMERR_CLOSE_FAILED = -32788 } |
Functions | |
char * | rpmfileStrerror (int rc) |
rpmfi | rpmfiNewArchiveWriter (FD_t fd, rpmfiles files) |
rpmfi | rpmfiNewArchiveReader (FD_t fd, rpmfiles files, int itype) |
int | rpmfiArchiveClose (rpmfi fi) |
rpm_loff_t | rpmfiArchiveTell (rpmfi fi) |
size_t | rpmfiArchiveWrite (rpmfi fi, const void *buf, size_t size) |
int | rpmfiArchiveWriteFile (rpmfi fi, FD_t fd) |
ssize_t | rpmfiArchiveRead (rpmfi fi, void *buf, size_t size) |
int | rpmfiArchiveHasContent (rpmfi fi) |
int | rpmfiArchiveReadToFile (rpmfi fi, FD_t fd, int nodigest) |
File archive (aka payload) API.
enum rpmfilesErrorCodes |
Error codes for archive and file handling
int rpmfiArchiveClose | ( | rpmfi | fi | ) |
Close payload archive
fi | file info |
int rpmfiArchiveHasContent | ( | rpmfi | fi | ) |
Has current file content stored in the archive
fi | file info @ return 1 for regular files but 0 for hardlinks without content |
ssize_t rpmfiArchiveRead | ( | rpmfi | fi, |
void * | buf, | ||
size_t | size | ||
) |
Read content from current file in archive
fi | file info |
buf | pointer to buffer |
size | number of bytes to read |
int rpmfiArchiveReadToFile | ( | rpmfi | fi, |
FD_t | fd, | ||
int | nodigest | ||
) |
Write content from current file in archive to a file
fi | file info |
fd | file descriptor of file to write to |
nodigest | omit checksum check if 1 |
rpm_loff_t rpmfiArchiveTell | ( | rpmfi | fi | ) |
Return current position in payload archive
fi | file info |
size_t rpmfiArchiveWrite | ( | rpmfi | fi, |
const void * | buf, | ||
size_t | size | ||
) |
Write content into current file in archive
fi | file info |
buf | pointer to content |
size | number of bytes to write |
int rpmfiArchiveWriteFile | ( | rpmfi | fi, |
FD_t | fd | ||
) |
Write content from given file into current file in archive
fi | file info |
fd | file descriptor of file to read |
char * rpmfileStrerror | ( | int | rc | ) |
Return formatted error message on payload handling failure.
rc | error code |
rpmfi rpmfiNewArchiveReader | ( | FD_t | fd, |
rpmfiles | files, | ||
int | itype | ||
) |
Get new file iterator for looping over the archive content. Returned rpmfi visites files in the order they are read from the payload. Content of the regular files can be retrieved with rpmfiArchiveRead() or rpmfiArchiveReadToFile() when they are visited with rpmfiNext(). rpmfiSetFX() is not supported for this type of iterator.
fd | file |
files | file info |
itype | how to handle hard links. See rpmFileIter. |
rpmfi rpmfiNewArchiveWriter | ( | FD_t | fd, |
rpmfiles | files | ||
) |
Get new file iterator for writing the archive content. The returned rpmfi will only visit the files needing some content. You need to provide the content using rpmfiArchiveWrite() or rpmfiArchiveWriteFile(). Make sure to close the rpmfi with rpmfiArchiveClose() to get the trailer written. rpmfiSetFX() is not supported for this type of iterator.
fd | file |
files | file info |