rpm  5.2.1
Files | Data Structures | Typedefs | Enumerations | Functions | Variables
RPMIO.
Collaboration diagram for RPMIO.:

Files

file  argv.c
 
file  argv.h
 
file  bzdio.c
 Support for BZIP2 compression library.
 
file  gzdio.c
 Support for ZLIB compression library.
 
file  macro.c
 
file  mount.c
 
file  poptIO.c
 Popt tables for all rpmio-only executables.
 
file  rpmcb.h
 
file  rpmdav.c
 
file  rpmdav.h
 
file  rpmio.c
 
file  rpmio.h
 
file  rpmio_internal.h
 
file  rpmiob.c
 
file  rpmiotypes.h
 
file  rpmku.c
 
file  rpmku.h
 
file  rpmlog.c
 
file  rpmlog.h
 Yet Another syslog(3) API clone.
 
file  rpmmacro.h
 
file  rpmmalloc.c
 
file  rpmmg.c
 
file  rpmmg.h
 
file  rpmpgp.c
 Routines to handle RFC-2440 detached signatures.
 
file  rpmrpc.c
 
file  rpmsq.c
 
file  rpmsq.h
 
file  rpmsw.c
 
file  rpmsw.h
 
file  rpmurl.h
 
file  rpmuuid.c
 
file  strcasecmp.c
 
file  strtolocale.c
 
file  ugid.c
 
file  ugid.h
 
file  url.c
 

Data Structures

struct  FDIO_s
 
struct  _FDSTACK_s
 
struct  _FDDIGEST_s
 
struct  _FD_s
 The FD_t File Handle data structure. More...
 
struct  rpmsw_s
 
struct  rpmop_s
 Cumulative statistics for an operation. More...
 

Typedefs

typedef struct _FD_sFD_t
 
typedef struct FDIO_sFDIO_t
 
typedef struct _FDSTACK_s FDSTACK_t
 
typedef enum fdOpX_e fdOpX
 Identify per-desciptor I/O operation statistics.
 
struct {
   struct rpmop_s   ops [FDSTAT_MAX]
 
FDSTAT_t
 
typedef struct _FDDIGEST_sFDDIGEST_t
 
typedef enum rpmRC_e rpmRC
 RPM return codes.
 
typedef unsigned char rpmuint8_t
 Private int typedefs to avoid C99 portability issues.
 
typedef int rpmint32_t
 
typedef struct rpmiob_s * rpmiob
 
typedef void *(* rpmCallbackFunction )(const void *h, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total, fnpyKey key, rpmCallbackData data)
 
typedef struct rpmmg_s * rpmmg
 
typedef unsigned long int rpmtime_t
 
typedef struct rpmsw_srpmsw
 
typedef struct rpmop_srpmop
 
typedef enum rpmswOpX_e rpmswOpX
 Indices for timestamps.
 

Enumerations

enum  fdOpX_e {
  FDSTAT_READ = 0, FDSTAT_WRITE = 1, FDSTAT_SEEK = 2, FDSTAT_CLOSE = 3,
  FDSTAT_DIGEST = 4, FDSTAT_MAX = 5
}
 Identify per-desciptor I/O operation statistics. More...
 
enum  rpmRC_e {
  RPMRC_OK = 0, RPMRC_NOTFOUND = 1, RPMRC_FAIL = 2, RPMRC_NOTTRUSTED = 3,
  RPMRC_NOKEY = 4
}
 RPM return codes. More...
 
enum  rpmswOpX_e {
  RPMSW_OP_TOTAL = 0, RPMSW_OP_CHECK = 1, RPMSW_OP_ORDER = 2, RPMSW_OP_FINGERPRINT = 3,
  RPMSW_OP_REPACKAGE = 4, RPMSW_OP_INSTALL = 5, RPMSW_OP_ERASE = 6, RPMSW_OP_SCRIPTLETS = 7,
  RPMSW_OP_COMPRESS = 8, RPMSW_OP_UNCOMPRESS = 9, RPMSW_OP_DIGEST = 10, RPMSW_OP_SIGNATURE = 11,
  RPMSW_OP_DBADD = 12, RPMSW_OP_DBREMOVE = 13, RPMSW_OP_DBGET = 14, RPMSW_OP_DBPUT = 15,
  RPMSW_OP_DBDEL = 16, RPMSW_OP_READHDR = 17, RPMSW_OP_HDRLOAD = 18, RPMSW_OP_HDRGET = 19,
  RPMSW_OP_DEBUG = 20, RPMSW_OP_MAX = 20
}
 Indices for timestamps. More...
 

Functions

const char * fdbg (FD_t fd)
 
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 void fdSetOpen (FD_t fd, const char *path, int flags, mode_t mode)
 
static const char * fdGetOPath (FD_t fd)
 
static int fdGetOFlags (FD_t fd)
 
static mode_t fdGetOMode (FD_t fd)
 
static void fdSetDig (FD_t fd, pgpDig dig)
 
static pgpDig fdGetDig (FD_t fd)
 
static void fdSetXAR (FD_t fd, rpmxar xar)
 
static rpmxar fdGetXAR (FD_t fd)
 
static 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 rpmop fdstat_op (FD_t fd, fdOpX opx)
 
static void fdstat_enter (FD_t fd, int opx)
 
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 unsigned long long 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)
 Attach digest to fd.
 
static void fdUpdateDigests (FD_t fd, const unsigned char *buf, ssize_t buflen)
 Update digest(s) attached to fd.
 
static void fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void *datap, size_t *lenp, int asAscii)
 
static void fdStealDigest (FD_t fd, pgpDig dig)
 
static int fdFileno (void *cookie)
 
static void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
 
int xstrcasecmp (const char *s1, const char *s2)
 Locale insensitive strcasecmp(3).
 
int xstrncasecmp (const char *s1, const char *s2, size_t n)
 Locale insensitive strncasecmp(3).
 
const char * xstrtolocale (const char *str)
 Force encoding of string.
 
static rpmtime_t tvsub (const struct timeval *etv, const struct timeval *btv)
 Return difference of 2 timeval stamps in micro-seconds.
 
int rpmswEnter (rpmop op, ssize_t rc)
 Enter timed operation.
 
rpmtime_t rpmswExit (rpmop op, ssize_t rc)
 Exit timed operation.
 
rpmtime_t rpmswAdd (rpmop to, rpmop from)
 Sum statistic counters.
 
rpmtime_t rpmswSub (rpmop to, rpmop from)
 Subtract statistic counters.
 
void rpmswPrint (const char *name, rpmop op)
 Print operation statistics.
 

Variables

size_t _rpmiob_chunk
 
int _rpmmg_debug
 
typedef off_t _libio_off_t
 Hide libio API lossage.
 
typedef off_t _libio_pos_t
 

Detailed Description

Typedef Documentation

typedef off_t _libio_off_t

Hide libio API lossage.

The libio interface changed after glibc-2.1.3 to pass the seek offset argument as a pointer rather than as an off_t. The snarl below defines typedefs to isolate the lossage.

Definition at line 32 of file rpmio.h.

typedef off_t _libio_pos_t

Definition at line 33 of file rpmio.h.

typedef struct _FD_s* FD_t

Definition at line 39 of file rpmio.h.

typedef struct _FDDIGEST_s * FDDIGEST_t
typedef struct FDIO_s* FDIO_t

Definition at line 43 of file rpmio.h.

typedef enum fdOpX_e fdOpX

Identify per-desciptor I/O operation statistics.

typedef struct _FDSTACK_s FDSTACK_t
typedef { ... } * FDSTAT_t
typedef void*(* rpmCallbackFunction)(const void *h, const rpmCallbackType what, const rpmuint64_t amount, const rpmuint64_t total,fnpyKey key,rpmCallbackData data)

Definition at line 308 of file rpmiotypes.h.

typedef int rpmint32_t

Definition at line 29 of file rpmiotypes.h.

typedef struct rpmiob_s* rpmiob

Definition at line 51 of file rpmiotypes.h.

typedef struct rpmmg_s* rpmmg

Definition at line 15 of file rpmmg.h.

typedef struct rpmop_s* rpmop

Definition at line 18 of file rpmsw.h.

typedef enum rpmRC_e rpmRC

RPM return codes.

typedef struct rpmsw_s* rpmsw

Definition at line 14 of file rpmsw.h.

typedef enum rpmswOpX_e rpmswOpX

Indices for timestamps.

typedef unsigned long int rpmtime_t

Definition at line 10 of file rpmsw.h.

typedef unsigned char rpmuint8_t

Private int typedefs to avoid C99 portability issues.

Definition at line 22 of file rpmiotypes.h.

Enumeration Type Documentation

enum fdOpX_e

Identify per-desciptor I/O operation statistics.

Enumerator:
FDSTAT_READ 

Read statistics index.

FDSTAT_WRITE 

Write statistics index.

FDSTAT_SEEK 

Seek statistics index.

FDSTAT_CLOSE 

Close statistics index

FDSTAT_DIGEST 

Digest statistics index.

FDSTAT_MAX 

Definition at line 34 of file rpmio_internal.h.

enum rpmRC_e

RPM return codes.

Enumerator:
RPMRC_OK 

Generic success code

RPMRC_NOTFOUND 

Generic not found code.

RPMRC_FAIL 

Generic failure code.

RPMRC_NOTTRUSTED 

Signature is OK, but key is not trusted.

RPMRC_NOKEY 

Public key is unavailable.

Definition at line 11 of file rpmiotypes.h.

enum rpmswOpX_e

Indices for timestamps.

Enumerator:
RPMSW_OP_TOTAL 
RPMSW_OP_CHECK 
RPMSW_OP_ORDER 
RPMSW_OP_FINGERPRINT 
RPMSW_OP_REPACKAGE 
RPMSW_OP_INSTALL 
RPMSW_OP_ERASE 
RPMSW_OP_SCRIPTLETS 
RPMSW_OP_COMPRESS 
RPMSW_OP_UNCOMPRESS 
RPMSW_OP_DIGEST 
RPMSW_OP_SIGNATURE 
RPMSW_OP_DBADD 
RPMSW_OP_DBREMOVE 
RPMSW_OP_DBGET 
RPMSW_OP_DBPUT 
RPMSW_OP_DBDEL 
RPMSW_OP_READHDR 
RPMSW_OP_HDRLOAD 
RPMSW_OP_HDRGET 
RPMSW_OP_DEBUG 
RPMSW_OP_MAX 

Definition at line 46 of file rpmsw.h.

Function Documentation

static void* _free ( const void *  p)
inlinestatic

Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

Parameters
pmemory to free
Returns
NULL always

Definition at line 327 of file rpmiotypes.h.

Referenced by _GetPass(), _tagGenerate(), _tagName(), _tagValue(), addChangelog(), addFile(), addFileToTag(), addFileToTagAux(), addOrAppendListEntry(), addReqProv(), addSource(), addTE(), archScore(), argiFree(), argvFree(), argvSplit(), armorFormat(), avClosedir(), avContextDestroy(), base64Format(), bncdataFormat(), buildSpec(), cdataFormat(), checkForDuplicates(), checkForValidArchitectures(), checkPackageSet(), checkSpec(), checkUnpackagedFiles(), Chroot(), closeCallback(), closeSpec(), compare(), compressFilelist(), cpio_doio(), cpioHeaderRead(), createDir(), db3close(), db3open(), db3stat(), db_init(), dbiFreeIndexSet(), dbiTagsInit(), debevrfmtTag(), debevrTag(), debmd5sumsTag(), defaultMachine(), delTE(), dnlFreeIterator(), dodigest(), doIcon(), doPatch(), doSetupMacro(), doUntar(), ensureOlder(), expandMacro(), extractRegular(), fdFini(), FDGsqlTag(), FDGxmlTag(), FDGyamlTag(), fiIntersect(), filestatTag(), fillOutMainPackage(), findErases(), findPreambleTag(), Fopen(), formatValue(), freeAttrRec(), freeBadDeps(), freeFileList(), freeFormat(), freeFSM(), freeGlobs(), freeHardLink(), freeIOSM(), freeItem(), freeItems(), freeNames(), freePackage(), freeSl(), freeSources(), freeSpec(), freeSt(), freeTriggerFiles(), fsmCommitLinks(), fsmMakeLinks(), fsmMapPath(), fsmMkdirs(), fsmStage(), fsmTeardown(), fssizesTag(), ftsCacheUpdate(), genCpioListAndHeader(), genSourceRpmName(), getFilesystemList(), getMachineInfo(), getOutputFrom(), getSignid(), grabArgs(), grabData(), handleInstInstalledFiles(), handleOneTrigger(), handleOverlappedFiles(), handlePreambleTag(), handleRmvdInstalledFiles(), hCopyTag(), hdr_subscript(), hdrKeyList(), hdrSprintf(), hdrUnload(), headerAddI18NString(), headerCheck(), headerCopy(), headerCopyTags(), headerFini(), headerLoad(), headerMacrosLoad(), headerMacrosUnload(), headerMap(), headerMergeLegacySigs(), headerModifyEntry(), headerNEVRA(), headerRegenSigHeader(), headerReload(), headerRemoveEntry(), headerScrub(), headerSetBaseURL(), headerSetDigest(), headerSetOrigin(), headerSprintf(), headerUnload(), hGetColor(), hGetNVRA(), hLoadTID(), htFini(), i18nTag(), IDTXfree(), IDTXglob(), IDTXload(), ignoreDep(), initGlobs(), initSourceHeader(), installArgCallback(), instprefixTag(), iosmCommitLinks(), iosmMakeLinks(), iosmMapPath(), iosmMkdirs(), iosmStage(), iosmTeardown(), isMemberInEntry(), isPart(), isSpecFile(), leaveChroot(), localeTag(), lookupPackage(), main(), makeGPGSignature(), makeHDRSignature(), mapFreeIterator(), markReplacedFiles(), miFreeHeader(), mireClean(), mireFreeAll(), mireSkip(), mtreeVisitD(), mtreeVisitF(), needswhatTag(), nwlookupTag(), packageBinaries(), packageSources(), parseBuildInstallClean(), parseChangelog(), parseCVOG(), parseDescription(), parseExpressionBoolean(), parseExpressionString(), parseFiles(), parseForRegexLang(), parseForSimple(), parsePreamble(), parseRCPOT(), parseScript(), parseSimplePart(), parseSpec(), pgpArmorWrap(), pgpDigClean(), pgpDigFini(), pgpExtractPubkeyFingerprint(), pgpGrabPkts(), pgpMpiSet(), pgpPrtPkts(), pgpPrtUserID(), pgpPubkeyFingerprint(), pgpReadPkts(), pkgUnpackagedSubdirs(), pointRpmEVR(), popMacro(), populateInstallHeader(), PRCOsqlTag(), PRCOxmlTag(), PRCOyamlTag(), prepFetch(), prepFetchVerbose(), printFileInfo(), printNewSpecfile(), processBinaryFile(), processBinaryFiles(), processMetadataFile(), processPackageFiles(), providePackageNVR(), pushMacro(), queryArgCallback(), rdLead(), rdSignature(), readFile(), readLine(), readLineFromOFI(), Realpath(), rebuildCompatTables(), relocateFileList(), repoCloseMDFile(), repoDoFinalMove(), repoDoPkgMetadata(), repoDoRepoMetadata(), repoMkdir(), repoOpenMDFile(), repoReadHeader(), repoRfileDigest(), repoTestSetupDirs(), rfileXMLWrite(), rpmalAllFileSatisfiesDepend(), rpmalAllSatisfiesDepend(), rpmalDel(), rpmalFree(), rpmalFreeIndex(), rpmbcFree(), rpmbcSetRSA(), rpmCheckPassPhrase(), rpmcliAllArgCallback(), rpmcliConfigured(), rpmcliFini(), rpmcliImportPubkey(), rpmcliImportPubkeys(), rpmcliInit(), rpmcliInstall(), rpmcliInstallElementPath(), rpmcliInstallSuggests(), rpmcliQuery(), rpmdbAdd(), rpmdbClose(), rpmdbExportInfo(), rpmdbFindByFile(), rpmdbFindFpList(), rpmdbMireApply(), rpmdbMoveDatabase(), rpmdbNew(), rpmdbRebuild(), rpmdbRemove(), rpmdbRemoveDatabase(), rpmdbURIPath(), rpmdcParseZeroInstall(), rpmdcPrintFile(), rpmds_compare(), rpmdsCompare(), rpmdsCpuinfo(), rpmdsELF(), rpmdsFini(), rpmdsFreePRCO(), rpmdsGetconf(), rpmdsLdconfig(), rpmdsMerge(), rpmdsNew(), rpmdsNext(), rpmdsNVRMatchesDep(), rpmdsPipe(), rpmdsSysinfo(), rpmdsThis(), rpmecFree(), rpmEVRfree(), rpmExpandNumeric(), rpmfcClassify(), rpmfcExec(), rpmfcExpandRegexps(), rpmfcGenerateDepends(), rpmfcGenerateDependsHelper(), rpmfcGenerateScriptletDeps(), rpmfd_Fopen(), rpmfiBuildFClasses(), rpmfiBuildFContexts(), rpmfiBuildFDeps(), rpmfiBuildFNames(), rpmfiBuildFSContexts(), rpmfiBuildREContexts(), rpmfiFini(), rpmfiFreeRelocations(), rpmfiNew(), rpmfiOpendir(), rpmFreeFilesystems(), rpmFreeMacros(), rpmFreeRpmrc(), rpmfts_dealloc(), rpmfts_initialize(), rpmGenPath(), rpmGetFilesystemUsage(), rpmgiFini(), rpmgiGlobArgv(), rpmgiInitFilter(), rpmgiLoadReadHeader(), rpmgiNext(), rpmgiOpen(), rpmGlob(), rpmHeadersIdentical(), rpmheClean(), rpmheRealloc(), rpmInitMacros(), rpmInstallSource(), rpmInstallSourcePackage(), rpmioAllArgCallback(), rpmiobFini(), rpmiobSlurp(), rpmioFreePool(), rpmioInit(), rpmioPutPool(), rpmlibMarkers(), rpmmgFini(), rpmmiAddPattern(), rpmmiNext(), rpmnsArch(), rpmnsClean(), rpmnsProbeSignature(), rpmPlatform(), rpmps_ass_sub(), rpmpsFree(), rpmpsFreeIterator(), rpmpsmFini(), rpmpsmStage(), rpmpsPrint(), rpmQueryVerify(), rpmReadConfigFiles(), rpmReadHeader(), rpmReadHeaders(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmReadRC(), rpmRebuildTargetVars(), rpmReSign(), rpmRollback(), rpmSetMachine(), rpmShowProgress(), rpmShowRC(), rpmSingleHeaderFromFD(), rpmsxFini(), rpmsxParse(), rpmsxSort(), rpmteChain(), rpmteFreeTSI(), rpmTempFile(), rpmteNew(), rpmts_Check(), rpmts_HdrCheck(), rpmts_IDTXglob(), rpmtsAddInstallElement(), rpmtsAddObsoletes(), rpmtsAddUpgrades(), rpmtsAvailable(), rpmtsCallback(), rpmtsCheck(), rpmtsClean(), rpmtsEraseDebuginfo(), rpmtsFindPubkey(), rpmtsFini(), rpmtsInitDSI(), rpmtsOpenDB(), rpmtsOpenSDB(), rpmtsOrder(), rpmtsPRCO(), rpmtsRollback(), rpmtsRun(), rpmtsSetCurrDir(), rpmtsSetRootDir(), rpmtsSolve(), rpmVerifySignatures(), rpmVersionCompare(), rpmWriteHeader(), rpmWriteHeaders(), rpmxarFini(), rpmxarPull(), rpmxarSwapBuf(), runImmedTriggers(), runInstScript(), runScript(), runTriggers(), runTriggersLoop(), saveHardLink(), scpFree(), scpResetAv(), scpResetKeys(), showQueryPackage(), skipFiles(), spec_get_buildroot(), sql_cclose(), sql_cget(), sql_close(), sql_initDB(), sql_open(), sql_stat(), sqlescapeFormat(), stashSt(), statFormat(), str2uuid(), strsubFormat(), tag2uuidv1(), tag2uuidv5(), tagClean(), tagLoadATags(), tagStoreFree(), tagValidate(), tarHeaderReadName(), timeCheck(), triggercondsTag(), triggertypeTag(), tv2uuidv1(), unsatisfiedDepend(), urlFind(), urlFini(), urlFreeCache(), urlGetFile(), urlSplit(), uuidFormat(), valueFree(), verifyMD5(), verifySHA1(), whatneedsTag(), wnlookupTag(), writeLinkedFile(), writeRPM(), xmlFormat(), yamlFormat(), and zapRelation().

static FD_t c2f ( void *  cookie)
inlinestatic
const char* fdbg ( FD_t  fd)
int fdFgets ( FD_t  fd,
char *  buf,
size_t  len 
)

Definition at line 657 of file rpmio.c.

References _rpmio_debug, errno, fdFileno(), fdRead, fdReadable(), _FD_s::rd_timeoutsecs, and _FD_s::syserrno.

Referenced by checkResponse(), and ftpNLST().

static int fdFileno ( void *  cookie)
inlinestatic
static void fdFiniDigest ( FD_t  fd,
pgpHashAlgo  hashalgo,
void *  datap,
size_t *  lenp,
int  asAscii 
)
inlinestatic
static unsigned long long fdGetCpioPos ( FD_t  fd)
inlinestatic

Definition at line 516 of file rpmio_internal.h.

References _FD_s::fd_cpioPos, and FDSANE.

Referenced by arHeaderRead(), arHeaderWrite(), fsmSetup(), fsmStage(), iosmSetup(), and iosmStage().

static pgpDig fdGetDig ( FD_t  fd)
inlinestatic

Definition at line 254 of file rpmio_internal.h.

References _FD_s::dig, and FDSANE.

Referenced by readFile(), and rpmReadHeader().

static int fdGetFdno ( FD_t  fd)
inlinestatic

Definition at line 351 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)
inlinestatic

Definition at line 315 of file rpmio_internal.h.

References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps.

static void* fdGetFp ( FD_t  fd)
inlinestatic
static FDIO_t fdGetIo ( FD_t  fd)
inlinestatic

Definition at line 291 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 fdGetOFlags ( FD_t  fd)
inlinestatic

Definition at line 220 of file rpmio_internal.h.

References FDSANE, and _FD_s::oflags.

static mode_t fdGetOMode ( FD_t  fd)
inlinestatic

Definition at line 230 of file rpmio_internal.h.

References FDSANE, and _FD_s::omode.

static const char* fdGetOPath ( FD_t  fd)
inlinestatic
static int fdGetRdTimeoutSecs ( FD_t  fd)
inlinestatic

Definition at line 506 of file rpmio_internal.h.

References FDSANE, and _FD_s::rd_timeoutsecs.

static rpmxar fdGetXAR ( FD_t  fd)
inlinestatic

Definition at line 279 of file rpmio_internal.h.

References FDSANE, and _FD_s::xar.

Referenced by rdLead(), rdSignature(), readFile(), rpmReadHeader(), and xarRead().

static void fdInitDigest ( FD_t  fd,
pgpHashAlgo  hashalgo,
int  flags 
)
inlinestatic
static void fdPop ( FD_t  fd)
inlinestatic

Definition at line 396 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 
)
inlinestatic

Definition at line 381 of file rpmio_internal.h.

References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), _FD_s::fps, and _FD_s::nfps.

Referenced by Fdopen(), Fopen(), and urlFini().

static void fdSetContentLength ( FD_t  fd,
ssize_t  contentLength 
)
inlinestatic

Definition at line 371 of file rpmio_internal.h.

References _FD_s::bytesRemain, _FD_s::contentLength, and FDSANE.

static void fdSetCpioPos ( FD_t  fd,
long int  cpioPos 
)
inlinestatic

Definition at line 526 of file rpmio_internal.h.

References _FD_s::fd_cpioPos, and FDSANE.

Referenced by fsmSetup(), iosmSetup(), and iosmStage().

static void fdSetDig ( FD_t  fd,
pgpDig  dig 
)
inlinestatic

Definition at line 240 of file rpmio_internal.h.

References _FD_s::dig, FDSANE, pgpDigFree(), and pgpDigLink().

Referenced by rpmReadHeader(), rpmReadPackageFile(), and rpmVerifySignatures().

static void fdSetFdno ( FD_t  fd,
int  fdno 
)
inlinestatic

Definition at line 361 of file rpmio_internal.h.

References _FDSTACK_s::fdno, FDSANE, _FD_s::fps, and _FD_s::nfps.

Referenced by __fdClose(), __fdOpen(), fdDup(), fdPop(), fdPush(), ftpReq(), and tcpConnect().

static void fdSetFp ( FD_t  fd,
void *  fp 
)
inlinestatic

Definition at line 338 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 
)
inlinestatic

Definition at line 302 of file rpmio_internal.h.

References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.

Referenced by fdPop(), fdPush(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().

static void fdSetOpen ( FD_t  fd,
const char *  path,
int  flags,
mode_t  mode 
)
inlinestatic
static void fdSetSyserrno ( FD_t  fd,
int  syserrno,
const void *  errcookie 
)
inlinestatic

Definition at line 493 of file rpmio_internal.h.

References _FD_s::errcookie, FDSANE, and _FD_s::syserrno.

Referenced by ftpLogin(), ftpReq(), httpReq(), and tcpConnect().

static void fdSetXAR ( FD_t  fd,
rpmxar  xar 
)
inlinestatic

Definition at line 266 of file rpmio_internal.h.

References FDSANE, rpmxarLink(), and _FD_s::xar.

Referenced by rdLead().

static void fdstat_enter ( FD_t  fd,
int  opx 
)
inlinestatic
static void fdstat_exit ( FD_t  fd,
int  opx,
ssize_t  rc 
)
inlinestatic
static rpmop fdstat_op ( FD_t  fd,
fdOpX  opx 
)
inlinestatic
static void fdstat_print ( FD_t  fd,
const char *  msg,
FILE *  fp 
)
inlinestatic
static void fdStealDigest ( FD_t  fd,
pgpDig  dig 
)
inlinestatic
static void fdUpdateDigests ( FD_t  fd,
const unsigned char *  buf,
ssize_t  buflen 
)
inlinestatic

Update digest(s) attached to fd.

Definition at line 568 of file rpmio_internal.h.

References _FD_s::digests, FDSTAT_DIGEST, fdstat_enter(), fdstat_exit(), _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestUpdate().

Referenced by __fdRead(), and __fdWrite().

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

Definition at line 1639 of file rpmio.c.

References urlinfo_s::ctrl, fdFree(), ftpCommand(), urlConnect(), and urlPath().

Referenced by ftpChdir(), ftpMkdir(), ftpRename(), ftpRmdir(), and ftpUnlink().

FD_t ftpOpen ( const char *  url,
int  flags,
mode_t  mode,
urlinfo uret 
)
int ftpReq ( FD_t  data,
const char *  ftpCmd,
const char *  ftpArg 
)
rpmtime_t rpmswAdd ( rpmop  to,
rpmop  from 
)

Sum statistic counters.

Parameters
toresult statistics
fromoperation statistics
Returns
cumulative usecs for operation

Definition at line 280 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by compare(), fsmTeardown(), headerScrub(), iosmStage(), iosmTeardown(), mtreeVisitF(), psmWait(), repoFclose(), rpmdcFiniFile(), rpmpsmStage(), rpmReadPackageFile(), rpmtsCleanDig(), rpmtsCloseDB(), rpmtsCloseSDB(), and rpmtsPrintStats().

int rpmswEnter ( rpmop  op,
ssize_t  rc 
)
rpmtime_t rpmswExit ( rpmop  op,
ssize_t  rc 
)

Exit timed operation.

Parameters
opoperation statistics
rcper-operation data (e.g. bytes transferred)
Returns
cumulative usecs for operation

Definition at line 264 of file rpmsw.c.

References rpmop_s::begin, rpmop_s::bytes, rpmswDiff(), rpmswNow(), and rpmop_s::usecs.

Referenced by fdstat_exit(), headerCheck(), headerGet(), headerLoad(), headerNext(), headerUnload(), main(), repoRfileDigest(), rpmpsmStage(), rpmReadPackageFile(), rpmsqWaitUnregister(), rpmtsCheck(), rpmtsOrder(), rpmtsPrintStats(), rpmtsRun(), verifyDSA(), verifyMD5(), verifyRSA(), and verifySHA1().

void rpmswPrint ( const char *  name,
rpmop  op 
)

Print operation statistics.

Parameters
nameoperation name
opoperation statistics

Definition at line 304 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by main().

rpmtime_t rpmswSub ( rpmop  to,
rpmop  from 
)

Subtract statistic counters.

Parameters
toresult statistics
fromoperation statistics
Returns
cumulative usecs for operation

Definition at line 292 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by rpmReadPackageFile().

static rpmtime_t tvsub ( const struct timeval *  etv,
const struct timeval *  btv 
)
inlinestatic

Return difference of 2 timeval stamps in micro-seconds.

Parameters
*etvend timeval
*btvbegin timeval
Returns
difference in milli-seconds

Definition at line 111 of file rpmsw.c.

Referenced by rpmswDiff().

int ufdClose ( void *  cookie)
int xstrcasecmp ( const char *  s1,
const char *  s2 
)
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(), isPart(), Link(), matchTok(), pgpHashAlgoStringToNumber(), and Rename().

const char* xstrtolocale ( const char *  str)

Force encoding of string.

Definition at line 15 of file strtolocale.c.

References errno, xmalloc(), and xrealloc().

Referenced by i18nTag(), localeTag(), parseChangelog(), xmlFormat(), and yamlFormat().

Variable Documentation

size_t _rpmiob_chunk

Definition at line 11 of file rpmiob.c.

Referenced by rpmiobAppend(), and rpmiobNew().

int _rpmmg_debug

Definition at line 20 of file rpmmg.c.

Referenced by doUntar(), rpmmgBuffer(), rpmmgFile(), and rpmmgGetPool().