|
rpm 6.1.90
The RPM Package Manager
|
File archive (aka payload) API. More...
Files | |
| file | rpmarchive.h |
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 | |
| RPM_PUBLIC_API char * | rpmfileStrerror (int rc) |
| RPM_PUBLIC_API rpmfi | rpmfiNewArchiveWriter (FD_t fd, rpmfiles files) |
| RPM_PUBLIC_API rpmfi | rpmfiNewArchiveReader (FD_t fd, rpmfiles files, int itype) |
| RPM_PUBLIC_API int | rpmfiArchiveClose (rpmfi fi) |
| RPM_PUBLIC_API rpm_loff_t | rpmfiArchiveTell (rpmfi fi) |
| RPM_PUBLIC_API size_t | rpmfiArchiveWrite (rpmfi fi, const void *buf, size_t size) |
| RPM_PUBLIC_API int | rpmfiArchiveWriteFile (rpmfi fi, FD_t fd) |
| RPM_PUBLIC_API ssize_t | rpmfiArchiveRead (rpmfi fi, void *buf, size_t size) |
| RPM_PUBLIC_API int | rpmfiArchiveHasContent (rpmfi fi) |
| RPM_PUBLIC_API int | rpmfiArchiveReadToFile (rpmfi fi, FD_t fd, int nodigest) |
File archive (aka payload) API.
| enum rpmfilesErrorCodes |
Error codes for archive and file handling
| RPM_PUBLIC_API int rpmfiArchiveClose | ( | rpmfi | fi | ) |
Close payload archive
| fi | file info |
| RPM_PUBLIC_API 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 |
| RPM_PUBLIC_API 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 |
| RPM_PUBLIC_API 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_PUBLIC_API rpm_loff_t rpmfiArchiveTell | ( | rpmfi | fi | ) |
Return current position in payload archive
| fi | file info |
| RPM_PUBLIC_API 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 |
| RPM_PUBLIC_API 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 |
| RPM_PUBLIC_API char * rpmfileStrerror | ( | int | rc | ) |
Return formatted error message on payload handling failure.
| rc | error code |
| RPM_PUBLIC_API 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. |
| RPM_PUBLIC_API 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 |