# rpmio/rpmio.h File Reference

`#include <sys/types.h>`
`#include <sys/stat.h>`
`#include <dirent.h>`
`#include <glob.h>`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <unistd.h>`

Go to the source code of this file.

## Data Structures

struct | FDIO_s

## RPMIO Utilities.

#define | fdFileno(_fd) fdio->_fileno(_fd)
#define | fdOpen(_path, _flags, _mode) fdio->_open((_path), (_flags), (_mode))
#define | fdRead(_fd, _buf, _count) fdio->read((_fd), (_buf), (_count))
#define | fdWrite(_fd, _buf, _count) fdio->write((_fd), (_buf), (_count))
#define | fdCLose(_fd) fdio->close(_fd)
#define | fdLink(_fd, _msg) fdio->_fdref(_fd, _msg, __FILE__, __LINE__)
#define | fdFree(_fd, _msg) fdio->_fdderef(_fd, _msg, __FILE__, __LINE__)
#define | fdNew(_msg) fdio->_fdnew(_msg, __FILE__, __LINE__)
#define | timedRead ufdio->read
typedef enum ftperrCode_e | ftperrCode
| FTP and HTTP error codes.
enum | ftperrCode_e { FTPERR_BAD_SERVER_RESPONSE = -1, FTPERR_SERVER_IO_ERROR = -2, FTPERR_SERVER_TIMEOUT = -3, FTPERR_BAD_HOST_ADDR = -4, FTPERR_BAD_HOSTNAME = -5, FTPERR_FAILED_CONNECT = -6, FTPERR_FILE_IO_ERROR = -7, FTPERR_PASSIVE_ERROR = -8, FTPERR_FAILED_DATA_CONNECT = -9, FTPERR_FILE_NOT_FOUND = -10, FTPERR_NIC_ABORT_IN_PROGRESS = -11, FTPERR_UNKNOWN = -100 }
| FTP and HTTP error codes. More...
off_t | fdSize (FD_t fd)
FD_t | fdDup (int fdno)
int | fdFileno (void *cookie)
FD_t | fdOpen (const char *path, int flags, mode_t mode)
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 | fdLink (void *cookie, const char *msg)
FD_t | fdFree (FD_t fd, const char *msg)
FD_t | fdNew (const char *msg)
int | fdWritable (FD_t fd, int secs)
int | fdReadable (FD_t fd, int secs)
const char *const | ftpStrerror (int errorNumber)
void * | ufdGetUrlinfo (FD_t fd)
const char * | urlStrerror (const char *url)
int | ufdCopy (FD_t sfd, FD_t tfd)
int | ufdGetFile (FD_t sfd, FD_t tfd)
int | timedRead (FD_t fd, void *bufptr, int length)
FDIO_t | fdio
FDIO_t | fpio
FDIO_t | ufdio
FDIO_t | gzdio
FDIO_t | bzdio
FDIO_t | fadio
typedef off_t | _libio_off_t
| Hide libio API lossage.
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)

## RPMRPC Vectors.

typedef int(*) | fdio_mkdir_function_t (const char *path, mode_t mode)
typedef int(*) | fdio_chdir_function_t (const char *path)
typedef int(*) | fdio_rmdir_function_t (const char *path)
typedef int(*) | fdio_rename_function_t (const char *oldpath, const char *newpath)
typedef int(*) | fdio_unlink_function_t (const char *path)
typedef int(*) | fdio_stat_function_t (const char *path, struct stat *st)
typedef int(*) | fdio_lstat_function_t (const char *path, struct stat *st)
typedef int(*) | fdio_access_function_t (const char *path, int amode)

## RPMIO Interface.

const char * | Fstrerror (FD_t fd)
| strerror(3) clone.
size_t | Fread (void *buf, size_t size, size_t nmemb, FD_t fd)
| fread(3) clone.
size_t | Fwrite (const void *buf, size_t size, size_t nmemb, FD_t fd)
| fwrite(3) clone.
int | Fseek (FD_t fd, _libio_off_t offset, int whence)
| fseek(3) clone.
int | Fclose (FD_t fd)
| fclose(3) clone.
FD_t | Fdopen (FD_t ofd, const char *fmode)
FD_t | Fopen (const char *path, const char *fmode)
| fopen(3) clone.
int | Fflush (FD_t fd)
| fflush(3) clone.
int | Ferror (FD_t fd)
| ferror(3) clone.
int | Fileno (FD_t fd)
| fileno(3) clone.
int | Fcntl (FD_t fd, int op, void *lip)
| fcntl(2) clone.

## RPMRPC Interface.

int | Mkdir (const char *path, mode_t mode)
| mkdir(2) clone.
int | Chdir (const char *path)
| chdir(2) clone.
int | Rmdir (const char *path)
| rmdir(2) clone.
int | Rename (const char *oldpath, const char *newpath)
| rename(2) clone.
int | Link (const char *oldpath, const char *newpath)
| link(2) clone.
int | Unlink (const char *path)
| unlink(2) clone.
int | Readlink (const char *path, char *buf, size_t bufsiz)
| readlink(2) clone.
int | Stat (const char *path, struct stat *st)
| stat(2) clone.
int | Lstat (const char *path, struct stat *st)
| lstat(2) clone.
int | Access (const char *path, int amode)
| access(2) clone.
int | Glob (const char *pattern, int flags, int errfunc(const char *epath, int eerrno), glob_t *pglob)
| glob(3) clone.
void | Globfree (glob_t *pglob)
| globfree(3) clone.
DIR * | Opendir (const char *path)
| opendir(3) clone.
dirent * | Readdir (DIR *dir)
| readdir(3) clone.
int | Closedir (DIR *dir)
| closedir(3) clone.

## Typedefs

typedef _FD_s * | FD_t
typedef FDIO_s * | FDIO_t

## Functions

static int | xislower (int c)
static int | xisupper (int c)
static int | xisalpha (int c)
static int | xisdigit (int c)
static int | xisalnum (int c)
static int | xisblank (int c)
static int | xisspace (int c)
static int | xtolower (int c)
static int | xtoupper (int c)
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).

## Detailed Description

Definition in file rpmio.h.

## Define Documentation

#define fdCLose | ( | _fd |  | ) | fdio->close(_fd)

Definition at line 485 of file rpmio.h.

#define fdFileno | ( | _fd |  | ) | fdio->_fileno(_fd)

Definition at line 456 of file rpmio.h.

Referenced by fdClose(), fdFgets(), fdRead(), fdReadable(), fdSeek(), fdWritable(), fdWrite(), Ferror(), Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), ufdRead(), and urlConnect().

#define fdFree | ( | _fd,
|  | _msg |  | ) | fdio->_fdderef(_fd, _msg, __FILE__, __LINE__)

Definition at line 503 of file rpmio.h.

Referenced by alFree(), closeCallback(), Fclose(), fdClose(), fsmTeardown(), ftpAbort(), ftpCmd(), ftpFileDone(), manageFile(), packageBinaries(), packageSources(), rpmShowProgress(), rpmtransFree(), ufdClose(), and urlConnect().

#define fdLink | ( | _fd,
|  | _msg |  | ) | fdio->_fdref(_fd, _msg, __FILE__, __LINE__)

Definition at line 494 of file rpmio.h.

Referenced by closeCallback(), doFopen(), Fclose(), Fdopen(), fsmSetup(), ftpLogin(), ftpNLST(), ftpOpen(), ftpReq(), httpOpen(), httpReq(), manageFile(), rpmShowProgress(), rpmtransSetScriptFd(), rpmVerifyScript(), runScript(), ufdOpen(), and urlConnect().

#define fdNew | ( | _msg |  | ) | fdio->_fdnew(_msg, __FILE__, __LINE__)

Definition at line 512 of file rpmio.h.

Referenced by fdDup(), fdOpen(), ftpOpen(), httpOpen(), packageBinaries(), packageSources(), rewriteRPM(), and urlConnect().

#define fdOpen | ( | _path,
|  | _flags,
|  | _mode |  | ) | fdio->_open((_path), (_flags), (_mode))

Definition at line 464 of file rpmio.h.

Referenced by Fopen(), and ufdOpen().

#define fdRead | ( | _fd,
|  | _buf,
|  | _count |  | ) | fdio->read((_fd), (_buf), (_count))

Definition at line 471 of file rpmio.h.

Referenced by fdFgets(), and ufdRead().

#define fdWrite | ( | _fd,
|  | _buf,
|  | _count |  | ) | fdio->write((_fd), (_buf), (_count))

Definition at line 478 of file rpmio.h.

Referenced by ftpAbort(), ftpCommand(), ftpReq(), httpReq(), ufdClose(), and ufdWrite().

#define timedRead ufdio->read

Definition at line 585 of file rpmio.h.

Referenced by ftpAbort(), makeGPGSignature(), makePGPSignature(), readLead(), and rpmReadSignature().

## Typedef Documentation

typedef int(*) fdio_access_function_t(const char *path, int amode)

Definition at line 191 of file rpmio.h.

typedef int(*) fdio_chdir_function_t(const char *path)

Definition at line 154 of file rpmio.h.

typedef int(*) fdio_close_function_t(void *cookie)

Definition at line 80 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 94 of file rpmio.h.

typedef void*(*) fdio_ffileno_function_t(FD_t fd)

Definition at line 129 of file rpmio.h.

typedef int(*) fdio_fflush_function_t(FD_t fd)

Definition at line 135 of file rpmio.h.

typedef int(*) fdio_fileno_function_t(void *cookie)

Definition at line 110 of file rpmio.h.

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

Definition at line 123 of file rpmio.h.

typedef int(*) fdio_lstat_function_t(const char *path,struct stat *st)

Definition at line 185 of file rpmio.h.

typedef int(*) fdio_mkdir_function_t(const char *path, mode_t mode)

Definition at line 148 of file rpmio.h.

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

Definition at line 102 of file rpmio.h.

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

Definition at line 117 of file rpmio.h.

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

Definition at line 62 of file rpmio.h.

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

Definition at line 87 of file rpmio.h.

typedef int(*) fdio_rename_function_t(const char *oldpath, const char *newpath)

Definition at line 166 of file rpmio.h.

typedef int(*) fdio_rmdir_function_t(const char *path)

Definition at line 160 of file rpmio.h.

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

Definition at line 74 of file rpmio.h.

typedef int(*) fdio_stat_function_t(const char *path,struct stat *st)

Definition at line 179 of file rpmio.h.

typedef int(*) fdio_unlink_function_t(const char *path)

Definition at line 172 of file rpmio.h.

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

Definition at line 68 of file rpmio.h.

typedef enum ftperrCode_e ftperrCode

FTP and HTTP error codes.

## Enumeration Type Documentation

enum ftperrCode_e

FTP and HTTP error codes.

Enumerator:

  FTPERR_BAD_SERVER_RESPONSE | Bad server response
  FTPERR_SERVER_IO_ERROR | Server I/O error
  FTPERR_SERVER_TIMEOUT | Server timeout
  FTPERR_BAD_HOST_ADDR | Unable to lookup server host address
  FTPERR_BAD_HOSTNAME | Unable to lookup server host name
  FTPERR_FAILED_CONNECT | Failed to connect to server
  FTPERR_FILE_IO_ERROR | Failed to establish data connection to server
  FTPERR_PASSIVE_ERROR | I/O error to local file
  FTPERR_FAILED_DATA_CONNECT | Error setting remote server to passive mode
  FTPERR_FILE_NOT_FOUND | File not found on server
  FTPERR_NIC_ABORT_IN_PROGRESS | Abort in progress
  FTPERR_UNKNOWN | Unknown or unexpected error

Definition at line 531 of file rpmio.h.

## Function Documentation

int Access | ( | const char * | path,
|  | int | amode |
| ) |  |  |

access(2) clone.

Definition at line 1137 of file rpmrpc.c.

References _rpmio_debug, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by chkdir().

int Chdir | ( | const char * | path | ) |

chdir(2) clone.

Definition at line 92 of file rpmrpc.c.

References ftpChdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

int Closedir | ( | DIR * | dir | ) |

closedir(3) clone.

Definition at line 1233 of file rpmrpc.c.

References _rpmio_debug.

Referenced by myftw(), and myftw_dir().

int Fclose | ( | FD_t | fd | ) |

fclose(3) clone.

Definition at line 2699 of file rpmio.c.

References FDIO_s::close, DBGIO, fdbg(), fdFree, fdGetFdno(), fdGetFILE, FDIOVEC, fdLink, fdPop(), FDSANE, fdSetFp(), fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, noLibio, ufdClose(), and ufdio.

Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), db1close(), defaultMachine(), domd5(), doReadRC(), doScript(), fadOpen(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rewriteRPM(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderFromPackage(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmMergeHeadersFromFD(), rpmQueryVerify(), rpmShowProgress(), rpmtransDealloc(), runScript(), showVerifyPackage(), tsCallback(), ufdGetFile(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), writeRPM(), and XurlFree().

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

fcntl(2) clone.

Definition at line 3108 of file rpmio.c.

References Fileno().

Referenced by db1open().

int fdClose | ( | void * | cookie | ) |

Definition at line 456 of file rpmio.c.

References c2f(), DBGIO, fdbg(), fdFileno, fdFree, fdSetFdno(), FDSTAT_CLOSE, fdstat_enter(), and fdstat_exit().

Referenced by Fopen(), ftpAbort(), ftpLogin(), ftpReq(), httpReq(), and ufdClose().

FD_t fdDup | ( | int | fdno | ) |

Definition at line 229 of file rpmio.c.

References DBGIO, fdbg(), fdNew, and fdSetFdno().

Referenced by cpio_doio(), main(), psmStage(), readRPM(), rpmHeaderFromFD(), rpmHeaderFromPackage(), rpmMergeHeadersFromFD(), rpmtransSetAttr(), runScript(), showVerifyPackage(), tsCallback(), and ufdOpen().

int fdFileno | ( | void * | cookie | ) |

FD_t fdFree | ( | FD_t | fd,
|  | const char * | msg |
| ) |  |  |

FD_t fdLink | ( | void * | cookie,
|  | const char * | msg |
| ) |  |  |

FD_t fdNew | ( | const char * | msg | ) |

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

Definition at line 482 of file rpmio.c.

References DBGIO, fdbg(), fdNew, fdSetFdno(), and _FD_s::flags.

FD_t Fdopen | ( | FD_t | ofd,
|  | const char * | fmode |
| ) |  |  |

Definition at line 2850 of file rpmio.c.

References _rpmio_debug, FDIO_s::close, cvtfmode(), DBGIO, fadio, fdbg(), fdGetFp(), fdio, fdLink, fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, noLibio, FDIO_s::read, FDIO_s::seek, ufdio, and FDIO_s::write.

Referenced by cpio_doio(), doScript(), Fopen(), main(), and psmStage().

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

Definition at line 373 of file rpmio.c.

References _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_READ, fdUpdateDigests(), and _FD_s::ndigests.

int fdReadable | ( | FD_t | fd,
|  | int | secs |
| ) |  |  |

Definition at line 567 of file rpmio.c.

References errno, and fdFileno.

Referenced by fdFgets(), ftpAbort(), ufdClose(), and ufdRead().

off_t fdSize | ( | FD_t | fd | ) |

Definition at line 204 of file rpmio.c.

References _FD_s::contentLength, DBGIO, FDSANE, Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and _FD_s::urlType.

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

int fdWritable | ( | FD_t | fd,
|  | int | secs |
| ) |  |  |

Definition at line 527 of file rpmio.c.

References _rpmio_debug, errno, fdFileno, and strerror().

Referenced by checkResponse(), ftpLogin(), httpReq(), and ufdWrite().

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

Definition at line 395 of file rpmio.c.

References _FD_s::bytesRemain, c2f(), DBGIO, errno, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), FDSTAT_WRITE, fdUpdateDigests(), _FD_s::ndigests, _FD_s::syserrno, and _FD_s::wr_chunked.

int Ferror | ( | FD_t | fd | ) |

ferror(3) clone.

Definition at line 3059 of file rpmio.c.

References DBGIO, _FD_s::errcookie, fdbg(), fdFileno, fdGetFILE, fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, and _FD_s::syserrno.

Referenced by addFileToTagAux(), cpio_copy(), db1open(), defaultMachine(), doFopen(), domd5(), doReadRC(), doScript(), fadOpen(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

int Fflush | ( | FD_t | fd | ) |

fflush(3) clone.

Definition at line 3039 of file rpmio.c.

References fdGetFILE, fdGetFp(), fdGetIo(), and fpio.

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

int Fileno | ( | FD_t | fd | ) |

fileno(3) clone.

Definition at line 3094 of file rpmio.c.

References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, and _FD_s::nfps.

Referenced by checkSize(), cpio_doio(), db1sync(), doScript(), Fcntl(), Fdopen(), fdSize(), makeTempFile(), psmStage(), readPackageHeaders(), runScript(), ufdOpen(), writeFile(), and writeRPM().

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

fopen(3) clone.

Definition at line 2962 of file rpmio.c.

References FDIO_s::_open, _rpmio_debug, cvtfmode(), fadio, fdClose(), fdFileno, fdGetFdno(), fdGetFp(), Fdopen(), fdOpen, fdPush(), fpio, ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().

Referenced by addFileToTagAux(), defaultMachine(), doFopen(), domd5(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmHeaderFromFile(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), rpmShowProgress(), runScript(), urlGetFile(), verifyGPGSignature(), verifyPGPSignature(), and writeRPM().

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

fread(3) clone.

Definition at line 2613 of file rpmio.c.

References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::read.

Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), isCompressed(), isSpecFile(), main(), Pread(), readIcon(), readRPM(), rpmioSlurp(), ufdCopy(), and writeRPM().

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

fseek(3) clone.

Definition at line 2665 of file rpmio.c.

References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::seek.

Referenced by db1cput(), doGetRecord(), fadOpen(), Pread(), Pwrite(), readRPM(), and writeRPM().

const char* Fstrerror | ( | FD_t | fd | ) |

strerror(3) clone.

Definition at line 2602 of file rpmio.c.

References errno, FDSANE, getFdErrstr(), and strerror().

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

const char* const ftpStrerror | ( | int | errorNumber | ) |

Definition at line 671 of file rpmio.c.

References _, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, FTPERR_BAD_SERVER_RESPONSE, FTPERR_FAILED_CONNECT, FTPERR_FAILED_DATA_CONNECT, FTPERR_FILE_IO_ERROR, FTPERR_FILE_NOT_FOUND, FTPERR_NIC_ABORT_IN_PROGRESS, FTPERR_PASSIVE_ERROR, FTPERR_SERVER_IO_ERROR, FTPERR_SERVER_TIMEOUT, and FTPERR_UNKNOWN.

Referenced by doUntar(), ftpLogin(), ftpReq(), httpReq(), rpmInstall(), tcpConnect(), ufdCopy(), and urlStrerror().

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

fwrite(3) clone.

Definition at line 2640 of file rpmio.c.

References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::write.

Referenced by copyFile(), cpio_copy(), fadOpen(), main(), Pwrite(), rpmWriteSignature(), runScript(), ufdCopy(), verifyGPGSignature(), verifyPGPSignature(), writeLead(), and writeRPM().

int Glob | ( | const char * | pattern,
|  | int | flags,
|  | int | errfunc(const char *epath, int eerrno),
|  | glob_t * | pglob |
| ) |  |  |

glob(3) clone.

Definition at line 1160 of file rpmrpc.c.

References _rpmio_debug, ftpGlob(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by rpmGlob().

void Globfree | ( | glob_t * | pglob | ) |

globfree(3) clone.

Definition at line 1188 of file rpmrpc.c.

References _rpmio_debug, and ftpGlobfree().

Referenced by rpmGlob().

int Link | ( | const char * | oldpath,
|  | const char * | newpath |
| ) |  |  |

link(2) clone.

Definition at line 187 of file rpmrpc.c.

References _rpmio_debug, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and xstrncasecmp().

int Lstat | ( | const char * | path,
|  | struct stat * | st |
| ) |  |  |

lstat(2) clone.

Definition at line 1089 of file rpmrpc.c.

References _rpmio_debug, ftpLstat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by addFile(), checkOwners(), doUntar(), myftw(), myftw_dir(), and rpmVerifyFile().

int Mkdir | ( | const char * | path,
|  | mode_t | mode |
| ) |  |  |

mkdir(2) clone.

Definition at line 69 of file rpmrpc.c.

References ftpMkdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by chkdir(), packageBinaries(), and rpmdbRebuild().

DIR* Opendir | ( | const char * | path | ) |

opendir(3) clone.

Definition at line 1200 of file rpmrpc.c.

References _rpmio_debug, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by myftw(), and myftw_dir().

struct dirent* Readdir | ( | DIR * | dir | ) |

readdir(3) clone.

Definition at line 1226 of file rpmrpc.c.

References _rpmio_debug.

Referenced by myftw_dir().

int Readlink | ( | const char * | path,
|  | char * | buf,
|  | size_t | bufsiz |
| ) |  |  |

readlink(2) clone.

Definition at line 1114 of file rpmrpc.c.

References ftpReadlink(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by genCpioListAndHeader(), and rpmVerifyFile().

int Rename | ( | const char * | oldpath,
|  | const char * | newpath |
| ) |  |  |

rename(2) clone.

Definition at line 140 of file rpmrpc.c.

References _rpmio_debug, ftpRename(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and xstrncasecmp().

Referenced by rpmdbMoveDatabase().

int Rmdir | ( | const char * | path | ) |

rmdir(2) clone.

Definition at line 115 of file rpmrpc.c.

References ftpRmdir(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by rpmdbRebuild().

int Stat | ( | const char * | path,
|  | struct stat * | st |
| ) |  |  |

stat(2) clone.

Definition at line 1064 of file rpmrpc.c.

References _rpmio_debug, ftpStat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by buildForTarget(), chkdir(), packageBinaries(), processSourceFiles(), and rpmioFileExists().

int timedRead | ( | FD_t | fd,
|  | void * | bufptr,
|  | int | length |
| ) |  |  |

int ufdCopy | ( | FD_t | sfd,
|  | FD_t | tfd |
| ) |  |  |

Definition at line 1298 of file rpmio.c.

References DBGIO, Fread(), FTPERR_FILE_IO_ERROR, ftpStrerror(), Fwrite(), RPMCALLBACK_INST_OPEN_FILE, and RPMCALLBACK_INST_PROGRESS.

Referenced by main(), and ufdGetFile().

int ufdGetFile | ( | FD_t | sfd,
|  | FD_t | tfd |
| ) |  |  |

Definition at line 1402 of file rpmio.c.

References Fclose(), FDSANE, and ufdCopy().

Referenced by urlGetFile().

void* ufdGetUrlinfo | ( | FD_t | fd | ) |

Definition at line 1665 of file rpmio.c.

References FDSANE, _FD_s::url, and urlLink.

int Unlink | ( | const char * | path | ) |

unlink(2) clone.

Definition at line 231 of file rpmrpc.c.

References ftpUnlink(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by buildForTarget(), doRmSource(), doScript(), urlGetFile(), and writeRPM().

const char* urlStrerror | ( | const char * | url | ) |

Definition at line 715 of file rpmio.c.

References errno, ftpStrerror(), urlinfo_s::openError, strerror(), URL_IS_FTP, URL_IS_HTTP, urlIsURL(), and urlSplit().

static int xisalnum | ( | int | c | ) | `[inline, static]`

Definition at line 626 of file rpmio.h.

References xisalpha(), and xisdigit().

Referenced by expandMacro(), parseRCPOT(), rdToken(), and rpmvercmp().

static int xisalpha | ( | int | c | ) | `[inline, static]`

Definition at line 620 of file rpmio.h.

References xislower(), and xisupper().

Referenced by doDefine(), doUndefine(), parseBits(), rdToken(), rpmvercmp(), and xisalnum().

static int xisblank | ( | int | c | ) | `[inline, static]`

Definition at line 629 of file rpmio.h.

Referenced by xisspace().

static int xisdigit | ( | int | c | ) | `[inline, static]`

Definition at line 623 of file rpmio.h.

Referenced by defaultMachine(), doFoo(), getHostAddress(), parseEVR(), parseForDev(), parseFormat(), rdToken(), rpmvercmp(), and xisalnum().

static int xislower | ( | int | c | ) | `[inline, static]`

Definition at line 614 of file rpmio.h.

Referenced by xisalpha(), and xtoupper().

static int xisspace | ( | int | c | ) | `[inline, static]`

Definition at line 632 of file rpmio.h.

References xisblank().

static int xisupper | ( | int | c | ) | `[inline, static]`

Definition at line 617 of file rpmio.h.

Referenced by xisalpha(), and xtolower().

static int xtolower | ( | int | c | ) | `[inline, static]`

Definition at line 636 of file rpmio.h.

References xisupper().

Referenced by rpmRebuildTargetVars(), tagName(), xstrcasecmp(), and xstrncasecmp().

static int xtoupper | ( | int | c | ) | `[inline, static]`

Definition at line 639 of file rpmio.h.

References xislower().

## Variable Documentation

FDIO_t bzdio

Referenced by fdbg().

FDIO_t fadio

Definition at line 51 of file falloc.c.

FDIO_t fdio

Definition at line 521 of file rpmio.c.

Referenced by fadOpen(), fdbg(), Fdopen(), ufdRead(), ufdWrite(), XfdNew(), and XurlFree().

FDIO_t fpio

Definition at line 3173 of file rpmio.c.

Referenced by Fclose(), fdbg(), Fdopen(), Ferror(), Fflush(), Fopen(), Fread(), Fseek(), Fwrite(), and XurlFree().

FDIO_t gzdio

Referenced by fdbg().

FDIO_t ufdio

Definition at line 2124 of file rpmio.c.

Referenced by fadOpen(), Fclose(), fdbg(), Fdopen(), ftpOpen(), httpOpen(), ufdOpen(), and urlConnect().