rpmio_internal.h File Reference
RPMIO.
`#include <rpmiotypes.h>`
`#include <rpmlog.h>`
`#include <rpmio.h>`
`#include <rpmurl.h>`
`#include <rpmpgp.h>`
`#include <rpmxar.h>`
Include dependency graph for rpmio_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | _FDSTACK_s
struct | _FDDIGEST_s
struct | _FD_s
| The FD_t File Handle data structure. More...

## Macros

#define | _RPMPGP_INTERNAL
#define | RPMIO_DEBUG_IO 0x40000000
#define | RPMIO_DEBUG_REFS 0x20000000
#define | FDMAGIC 0x04463138
#define | FDDIGEST_MAX 32
#define | FDSANE(fd) assert(fd != NULL && fd->magic == FDMAGIC)
#define | DBG(_f, _m, _x)
#define | DBGIO(_f, _x) DBG((_f), RPMIO_DEBUG_IO, _x)
#define | DBGREFS(_f, _x) DBG((_f), RPMIO_DEBUG_REFS, _x)

## Typedefs

typedef struct _FDSTACK_s | FDSTACK_t
typedef enum fdOpX_e | fdOpX
| Identify per-desciptor I/O operation statistics. More...
struct {
struct rpmop_s ops [FDSTAT_MAX]
} | FDSTAT_t
typedef struct _FDDIGEST_s * | FDDIGEST_t

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

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. More...
static void | fdUpdateDigests (FD_t fd, const unsigned char *buf, ssize_t buflen)
| Update digest(s) attached to fd. More...
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)

## Variables

int | _rpmio_debug
int | _av_debug
int | _ftp_debug
int | _dav_debug

## Macro Definition Documentation

#define _RPMPGP_INTERNAL

Definition at line 13 of file rpmio_internal.h.

#define DBG | ( |  | _f,
|  |  | _m,
|  |  | _x
| ) |  |

Value:
/*@-modfilesys@*/ \
if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x \
/*@=modfilesys@*/

Definition at line 138 of file rpmio_internal.h.

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

Definition at line 147 of file rpmio_internal.h.

Referenced by __fdClose(), __fdOpen(), __fdRead(), __fdWrite(), Fclose(), fdDup(), Fdopen(), fdSeek(), Ferror(), Fileno(), Fread(), Fseek(), ftpAbort(), Fwrite(), ufdCopy(), and ufdOpen().

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

Definition at line 148 of file rpmio_internal.h.

#define FDDIGEST_MAX 32

Definition at line 99 of file rpmio_internal.h.

Referenced by fdInitDigest().

#define FDMAGIC 0x04463138

Definition at line 66 of file rpmio_internal.h.

Referenced by XfdNew().

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

Definition at line 116 of file rpmio_internal.h.

Referenced by c2f(), Fclose(), fdGetCpioPos(), fdGetDig(), fdGetFdno(), fdGetFILE(), fdGetFp(), fdGetIo(), fdGetOFlags(), fdGetOMode(), fdGetOPath(), fdGetRdTimeoutSecs(), fdGetXAR(), Fdopen(), fdPop(), fdPush(), fdSeekNot(), fdSetContentLength(), fdSetCpioPos(), fdSetDig(), fdSetFdno(), fdSetFp(), fdSetIo(), fdSetOpen(), fdSetSyserrno(), fdSetXAR(), Fread(), Fseek(), Fstrerror(), Fwrite(), ufdGetFile(), and ufdGetUrlinfo().

#define RPMIO_DEBUG_IO 0x40000000

Definition at line 63 of file rpmio_internal.h.

#define RPMIO_DEBUG_REFS 0x20000000

Definition at line 64 of file rpmio_internal.h.

## Variable Documentation

int _av_debug

Definition at line 168 of file rpmio.c.

int _dav_debug

Definition at line 178 of file rpmio.c.

int _ftp_debug

Definition at line 173 of file rpmio.c.

int _rpmio_debug

Definition at line 163 of file rpmio.c.

struct rpmop_s ops[FDSTAT_MAX]

Cumulative statistics.

Definition at line 47 of file rpmio_internal.h.