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>

Include dependency graph for rpmio.h:

This graph shows which files directly or indirectly include this file:

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_NE_ERROR = -1, FTPERR_NE_LOOKUP = -2, FTPERR_NE_AUTH = -3, FTPERR_NE_PROXYAUTH = -4,
  FTPERR_NE_CONNECT = -5, FTPERR_NE_TIMEOUT = -6, FTPERR_NE_FAILED = -7, FTPERR_NE_RETRY = -8,
  FTPERR_NE_REDIRECT = -9, FTPERR_BAD_SERVER_RESPONSE = -81, FTPERR_SERVER_IO_ERROR = -82, FTPERR_SERVER_TIMEOUT = -83,
  FTPERR_BAD_HOST_ADDR = -84, FTPERR_BAD_HOSTNAME = -85, FTPERR_FAILED_CONNECT = -86, FTPERR_FILE_IO_ERROR = -87,
  FTPERR_PASSIVE_ERROR = -88, FTPERR_FAILED_DATA_CONNECT = -89, FTPERR_FILE_NOT_FOUND = -90, FTPERR_NIC_ABORT_IN_PROGRESS = -91,
  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)
int rpmioMkpath (const char *path, mode_t mode, uid_t uid, gid_t gid)
 Insure that directories in path exist, creating as needed.
int rpmioAccess (const char *FN, const char *path, int mode)
 Check FN access, expanding relative paths and twiddles.
char * _GetPass (const char *prompt)
char * _RequestPass (const char *prompt)
const char * 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)
char *(* Getpass )(const char *prompt)
 Return a password.
FDIO_t fdio
FDIO_t fpio
FDIO_t ufdio
FDIO_t gzdio
FDIO_t bzdio
FDIO_t lzdio
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 Chroot (const char *path)
 chroot(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 Stat (const char *path, struct stat *st)
 stat(2) clone.
int Lstat (const char *path, struct stat *st)
 lstat(2) clone.
int Chown (const char *path, uid_t owner, gid_t group)
 chown(2) clone.
int Lchown (const char *path, uid_t owner, gid_t group)
 lchown(2) clone.
int Chmod (const char *path, mode_t mode)
 chmod(2) clone.
int Mkfifo (const char *path, mode_t mode)
 mkfifo(3) clone.
int Mknod (const char *path, mode_t mode, dev_t dev)
 mknod(3) clone.
int Utime (const char *path, const struct utimbuf *buf)
 utime(2) clone.
int Utimes (const char *path, const struct timeval *times)
 utimes(2) clone.
int Symlink (const char *oldpath, const char *newpath)
 symlink(3) clone.
int Readlink (const char *path, char *buf, size_t bufsiz)
 readlink(2) clone.
int Access (const char *path, int amode)
 access(2) clone.
int Glob_pattern_p (const char *pattern, int quote)
 glob_pattern_p(3) clone.
int Glob_error (const char *epath, int eerrno)
 glob_error(3) 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.
off_t Lseek (int fdno, off_t offset, int whence)
 lseek(2) clone.

Typedefs

typedef pgpDig_spgpDig
typedef pgpDigParams_spgpDigParams
typedef _FD_sFD_t
typedef FDIO_sFDIO_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 xiscntrl (int c)
static int xisascii (int c)
static int xisprint (int c)
static int xisgraph (int c)
static int xispunct (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).
const char * xstrtolocale (const char *str)
 Force encoding of string.


Detailed Description

Definition in file rpmio.h.


Define Documentation

#define fdClose _fd   )     fdio->close(_fd)
 

Definition at line 597 of file rpmio.h.

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

Definition at line 564 of file rpmio.h.

Referenced by __fdClose(), __fdRead(), __fdWrite(), fdFgets(), fdReadable(), fdSeek(), fdWritable(), Ferror(), Fopen(), ftpAbort(), ftpLogin(), ftpReq(), lzdFdopen(), ufdRead(), and urlConnect().

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

Definition at line 615 of file rpmio.h.

Referenced by __fdClose(), closeCallback(), delTE(), Fclose(), fsmTeardown(), ftpAbort(), ftpCmd(), ftpFileDone(), lzdClose(), manageFile(), packageBinaries(), packageSources(), rpmShowProgress(), rpmtsFree(), rpmtsSetScriptFd(), ufdClose(), and urlConnect().

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

Definition at line 606 of file rpmio.h.

Referenced by closeCallback(), Fclose(), Fdopen(), fsmSetup(), ftpLogin(), ftpNLST(), ftpOpen(), lzdReadOpen(), lzdWriteOpen(), manageFile(), rpmfd_Fopen(), rpmInstallSourcePackage(), rpmShowProgress(), rpmtsSetScriptFd(), ufdOpen(), and urlConnect().

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

Definition at line 624 of file rpmio.h.

Referenced by __fdOpen(), fdDup(), ftpOpen(), lzdReadOpen(), lzdWriteOpen(), packageBinaries(), packageSources(), and urlConnect().

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

Definition at line 572 of file rpmio.h.

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

Definition at line 582 of file rpmio.h.

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

Definition at line 590 of file rpmio.h.

#define timedRead   (ufdio->read)
 

Definition at line 745 of file rpmio.h.

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


Typedef Documentation

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

Definition at line 195 of file rpmio.h.

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

Definition at line 158 of file rpmio.h.

typedef int(* fdio_close_function_t)(void *cookie)
 

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

typedef void*(* fdio_ffileno_function_t)(FD_t fd)
 

Definition at line 133 of file rpmio.h.

typedef int(* fdio_fflush_function_t)(FD_t fd)
 

Definition at line 139 of file rpmio.h.

typedef int(* fdio_fileno_function_t)(void *cookie)
 

Definition at line 114 of file rpmio.h.

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

Definition at line 127 of file rpmio.h.

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

Definition at line 189 of file rpmio.h.

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

Definition at line 152 of file rpmio.h.

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

Definition at line 106 of file rpmio.h.

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

Definition at line 121 of file rpmio.h.

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

Definition at line 64 of file rpmio.h.

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

Definition at line 91 of file rpmio.h.

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

Definition at line 170 of file rpmio.h.

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

Definition at line 164 of file rpmio.h.

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

Definition at line 78 of file rpmio.h.

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

Definition at line 183 of file rpmio.h.

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

Definition at line 176 of file rpmio.h.

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

Definition at line 72 of file rpmio.h.

typedef enum ftperrCode_e ftperrCode
 

FTP and HTTP error codes.

typedef struct pgpDig_s* pgpDig
 

Definition at line 21 of file rpmio.h.

typedef struct pgpDigParams_s* pgpDigParams
 

Definition at line 25 of file rpmio.h.


Enumeration Type Documentation

enum ftperrCode_e
 

FTP and HTTP error codes.

Enumerator:
FTPERR_NE_ERROR  Generic error.
FTPERR_NE_LOOKUP  Hostname lookup failed.
FTPERR_NE_AUTH  Server authentication failed.
FTPERR_NE_PROXYAUTH  Proxy authentication failed.
FTPERR_NE_CONNECT  Could not connect to server.
FTPERR_NE_TIMEOUT  Connection timed out.
FTPERR_NE_FAILED  The precondition failed.
FTPERR_NE_RETRY  Retry request.
FTPERR_NE_REDIRECT  Redirect received.
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 678 of file rpmio.h.


Function Documentation

char* _GetPass const char *  prompt  ) 
 

Definition at line 12 of file getpass.c.

char* _RequestPass const char *  prompt  ) 
 

Definition at line 19 of file getpass.c.

References argvSplit().

int Access const char *  path,
int  amode
 

access(2) clone.

Todo:
Implement remotely.

Definition at line 1612 of file rpmrpc.c.

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

Referenced by rpmdbRebuild().

int Chdir const char *  path  ) 
 

chdir(2) clone.

Definition at line 112 of file rpmrpc.c.

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

Referenced by getOutputFrom(), rpmpsmStage(), and rpmtsRun().

int Chmod const char *  path,
mode_t  mode
 

chmod(2) clone.

Todo:
Implement remotely.

Definition at line 1414 of file rpmrpc.c.

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

int Chown const char *  path,
uid_t  owner,
gid_t  group
 

chown(2) clone.

Todo:
Implement remotely.

Definition at line 1362 of file rpmrpc.c.

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

int Chroot const char *  path  ) 
 

chroot(2) clone.

Todo:
Implement remotely.

Definition at line 172 of file rpmrpc.c.

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

Referenced by rpmpsmStage(), and rpmtsRun().

int Closedir DIR *  dir  ) 
 

closedir(3) clone.

Definition at line 1777 of file rpmrpc.c.

References _rpmio_debug.

Referenced by Fts_open(), and Glob().

int Fclose FD_t  fd  ) 
 

fclose(3) clone.

Definition at line 3231 of file rpmio.c.

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

Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), defaultMachine(), dodigest(), doIcon(), doReadRC(), doScript(), IDTXglob(), isCompressed(), isSpecFile(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readLine(), readRPM(), rpmcliSign(), rpmdbExportInfo(), rpmdsSysinfoFile(), rpmfd_dealloc(), rpmfd_free(), rpmfd_init(), rpmgiFree(), rpmgiLoadManifest(), rpmgiNext(), rpmgiOpen(), rpmgiReadHeader(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmInstallSource(), rpmioSlurp(), rpmLoadMacroFile(), rpmMergeHeadersFromFD(), rpmpsmStage(), rpmShowProgress(), rpmSingleHeaderFromFD(), rpmts_dealloc(), rpmts_free(), rpmts_HdrFromFdno(), rpmtsCallback(), rpmtsRollback(), rpmtsSolve(), showVerifyPackage(), ufdGetFile(), urlGetFile(), writeRPM(), and XurlFree().

int Fcntl FD_t  fd,
int  op,
void *  lip
 

fcntl(2) clone.

Definition at line 3677 of file rpmio.c.

References Fileno().

int fdClose void *  cookie  ) 
 

FD_t fdDup int  fdno  ) 
 

Definition at line 270 of file rpmio.c.

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

Referenced by cpio_doio(), dodigest(), readRPM(), rpmHeaderFromFD(), rpmMergeHeadersFromFD(), rpmpsmStage(), rpmSingleHeaderFromFD(), rpmts_HdrFromFdno(), rpmts_setattro(), rpmtsCallback(), showVerifyPackage(), 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
 

FD_t Fdopen FD_t  ofd,
const char *  fmode
 

Definition at line 3414 of file rpmio.c.

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

Referenced by cpio_doio(), doScript(), Fopen(), rpmpsmStage(), and rpmReadPackageManifest().

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

int fdReadable FD_t  fd,
int  secs
 

Definition at line 595 of file rpmio.c.

References errno, fdFileno, and _FD_s::req.

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

off_t fdSize FD_t  fd  ) 
 

Definition at line 243 of file rpmio.c.

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

Referenced by doReadRC(), and rpmioSlurp().

int fdWritable FD_t  fd,
int  secs
 

Definition at line 540 of file rpmio.c.

References _rpmio_debug, errno, fdFileno, _FD_s::req, and strerror.

Referenced by checkResponse(), and ftpLogin().

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

int Ferror FD_t  fd  ) 
 

ferror(3) clone.

Definition at line 3617 of file rpmio.c.

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

Referenced by addFileToTagAux(), cpio_copy(), defaultMachine(), dodigest(), doIcon(), doReadRC(), doScript(), IDTXglob(), isCompressed(), isSpecFile(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readLead(), readLine(), readRPM(), rpmcliSign(), rpmdsCpuinfo(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmioSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmShowProgress(), rpmtsSolve(), urlGetFile(), and writeRPM().

int Fflush FD_t  fd  ) 
 

fflush(3) clone.

Definition at line 3597 of file rpmio.c.

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

Referenced by copyFile(), cpio_doio(), extractRegular(), rpmpsmStage(), and writeRPM().

int Fileno FD_t  fd  ) 
 

fileno(3) clone.

Definition at line 3659 of file rpmio.c.

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

Referenced by cpio_doio(), doScript(), Fcntl(), Fdopen(), fdSize(), makeTempFile(), printSize(), rpmpsmStage(), rpmReadPackageFile(), rpmtsCallback(), ufdOpen(), writeFile(), and writeRPM().

FD_t Fopen const char *  path,
const char *  fmode
 

fopen(3) clone.

Definition at line 3524 of file rpmio.c.

References _rpmio_debug, cvtfmode(), fdClose, fdFileno, fdGetFdno(), fdGetFp(), Fdopen(), fdOpen, fdPush(), fpio, _FD_s::req, ufdOpen(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlIsURL().

Referenced by addFileToTagAux(), defaultMachine(), dodigest(), doIcon(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), makeGPGSignature(), makeHDRSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), readLine(), readRPM(), rpmcliSign(), rpmdbExportInfo(), rpmdsCpuinfo(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmHeaderFromFile(), rpmInstallSource(), rpmioSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmShowProgress(), rpmtsRollback(), rpmtsSolve(), urlGetFile(), and writeRPM().

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

fread(3) clone.

Definition at line 3152 of file rpmio.c.

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

Referenced by copyFile(), cpio_copy(), defaultMachine(), dodigest(), doIcon(), doReadRC(), isCompressed(), isSpecFile(), readFile(), readRPM(), rpmioSlurp(), rpmReadPackageFile(), ufdCopy(), and writeRPM().

int Fseek FD_t  fd,
_libio_off_t  offset,
int  whence
 

fseek(3) clone.

Definition at line 3199 of file rpmio.c.

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

Referenced by readRPM(), and writeRPM().

const char* Fstrerror FD_t  fd  ) 
 

strerror(3) clone.

Definition at line 3141 of file rpmio.c.

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

Referenced by copyFile(), cpio_copy(), doIcon(), doReadRC(), IDTXglob(), isCompressed(), isSpecFile(), manageFile(), processPackageFiles(), readFile(), readLead(), readLine(), readRPM(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmpsmStage(), rpmReadPackageFile(), rpmReSign(), rpmShowProgress(), rpmtsSolve(), urlGetFile(), and writeRPM().

const char* ftpStrerror int  errorNumber  ) 
 

Definition at line 715 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_NE_AUTH, FTPERR_NE_CONNECT, FTPERR_NE_ERROR, FTPERR_NE_FAILED, FTPERR_NE_LOOKUP, FTPERR_NE_PROXYAUTH, FTPERR_NE_REDIRECT, FTPERR_NE_RETRY, FTPERR_NE_TIMEOUT, FTPERR_NIC_ABORT_IN_PROGRESS, FTPERR_PASSIVE_ERROR, FTPERR_SERVER_IO_ERROR, FTPERR_SERVER_TIMEOUT, and FTPERR_UNKNOWN.

Referenced by ftpLogin(), prepFetch(), ufdCopy(), and urlStrerror().

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

fwrite(3) clone.

Definition at line 3174 of file rpmio.c.

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

Referenced by copyFile(), cpio_copy(), rpmWriteSignature(), ufdCopy(), 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 1688 of file rpmrpc.c.

References _rpmio_debug, Closedir(), Lstat(), Opendir(), Readdir(), Stat(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

Referenced by rpmGlob().

int Glob_error const char *  epath,
int  eerrno
 

glob_error(3) clone.

Definition at line 1683 of file rpmrpc.c.

Referenced by rpmGlob().

int Glob_pattern_p const char *  pattern,
int  quote
 

glob_pattern_p(3) clone.

Definition at line 1643 of file rpmrpc.c.

References URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, and urlPath().

Referenced by processBinaryFile(), and rpmGlob().

void Globfree glob_t *  pglob  ) 
 

globfree(3) clone.

Definition at line 1726 of file rpmrpc.c.

References _rpmio_debug.

int Lchown const char *  path,
uid_t  owner,
gid_t  group
 

lchown(2) clone.

Todo:
Implement remotely.

Definition at line 1388 of file rpmrpc.c.

References _rpmio_debug, errno, lchown, URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().

int Link const char *  oldpath,
const char *  newpath
 

link(2) clone.

Definition at line 255 of file rpmrpc.c.

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

off_t Lseek int  fdno,
off_t  offset,
int  whence
 

lseek(2) clone.

Todo:
Implement SEEK_HOLE/SEEK_DATA.

Definition at line 1790 of file rpmrpc.c.

References _rpmio_debug.

int Lstat const char *  path,
struct stat *  st
 

lstat(2) clone.

Definition at line 1332 of file rpmrpc.c.

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

Referenced by addFile(), checkOwners(), Fts_open(), Glob(), handleInstInstalledFiles(), prepFetch(), rpmQueryVerify(), and rpmVerifyFile().

int Mkdir const char *  path,
mode_t  mode
 

mkdir(2) clone.

Definition at line 85 of file rpmrpc.c.

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

Referenced by packageBinaries(), rpmdbRebuild(), rpmioMkpath(), and rpmMkdirPath().

int Mkfifo const char *  path,
mode_t  mode
 

mkfifo(3) clone.

Todo:
Implement remotely.

Definition at line 1440 of file rpmrpc.c.

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

int Mknod const char *  path,
mode_t  mode,
dev_t  dev
 

mknod(3) clone.

Todo:
Implement remotely.

Definition at line 1466 of file rpmrpc.c.

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

DIR* Opendir const char *  path  ) 
 

opendir(3) clone.

Definition at line 1733 of file rpmrpc.c.

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

Referenced by Fts_open(), and Glob().

struct dirent* Readdir DIR *  dir  ) 
 

readdir(3) clone.

Definition at line 1764 of file rpmrpc.c.

References _rpmio_debug.

Referenced by Fts_open(), and Glob().

int Readlink const char *  path,
char *  buf,
size_t  bufsiz
 

readlink(2) clone.

Todo:
Implement remotely.

Definition at line 1578 of file rpmrpc.c.

References errno, ftpReadlink(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, 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 202 of file rpmrpc.c.

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

int Rmdir const char *  path  ) 
 

rmdir(2) clone.

Definition at line 145 of file rpmrpc.c.

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

Referenced by rpmdbRebuild().

int rpmioAccess const char *  FN,
const char *  path,
int  mode
 

Check FN access, expanding relative paths and twiddles.

Parameters:
FN file path to check
path colon separated search path (NULL uses $PATH)
mode type of access(2) to check (0 uses X_OK)
Returns:
0 if accessible

Definition at line 3743 of file rpmio.c.

References alloca_strdup, and X_OK.

Referenced by rpmtsCreate(), and unsatisfiedDepend().

int rpmioMkpath const char *  path,
mode_t  mode,
uid_t  uid,
gid_t  gid
 

Insure that directories in path exist, creating as needed.

Parameters:
path directory path
mode directory mode (if created)
uid directory uid (if created), or -1 to skip
gid directory uid (if created), or -1 to skip
Returns:
0 on success, errno (or -1) on error

Definition at line 3686 of file rpmio.c.

References alloca(), errno, Mkdir(), Stat(), and stpcpy().

Referenced by db3open(), and makeTempFile().

int Stat const char *  path,
struct stat *  st
 

stat(2) clone.

Definition at line 1302 of file rpmrpc.c.

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

Referenced by buildForTarget(), db3open(), Fts_open(), Glob(), packageBinaries(), processSourceFiles(), rpmdsSysinfo(), rpmioFileExists(), rpmioMkpath(), and rpmMkdirPath().

int Symlink const char *  oldpath,
const char *  newpath
 

symlink(3) clone.

Todo:
Implement remotely.

Definition at line 1548 of file rpmrpc.c.

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

int timedRead FD_t  fd,
void *  bufptr,
int  length
 

int ufdCopy FD_t  sfd,
FD_t  tfd
 

Definition at line 1529 of file rpmio.c.

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

Referenced by ufdGetFile().

int ufdGetFile FD_t  sfd,
FD_t  tfd
 

Definition at line 1640 of file rpmio.c.

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

Referenced by urlGetFile().

void* ufdGetUrlinfo FD_t  fd  ) 
 

Definition at line 1918 of file rpmio.c.

References FDSANE, _FD_s::url, and urlLink.

int Unlink const char *  path  ) 
 

unlink(2) clone.

Definition at line 303 of file rpmrpc.c.

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

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

const char* urlStrerror const char *  url  ) 
 

Definition at line 770 of file rpmio.c.

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

int Utime const char *  path,
const struct utimbuf *  buf
 

utime(2) clone.

Todo:
Implement remotely.

Definition at line 1494 of file rpmrpc.c.

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

Referenced by rpmdbExportInfo().

int Utimes const char *  path,
const struct timeval *  times
 

utimes(2) clone.

Todo:
Implement remotely.

static int xisalnum int  c  )  [inline, static]
 

Definition at line 790 of file rpmio.h.

References xisalpha(), and xisdigit().

Referenced by expandMacro(), parseRCPOT(), rdToken(), rpmdsPipe(), rpmdsSysinfoFile(), and xispunct().

static int xisalpha int  c  )  [inline, static]
 

Definition at line 784 of file rpmio.h.

References xislower(), and xisupper().

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

static int xisascii int  c  )  [inline, static]
 

Definition at line 802 of file rpmio.h.

Referenced by xisgraph(), and xisprint().

static int xisblank int  c  )  [inline, static]
 

Definition at line 793 of file rpmio.h.

Referenced by xisspace().

static int xiscntrl int  c  )  [inline, static]
 

Definition at line 799 of file rpmio.h.

static int xisdigit int  c  )  [inline, static]
 

Definition at line 787 of file rpmio.h.

Referenced by defaultMachine(), dpkgEVRcmp(), dpkgEVRctype(), getHostAddress(), parseFormat(), rdToken(), rpmds_ParseEVR(), rpmEVRcmp(), rpmEVRparse(), rpmnsClassify(), rpmtsInitIterator(), unsatisfiedDepend(), and xisalnum().

static int xisgraph int  c  )  [inline, static]
 

Definition at line 808 of file rpmio.h.

References xisascii().

Referenced by xispunct().

static int xislower int  c  )  [inline, static]
 

Definition at line 778 of file rpmio.h.

Referenced by xisalpha(), and xtoupper().

static int xisprint int  c  )  [inline, static]
 

Definition at line 805 of file rpmio.h.

References xisascii().

static int xispunct int  c  )  [inline, static]
 

Definition at line 811 of file rpmio.h.

References xisalnum(), and xisgraph().

Referenced by xisrpmalpha().

static int xisspace int  c  )  [inline, static]
 

Definition at line 796 of file rpmio.h.

References xisblank().

static int xisupper int  c  )  [inline, static]
 

Definition at line 781 of file rpmio.h.

Referenced by xisalpha(), and xtolower().

static int xtolower int  c  )  [inline, static]
 

Definition at line 815 of file rpmio.h.

References xisupper().

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

static int xtoupper int  c  )  [inline, static]
 

Definition at line 818 of file rpmio.h.

References xislower().


Variable Documentation

FDIO_t bzdio
 

Referenced by fdbg().

FDIO_t fadio
 

FDIO_t fdio
 

Definition at line 538 of file rpmio.c.

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

FDIO_t fpio
 

Definition at line 3937 of file rpmio.c.

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

char*(* Getpass)(const char *prompt)
 

Return a password.

Parameters:
prompt prompt string
Returns:
password

Definition at line 667 of file rpmio.h.

FDIO_t gzdio
 

Referenced by fdbg().

FDIO_t lzdio
 

Definition at line 3109 of file rpmio.c.

Referenced by fdbg(), Fdopen(), Ferror(), getFdErrstr(), lzdFileno(), lzdReadOpen(), and lzdWriteOpen().

FDIO_t ufdio
 

Definition at line 2336 of file rpmio.c.

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


Generated on Tue Sep 4 14:27:11 2007 for rpm by  doxygen 1.4.6