Files | |
file | argv.c |
file | argv.h |
file | getpass.c |
file | macro.c |
file | rpmcb.h |
file | rpmlog.c |
file | rpmlog.h |
Yet Another syslog(3) API clone. | |
file | rpmio.c |
file | rpmio.h |
file | rpmio_internal.h |
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 | strcasecmp.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... | |
typedef off_t | _libio_off_t |
Hide libio API lossage. | |
typedef off_t | _libio_pos_t |
Typedefs | |
typedef struct _FD_s * | FD_t |
typedef struct FDIO_s * | FDIO_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 |
Cumulative statistics for a descriptor. | |
typedef struct _FDDIGEST_s * | FDDIGEST_t |
typedef struct rpmmg_s * | rpmmg |
typedef unsigned long int | rpmtime_t |
typedef struct rpmsw_s * | rpmsw |
typedef struct rpmop_s * | rpmop |
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... | |
Functions | |
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. | |
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 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. | |
Variables | |
int | _rpmmg_debug |
typedef off_t _libio_off_t |
typedef off_t _libio_pos_t |
typedef struct _FDDIGEST_s * FDDIGEST_t |
typedef struct _FDSTACK_s FDSTACK_t |
typedef { ... } * FDSTAT_t |
Cumulative statistics for a descriptor.
enum fdOpX_e |
Identify per-desciptor I/O operation statistics.
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 29 of file rpmio_internal.h.
static FD_t c2f | ( | void * | cookie | ) | [inline, static] |
Definition at line 512 of file rpmio_internal.h.
References FDSANE.
Referenced by __fdClose(), __fdRead(), __fdWrite(), fdFileno(), fdSeek(), fdSeekNot(), ftpReq(), lzdClose(), lzdFdopen(), lzdRead(), lzdSeek(), lzdWrite(), ufdClose(), ufdRead(), ufdSeek(), ufdWrite(), and XfdLink().
int fdFgets | ( | FD_t | fd, | |
char * | buf, | |||
size_t | len | |||
) |
Definition at line 666 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 | ) | [inline, static] |
Definition at line 642 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 564 of file rpmio_internal.h.
References _FD_s::digests, FDSTAT_DIGEST, fdstat_enter(), fdstat_exit(), _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestFinal().
Referenced by dodigest(), extractRegular(), and writeRPM().
static unsigned long long fdGetCpioPos | ( | FD_t | fd | ) | [inline, static] |
Definition at line 492 of file rpmio_internal.h.
References _FD_s::fd_cpioPos, and FDSANE.
Referenced by fsmSetup(), and fsmStage().
Definition at line 233 of file rpmio_internal.h.
References _FD_s::dig, and FDSANE.
Referenced by readFile(), and rpmReadHeader().
static int fdGetFdno | ( | FD_t | fd | ) | [inline, static] |
Definition at line 327 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 291 of file rpmio_internal.h.
References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps.
static void* fdGetFp | ( | FD_t | fd | ) | [inline, static] |
Definition at line 303 of file rpmio_internal.h.
References FDSANE, _FDSTACK_s::fp, _FD_s::fps, and _FD_s::nfps.
Referenced by addFileToTagAux(), Fdopen(), Fflush(), Fopen(), processPackageFiles(), readLineFromOFI(), rpmfd_Fopen(), rpmReadPackageManifest(), and XurlFree().
Definition at line 267 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 | ) | [inline, static] |
static mode_t fdGetOMode | ( | FD_t | fd | ) | [inline, static] |
static const char* fdGetOPath | ( | FD_t | fd | ) | [inline, static] |
Definition at line 192 of file rpmio_internal.h.
References FDSANE, and _FD_s::opath.
Referenced by rdLead(), and rpmReadHeader().
static int fdGetRdTimeoutSecs | ( | FD_t | fd | ) | [inline, static] |
static rpmxar fdGetXAR | ( | FD_t | fd | ) | [inline, static] |
Definition at line 255 of file rpmio_internal.h.
References FDSANE, and _FD_s::xar.
Referenced by rdLead(), rdSignature(), readFile(), and rpmReadHeader().
static void fdInitDigest | ( | FD_t | fd, | |
pgpHashAlgo | hashalgo, | |||
int | flags | |||
) | [inline, static] |
Attach digest to fd.
Definition at line 526 of file rpmio_internal.h.
References _FD_s::digests, FDDIGEST_MAX, FDSTAT_DIGEST, fdstat_enter(), fdstat_exit(), _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, and rpmDigestInit().
Referenced by dodigest(), extractRegular(), rpmReadPackageFile(), rpmVerifySignatures(), and writeRPM().
static void fdPop | ( | FD_t | fd | ) | [inline, static] |
Definition at line 372 of file rpmio_internal.h.
References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), and _FD_s::nfps.
Referenced by Fclose(), lzdReadOpen(), and lzdWriteOpen().
Definition at line 357 of file rpmio_internal.h.
References FDSANE, fdSetFdno(), fdSetFp(), fdSetIo(), _FD_s::fps, and _FD_s::nfps.
Referenced by Fdopen(), Fopen(), lzdReadOpen(), lzdWriteOpen(), and XurlFree().
static void fdSetContentLength | ( | FD_t | fd, | |
ssize_t | contentLength | |||
) | [inline, static] |
Definition at line 347 of file rpmio_internal.h.
References _FD_s::bytesRemain, _FD_s::contentLength, and FDSANE.
static void fdSetCpioPos | ( | FD_t | fd, | |
long int | cpioPos | |||
) | [inline, static] |
Definition at line 502 of file rpmio_internal.h.
References _FD_s::fd_cpioPos, and FDSANE.
Referenced by fsmSetup(), and fsmStage().
Definition at line 222 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 | |||
) | [inline, static] |
Definition at line 337 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(), lzdFdopen(), and tcpConnect().
static void fdSetFp | ( | FD_t | fd, | |
void * | fp | |||
) | [inline, static] |
Definition at line 314 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().
Definition at line 278 of file rpmio_internal.h.
References FDSANE, _FD_s::fps, _FDSTACK_s::io, and _FD_s::nfps.
Referenced by fdPop(), fdPush(), ftpOpen(), ufdOpen(), and urlConnect().
static void fdSetOpen | ( | FD_t | fd, | |
const char * | path, | |||
int | flags, | |||
mode_t | mode | |||
) | [inline, static] |
Definition at line 176 of file rpmio_internal.h.
References FDSANE, _FD_s::oflags, _FD_s::omode, _FD_s::opath, and xstrdup().
Referenced by __fdOpen(), fdDup(), ftpOpen(), rpmtsCallback(), ufdOpen(), and urlConnect().
static void fdSetSyserrno | ( | FD_t | fd, | |
int | syserrno, | |||
const void * | errcookie | |||
) | [inline, static] |
Definition at line 469 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 | |||
) | [inline, static] |
Definition at line 245 of file rpmio_internal.h.
References FDSANE, and _FD_s::xar.
Referenced by rdLead().
static void fdstat_enter | ( | FD_t | fd, | |
int | opx | |||
) | [inline, static] |
Definition at line 399 of file rpmio_internal.h.
References fdstat_op(), rpmswEnter(), and _FD_s::stats.
Referenced by __fdClose(), __fdRead(), __fdWrite(), fdFiniDigest(), fdInitDigest(), fdSeek(), fdUpdateDigests(), lzdClose(), lzdRead(), and lzdWrite().
static void fdstat_exit | ( | FD_t | fd, | |
int | opx, | |||
ssize_t | rc | |||
) | [inline, static] |
Definition at line 411 of file rpmio_internal.h.
References _FD_s::bytesRemain, errno, fdstat_op(), FDSTAT_READ, FDSTAT_WRITE, rpmswExit(), _FD_s::stats, and _FD_s::syserrno.
Referenced by __fdClose(), __fdRead(), __fdWrite(), fdFiniDigest(), fdInitDigest(), fdSeek(), fdUpdateDigests(), lzdClose(), lzdRead(), and lzdWrite().
Definition at line 386 of file rpmio_internal.h.
References FDSTAT_MAX, and _FD_s::stats.
Referenced by fdstat_enter(), fdstat_exit(), fsmStage(), rpmpsmStage(), and rpmReadPackageFile().
static void fdstat_print | ( | FD_t | fd, | |
const char * | msg, | |||
FILE * | fp | |||
) | [inline, static] |
Definition at line 434 of file rpmio_internal.h.
References rpmop_s::bytes, rpmop_s::count, FDSTAT_CLOSE, FDSTAT_READ, FDSTAT_SEEK, FDSTAT_WRITE, _FD_s::stats, and rpmop_s::usecs.
Referenced by lzdClose().
Definition at line 601 of file rpmio_internal.h.
References _FD_s::digests, _FDDIGEST_s::hashalgo, _FDDIGEST_s::hashctx, _FD_s::ndigests, PGPHASHALGO_MD5, PGPHASHALGO_RIPEMD160, PGPHASHALGO_SHA1, PGPHASHALGO_SHA256, PGPHASHALGO_SHA384, and PGPHASHALGO_SHA512.
Referenced by readFile(), and rpmReadPackageFile().
static void fdUpdateDigests | ( | FD_t | fd, | |
const unsigned char * | buf, | |||
ssize_t | buflen | |||
) | [inline, static] |
Update digest(s) attached to fd.
Definition at line 544 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(), __fdWrite(), lzdRead(), and lzdWrite().
int ftpCmd | ( | const char * | cmd, | |
const char * | url, | |||
const char * | arg2 | |||
) |
Definition at line 1636 of file rpmio.c.
References urlinfo_s::ctrl, fdFree, ftpCommand(), urlConnect(), and urlPath().
Referenced by ftpChdir(), ftpMkdir(), ftpRename(), ftpRmdir(), and ftpUnlink().
Definition at line 2162 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::data, fdLink, fdNew, fdSetIo(), fdSetOpen(), _FD_s::ftpFileDoneNeeded, ftpTimeoutSecs, _FD_s::rd_timeoutsecs, ufdio, _FD_s::url, URL_IS_FTP, urlConnect(), urlLink, and _FD_s::urlType.
int ftpReq | ( | FD_t | data, | |
const char * | ftpCmd, | |||
const char * | ftpArg | |||
) |
Definition at line 1251 of file rpmio.c.
References _ftp_debug, alloca(), c2f(), _FD_s::contentLength, urlinfo_s::ctrl, errno, fdClose, fdFileno, fdLink, fdSetFdno(), fdSetSyserrno(), fdWrite, ftpCheckResponse(), 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, NI_MAXHOST, stpcpy(), _FD_s::url, and URLSANE.
Sum statistic counters.
to | result statistics | |
from | operation statistics |
Definition at line 275 of file rpmsw.c.
References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.
Referenced by fsmStage(), headerFree(), psmWait(), rpmpsmStage(), rpmReadPackageFile(), rpmtsCleanDig(), rpmtsCloseDB(), rpmtsCloseSDB(), and rpmtsPrintStats().
int rpmswEnter | ( | rpmop | op, | |
ssize_t | rc | |||
) |
Enter timed operation.
op | operation statistics | |
rc | -1 clears usec counter |
Definition at line 243 of file rpmsw.c.
References rpmop_s::begin, rpmop_s::bytes, rpmop_s::count, rpmswNow(), and rpmop_s::usecs.
Referenced by fdstat_enter(), headerCheck(), headerGet(), headerLoad(), headerNext(), headerUnload(), rpmpsmStage(), rpmReadPackageFile(), rpmsqWaitUnregister(), rpmtsCheck(), rpmtsCreate(), rpmtsOrder(), rpmtsRun(), verifyDSASignature(), verifyMD5Signature(), verifyRSASignature(), and verifySHA1Signature().
Exit timed operation.
op | operation statistics | |
rc | per-operation data (e.g. bytes transferred) |
Definition at line 259 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(), rpmpsmStage(), rpmReadPackageFile(), rpmsqWaitUnregister(), rpmtsCheck(), rpmtsOrder(), rpmtsPrintStats(), rpmtsRun(), verifyDSASignature(), verifyMD5Signature(), verifyRSASignature(), and verifySHA1Signature().
Subtract statistic counters.
to | result statistics | |
from | operation statistics |
Definition at line 287 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 | |||
) | [inline, static] |
Return difference of 2 timeval stamps in micro-seconds.
*etv | end timeval | |
*btv | begin timeval |
Definition at line 107 of file rpmsw.c.
References rpmop_s::usecs.
Referenced by rpmswDiff().
int ufdClose | ( | void * | cookie | ) |
Definition at line 2050 of file rpmio.c.
References _FD_s::bytesRemain, c2f(), _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdClose, fdFree, fdGetFILE, fdReadable(), fdSetFp(), ftpAbort(), ftpFileDone(), _FD_s::ftpFileDoneNeeded, noLibio, _FD_s::persist, urlinfo_s::scheme, UFDONLY, _FD_s::url, URL_IS_FTP, urlFree, and urlinfo_s::urltype.
int xstrcasecmp | ( | const char * | s1, | |
const char * | s2 | |||
) |
Locale insensitive strcasecmp(3).
Definition at line 9 of file strcasecmp.c.
References xtolower().
Referenced by _tagValue(), argvStrcasecmp(), findTag(), hdr_subscript(), headerGet(), initSourceHeader(), isMemberInEntry(), machAddEquiv(), myTagValue(), parseYesNo(), rpmcliAllArgCallback(), and rpmRebuildTargetVars().
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.
Referenced by i18nTag(), localeTag(), parseChangelog(), xmlFormat(), and yamlFormat().
int _rpmmg_debug |
struct { ... } ops[FDSTAT_MAX] [read, inherited] |
Cumulative statistics.
Definition at line 42 of file rpmio_internal.h.