Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

rpmio/rpmio_internal.h File Reference

More...

#include <rpmio.h>
#include <rpmurl.h>
#include <beecrypt.api.h>
#include <rpmpgp.h>
#include <beecrypt.h>
#include <base64.h>
#include <dsa.h>
#include <endianness.h>
#include <md5.h>
#include <mp.h>
#include <rsa.h>
#include <rsapk.h>
#include <sha1.h>

Go to the source code of this file.

Data Structures

struct  _FD_s
struct  _FDDIGEST_s
struct  _FDSTACK_s
struct  OPSTAT_t
struct  pgpDig_s
struct  pgpDigParams_s

Defines

#define PGPDIG_SAVED_TIME   (1 << 0)
#define PGPDIG_SAVED_ID   (1 << 1)
#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)
#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
typedef _FDDIGEST_sFDDIGEST_t

Enumerations

enum  FDSTAT_e { FDSTAT_READ = 0, FDSTAT_WRITE = 1, FDSTAT_SEEK = 2, FDSTAT_CLOSE = 3 }

Functions

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)
FDIO_t fdGetIo (FD_t fd)
void fdSetIo (FD_t fd, FDIO_t io)
FILE * fdGetFILE (FD_t fd)
void * fdGetFp (FD_t fd)
void fdSetFp (FD_t fd, void *fp)
int fdGetFdno (FD_t fd)
void fdSetFdno (FD_t fd, int fdno)
void fdSetContentLength (FD_t fd, ssize_t contentLength)
void fdPush (FD_t fd, FDIO_t io, void *fp, int fdno)
void fdPop (FD_t fd)
void fdstat_enter (FD_t fd, int opx)
time_t tvsub (const struct timeval *etv, const struct timeval *btv)
void fdstat_exit (FD_t fd, int opx, ssize_t rc)
void fdstat_print (FD_t fd, const char *msg, FILE *fp)
void fdSetSyserrno (FD_t fd, int syserrno, const void *errcookie)
int fdGetRdTimeoutSecs (FD_t fd)
long int fdGetCpioPos (FD_t fd)
void fdSetCpioPos (FD_t fd, long int cpioPos)
FD_t c2f (void *cookie)
void fdInitDigest (FD_t fd, pgpHashAlgo hashalgo, int flags)
void fdUpdateDigests (FD_t fd, const unsigned char *buf, ssize_t buflen)
void fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void **datap, size_t *lenp, int asAscii)
int fdFileno (void *cookie)
int rpmioSlurp (const char *fn, const unsigned char **bp, ssize_t *blenp)
 Read an entire file into a buffer.


Variables

int _rpmio_debug
int _ftp_debug


Detailed Description

Definition in file rpmio_internal.h.


Define Documentation

#define DBG _f,
_m,
_x   
 

Value:

\
    if ((_rpmio_debug | ((_f) ? ((FD_t)(_f))->flags : 0)) & (_m)) fprintf _x \

Definition at line 192 of file rpmio_internal.h.

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

Definition at line 201 of file rpmio_internal.h.

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

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

Definition at line 202 of file rpmio_internal.h.

Referenced by XfdFree(), and XfdLink().

#define FDDIGEST_MAX   4
 

Definition at line 170 of file rpmio_internal.h.

Referenced by fdInitDigest().

#define FDMAGIC   0x04463138
 

Definition at line 150 of file rpmio_internal.h.

Referenced by XfdNew().

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

Definition at line 180 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 PGPDIG_SAVED_ID   (1 << 1)
 

Definition at line 48 of file rpmio_internal.h.

Referenced by pgpPrtSubType().

#define PGPDIG_SAVED_TIME   (1 << 0)
 

Definition at line 47 of file rpmio_internal.h.

Referenced by pgpPrtSubType().

#define RPMIO_DEBUG_IO   0x40000000
 

Definition at line 147 of file rpmio_internal.h.

#define RPMIO_DEBUG_REFS   0x20000000
 

Definition at line 148 of file rpmio_internal.h.


Function Documentation

int fdFgets FD_t    fd,
char *    buf,
size_t    len
 

Definition at line 567 of file rpmio.c.

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

Referenced by checkResponse(), and ftpNLST().

int fdFileno void *    cookie [inline, static]
 

Definition at line 590 of file rpmio_internal.h.

References c2f(), _FDSTACK_s::fdno, and _FD_s::fps.

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

Definition at line 1406 of file rpmio.c.

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

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

FD_t ftpOpen const char *    url,
int    flags,
mode_t    mode,
urlinfo   uret
 

Definition at line 1942 of file rpmio.c.

References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::data, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, ftpTimeoutSecs, _FD_s::rd_timeoutsecs, ufdio, _FD_s::url, URL_IS_FTP, urlConnect(), urlLink, and _FD_s::urlType.

Referenced by ftpNLST(), and ufdOpen().

int ftpReq FD_t    data,
const char *    ftpCmd,
const char *    ftpArg
 

Definition at line 1126 of file rpmio.c.

References alloca(), _FD_s::contentLength, urlinfo_s::ctrl, errno, fdClose, fdFileno, fdLink, fdSetFdno(), fdSetSyserrno(), fdWrite, ftpCheckResponse(), ftpCmd(), 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(), stpcpy(), _FD_s::url, and URLSANE.

Referenced by ftpNLST(), and ufdOpen().

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

Read an entire file into a buffer.

Parameters:
fn  file name to read
Return values:
bp  (malloc'd) buffer address
blenp  (malloc'd) buffer length
Returns:
0 on success

Referenced by pgpReadPkts(), and rpmPlatform().

int ufdClose void *    cookie
 

Definition at line 1821 of file rpmio.c.

References _FD_s::bytesRemain, c2f(), _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdClose, fdFree, fdGetFILE, fdReadable(), fdSetFp(), fdWrite, ftpAbort(), ftpFileDone(), _FD_s::ftpFileDoneNeeded, httpResp(), urlinfo_s::httpVersion, noLibio, _FD_s::persist, urlinfo_s::service, UFDONLY, _FD_s::url, URL_IS_FTP, urlFree, urlinfo_s::urltype, and _FD_s::wr_chunked.

Referenced by Fclose(), ftpNLST(), and ufdOpen().


Variable Documentation

int _ftp_debug
 

Definition at line 189 of file rpmio_internal.h.

Referenced by httpResp().

int _rpmio_debug
 

Definition at line 184 of file rpmio_internal.h.

Referenced by fdWritable().

struct timeval begin
 

Operation start time.

Definition at line 129 of file rpmio_internal.h.

Referenced by rpmCleanPath().

struct timeval create
 

Structure creation time.

Definition at line 128 of file rpmio_internal.h.

OPSTAT_t ops[4]
 

Cumulative statistics.

Definition at line 130 of file rpmio_internal.h.

Referenced by fdstat_print(), and singleOptionHelp().


Generated on Sun Oct 26 13:02:08 2003 for rpm by doxygen1.2.18