RPMIO.


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_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
 Cumulative statistics for a descriptor.
typedef struct _FDDIGEST_sFDDIGEST_t
typedef struct rpmmg_s * rpmmg
typedef unsigned long int rpmtime_t
typedef struct rpmsw_srpmsw
typedef struct rpmop_srpmop

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

Cumulative statistics for a descriptor.

typedef struct rpmmg_s* rpmmg

Definition at line 16 of file rpmmg.h.

typedef struct rpmop_s* rpmop

Definition at line 18 of file rpmsw.h.

typedef struct rpmsw_s* rpmsw

Definition at line 14 of file rpmsw.h.

typedef unsigned long int rpmtime_t

Definition at line 10 of file rpmsw.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 29 of file rpmio_internal.h.


Function Documentation

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

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]

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().

static pgpDig fdGetDig ( FD_t  fd  )  [inline, static]

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]

static FDIO_t fdGetIo ( FD_t  fd  )  [inline, static]

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]

Definition at line 202 of file rpmio_internal.h.

References FDSANE, and _FD_s::oflags.

static mode_t fdGetOMode ( FD_t  fd  )  [inline, static]

Definition at line 212 of file rpmio_internal.h.

References FDSANE, and _FD_s::omode.

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]

Definition at line 482 of file rpmio_internal.h.

References FDSANE, and _FD_s::rd_timeoutsecs.

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]

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().

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

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().

static void fdSetDig ( FD_t  fd,
pgpDig  dig 
) [inline, static]

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]

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().

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

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]

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]

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

static rpmop fdstat_op ( FD_t  fd,
fdOpX  opx 
) [inline, static]

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]

static void fdStealDigest ( FD_t  fd,
pgpDig  dig 
) [inline, static]

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().

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:
to result statistics
from operation statistics
Returns:
cumulative usecs for operation

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 
)

rpmtime_t rpmswExit ( rpmop  op,
ssize_t  rc 
)

Exit timed operation.

Parameters:
op operation statistics
rc per-operation data (e.g. bytes transferred)
Returns:
cumulative usecs for operation

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().

rpmtime_t rpmswSub ( rpmop  to,
rpmop  from 
)

Subtract statistic counters.

Parameters:
to result statistics
from operation statistics
Returns:
cumulative usecs for operation

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.

Parameters:
*etv end timeval
*btv begin timeval
Returns:
difference in milli-seconds

Definition at line 107 of file rpmsw.c.

References rpmop_s::usecs.

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.

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


Variable Documentation

Definition at line 19 of file rpmmg.c.

struct { ... } ops[FDSTAT_MAX] [read, inherited]

Cumulative statistics.

Definition at line 42 of file rpmio_internal.h.


Generated on Wed Dec 10 00:34:33 2008 for rpm by  doxygen 1.5.6