Blame doc/librpm/html/rpmarchive_8h.html

2ff057
2ff057
<html xmlns="http://www.w3.org/1999/xhtml">
2ff057
<head>
2ff057
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
2ff057
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
2ff057
<meta name="generator" content="Doxygen 1.8.14"/>
2ff057
<meta name="viewport" content="width=device-width, initial-scale=1"/>
2ff057
<title>rpm: rpmarchive.h File Reference</title>
2ff057
<link href="tabs.css" rel="stylesheet" type="text/css"/>
2ff057
<script type="text/javascript" src="jquery.js"></script>
2ff057
<script type="text/javascript" src="dynsections.js"></script>
2ff057
<link href="doxygen.css" rel="stylesheet" type="text/css" />
2ff057
</head>
2ff057
<body>
2ff057
2ff057
2ff057
2ff057
 
2ff057
 
2ff057
  
2ff057
   
rpm
2ff057
    4.14.2
2ff057
   
2ff057
  
2ff057
 
2ff057
 
2ff057
2ff057
2ff057
2ff057
2ff057
<script type="text/javascript" src="menudata.js"></script>
2ff057
<script type="text/javascript" src="menu.js"></script>
2ff057
<script type="text/javascript">
2ff057
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
2ff057
$(function() {
2ff057
  initMenu('',false,false,'search.php','Search');
2ff057
});
2ff057
/* @license-end */</script>
2ff057
2ff057
2ff057
  
    2ff057
  • lib
  • 2ff057
    2ff057
    2ff057
    2ff057
      
    2ff057
    Macros |
    2ff057
    Enumerations |
    2ff057
    Functions  
    2ff057
      
    2ff057
    rpmarchive.h File Reference
    2ff057
    2ff057
    2ff057
    2ff057

    File archive (aka payload) API.

    2ff057
    More...

    2ff057
    2ff057

    Go to the source code of this file.

    2ff057
    2ff057

    2ff057
    Macros
    2ff057
    #define RPMERR_CHECK_ERRNO   -32768
    2ff057
     
    2ff057
    2ff057

    2ff057
    Enumerations
    2ff057
    enum  rpmfilesErrorCodes { 
    2ff057
      RPMERR_ITER_END = -1, 
    2ff057
    RPMERR_BAD_MAGIC = -2, 
    2ff057
    RPMERR_BAD_HEADER = -3, 
    2ff057
    RPMERR_HDR_SIZE = -4, 
    2ff057

    2ff057
      RPMERR_UNKNOWN_FILETYPE = -5, 
    2ff057
    RPMERR_MISSING_FILE = -6, 
    2ff057
    RPMERR_DIGEST_MISMATCH = -7, 
    2ff057
    RPMERR_INTERNAL = -8, 
    2ff057

    2ff057
      RPMERR_UNMAPPED_FILE = -9, 
    2ff057
    RPMERR_ENOENT = -10, 
    2ff057
    RPMERR_ENOTEMPTY = -11, 
    2ff057
    RPMERR_FILE_SIZE = -12, 
    2ff057

    2ff057
      RPMERR_ITER_SKIP = -13, 
    2ff057
    RPMERR_EXIST_AS_DIR = -14, 
    2ff057
    RPMERR_OPEN_FAILED = -32768, 
    2ff057
    RPMERR_CHMOD_FAILED = -32769, 
    2ff057

    2ff057
      RPMERR_CHOWN_FAILED = -32770, 
    2ff057
    RPMERR_WRITE_FAILED = -32771, 
    2ff057
    RPMERR_UTIME_FAILED = -32772, 
    2ff057
    RPMERR_UNLINK_FAILED = -32773, 
    2ff057

    2ff057
      RPMERR_RENAME_FAILED = -32774, 
    2ff057
    RPMERR_SYMLINK_FAILED = -32775, 
    2ff057
    RPMERR_STAT_FAILED = -32776, 
    2ff057
    RPMERR_LSTAT_FAILED = -32777, 
    2ff057

    2ff057
      RPMERR_MKDIR_FAILED = -32778, 
    2ff057
    RPMERR_RMDIR_FAILED = -32779, 
    2ff057
    RPMERR_MKNOD_FAILED = -32780, 
    2ff057
    RPMERR_MKFIFO_FAILED = -32781, 
    2ff057

    2ff057
      RPMERR_LINK_FAILED = -32782, 
    2ff057
    RPMERR_READLINK_FAILED = -32783, 
    2ff057
    RPMERR_READ_FAILED = -32784, 
    2ff057
    RPMERR_COPY_FAILED = -32785, 
    2ff057

    2ff057
      RPMERR_LSETFCON_FAILED = -32786, 
    2ff057
    RPMERR_SETCAP_FAILED = -32787
    2ff057

    2ff057
     }
    2ff057
     Error codes for archive and file handling.  More...
    2ff057
     
    2ff057
    2ff057

    2ff057
    Functions
    2ff057
    char * rpmfileStrerror (int rc)
    2ff057
     Return formatted error message on payload handling failure.  More...
    2ff057
     
    2ff057
    rpmfi rpmfiNewArchiveWriter (FD_t fd, rpmfiles files)
    2ff057
     Get new file iterator for writing the archive content.  More...
    2ff057
     
    2ff057
    rpmfi rpmfiNewArchiveReader (FD_t fd, rpmfiles files, int itype)
    2ff057
     Get new file iterator for looping over the archive content.  More...
    2ff057
     
    2ff057
    int rpmfiArchiveClose (rpmfi fi)
    2ff057
     Close payload archive.  More...
    2ff057
     
    2ff057
    rpm_loff_t rpmfiArchiveTell (rpmfi fi)
    2ff057
     Return current position in payload archive.  More...
    2ff057
     
    2ff057
    size_t rpmfiArchiveWrite (rpmfi fi, const void *buf, size_t size)
    2ff057
     Write content into current file in archive.  More...
    2ff057
     
    2ff057
    int rpmfiArchiveWriteFile (rpmfi fi, FD_t fd)
    2ff057
     Write content from given file into current file in archive.  More...
    2ff057
     
    2ff057
    size_t rpmfiArchiveRead (rpmfi fi, void *buf, size_t size)
    2ff057
     Read content from current file in archive.  More...
    2ff057
     
    2ff057
    int rpmfiArchiveHasContent (rpmfi fi)
    2ff057
     Has current file content stored in the archive.  More...
    2ff057
     
    2ff057
    int rpmfiArchiveReadToFile (rpmfi fi, FD_t fd, int nodigest)
    2ff057
     Write content from current file in archive to a file.  More...
    2ff057
     
    2ff057
    2ff057

    Detailed Description

    2ff057

    File archive (aka payload) API.

    2ff057
    2ff057

    Definition in file rpmarchive.h.

    2ff057

    Macro Definition Documentation

    2ff057
    2ff057

    ◆ RPMERR_CHECK_ERRNO

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              #define RPMERR_CHECK_ERRNO   -32768
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Definition at line 9 of file rpmarchive.h.

    2ff057
    2ff057
    2ff057
    2ff057

    Enumeration Type Documentation

    2ff057
    2ff057

    ◆ rpmfilesErrorCodes

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              enum rpmfilesErrorCodes
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Error codes for archive and file handling.

    2ff057
    2ff057
    EnumeratorRPMERR_ITER_END 
    2ff057
    RPMERR_BAD_MAGIC 
    2ff057
    RPMERR_BAD_HEADER 
    2ff057
    RPMERR_HDR_SIZE 
    2ff057
    RPMERR_UNKNOWN_FILETYPE 
    2ff057
    RPMERR_MISSING_FILE 
    2ff057
    RPMERR_DIGEST_MISMATCH 
    2ff057
    RPMERR_INTERNAL 
    2ff057
    RPMERR_UNMAPPED_FILE 
    2ff057
    RPMERR_ENOENT 
    2ff057
    RPMERR_ENOTEMPTY 
    2ff057
    RPMERR_FILE_SIZE 
    2ff057
    RPMERR_ITER_SKIP 
    2ff057
    RPMERR_EXIST_AS_DIR 
    2ff057
    RPMERR_OPEN_FAILED 
    2ff057
    RPMERR_CHMOD_FAILED 
    2ff057
    RPMERR_CHOWN_FAILED 
    2ff057
    RPMERR_WRITE_FAILED 
    2ff057
    RPMERR_UTIME_FAILED 
    2ff057
    RPMERR_UNLINK_FAILED 
    2ff057
    RPMERR_RENAME_FAILED 
    2ff057
    RPMERR_SYMLINK_FAILED 
    2ff057
    RPMERR_STAT_FAILED 
    2ff057
    RPMERR_LSTAT_FAILED 
    2ff057
    RPMERR_MKDIR_FAILED 
    2ff057
    RPMERR_RMDIR_FAILED 
    2ff057
    RPMERR_MKNOD_FAILED 
    2ff057
    RPMERR_MKFIFO_FAILED 
    2ff057
    RPMERR_LINK_FAILED 
    2ff057
    RPMERR_READLINK_FAILED 
    2ff057
    RPMERR_READ_FAILED 
    2ff057
    RPMERR_COPY_FAILED 
    2ff057
    RPMERR_LSETFCON_FAILED 
    2ff057
    RPMERR_SETCAP_FAILED 
    2ff057
    2ff057
    2ff057

    Definition at line 14 of file rpmarchive.h.

    2ff057
    2ff057
    2ff057
    2ff057

    Function Documentation

    2ff057
    2ff057

    ◆ rpmfiArchiveClose()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              int rpmfiArchiveClose 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi)
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Close payload archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    > 0 on error
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveHasContent()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              int rpmfiArchiveHasContent 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi)
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Has current file content stored in the archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info @ return 1 for regular files but 0 for hardlinks without content 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveRead()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              size_t rpmfiArchiveRead 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              void * 
    2ff057
              buf, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              size_t 
    2ff057
              size 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Read content from current file in archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
        bufpointer to buffer 
    2ff057
        sizenumber of bytes to read 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    bytes actually read
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveReadToFile()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              int rpmfiArchiveReadToFile 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              FD_t 
    2ff057
              fd, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              int 
    2ff057
              nodigest 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Write content from current file in archive to a file.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
        fdfile descriptor of file to write to 
    2ff057
        nodigestomit checksum check if 1 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    > 0 on error
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveTell()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              rpm_loff_t rpmfiArchiveTell 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi)
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Return current position in payload archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    position
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveWrite()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              size_t rpmfiArchiveWrite 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              const void * 
    2ff057
              buf, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              size_t 
    2ff057
              size 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Write content into current file in archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
        bufpointer to content 
    2ff057
        sizenumber of bytes to write 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    bytes actually written
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiArchiveWriteFile()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              int rpmfiArchiveWriteFile 
    2ff057
              (
    2ff057
              rpmfi 
    2ff057
              fi, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              FD_t 
    2ff057
              fd 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Write content from given file into current file in archive.

    2ff057
    Parameters
    2ff057
      
    2ff057
        fifile info 
    2ff057
        fdfile descriptor of file to read 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    > 0 on error
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfileStrerror()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              char* rpmfileStrerror 
    2ff057
              (
    2ff057
              int 
    2ff057
              rc)
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Return formatted error message on payload handling failure.

    2ff057
    Parameters
    2ff057
      
    2ff057
        rcerror code 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    formatted error string (malloced)
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiNewArchiveReader()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              rpmfi rpmfiNewArchiveReader 
    2ff057
              (
    2ff057
              FD_t 
    2ff057
              fd, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              rpmfiles 
    2ff057
              files, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              int 
    2ff057
              itype 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Get new file iterator for looping over the archive content.

    2ff057

    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.

    Parameters
    2ff057
      
    2ff057
        fdfile 
    2ff057
        filesfile info 
    2ff057
        itypehow to handle hard links. See rpmFileIter. 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    new rpmfi
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    ◆ rpmfiNewArchiveWriter()

    2ff057
    2ff057
    2ff057
    2ff057
          
    2ff057
            
    2ff057
              rpmfi rpmfiNewArchiveWriter 
    2ff057
              (
    2ff057
              FD_t 
    2ff057
              fd, 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              
    2ff057
              rpmfiles 
    2ff057
              files 
    2ff057
            
    2ff057
            
    2ff057
              
    2ff057
              )
    2ff057
              
    2ff057
            
    2ff057
          
    2ff057
    2ff057
    2ff057

    Get new file iterator for writing the archive content.

    2ff057

    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.

    Parameters
    2ff057
      
    2ff057
        fdfile 
    2ff057
        filesfile info 
    2ff057
      
    2ff057
      
    2ff057
    2ff057
    Returns
    new rpmfi
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057
    2ff057

    <address class="footer"><small>
    2ff057
    Generated by  
    2ff057
    doxygen
    2ff057
     1.8.14
    2ff057
    </small></address>
    2ff057
    </body>
    2ff057
    </html>