# RPMIO.

## Files

file | falloc.c
| The entire file space is thus divided into blocks with a "struct fablock" at the header of each.

file | macro.c
file | rpmlog.c
file | rpmerr.h
file | rpmio.c
file | rpmio.h
file | rpmio_internal.h
file | rpmmacro.h
file | rpmmalloc.c
file | rpmmessages.h
file | rpmpgp.c
| Routines to handle RFC-2440 detached signatures.

file | rpmpgp.h
| OpenPGP constants and structures from RFC-2440.

file | rpmrpc.c
file | rpmurl.h
file | strcasecmp.c
file | ugid.c
file | ugid.h
file | url.c

## Data Structures

struct | FDIO_s
struct | _FDSTACK_s
struct | OPSTAT_t
struct | _FDDIGEST_s
struct | _FD_s

## [NOHEADER]

typedef off_t | _libio_off_t
typedef off_t | _libio_pos_t

## RPMIO Vectors.

typedef ssize_t(* | fdio_read_function_t )(void *cookie, char *buf, size_t nbytes)
typedef ssize_t(* | fdio_write_function_t )(void *cookie, const char *buf, size_t nbytes)
typedef int(* | fdio_seek_function_t )(void *cookie, _libio_pos_t pos, int whence)
typedef int(* | fdio_close_function_t )(void *cookie)
typedef FD_t(* | fdio_ref_function_t )(void *cookie, const char *msg, const char *file, unsigned line)
typedef FD_t(* | fdio_deref_function_t )(FD_t fd, const char *msg, const char *file, unsigned line)
typedef FD_t(* | fdio_new_function_t )(const char *msg, const char *file, unsigned line)
typedef int(* | fdio_fileno_function_t )(void *cookie)
typedef FD_t(* | fdio_open_function_t )(const char *path, int flags, mode_t mode)
typedef FD_t(* | fdio_fopen_function_t )(const char *path, const char *fmode)
typedef void *(* | fdio_ffileno_function_t )(FD_t fd)
typedef int(* | fdio_fflush_function_t )(FD_t fd)

## RPMIO Interface.

const char * | Fstrerror (FD_t fd)
| strerror(3) clone.
size_t | Fread (void *buf, size_t size, size_t nmemb, FD_t fd)
| fread(3) clone.
size_t | Fwrite (const void *buf, size_t size, size_t nmemb, FD_t fd)
| fwrite(3) clone.
int | Fseek (FD_t fd, _libio_off_t offset, int whence)
| fseek(3) clone.
int | Fclose (FD_t fd)
| fclose(3) clone.
FD_t | Fdopen (FD_t ofd, const char *fmode)
FD_t | Fopen (const char *path, const char *fmode)
| fopen(3) clone.
int | Fflush (FD_t fd)
| fflush(3) clone.
int | Ferror (FD_t fd)
| ferror(3) clone.
int | Fileno (FD_t fd)
| fileno(3) clone.
int | Fcntl (FD_t fd, int op, void *lip)
| fcntl(2) clone.

## RPMIO Utilities.

off_t | fdSize (FD_t fd)

## Typedefs

typedef _FD_s * | FD_t
typedef FDIO_s * | FDIO_t
typedef _FDSTACK_s | FDSTACK_t
struct {
timeval create
timeval begin
OPSTAT_t ops [4]
} | FDSTAT_t
typedef enum rpmDigestFlags_e | rpmDigestFlags
typedef _FDDIGEST_s * | FDDIGEST_t

## Enumerations

enum | FDSTAT_e { FDSTAT_READ = 0, FDSTAT_WRITE = 1, FDSTAT_SEEK = 2, FDSTAT_CLOSE = 3 }
enum | rpmDigestFlags_e { RPMDIGEST_NONE = 0 }

## Functions

int | xstrcasecmp (const char *s1, const char *s2)
int | xstrncasecmp (const char *s1, const char *s2, size_t n)
DIGEST_CTX | rpmDigestDup (DIGEST_CTX octx)
DIGEST_CTX | rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags)
int | rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len)
int | rpmDigestFinal (DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii)
int | fdFgets (FD_t fd, char *buf, size_t len)
FD_t | ftpOpen (const char *url, int flags, mode_t mode, urlinfo *uret)
int | ftpReq (FD_t data, const char *ftpCmd, const char *ftpArg)
int | ftpCmd (const char *cmd, const char *url, const char *arg2)
int | ufdClose (void *cookie)
static const FDIO_t | fdGetIo (FD_t fd)
static void | fdSetIo (FD_t fd, FDIO_t io)
static FILE * | fdGetFILE (FD_t fd)
static void * | fdGetFp (FD_t fd)
static void | fdSetFp (FD_t fd, void *fp)
static int | fdGetFdno (FD_t fd)
static void | fdSetFdno (FD_t fd, int fdno)
static void | fdSetContentLength (FD_t fd, ssize_t contentLength)
static void | fdPush (FD_t fd, FDIO_t io, void *fp, int fdno)
static void | fdPop (FD_t fd)
static void | fdstat_enter (FD_t fd, int opx)
static time_t | tvsub (const struct timeval *etv, const struct timeval *btv)
static void | fdstat_exit (FD_t fd, int opx, ssize_t rc)
static void | fdstat_print (FD_t fd, const char *msg, FILE *fp)
static void | fdSetSyserrno (FD_t fd, int syserrno, const void *errcookie)
static int | fdGetRdTimeoutSecs (FD_t fd)
static long int | fdGetCpioPos (FD_t fd)
static void | fdSetCpioPos (FD_t fd, long int cpioPos)
static FD_t | c2f (void *cookie)
static void | fdInitDigest (FD_t fd, pgpHashAlgo hashalgo, int flags)
static void | fdUpdateDigests (FD_t fd, const byte *buf, ssize_t buflen)
static void | fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void **datap, size_t *lenp, int asAscii)
static int | fdFileno (void *cookie)

## Typedef Documentation

typedef off_t _libio_off_t

| Definition at line 38 of file rpmio.h.

typedef off_t _libio_pos_t

| Definition at line 39 of file rpmio.h.

typedef struct _FD_s* FD_t

| Definition at line 45 of file rpmio.h.

typedef struct _FDDIGEST_s * FDDIGEST_t

typedef int(* fdio_close_function_t)(void *cookie)

| Definition at line 80 of file rpmio.h.

typedef FD_t(* fdio_deref_function_t)(FD_t fd, const char *msg, const char *file, unsigned line)

| Definition at line 94 of file rpmio.h.

typedef void*(* fdio_ffileno_function_t)(FD_t fd)

| Definition at line 129 of file rpmio.h.

typedef int(* fdio_fflush_function_t)(FD_t fd)

| Definition at line 135 of file rpmio.h.

typedef int(* fdio_fileno_function_t)(void *cookie)

| Definition at line 110 of file rpmio.h.

typedef FD_t(* fdio_fopen_function_t)(const char *path, const char *fmode)

| Definition at line 123 of file rpmio.h.

typedef FD_t(* fdio_new_function_t)(const char *msg, const char *file, unsigned line)

| Definition at line 102 of file rpmio.h.

typedef FD_t(* fdio_open_function_t)(const char *path, int flags, mode_t mode)

| Definition at line 117 of file rpmio.h.

typedef ssize_t(* fdio_read_function_t)(void *cookie, char *buf, size_t nbytes)

| Definition at line 62 of file rpmio.h.

typedef FD_t(* fdio_ref_function_t)(void *cookie, const char *msg, const char *file, unsigned line)

| Definition at line 87 of file rpmio.h.

typedef int(* fdio_seek_function_t)(void *cookie, _libio_pos_t pos, int whence)

| Definition at line 74 of file rpmio.h.

typedef struct FDIO_s* FDIO_t

| Definition at line 49 of file rpmio.h.

typedef ssize_t(* fdio_write_function_t)(void *cookie, const char *buf, size_t nbytes)

| Definition at line 68 of file rpmio.h.

typedef struct _FDSTACK_s FDSTACK_t

typedef { ... } * FDSTAT_t

| Cumulative statistics for a descriptor.

typedef enum rpmDigestFlags_e rpmDigestFlags

| Bit(s) to control digest operation.

## Enumeration Type Documentation

enum FDSTAT_e

Identify per-desciptor I/O operation statistics.

Enumeration values:

  FDSTAT_READ | Read statistics index.
  FDSTAT_WRITE | Write statistics index.
  FDSTAT_SEEK | Seek statistics index.
  FDSTAT_CLOSE | Close statistics index

Definition at line 33 of file rpmio_internal.h.

enum rpmDigestFlags_e

Bit(s) to control digest operation.

Enumeration values:

  RPMDIGEST_NONE |

Definition at line 52 of file rpmio_internal.h.

## Function Documentation

static FD_t c2f | ( | void * | cookie | ) | `[inline, static]`

| Definition at line 441 of file rpmio_internal.h. References FDSANE. Referenced by fdClose(), fdFileno(), fdRead(), fdSeek(), fdSeekNot(), fdWrite(), ufdClose(), ufdRead(), ufdSeek(), ufdWrite(), and XfdLink().

int Fclose | ( | FD_t | fd | ) |

fclose(3) clone.

Definition at line 2699 of file rpmio.c.

References DBGIO, fdbg(), fdFree, fdGetFdno(), fdGetFILE, FDIOVEC, fdLink, fdPop(), FDSANE, fdSetFp(), fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, noLibio, ufdClose(), and ufdio.

Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), db1close(), defaultMachine(), domd5(), doReadRC(), doScript(), fadOpen(), fsmStage(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rewriteRPM(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderFromPackage(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmMergeHeadersFromFD(), rpmQueryVerify(), rpmShowProgress(), rpmtransDealloc(), runScript(), showVerifyPackage(), tsCallback(), ufdGetFile(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), writeRPM(), and XurlFree().

int Fcntl | ( | FD_t | fd,
|  | int | op,
|  | void * | lip
| ) |

| fcntl(2) clone. Definition at line 3108 of file rpmio.c. References Fileno(). Referenced by db1open().

int fdFgets | ( | FD_t | fd,
|  | char * | buf,
|  | size_t | len
| ) |

| Definition at line 605 of file rpmio.c. References _rpmio_debug, errno, fdFileno, fdRead, fdReadable(), _FD_s::rd_timeoutsecs, strerror(), and _FD_s::syserrno. Referenced by checkResponse(), and ftpNLST().

static int fdFileno | ( | void * | cookie | ) | `[inline, static]`

| Definition at line 521 of file rpmio_internal.h. References c2f(), _FDSTACK_s::fdno, and _FD_s::fps.

static void fdFiniDigest | ( | FD_t | fd,
|  | pgpHashAlgo | hashalgo,
|  | void ** | datap,
|  | size_t * | lenp,
|  | int | asAscii
| ) | `[inline, static]`

| Definition at line 487 of file rpmio_internal.h. References _FD_s::digests, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestFinal(). Referenced by domd5(), expandRegular(), and writeRPM().

static long int fdGetCpioPos | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 421 of file rpmio_internal.h. References _FD_s::fd_cpioPos, and FDSANE. Referenced by fsmSetup(), fsmStage(), and writeFile().

static int fdGetFdno | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 256 of file rpmio_internal.h. References _FDSTACK_s::fdno, FDSANE, _FD_s::fps, and _FD_s::nfps. Referenced by Fclose(), Fopen(), and ufdWrite().

static FILE* fdGetFILE | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 220 of file rpmio_internal.h. References FDSANE, _FD_s::fps, and _FD_s::nfps.

static void* fdGetFp | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 232 of file rpmio_internal.h. References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps. Referenced by addFileToTagAux(), doFopen(), doScript(), Fdopen(), Fflush(), Fopen(), processPackageFiles(), readLine(), rpmReadPackageManifest(), and XurlFree().

static const FDIO_t fdGetIo | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 196 of file rpmio_internal.h. References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps. Referenced by Fflush(), Fread(), Fseek(), Fwrite(), getFdErrstr(), ufdRead(), and ufdWrite().

static int fdGetRdTimeoutSecs | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 411 of file rpmio_internal.h. References FDSANE, and _FD_s::rd_timeoutsecs.

static void fdInitDigest | ( | FD_t | fd,
|  | pgpHashAlgo | hashalgo,
|  | int | flags
| ) | `[inline, static]`

| Attach digest to fd. Definition at line 455 of file rpmio_internal.h. References _FD_s::digests, FDDIGEST_MAX, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestInit(). Referenced by domd5(), expandRegular(), and writeRPM().

FD_t Fdopen | ( | FD_t | ofd,
|  | const char * | fmode
| ) |

| Definition at line 2850 of file rpmio.c. References _rpmio_debug, bzdio, FDIO_s::close, cvtfmode(), DBGIO, fadio, fdbg(), fdGetFp(), fdio, fdLink, fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, gzdio, noLibio, FDIO_s::read, FDIO_s::seek, ufdio, and FDIO_s::write. Referenced by cpio_doio(), doScript(), Fopen(), main(), and psmStage().

static void fdPop | ( | FD_t | fd | ) | `[inline, static]`

| Definition at line 300 of file rpmio_internal.h. References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), and _FD_s::nfps. Referenced by Fclose().

static void fdPush | ( | FD_t | fd,
|  | FDIO_t | io,
|  | void * | fp,
|  | int | fdno
| ) | `[inline, static]`

| Definition at line 286 of file rpmio_internal.h. References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), _FD_s::fps, and _FD_s::nfps. Referenced by Fdopen(), Fopen(), and XurlFree().

static void fdSetContentLength | ( | FD_t | fd,
|  | ssize_t | contentLength
| ) | `[inline, static]`

| Definition at line 276 of file rpmio_internal.h. References _FD_s::bytesRemain, _FD_s::contentLength, and FDSANE. Referenced by db1cput().

static void fdSetCpioPos | ( | FD_t | fd,
|  | long int | cpioPos
| ) | `[inline, static]`

| Definition at line 431 of file rpmio_internal.h. References _FD_s::fd_cpioPos, and FDSANE. Referenced by fsmSetup(), and fsmStage().

static void fdSetFdno | ( | FD_t | fd,
|  | int | fdno
| ) | `[inline, static]`

| Definition at line 266 of file rpmio_internal.h. References _FDSTACK_s::fdno, FDSANE, _FD_s::fps, and _FD_s::nfps. Referenced by fdClose(), fdDup(), fdOpen(), fdPop(), fdPush(), ftpReq(), and tcpConnect().

static void fdSetFp | ( | FD_t | fd,
|  | void * | fp
| ) | `[inline, static]`

| Definition at line 243 of file rpmio_internal.h. References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps. Referenced by Fclose(), Fdopen(), fdPop(), fdPush(), and ufdClose().

static void fdSetIo | ( | FD_t | fd,
|  | FDIO_t | io
| ) | `[inline, static]`

| Definition at line 207 of file rpmio_internal.h. References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps. Referenced by fadOpen(), fdPop(), fdPush(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().

static void fdSetSyserrno | ( | FD_t | fd,
|  | int | syserrno,
|  | const void * | errcookie
| ) | `[inline, static]`

| Definition at line 398 of file rpmio_internal.h. References _FD_s::errcookie, FDSANE, and _FD_s::syserrno. Referenced by ftpLogin(), ftpReq(), httpReq(), and tcpConnect().

off_t fdSize | ( | FD_t | fd | ) |

| Definition at line 204 of file rpmio.c. References _FD_s::contentLength, DBGIO, FDSANE, Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and _FD_s::urlType. Referenced by doReadRC(), readIcon(), and rpmioSlurp().

static void fdstat_enter | ( | FD_t | fd,
|  | int | opx
| ) | `[inline, static]`

| Definition at line 313 of file rpmio_internal.h. References _FD_s::stats. Referenced by fdClose(), fdRead(), fdSeek(), and fdWrite().

static void fdstat_exit | ( | FD_t | fd,
|  | int | opx,
|  | ssize_t | rc
| ) | `[inline, static]`

| Definition at line 339 of file rpmio_internal.h. References _FD_s::bytesRemain, errno, FDSTAT_SEEK, _FD_s::stats, _FD_s::syserrno, and tvsub(). Referenced by fdClose(), fdRead(), fdSeek(), and fdWrite().

static void fdstat_print | ( | FD_t | fd,
|  | const char * | msg,
|  | FILE * | fp
| ) | `[inline, static]`

| Definition at line 365 of file rpmio_internal.h. References OPSTAT_t::bytes, OPSTAT_t::count, FDSTAT_CLOSE, FDSTAT_READ, FDSTAT_SEEK, FDSTAT_WRITE, OPSTAT_t::msecs, ops, and _FD_s::stats.

static void fdUpdateDigests | ( | FD_t | fd,
|  | const byte * | buf,
|  | ssize_t | buflen
| ) | `[inline, static]`

| Update digest(s) attached to fd. Definition at line 470 of file rpmio_internal.h. References _FD_s::digests, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestUpdate(). Referenced by fdRead(), and fdWrite().

int Ferror | ( | FD_t | fd | ) |

ferror(3) clone.

Definition at line 3059 of file rpmio.c.

References bzdio, DBGIO, _FD_s::errcookie, fdbg(), fdFileno, fdGetFILE, fpio, _FD_s::fps, gzdio, _FDSTACK_s::io, _FD_s::nfps, and _FD_s::syserrno.

Referenced by addFileToTagAux(), cpio_copy(), db1open(), defaultMachine(), doFopen(), domd5(), doReadRC(), doScript(), fadOpen(), fsmStage(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

int Fflush | ( | FD_t | fd | ) |

| fflush(3) clone. Definition at line 3039 of file rpmio.c. References bzdio, fdGetFILE, fdGetFp(), fdGetIo(), fpio, and gzdio. Referenced by cpio_doio(), expandRegular(), psmStage(), and writeRPM().

int Fileno | ( | FD_t | fd | ) |

| fileno(3) clone. Definition at line 3094 of file rpmio.c. References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, and _FD_s::nfps. Referenced by checkSize(), cpio_doio(), db1sync(), doScript(), Fcntl(), Fdopen(), fdSize(), makeTempFile(), psmStage(), readPackageHeaders(), runScript(), ufdOpen(), writeFile(), and writeRPM().

FD_t Fopen | ( | const char * | path,
|  | const char * | fmode
| ) |

fopen(3) clone.

Definition at line 2962 of file rpmio.c.

References FDIO_s::_open, _rpmio_debug, cvtfmode(), fadio, fdClose(), fdFileno, fdGetFdno(), fdGetFp(), Fdopen(), fdOpen, fdPush(), fpio, ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().

Referenced by addFileToTagAux(), defaultMachine(), doFopen(), domd5(), doReadRC(), fsmStage(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmHeaderFromFile(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), rpmShowProgress(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

size_t Fread | ( | void * | buf,
|  | size_t | size,
|  | size_t | nmemb,
|  | FD_t | fd
| ) |

| fread(3) clone. Definition at line 2613 of file rpmio.c. References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, and fpio. Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), fsmStage(), isCompressed(), isSpecFile(), main(), Pread(), readIcon(), readRPM(), rpmioSlurp(), ufdCopy(), and writeRPM().

int Fseek | ( | FD_t | fd,
|  | _libio_off_t | offset,
|  | int | whence
| ) |

| fseek(3) clone. Definition at line 2665 of file rpmio.c. References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, and fpio. Referenced by db1cput(), doGetRecord(), fadOpen(), Pread(), Pwrite(), readRPM(), and writeRPM().

const char* Fstrerror | ( | FD_t | fd | ) |

strerror(3) clone.

Definition at line 2602 of file rpmio.c.

References errno, FDSANE, getFdErrstr(), and strerror().

Referenced by copyFile(), cpio_copy(), doFopen(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), main(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLead(), readLine(), readRPM(), rpmInstall(), rpmInstallSource(), rpmQueryVerify(), rpmReadRC(), rpmReSign(), urlGetFile(), and writeRPM().

int ftpCmd | ( | const char * | cmd,
|  | const char * | url,
|  | const char * | arg2
| ) |

| Definition at line 1415 of file rpmio.c. References urlinfo_s::ctrl, fdFree, ftpCommand(), urlConnect(), and urlPath(). Referenced by ftpChdir(), ftpMkdir(), ftpRename(), ftpReq(), ftpRmdir(), and ftpUnlink().

FD_t ftpOpen | ( | const char * | url,
|  | int | flags,
|  | mode_t | mode,
|  | urlinfo * | uret
| ) |

| Definition at line 1946 of file rpmio.c. References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::data, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, ftpTimeoutSecs, _FD_s::rd_timeoutsecs, ufdio, _FD_s::url, URL_IS_FTP, urlConnect(), urlLink, and _FD_s::urlType. Referenced by ftpNLST(), and ufdOpen().

int ftpReq | ( | FD_t | data,
|  | const char * | ftpCmd,
|  | const char * | ftpArg
| ) |

Definition at line 1143 of file rpmio.c.

References _ftp_debug, alloca(), _FD_s::contentLength, urlinfo_s::ctrl, errno, fdClose(), fdFileno, fdLink, fdSetFdno(), fdSetSyserrno(), fdWrite, ftpCheckResponse(), ftpCmd(), ftpCommand(), FTPERR_BAD_SERVER_RESPONSE, FTPERR_FAILED_CONNECT, FTPERR_FAILED_DATA_CONNECT, FTPERR_PASSIVE_ERROR, FTPERR_SERVER_IO_ERROR, FTPERR_UNKNOWN, _FD_s::ftpFileDoneNeeded, ftpStrerror(), inet_aton(), stpcpy(), _FD_s::url, and URLSANE.

Referenced by ftpNLST(), and ufdOpen().

size_t Fwrite | ( | const void * | buf,
|  | size_t | size,
|  | size_t | nmemb,
|  | FD_t | fd
| ) |

| fwrite(3) clone. Definition at line 2640 of file rpmio.c. References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, and fpio. Referenced by copyFile(), cpio_copy(), fadOpen(), fsmStage(), main(), Pwrite(), rpmWriteSignature(), runScript(), ufdCopy(), verifyGPGSignature(), verifyPGPSignature(), writeLead(), and writeRPM().

DIGEST_CTX rpmDigestDup | ( | DIGEST_CTX | octx | ) |

Duplicate a digest context.

Parameters:

  | ctx | existing digest context

Returns:
  duplicated digest context

Definition at line 39 of file digest.c.

References DIGEST_CTX_s::param, DIGEST_CTX_s::paramlen, and xcalloc().

int rpmDigestFinal | ( | DIGEST_CTX | ctx,
|  | void ** | datap,
|  | size_t * | lenp,
|  | int | asAscii
| ) |

Return digest and destroy context. Final wrapup - pad to 64-byte boundary with the bit pattern 1 0* (64-bit count of bits processed, MSB-first)

Parameters:

  | ctx | digest context

Return values:

  | datap | address of returned digest
  | lenp | address of digest length

Parameters:

  | asAscii | return digest as ascii string?

Returns:
  0 on success

Definition at line 119 of file digest.c.

References DIGEST_CTX_s::Digest, DIGEST_CTX_s::digestlen, DPRINTF, IS_LITTLE_ENDIAN, DIGEST_CTX_s::param, DIGEST_CTX_s::paramlen, and xmalloc().

Referenced by fdFiniDigest(), pgpFreeDig(), rhnUnload(), rpmVerifyDigest(), and XfdFree().

DIGEST_CTX rpmDigestInit | ( | pgpHashAlgo | hashalgo,
|  | rpmDigestFlags | flags
| ) |

Initialize digest. Set bit count to 0 and buffer to mysterious initialization constants.

Parameters:

  | flags | bit(s) to control digest operation

Returns:
  digest context

Definition at line 47 of file digest.c.

References DIGEST_CTX_s::datalen, DIGEST_CTX_s::Digest, DIGEST_CTX_s::digestlen, DPRINTF, DIGEST_CTX_s::flags, DIGEST_CTX_s::param, DIGEST_CTX_s::paramlen, PGPHASHALGO_HAVAL_5_160, PGPHASHALGO_MD2, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_TIGER192, DIGEST_CTX_s::Reset, DIGEST_CTX_s::Update, and xcalloc().

Referenced by fdInitDigest(), rhnUnload(), and rpmVerifyDigest().

int rpmDigestUpdate | ( | DIGEST_CTX | ctx,
|  | const void * | data,
|  | size_t | len
| ) |

Update context with next plain text buffer.

Parameters:

  | ctx | digest context
  | data | next data buffer
  | len | no. bytes of data

Returns:
  0 on success

Definition at line 99 of file digest.c.

References DPRINTF, DIGEST_CTX_s::param, and DIGEST_CTX_s::Update.

Referenced by fdUpdateDigests(), rhnUnload(), and rpmVerifyDigest().

static time_t tvsub | ( | const struct timeval * | etv,
|  | const struct timeval * | btv
| ) | `[inline, static]`

| Definition at line 324 of file rpmio_internal.h. Referenced by fdstat_exit().

int ufdClose | ( | void * | cookie | ) |

Definition at line 1825 of file rpmio.c.

References _ftp_debug, _FD_s::bytesRemain, c2f(), _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdClose(), fdFree, fdGetFILE, fdReadable(), fdSetFp(), fdWrite, ftpAbort(), ftpFileDone(), _FD_s::ftpFileDoneNeeded, httpResp(), urlinfo_s::httpVersion, noLibio, _FD_s::persist, urlinfo_s::service, UFDONLY, _FD_s::url, URL_IS_FTP, urlFree, urlinfo_s::urltype, and _FD_s::wr_chunked.

Referenced by Fclose(), ftpNLST(), and ufdOpen().

int xstrcasecmp | ( | const char * | s1,
|  | const char * | s2
| ) |

| Locale insensitive strcasecmp(3). Definition at line 9 of file strcasecmp.c. References xtolower(). Referenced by findTag(), getTagVal(), hdrSubscript(), isMemberInEntry(), machEquivSearch(), optionCompare(), parseYesNo(), pkgCompare(), pkgCompareVer(), rpmLookupSignatureType(), rpmRebuildTargetVars(), tagNumFromPyObject(), and tagValue().

int xstrncasecmp | ( | const char * | s1,
|  | const char * | s2,
|  | size_t | n
| ) |

| Locale insensitive strncasecmp(3). Definition at line 30 of file strcasecmp.c. References xtolower(). Referenced by findPreambleTag(), getTagVal(), isPart(), Link(), matchTok(), Rename(), and verifyGPGSignature().

## Variable Documentation

struct { ... } begin `[inherited]`

| Operation start time. Definition at line 45 of file rpmio_internal.h.

struct { ... } create `[inherited]`

| Structure creation time. Definition at line 44 of file rpmio_internal.h.

OPSTAT_t { ... } ops[4]`[inherited]`

| Cumulative statistics. Definition at line 46 of file rpmio_internal.h.