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

RPMIO.


Files

file  falloc.c
 The entire file space is thus divided into blocks with a "struct fablock" at the header of each.

file  macro.c
file  rpmerr.h
file  rpmio.c
file  rpmio.h
file  rpmio_internal.h
file  rpmlog.c
file  rpmmacro.h
file  rpmmalloc.c
file  rpmmessages.h
file  rpmpgp.c
 Routines to handle RFC-2440 detached signatures.

file  rpmpgp.h
 OpenPGP constants and structures from RFC-2440.

file  rpmrpc.c
file  rpmurl.h
file  strcasecmp.c
file  ugid.c
file  ugid.h
file  url.c

Data Structures

struct  _FD_s
struct  _FDDIGEST_s
struct  _FDSTACK_s
struct  FDIO_s
struct  OPSTAT_t

[NOHEADER]

typedef off_t _libio_off_t
typedef off_t _libio_pos_t

RPMIO Vectors.

typedef ssize_t (* fdio_read_function_t )(void *cookie, char *buf, size_t nbytes)
typedef ssize_t (* fdio_write_function_t )(void *cookie, const char *buf, size_t nbytes)
typedef int (* fdio_seek_function_t )(void *cookie, _libio_pos_t pos, int whence)
typedef int (* fdio_close_function_t )(void *cookie)
typedef FD_t (* fdio_ref_function_t )(void *cookie, const char *msg, const char *file, unsigned line)
typedef FD_t (* fdio_deref_function_t )(FD_t fd, const char *msg, const char *file, unsigned line)
typedef FD_t (* fdio_new_function_t )(const char *msg, const char *file, unsigned line)
typedef int (* fdio_fileno_function_t )(void *cookie)
typedef FD_t (* fdio_open_function_t )(const char *path, int flags, mode_t mode)
typedef FD_t (* fdio_fopen_function_t )(const char *path, const char *fmode)
typedef void* (* fdio_ffileno_function_t )(FD_t fd)
typedef int (* fdio_fflush_function_t )(FD_t fd)

RPMIO Interface.

const char* Fstrerror (FD_t fd)
 strerror(3) clone. More...

size_t Fread (void *buf, size_t size, size_t nmemb, FD_t fd)
 fread(3) clone. More...

size_t Fwrite (const void *buf, size_t size, size_t nmemb, FD_t fd)
 fwrite(3) clone. More...

int Fseek (FD_t fd, _libio_off_t offset, int whence)
 fseek(3) clone. More...

int Fclose (FD_t fd)
 fclose(3) clone. More...

FD_t Fdopen (FD_t ofd, const char *fmode)
FD_t Fopen (const char *path, const char *fmode)
 fopen(3) clone. More...

int Fflush (FD_t fd)
 fflush(3) clone. More...

int Ferror (FD_t fd)
 ferror(3) clone. More...

int Fileno (FD_t fd)
 fileno(3) clone. More...

int Fcntl (FD_t fd, int op, void *lip)
 fcntl(2) clone. More...


RPMIO Utilities.

off_t fdSize (FD_t fd)
FD_t fdDup (int fdno)
ssize_t fdRead (void *cookie, char *buf, size_t count)
ssize_t fdWrite (void *cookie, const char *buf, size_t count)
int fdClose (void *cookie)
FD_t fdOpen (const char *path, int flags, mode_t mode)
int fdWritable (FD_t fd, int secs)
int fdReadable (FD_t fd, int secs)
const char* const ftpStrerror (int errorNumber)
const char* urlStrerror (const char *url)
int ufdCopy (FD_t sfd, FD_t tfd)
int ufdGetFile (FD_t sfd, FD_t tfd)
void* ufdGetUrlinfo (FD_t fd)
FDIO_t fdio = &fdio_s
FDIO_t ufdio = &ufdio_s
FDIO_t fpio = &fpio_s

Typedefs

typedef struct _FD_sFD_t
typedef struct FDIO_sFDIO_t
typedef struct _FDSTACK_s  FDSTACK_t
struct {
   struct timeval   create
   struct timeval   begin
   OPSTAT_t   ops [4]
FDSTAT_t
typedef enum rpmDigestFlags_e  rpmDigestFlags
typedef struct _FDDIGEST_s *  FDDIGEST_t

Enumerations

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

Functions

int xstrcasecmp (const char *s1, const char *s2)
int xstrncasecmp (const char *s1, const char *s2, size_t n)
DIGEST_CTX rpmDigestDup (DIGEST_CTX octx)
DIGEST_CTX rpmDigestInit (pgpHashAlgo hashalgo, rpmDigestFlags flags)
int rpmDigestUpdate (DIGEST_CTX ctx, const void *data, size_t len)
int rpmDigestFinal (DIGEST_CTX ctx, void **datap, size_t *lenp, int asAscii)
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)
const 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 byte *buf, ssize_t buflen)
void fdFiniDigest (FD_t fd, pgpHashAlgo hashalgo, void **datap, size_t *lenp, int asAscii)
int fdFileno (void *cookie)

Typedef Documentation

typedef struct _FDDIGEST_s * FDDIGEST_t
 

typedef struct FDIO_s * FDIO_t
 

Definition at line 50 of file rpmio.h.

typedef struct _FDSTACK_s FDSTACK_t
 

typedef { ... } * FDSTAT_t
 

Cumulative statistics for a descriptor.

typedef struct _FD_s * FD_t
 

Definition at line 46 of file rpmio.h.

typedef off_t _libio_off_t
 

Definition at line 39 of file rpmio.h.

typedef off_t _libio_pos_t
 

Definition at line 40 of file rpmio.h.

typedef int(* fdio_close_function_t)(void *cookie)
 

Definition at line 81 of file rpmio.h.

typedef FD_t(* fdio_deref_function_t)(FD_t fd, const char *msg, const char *file, unsigned line)
 

Definition at line 95 of file rpmio.h.

typedef void *(* fdio_ffileno_function_t)(FD_t fd)
 

Definition at line 130 of file rpmio.h.

typedef int(* fdio_fflush_function_t)(FD_t fd)
 

Definition at line 136 of file rpmio.h.

typedef int(* fdio_fileno_function_t)(void *cookie)
 

Definition at line 111 of file rpmio.h.

typedef FD_t(* fdio_fopen_function_t)(const char *path, const char *fmode)
 

Definition at line 124 of file rpmio.h.

typedef FD_t(* fdio_new_function_t)(const char *msg, const char *file, unsigned line)
 

Definition at line 103 of file rpmio.h.

typedef FD_t(* fdio_open_function_t)(const char *path, int flags, mode_t mode)
 

Definition at line 118 of file rpmio.h.

typedef ssize_t(* fdio_read_function_t)(void *cookie, char *buf, size_t nbytes)
 

Definition at line 63 of file rpmio.h.

typedef FD_t(* fdio_ref_function_t)(void *cookie, const char *msg, const char *file, unsigned line)
 

Definition at line 88 of file rpmio.h.

typedef int(* fdio_seek_function_t)(void *cookie, _libio_pos_t pos, int whence)
 

Definition at line 75 of file rpmio.h.

typedef ssize_t(* fdio_write_function_t)(void *cookie, const char *buf, size_t nbytes)
 

Definition at line 69 of file rpmio.h.

typedef enum rpmDigestFlags_e rpmDigestFlags
 

Bit(s) to control digest operation.


Enumeration Type Documentation

enum FDSTAT_e
 

Identify per-desciptor I/O operation statistics.

Enumeration values:
FDSTAT_READ   Read statistics index.
FDSTAT_WRITE   Write statistics index.
FDSTAT_SEEK   Seek statistics index.
FDSTAT_CLOSE   Close statistics index

Definition at line 33 of file rpmio_internal.h.

enum rpmDigestFlags_e
 

Bit(s) to control digest operation.

Enumeration values:
RPMDIGEST_NONE  

Definition at line 52 of file rpmio_internal.h.


Function Documentation

int Fclose ( FD_t fd )
 

fclose(3) clone.

Definition at line 2685 of file rpmio.c.

int Fcntl ( FD_t fd,
int op,
void * lip )
 

fcntl(2) clone.

Definition at line 3094 of file rpmio.c.

FD_t Fdopen ( FD_t ofd,
const char * fmode )
 

Definition at line 2836 of file rpmio.c.

int Ferror ( FD_t fd )
 

ferror(3) clone.

Definition at line 3045 of file rpmio.c.

int Fflush ( FD_t fd )
 

fflush(3) clone.

Definition at line 3025 of file rpmio.c.

int Fileno ( FD_t fd )
 

fileno(3) clone.

Definition at line 3080 of file rpmio.c.

FD_t Fopen ( const char * path,
const char * fmode )
 

fopen(3) clone.

Definition at line 2948 of file rpmio.c.

size_t Fread ( void * buf,
size_t size,
size_t nmemb,
FD_t fd )
 

fread(3) clone.

Definition at line 2599 of file rpmio.c.

int Fseek ( FD_t fd,
_libio_off_t offset,
int whence )
 

fseek(3) clone.

Definition at line 2651 of file rpmio.c.

const char* Fstrerror ( FD_t fd )
 

strerror(3) clone.

Definition at line 2588 of file rpmio.c.

Referenced by IDTXglob(), copyFile(), cpio_copy(), doFopen(), doReadRC(), isCompressed(), isSpecFile(), main(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLead(), readLine(), readRPM(), rpmInstall(), rpmInstallSource(), rpmQueryVerify(), rpmReSign(), rpmReadRC(), urlGetFile(), and writeRPM().

size_t Fwrite ( const void * buf,
size_t size,
size_t nmemb,
FD_t fd )
 

fwrite(3) clone.

Definition at line 2626 of file rpmio.c.

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

Definition at line 441 of file rpmio_internal.h.

Referenced by XfdLink(), fdClose(), fdFileno(), fdRead(), fdSeek(), fdSeekNot(), fdWrite(), ufdClose(), ufdRead(), ufdSeek(), and ufdWrite().

int fdClose ( void * cookie )
 

Definition at line 456 of file rpmio.c.

FD_t fdDup ( int fdno )
 

Definition at line 229 of file rpmio.c.

int fdFgets ( FD_t fd,
char * buf,
size_t len )
 

Definition at line 591 of file rpmio.c.

Referenced by DBGREFS(), checkResponse(), and ftpNLST().

int fdFileno ( void * cookie ) [inline, static]
 

Definition at line 521 of file rpmio_internal.h.

void fdFiniDigest ( FD_t fd,
pgpHashAlgo hashalgo,
void ** datap,
size_t * lenp,
int asAscii ) [inline, static]
 

Definition at line 487 of file rpmio_internal.h.

Referenced by domd5(), expandRegular(), and writeRPM().

long int fdGetCpioPos ( FD_t fd ) [inline, static]
 

Definition at line 421 of file rpmio_internal.h.

Referenced by fsmSetup(), fsmStage(), and writeFile().

FILE * fdGetFILE ( FD_t fd ) [inline, static]
 

Definition at line 220 of file rpmio_internal.h.

int fdGetFdno ( FD_t fd ) [inline, static]
 

Definition at line 256 of file rpmio_internal.h.

Referenced by Fclose(), Fopen(), and ufdWrite().

void * fdGetFp ( FD_t fd ) [inline, static]
 

Definition at line 232 of file rpmio_internal.h.

Referenced by Fdopen(), Fflush(), Fopen(), XurlFree(), addFileToTagAux(), doFopen(), doScript(), processPackageFiles(), readLine(), and rpmReadPackageManifest().

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

Definition at line 196 of file rpmio_internal.h.

Referenced by Fflush(), Fread(), Fseek(), Fwrite(), getFdErrstr(), ufdRead(), and ufdWrite().

int fdGetRdTimeoutSecs ( FD_t fd ) [inline, static]
 

Definition at line 411 of file rpmio_internal.h.

void fdInitDigest ( FD_t fd,
pgpHashAlgo hashalgo,
int flags ) [inline, static]
 

Attach digest to fd.

Definition at line 455 of file rpmio_internal.h.

Referenced by domd5(), expandRegular(), and writeRPM().

FD_t fdOpen ( const char * path,
int flags,
mode_t mode )
 

Definition at line 482 of file rpmio.c.

void fdPop ( FD_t fd ) [inline, static]
 

Definition at line 300 of file rpmio_internal.h.

Referenced by Fclose().

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

Definition at line 286 of file rpmio_internal.h.

Referenced by Fdopen(), Fopen(), and XurlFree().

ssize_t fdRead ( void * cookie,
char * buf,
size_t count )
 

Definition at line 373 of file rpmio.c.

int fdReadable ( FD_t fd,
int secs )
 

Definition at line 553 of file rpmio.c.

void fdSetContentLength ( FD_t fd,
ssize_t contentLength ) [inline, static]
 

Definition at line 276 of file rpmio_internal.h.

Referenced by db1cput().

void fdSetCpioPos ( FD_t fd,
long int cpioPos ) [inline, static]
 

Definition at line 431 of file rpmio_internal.h.

Referenced by fsmSetup(), and fsmStage().

void fdSetFdno ( FD_t fd,
int fdno ) [inline, static]
 

Definition at line 266 of file rpmio_internal.h.

Referenced by fdClose(), fdDup(), fdOpen(), fdPop(), fdPush(), ftpReq(), and tcpConnect().

void fdSetFp ( FD_t fd,
void * fp ) [inline, static]
 

Definition at line 243 of file rpmio_internal.h.

Referenced by Fclose(), Fdopen(), fdPop(), fdPush(), and ufdClose().

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

Definition at line 207 of file rpmio_internal.h.

Referenced by fadOpen(), fdPop(), fdPush(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().

void fdSetSyserrno ( FD_t fd,
int syserrno,
const void * errcookie ) [inline, static]
 

Definition at line 398 of file rpmio_internal.h.

Referenced by ftpLogin(), ftpReq(), httpReq(), and tcpConnect().

off_t fdSize ( FD_t fd )
 

Definition at line 204 of file rpmio.c.

Referenced by doReadRC(), readIcon(), and rpmioSlurp().

void fdUpdateDigests ( FD_t fd,
const byte * buf,
ssize_t buflen ) [inline, static]
 

Update digest(s) attached to fd.

Definition at line 470 of file rpmio_internal.h.

Referenced by fdRead(), and fdWrite().

int fdWritable ( FD_t fd,
int secs )
 

Definition at line 513 of file rpmio.c.

ssize_t fdWrite ( void * cookie,
const char * buf,
size_t count )
 

Definition at line 395 of file rpmio.c.

void fdstat_enter ( FD_t fd,
int opx ) [inline, static]
 

Definition at line 313 of file rpmio_internal.h.

Referenced by fdClose(), fdRead(), fdSeek(), and fdWrite().

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

Definition at line 339 of file rpmio_internal.h.

Referenced by fdClose(), fdRead(), fdSeek(), and fdWrite().

void fdstat_print ( FD_t fd,
const char * msg,
FILE * fp ) [inline, static]
 

Definition at line 365 of file rpmio_internal.h.

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

Definition at line 1401 of file rpmio.c.

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

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

Definition at line 1932 of file rpmio.c.

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

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

Definition at line 1129 of file rpmio.c.

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

const char *const ftpStrerror ( int errorNumber )
 

Definition at line 657 of file rpmio.c.

DIGEST_CTX rpmDigestDup ( DIGEST_CTX octx )
 

Duplicate a digest context.

Parameters:
octx   existing digest context
Returns:
duplicated digest context

Definition at line 39 of file digest.c.

int rpmDigestFinal ( DIGEST_CTX ctx,
void ** datap,
size_t * lenp,
int asAscii )
 

Return digest and destroy context. Final wrapup - pad to 64-byte boundary with the bit pattern 1 0* (64-bit count of bits processed, MSB-first)

Parameters:
ctx   digest context
Return values:
datap   address of returned digest
lenp   address of digest length
Parameters:
asAscii   return digest as ascii string?
Returns:
0 on success

Definition at line 119 of file digest.c.

Referenced by XfdFree(), fdFiniDigest(), pgpFreeDig(), and rpmVerifyDigest().

DIGEST_CTX rpmDigestInit ( pgpHashAlgo hashalgo,
rpmDigestFlags flags )
 

Initialize digest. Set bit count to 0 and buffer to mysterious initialization constants.

Parameters:
flags   bit(s) to control digest operation
Returns:
digest context

Definition at line 47 of file digest.c.

Referenced by fdInitDigest(), and rpmVerifyDigest().

int rpmDigestUpdate ( DIGEST_CTX ctx,
const void * data,
size_t len )
 

Update context with next plain text buffer.

Parameters:
ctx   digest context
data   next data buffer
len   no. bytes of data
Returns:
0 on success

Definition at line 99 of file digest.c.

Referenced by fdUpdateDigests(), and rpmVerifyDigest().

time_t tvsub ( const struct timeval * etv,
const struct timeval * btv ) [inline, static]
 

Definition at line 324 of file rpmio_internal.h.

Referenced by fdstat_exit().

int ufdClose ( void * cookie )
 

Definition at line 1811 of file rpmio.c.

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

int ufdCopy ( FD_t sfd,
FD_t tfd )
 

Definition at line 1284 of file rpmio.c.

int ufdGetFile ( FD_t sfd,
FD_t tfd )
 

Definition at line 1388 of file rpmio.c.

void * ufdGetUrlinfo ( FD_t fd )
 

Definition at line 1651 of file rpmio.c.

const char * urlStrerror ( const char * url )
 

Definition at line 701 of file rpmio.c.

int xstrcasecmp ( const char * s1,
const char * s2 )
 

Locale insensitive strcasecmp(3).

Definition at line 9 of file strcasecmp.c.

int xstrncasecmp ( const char * s1,
const char * s2,
size_t n )
 

Locale insensitive strncasecmp(3).

Definition at line 30 of file strcasecmp.c.


Variable Documentation

struct { ... } begin
 

Operation start time.

Definition at line 45 of file rpmio_internal.h.

struct { ... } create
 

Structure creation time.

Definition at line 44 of file rpmio_internal.h.

FDIO_t fdio = &fdio_s
 

Definition at line 507 of file rpmio.c.

FDIO_t fpio = &fpio_s
 

Definition at line 3159 of file rpmio.c.

OPSTAT_t { ... } ops
 

Cumulative statistics.

Definition at line 46 of file rpmio_internal.h.

FDIO_t ufdio = &ufdio_s
 

Definition at line 2110 of file rpmio.c.


Generated at Tue Dec 23 04:54:15 2003 for rpm by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001