# build/buildio.h File Reference

Routines to read and write packages. More...

`#include "rpmbuild.h"`
`#include <rpmcli.h>`
`#include "stringbuf.h"`
`#include "misc.h"`
`#include <rpmevr.h>`
Include dependency graph for buildio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | cpioSourceArchive_s

## Typedefs

typedef struct cpioSourceArchive_s * | CSA_t

## Functions

rpmRC | writeRPM (Header *hdrp, unsigned char **pkgidp, const char *fileName, CSA_t csa, char *passPhrase, const char **cookie)
| Write rpm package to file.

## Detailed Description

Routines to read and write packages.

Deprecated:
  this information will move elsewhere eventually.

Todo:
  Eliminate, merge into rpmlib.

Definition in file buildio.h.

## Typedef Documentation

typedef struct cpioSourceArchive_s * CSA_t

## Function Documentation

rpmRC writeRPM | ( | Header * | hdrp,
|  | unsigned char ** | pkgidp,
|  | const char * | fileName,
|  | CSA_t | csa,
|  | char * | passPhrase,
|  | const char ** | cookie |
| ) |  |  |

Write rpm package to file.

Warning:
  The first argument (header) is now passed by reference in order to return a reloaded contiguous header to the caller.

Return values:

  | *hdrp | header to write (final header is returned).
  | *pkgidp | header+payload MD5 of package (NULL to disable).

Parameters:

  | fileName | file name of package
  | csa |
  | passPhrase |

Return values:

  | cookie | generated cookie (i.e build host/time)

Returns:
  RPMRC_OK on success

Definition at line 588 of file pack.c.

References _, _free(), alloca(), buildHost(), _HE_s::c, cpio_copy(), cpio_doio(), cpioSourceArchive_s::cpioArchiveSize, cpioSourceArchive_s::cpioFdIn, cpioSourceArchive_s::cpioList, Fclose(), fdFiniDigest(), fdInitDigest(), Ferror(), Fflush(), Fileno(), Fopen(), Fread(), Fstrerror(), Fwrite(), getBuildTime(), headerFree(), headerGet(), headerIsEntry(), headerLink(), headerMergeLegacySigs(), headerNEVRA(), headerNew(), headerPut(), headerReload(), _HE_s::p, PGPHASHALGO_SHA1, rpmDataType_u::ptr, RPM_BIN_TYPE, RPM_STRING_TYPE, RPM_UINT32_TYPE, rpmAddSignature(), rpmExpand(), rpmlibNeedsFeature(), rpmlog(), RPMLOG_ERR, RPMLOG_NOTICE, rpmpkgRead(), rpmpkgSizeof(), rpmpkgWrite(), RPMRC_FAIL, RPMRC_OK, RPMSIGTAG_GPG, RPMSIGTAG_MD5, RPMSIGTAG_PAYLOADSIZE, RPMSIGTAG_SHA1, RPMSIGTAG_SIZE, RPMTAG_HEADERIMMUTABLE, RPMTAG_HEADERSIGNATURES, rpmTempFile(), rpmDataType_u::str, _HE_s::t, _HE_s::tag, rpmDataType_u::ui32p, rpmDataType_u::ui8p, Unlink(), and xstrdup().

Referenced by packageBinaries(), and packageSources().