rpmio/rpmio_internal.h File Reference

#include <rpmio.h>
#include <rpmurl.h>
#include <rpmpgp.h>

Go to the source code of this file.

Data Structures

struct  _FDSTACK_s
struct  OPSTAT_t
 Cumulative statistics for an I/O operation. More...
struct  _FDDIGEST_s
struct  _FD_s
 The FD_t File Handle data structure. More...

Defines

#define RPMIO_DEBUG_IO   0x40000000
#define RPMIO_DEBUG_REFS   0x20000000
#define FDMAGIC   0x04463138
#define FDDIGEST_MAX   4
#define FDSANE(fd)   assert(fd && fd->magic == FDMAGIC)
#define DBG(_f, _m, _x)   if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x
#define DBGIO(_f, _x)   DBG((_f), RPMIO_DEBUG_IO, _x)
#define DBGREFS(_f, _x)   DBG((_f), RPMIO_DEBUG_REFS, _x)

Typedefs

typedef _FDSTACK_s FDSTACK_t
struct {
   timeval   create
   timeval   begin
   OPSTAT_t   ops [4]
FDSTAT_t
 Cumulative statistics for a descriptor.
typedef enum rpmDigestFlags_e rpmDigestFlags
 Bit(s) to control digest operation.
typedef _FDDIGEST_sFDDIGEST_t

Enumerations

enum  FDSTAT_e { FDSTAT_READ = 0, FDSTAT_WRITE = 1, FDSTAT_SEEK = 2, FDSTAT_CLOSE = 3 }
 Identify per-desciptor I/O operation statistics. More...
enum  rpmDigestFlags_e { RPMDIGEST_NONE = 0 }
 Bit(s) to control digest operation. More...

Functions

DIGEST_CTX rpmDigestDup (DIGEST_CTX octx)
 Duplicate a digest context.
DIGEST_CTX rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags)
 Initialize digest.
int rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len)
 Update context with next plain text buffer.
int rpmDigestFinal (DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii)
 Return digest and destroy context.
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)
 Attach digest to fd.
static void fdUpdateDigests (FD_t fd, const byte *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 int fdFileno (void *cookie)
int rpmioSlurp (const char *fn, const byte **bp, ssize_t *blenp)

Variables

int _rpmio_debug


Detailed Description

Definition in file rpmio_internal.h.


Define Documentation

#define DBG _f,
_m,
_x   )     if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x
 

Definition at line 152 of file rpmio_internal.h.

#define DBGIO _f,
_x   )     DBG((_f), RPMIO_DEBUG_IO, _x)
 

Definition at line 155 of file rpmio_internal.h.

Referenced by Fclose(), fdClose(), fdDup(), Fdopen(), fdOpen(), fdRead(), fdSeek(), fdSize(), fdWrite(), Ferror(), Fileno(), Fread(), Fseek(), ftpAbort(), Fwrite(), ufdCopy(), and ufdOpen().

#define DBGREFS _f,
_x   )     DBG((_f), RPMIO_DEBUG_REFS, _x)
 

Definition at line 156 of file rpmio_internal.h.

Referenced by XfdFree(), and XfdLink().

#define FDDIGEST_MAX   4
 

Definition at line 135 of file rpmio_internal.h.

Referenced by fdInitDigest().

#define FDMAGIC   0x04463138
 

Definition at line 117 of file rpmio_internal.h.

Referenced by XfdNew().

#define FDSANE fd   )     assert(fd && fd->magic == FDMAGIC)
 

Definition at line 145 of file rpmio_internal.h.

Referenced by c2f(), Fclose(), fdGetCpioPos(), fdGetFdno(), fdGetFILE(), fdGetFp(), fdGetIo(), fdGetRdTimeoutSecs(), Fdopen(), fdPop(), fdPush(), fdSeekNot(), fdSetContentLength(), fdSetCpioPos(), fdSetFdno(), fdSetFp(), fdSetIo(), fdSetSyserrno(), fdSize(), Fread(), Fseek(), Fstrerror(), Fwrite(), ufdGetFile(), ufdGetUrlinfo(), and XfdFree().

#define RPMIO_DEBUG_IO   0x40000000
 

Definition at line 114 of file rpmio_internal.h.

#define RPMIO_DEBUG_REFS   0x20000000
 

Definition at line 115 of file rpmio_internal.h.


Function Documentation

int rpmioSlurp const char *  fn,
const byte **  bp,
ssize_t *  blenp
 

Definition at line 3117 of file rpmio.c.

References Fclose(), fdSize(), Ferror(), Fopen(), Fread(), xmalloc(), and xrealloc().

Referenced by pgpReadPkts().


Variable Documentation

int _rpmio_debug
 

Definition at line 123 of file rpmio.c.

struct timeval begin
 

Operation start time.

Definition at line 45 of file rpmio_internal.h.

Referenced by rpmCleanPath().

struct timeval create
 

Structure creation time.

Definition at line 44 of file rpmio_internal.h.

OPSTAT_t ops[4]
 

Cumulative statistics.

Definition at line 46 of file rpmio_internal.h.

Referenced by fdstat_print(), and singleOptionHelp().


Generated on Wed Mar 8 18:19:45 2006 for rpm by  doxygen 1.4.6