# 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)
const FDIO_t | fdGetIo (FD_t fd)
void | fdSetIo (FD_t fd, FDIO_t io)
FILE * | fdGetFILE (FD_t fd)
void * | fdGetFp (FD_t fd)
void | fdSetFp (FD_t fd, void *fp)
int | fdGetFdno (FD_t fd)
void | fdSetFdno (FD_t fd, int fdno)
void | fdSetContentLength (FD_t fd, ssize_t contentLength)
void | fdPush (FD_t fd, FDIO_t io, void *fp, int fdno)
void | fdPop (FD_t fd)
void | fdstat_enter (FD_t fd, int opx)
time_t | tvsub (const struct timeval *etv, const struct timeval *btv)
void | fdstat_exit (FD_t fd, int opx, ssize_t rc)
void | fdstat_print (FD_t fd, const char *msg, FILE *fp)
void | fdSetSyserrno (FD_t fd, int syserrno, const void *errcookie)
int | fdGetRdTimeoutSecs (FD_t fd)
long int | fdGetCpioPos (FD_t fd)
void | fdSetCpioPos (FD_t fd, long int cpioPos)
FD_t | c2f (void *cookie)
void | fdInitDigest (FD_t fd, pgpHashAlgo hashalgo, int flags)
void | fdUpdateDigests (FD_t fd, const byte *buf, ssize_t buflen)
void | fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void **datap, size_t *lenp, int asAscii)
int | fdFileno (void *cookie)

## Typedef Documentation

typedef off_t _libio_off_t

| Definition at line 38 of file rpmio.h. Referenced by Pread(), and Pwrite().

typedef off_t _libio_pos_t

| Definition at line 39 of file rpmio.h. Referenced by fdSeekNot().

typedef struct _FD_s* FD_t

Definition at line 45 of file rpmio.h.

Referenced by addFileToTagAux(), alAddPackage(), c2f(), checkSize(), copyFile(), cpio_copy(), cpio_doio(), db1cdel(), db1cget(), db1close(), db1cput(), db1open(), db1sync(), defaultMachine(), doGetRecord(), domd5(), doReadRC(), doScript(), fadAlloc(), fadFirstOffset(), fadFree(), fadGetFileSize(), fadGetFirstFree(), fadNextOffset(), fadOpen(), fadSanity(), fadSetFileSize(), fadSetFirstFree(), Fcntl(), fdClose(), fdDup(), fdFileno(), fdFiniDigest(), fdGetCpioPos(), fdGetFdno(), fdGetFILE(), fdGetFp(), fdGetIo(), fdGetRdTimeoutSecs(), fdInitDigest(), fdOpen(), fdPop(), fdPush(), fdRead(), fdSeek(), fdSeekNot(), fdSetContentLength(), fdSetCpioPos(), fdSetFdno(), fdSetFp(), fdSetIo(), fdSetSyserrno(), fdstat_enter(), fdstat_exit(), fdstat_print(), fdUpdateDigests(), fdWrite(), fsmSetup(), Fstrerror(), ftpNLST(), headerRead(), headerWrite(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), Pread(), processPackageFiles(), Pwrite(), readIcon(), readLead(), readPackageHeaders(), readRPM(), rpmCheckSig(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderFromPackage(), rpmInitMacros(), rpmInstallSource(), rpmInstallSourcePackage(), rpmMergeHeaders(), rpmMergeHeadersFromFD(), rpmQueryVerify(), rpmReadHeaders(), rpmReadPackageHeader(), rpmReadPackageInfo(), rpmReadPackageManifest(), rpmReadRC(), rpmReSign(), rpmShowProgress(), rpmtransAddPackage(), rpmtransSetScriptFd(), rpmVerifyScript(), rpmWriteSignature(), runScript(), showVerifyPackage(), tsCallback(), ufdGetUrlinfo(), urlConnect(), urlSetCallback(), verifyGPGSignature(), verifyPGPSignature(), writeLead(), writeRPM(), XfdLink(), and XfdNew().

typedef struct _FDDIGEST_s * FDDIGEST_t

| Referenced by fdFiniDigest(), fdInitDigest(), fdUpdateDigests(), and XfdFree().

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. Referenced by Fstrerror().

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. Referenced by fdGetIo(), fdPush(), and fdSetIo().

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

| Referenced by Fclose(), and fdbg().

typedef { ... } * FDSTAT_t

| Cumulative statistics for a descriptor.

typedef enum rpmDigestFlags_e rpmDigestFlags

| Bit(s) to control digest operation. Referenced by rpmDigestInit().

## 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

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

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

int Fclose | ( | FD_t | fd | ) |

fclose(3) clone.

Definition at line 2703 of file rpmio.c.

References FDSTACK_t, fpio, noLibio, 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(), rpmMergeHeadersFromFD(), rpmQueryVerify(), rpmShowProgress(), rpmtransDealloc(), runScript(), showVerifyPackage(), tsCallback(), verifyGPGSignature(), verifyPGPSignature(), writeRPM(), and XurlFree().

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

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

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

| Definition at line 606 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().

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

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

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, FD_t, FDDIGEST_t, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, pgpHashAlgo, and rpmDigestFinal(). Referenced by domd5(), expandRegular(), and writeRPM().

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

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

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

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

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

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

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

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

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

| Definition at line 196 of file rpmio_internal.h. References FD_t, FDIO_t, FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.

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

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

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, FD_t, FDDIGEST_MAX, FDDIGEST_t, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, pgpHashAlgo, and rpmDigestInit(). Referenced by domd5(), expandRegular(), and writeRPM().

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

| Definition at line 2854 of file rpmio.c. References fdio. Referenced by cpio_doio(), doScript(), main(), and psmStage().

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

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

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

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

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, FD_t, and FDSANE. Referenced by db1cput().

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

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

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

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

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

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

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

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

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, FD_t, FDSANE, and _FD_s::syserrno. Referenced by ftpLogin(), and tcpConnect().

off_t fdSize | ( | FD_t | fd | ) |

| Definition at line 205 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(), and readIcon().

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

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

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, FD_t, FDSTAT_SEEK, _FD_s::stats, _FD_s::syserrno, and tvsub(). Referenced by fdClose(), fdRead(), fdSeek(), and fdWrite().

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, FD_t, FDSTAT_CLOSE, FDSTAT_READ, FDSTAT_SEEK, FDSTAT_WRITE, OPSTAT_t::msecs, ops, and _FD_s::stats.

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, FD_t, FDDIGEST_t, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestUpdate(). Referenced by fdRead(), and fdWrite().

int Ferror | ( | FD_t | fd | ) |

ferror(3) clone.

Definition at line 3063 of file rpmio.c.

References fdGetFILE, and fpio.

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(), rpmQueryVerify(), rpmReadRC(), runScript(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

int Fflush | ( | FD_t | fd | ) |

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

int Fileno | ( | FD_t | fd | ) |

| fileno(3) clone. Definition at line 3098 of file rpmio.c. Referenced by checkSize(), cpio_doio(), db1sync(), doScript(), fdSize(), makeTempFile(), psmStage(), readPackageHeaders(), runScript(), writeFile(), and writeRPM().

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

fopen(3) clone.

Definition at line 2966 of file rpmio.c.

References _rpmio_debug.

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(), rpmQueryVerify(), rpmReadRC(), rpmShowProgress(), runScript(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

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

| fread(3) clone. Definition at line 2617 of file rpmio.c. References fpio. Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), fsmStage(), isCompressed(), isSpecFile(), main(), Pread(), readIcon(), readRPM(), and writeRPM().

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

| fseek(3) clone. Definition at line 2669 of file rpmio.c. References fpio. Referenced by db1cput(), doGetRecord(), fadOpen(), Pread(), Pwrite(), readRPM(), and writeRPM().

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

strerror(3) clone.

Definition at line 2606 of file rpmio.c.

References FD_t, fdio_read_function_t, and FDSANE.

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

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

| Definition at line 1416 of file rpmio.c. 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 1950 of file rpmio.c. References ftpTimeoutSecs, and URL_IS_FTP. Referenced by ftpNLST().

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

| Definition at line 1144 of file rpmio.c. References ftpCmd(), and FTPERR_UNKNOWN. Referenced by ftpNLST().

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

| fwrite(3) clone. Definition at line 2644 of file rpmio.c. References fdGetFILE, and fpio. Referenced by copyFile(), cpio_copy(), fadOpen(), fsmStage(), main(), Pwrite(), rpmWriteSignature(), runScript(), 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, DIGEST_CTX_s::param, 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, 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, DPRINTF, pgpHashAlgo, PGPHASHALGO_HAVAL_5_160, PGPHASHALGO_MD2, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_TIGER192, rpmDigestFlags, 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 DIGEST_CTX, DPRINTF, DIGEST_CTX_s::param, and DIGEST_CTX_s::Update.

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

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 1829 of file rpmio.c. References noLibio, and URL_IS_FTP. Referenced by ftpNLST().

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.