rpm
5.2.1
|
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <rpmiotypes.h>
#include <rpmzlog.h>
Go to the source code of this file.
Data Structures | |
struct | FDIO_s |
Typedefs | |
typedef struct _FD_s * | FD_t |
typedef struct FDIO_s * | FDIO_t |
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_fopen_function_t )(const char *path, const char *fmode) |
typedef FD_t(* | fdio_fdopen_function_t )(void *cookie, const char *fmode) |
typedef int(* | fdio_flush_function_t )(void *cookie) |
Functions | |
void | rpmioClean (void) |
Free all memory allocated by rpmio usage. | |
rpmioPool | rpmioFreePool (rpmioPool pool) |
Reclaim memory pool items. | |
rpmioPool | rpmioNewPool (const char *name, size_t size, int limit, int flags, const char *(*dbg)(void *item), void(*init)(void *item), void(*fini)(void *item)) |
Create a memory pool. | |
rpmioItem | rpmioUnlinkPoolItem (rpmioItem item, const char *msg, const char *fn, unsigned ln) |
Decrement a pool item refcount. | |
rpmioItem | rpmioLinkPoolItem (rpmioItem item, const char *msg, const char *fn, unsigned ln) |
Increment a pool item refcount. | |
void * | rpmioFreePoolItem (rpmioItem item, const char *msg, const char *fn, unsigned ln) |
Free a pool item. | |
rpmioItem | rpmioGetPool (rpmioPool pool, size_t size) |
Get unused item from pool, or alloc a new item. | |
rpmioItem | rpmioPutPool (rpmioItem item) |
Put unused item into pool (or free). | |
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. | |
Variables | |
rpmioPool | _fdPool |
RPMRPC Interface. | |
const char * | _chroot_prefix |
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 | Open (const char *path, int flags, mode_t mode) |
open(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 | Fstat (FD_t fd, struct stat *st) |
fstat(2) clone. | |
int | Chown (const char *path, uid_t owner, gid_t group) |
chown(2) clone. | |
int | Fchown (FD_t fd, uid_t owner, gid_t group) |
fchown(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 | Fchmod (FD_t fd, mode_t mode) |
fchmod(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) |
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), void *_pglob) |
glob(3) clone. | |
void | Globfree (void *_pglob) |
globfree(3) clone. | |
DIR * | Opendir (const char *path) |
opendir(3) clone. | |
struct dirent * | Readdir (DIR *dir) |
readdir(3) clone. | |
int | Closedir (DIR *dir) |
closedir(3) clone. | |
char * | Realpath (const char *path, char *resolved_path) |
realpath(3) clone. | |
off_t | Lseek (int fdno, off_t offset, int whence) |
lseek(2) clone. | |
RPMIO Utilities. | |
#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 | fdOpen(_path, _flags, _mode) fdio->_open((_path), (_flags), (_mode)) |
#define | fdLink(_fd, _msg) ((FD_t)rpmioLinkPoolItem((rpmioItem)(_fd), _msg, __FILE__, __LINE__)) |
#define | fdFree(_fd, _msg) ((FD_t)rpmioFreePoolItem((rpmioItem)(_fd), _msg, __FILE__, __LINE__)) |
#define | fdNew(_msg) XfdNew(_msg, __FILE__, __LINE__) |
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... | |
typedef enum ftperrCode_e | ftperrCode |
FTP and HTTP error codes. | |
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 | xzdio |
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) |
FD_t | fdLink (void *cookie, const char *msg) |
FD_t | fdFree (FD_t fd, const char *msg) |
FD_t | fdNew (const char *msg) |
FD_t | XfdNew (const char *msg, const char *fn, unsigned ln) |
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) |
Definition in file rpmio.h.
#define fdRead | ( | _fd, | |
_buf, | |||
_count | |||
) | fdio->read((_fd), (_buf), (_count)) |
#define fdWrite | ( | _fd, | |
_buf, | |||
_count | |||
) | fdio->write((_fd), (_buf), (_count)) |
typedef int(* fdio_close_function_t)(void *cookie) |
typedef FD_t(* fdio_fdopen_function_t)(void *cookie, const char *fmode) |
typedef int(* fdio_flush_function_t)(void *cookie) |
typedef FD_t(* fdio_fopen_function_t)(const char *path, const char *fmode) |
typedef ssize_t(* fdio_read_function_t)(void *cookie, char *buf, size_t nbytes) |
typedef int(* fdio_seek_function_t)(void *cookie, _libio_pos_t pos, int whence) |
typedef ssize_t(* fdio_write_function_t)(void *cookie, const char *buf, size_t nbytes) |
typedef enum ftperrCode_e ftperrCode |
FTP and HTTP error codes.
enum ftperrCode_e |
FTP and HTTP error codes.
int __fdClose | ( | 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 | ||
) |
char* _GetPass | ( | const char * | prompt | ) |
Definition at line 79 of file rpmku.c.
References _free(), _kuKeyring, and rpmExpand().
char* _RequestPass | ( | const char * | prompt | ) |
Definition at line 113 of file rpmku.c.
References argvSplit().
int Access | ( | const char * | path, |
int | amode | ||
) |
access(2) clone.
Definition at line 1755 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 createDir(), main(), repoTestSetupDirs(), rpmdbRebuild(), and rpmioAccess().
int Chdir | ( | const char * | path | ) |
chdir(2) clone.
Definition at line 103 of file rpmrpc.c.
References _rpmio_debug, 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 enterChroot(), getOutputFrom(), leaveChroot(), rpmpsmStage(), rpmtsRun(), and runScript().
int Chmod | ( | const char * | path, |
mode_t | mode | ||
) |
chmod(2) clone.
Definition at line 1526 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 compare(), iosmStage(), mtreeMiss(), rpmdbMoveDatabase(), and sql_open().
int Chown | ( | const char * | path, |
uid_t | owner, | ||
gid_t | group | ||
) |
chown(2) clone.
Definition at line 1447 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 compare(), createDir(), iosmStage(), mtreeMiss(), rpmdbMoveDatabase(), and rpmioMkpath().
int Chroot | ( | const char * | path | ) |
chroot(2) clone.
Definition at line 172 of file rpmrpc.c.
References _chroot_prefix, _free(), _rpmio_debug, errno, rpmGetPath(), 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 enterChroot(), leaveChroot(), rpmpsmStage(), rpmtsRun(), and runScript().
int Closedir | ( | DIR * | dir | ) |
closedir(3) clone.
Definition at line 1930 of file rpmrpc.c.
References _rpmio_debug, and avClosedir().
Referenced by Fts_open(), Glob(), and repoDoFinalMove().
int Fchmod | ( | FD_t | fd, |
mode_t | mode | ||
) |
fchmod(2) clone.
Definition at line 1552 of file rpmrpc.c.
References _rpmio_debug, errno, fdGetOPath(), Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().
int Fchown | ( | FD_t | fd, |
uid_t | owner, | ||
gid_t | group | ||
) |
fchown(2) clone.
Definition at line 1473 of file rpmrpc.c.
References _rpmio_debug, errno, fdGetOPath(), Fileno(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath().
int Fclose | ( | FD_t | fd | ) |
fclose(3) clone.
Definition at line 2456 of file rpmio.c.
References FDIO_s::close, davDisconnect(), DBGIO, fdbg(), fdClose, fdFree(), fdGetFdno(), fdGetFILE, FDIOVEC, fdLink(), _FDSTACK_s::fdno, fdPop(), FDSANE, fdSetFp(), _FDSTACK_s::fp, fpio, _FD_s::fps, _FDSTACK_s::io, _FD_s::nfps, noLibio, _FD_s::persist, _FD_s::req, and ufdClose().
Referenced by addFileToTagAux(), closeCallback(), closeSpec(), compare(), cpio_doio(), dodigest(), doIcon(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), readLineFromOFI(), repoFclose(), repoReadHeader(), rpmcliSign(), rpmdbExportInfo(), rpmdcFiniFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_dealloc(), rpmfd_free(), rpmfd_init(), rpmgiFini(), rpmgiLoadManifest(), rpmgiNext(), rpmgiOpen(), rpmgiReadHeader(), rpmHeaderFromFD(), rpmHeaderFromFile(), rpmHeaderToFD(), rpmHeaderToFile(), rpmInstallSource(), rpmInstallSourcePackage(), rpmiobSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmShowProgress(), rpmSingleHeaderFromFD(), rpmTempFile(), rpmts_dealloc(), rpmts_free(), rpmts_HdrFromFdno(), rpmtsCallback(), rpmtsRollback(), rpmtsSolve(), runScript(), showVerifyPackage(), statFormat(), ufdGetFile(), unsatisfiedDepend(), urlFini(), urlGetFile(), and writeRPM().
int Fcntl | ( | FD_t | fd, |
int | op, | ||
void * | lip | ||
) |
FD_t fdDup | ( | int | fdno | ) |
Definition at line 249 of file rpmio.c.
References DBGIO, fdbg(), fdNew(), fdSetFdno(), and fdSetOpen().
Referenced by cpio_doio(), dodigest(), main(), rpmHeaderFromFD(), rpmHeaderToFD(), rpmpsmStage(), rpmSingleHeaderFromFD(), rpmts_HdrFromFdno(), rpmts_setattro(), rpmtsCallback(), runScript(), showVerifyPackage(), and ufdOpen().
FD_t fdLink | ( | void * | cookie, |
const char * | msg | ||
) |
FD_t fdNew | ( | const char * | msg | ) |
Referenced by __fdOpen(), fdDup(), ftpOpen(), httpOpen(), packageBinaries(), packageSources(), and urlConnect().
Definition at line 2640 of file rpmio.c.
References FDIO_s::_fdopen, _rpmio_debug, bzdio, FDIO_s::close, cvtfmode(), DBGIO, fdbg(), fdGetFp(), fdio, fdLink(), fdPush(), FDSANE, fdSetFp(), Fileno(), fpio, gzdio, lzdio, noLibio, FDIO_s::read, FDIO_s::seek, stpcpy(), ufdio, FDIO_s::write, and xzdio.
Referenced by cpio_doio(), Fopen(), main(), rpmpsmStage(), and rpmReadPackageManifest().
int fdReadable | ( | FD_t | fd, |
int | secs | ||
) |
Definition at line 605 of file rpmio.c.
References errno, fdFileno(), and _FD_s::req.
Referenced by fdFgets(), ftpAbort(), ufdClose(), and ufdRead().
int fdWritable | ( | FD_t | fd, |
int | secs | ||
) |
Definition at line 550 of file rpmio.c.
References _rpmio_debug, errno, fdFileno(), and _FD_s::req.
Referenced by checkResponse(), ftpLogin(), httpReq(), and ufdWrite().
int Ferror | ( | FD_t | fd | ) |
ferror(3) clone.
Definition at line 2864 of file rpmio.c.
References bzdio, DBGIO, _FD_s::errcookie, fdbg(), fdFileno(), fdGetFILE, fpio, _FD_s::fps, gzdio, _FDSTACK_s::io, lzdio, _FD_s::nfps, _FD_s::req, _FD_s::syserrno, and xzdio.
Referenced by addFileToTagAux(), compare(), cpio_copy(), crc(), dodigest(), doIcon(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), repoReadHeader(), repoRfileDigest(), rpmcliSign(), rpmdcCalcFile(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmReadPackageManifest(), rpmShowProgress(), rpmTempFile(), rpmtsSolve(), rpmWriteHeader(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
int Fflush | ( | FD_t | fd | ) |
fflush(3) clone.
Definition at line 2836 of file rpmio.c.
References FDIO_s::_flush, bzdio, fdGetFILE, fdGetFp(), fdGetIo(), fpio, gzdio, lzdio, and xzdio.
Referenced by copyFile(), cpio_doio(), extractRegular(), rpmdcPrintFile(), rpmpsmStage(), and writeRPM().
int Fileno | ( | FD_t | fd | ) |
fileno(3) clone.
Definition at line 2911 of file rpmio.c.
References DBGIO, fdbg(), _FDSTACK_s::fdno, _FD_s::fps, _FD_s::nfps, and _FD_s::req.
Referenced by cpio_doio(), extractRegular(), Fchmod(), Fchown(), Fcntl(), Fdopen(), Fstat(), printSize(), repoRfileDigest(), rpmiobSlurp(), rpmpsmStage(), rpmTempFile(), rpmtsCallback(), runScript(), ufdOpen(), writeFile(), and writeRPM().
FD_t Fopen | ( | const char * | path, |
const char * | fmode | ||
) |
fopen(3) clone.
Definition at line 2755 of file rpmio.c.
References _free(), _rpmio_debug, cvtfmode(), fdClose, fdFileno(), fdGetFdno(), fdGetFp(), fdOpen, Fdopen(), fdPush(), fpio, _FD_s::req, rpmExpand(), 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(), compare(), dodigest(), doIcon(), IDTXglob(), iosmStage(), isCompressed(), main(), makeGPGSignature(), makeHDRSignature(), manageFile(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), readLineFromOFI(), repoDoRepoMetadata(), repoOpenMDFile(), repoReadHeader(), repoRfileDigest(), rpmcliSign(), rpmdbExportInfo(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmdsSysinfoFile(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmHeaderFromFile(), rpmHeaderToFile(), rpmInstallSource(), rpmiobSlurp(), rpmLoadMacroFile(), rpmpsmStage(), rpmShowProgress(), rpmTempFile(), rpmtsRollback(), rpmtsSolve(), runScript(), statFormat(), unsatisfiedDepend(), urlGetFile(), and writeRPM().
size_t Fread | ( | void * | buf, |
size_t | size, | ||
size_t | nmemb, | ||
FD_t | fd | ||
) |
fread(3) clone.
Definition at line 2379 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::read.
Referenced by compare(), copyFile(), cpio_copy(), crc(), dodigest(), doIcon(), iosmStage(), isCompressed(), makeGPGSignature(), mtreeVisitF(), readFile(), repoReadHeader(), repoRfileDigest(), rpmdcCalcFile(), rpmiobSlurp(), rpmReadPackageFile(), statFormat(), ufdCopy(), unsatisfiedDepend(), and writeRPM().
int Fseek | ( | FD_t | fd, |
_libio_off_t | offset, | ||
int | whence | ||
) |
int Fstat | ( | FD_t | fd, |
struct stat * | st | ||
) |
fstat(2) clone.
Definition at line 1397 of file rpmrpc.c.
References _rpmio_debug, _FD_s::contentLength, errno, fdGetOPath(), Fileno(), hashFunctionString(), _FD_s::lastModified, 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 printSize(), rpmiobSlurp(), and rpmReadHeader().
const char* Fstrerror | ( | FD_t | fd | ) |
strerror(3) clone.
Definition at line 2368 of file rpmio.c.
References errno, FDSANE, and getFdErrstr().
Referenced by compare(), copyFile(), cpio_copy(), doIcon(), IDTXglob(), isCompressed(), main(), manageFile(), mtreeReadExcludes(), mtreeVisitF(), processPackageFiles(), rdLead(), readFile(), readLineFromOFI(), repoOpenMDFile(), repoReadHeader(), rfileXMLWrite(), rpmcliSign(), rpmdcInitFile(), rpmdcParseCoreutils(), rpmfd_Fopen(), rpmfd_init(), rpmgiOpen(), rpmInstallSource(), rpmpsmStage(), rpmReadPackageFile(), rpmReadPackageManifest(), rpmReSign(), rpmShowProgress(), rpmtsSolve(), rpmWriteHeader(), statFormat(), urlGetFile(), and writeRPM().
const char* ftpStrerror | ( | int | errorNumber | ) |
Definition at line 723 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(), ftpReq(), httpReq(), prepFetch(), 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 2401 of file rpmio.c.
References DBGIO, fdbg(), fdGetFILE, fdGetIo(), FDIOVEC, FDSANE, fpio, and FDIO_s::write.
Referenced by copyFile(), cpio_copy(), iosmStage(), main(), repoOpenMDFile(), rfileXMLWrite(), rpmdcPrintFile(), rpmWriteHeader(), runScript(), ufdCopy(), writeRPM(), wrLead(), and wrSignature().
int Glob | ( | const char * | pattern, |
int | flags, | ||
int | errfuncconst char *epath, int eerrno, | ||
void * | _pglob | ||
) |
glob(3) clone.
Definition at line 1832 of file rpmrpc.c.
References _rpmio_debug, Closedir(), getenv(), glob_t::gl_closedir, glob_t::gl_lstat, glob_t::gl_opendir, glob_t::gl_readdir, glob_t::gl_stat, glob, GLOB_ALTDIRFUNC, GLOB_TILDE, 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 | ||
) |
int Glob_pattern_p | ( | const char * | pattern, |
int | quote | ||
) |
glob_pattern_p(3) clone.
Definition at line 1786 of file rpmrpc.c.
References URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, and urlPath().
Referenced by handleOneTrigger(), initGlobs(), processBinaryFile(), rpmdbTriggerGlobs(), rpmGlob(), and runImmedTriggers().
void Globfree | ( | void * | _pglob | ) |
globfree(3) clone.
Definition at line 1876 of file rpmrpc.c.
References _rpmio_debug, and globfree.
Referenced by rpmGlob().
int Lchown | ( | const char * | path, |
uid_t | owner, | ||
gid_t | group | ||
) |
lchown(2) clone.
Definition at line 1500 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().
Referenced by iosmStage().
int Link | ( | const char * | oldpath, |
const char * | newpath | ||
) |
link(2) clone.
Definition at line 317 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().
Referenced by iosmStage().
off_t Lseek | ( | int | fdno, |
off_t | offset, | ||
int | whence | ||
) |
lseek(2) clone.
Definition at line 2027 of file rpmrpc.c.
References _rpmio_debug.
int Lstat | ( | const char * | path, |
struct stat * | st | ||
) |
lstat(2) clone.
Definition at line 1363 of file rpmrpc.c.
References _rpmio_debug, davLstat(), 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(), iosmStage(), main(), prepFetch(), rpmfiDecideFate(), rpmQueryVerify(), rpmtsRun(), rpmVerifyFile(), and statFormat().
int Mkdir | ( | const char * | path, |
mode_t | mode | ||
) |
mkdir(2) clone.
Definition at line 72 of file rpmrpc.c.
References _rpmio_debug, davMkdir(), 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 iosmStage(), mtreeMiss(), repoMkdir(), rpmdbRebuild(), rpmioMkpath(), and rpmMkdirPath().
int Mkfifo | ( | const char * | path, |
mode_t | mode | ||
) |
mkfifo(3) clone.
Definition at line 1579 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 iosmStage().
int Mknod | ( | const char * | path, |
mode_t | mode, | ||
dev_t | dev | ||
) |
mknod(3) clone.
Definition at line 1605 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 iosmStage().
int Open | ( | const char * | path, |
int | flags, | ||
mode_t | mode | ||
) |
open(2) clone.
Definition at line 210 of file rpmrpc.c.
References _chroot_prefix, _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 db_init().
DIR* Opendir | ( | const char * | path | ) |
opendir(3) clone.
Definition at line 1884 of file rpmrpc.c.
References _rpmio_debug, davOpendir(), 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(), Glob(), and repoDoFinalMove().
struct dirent* Readdir | ( | DIR * | dir | ) | [read] |
readdir(3) clone.
Definition at line 1919 of file rpmrpc.c.
References _rpmio_debug, and avReaddir().
Referenced by Fts_open(), Glob(), and repoDoFinalMove().
int Readlink | ( | const char * | path, |
char * | buf, | ||
size_t | bufsiz | ||
) |
readlink(2) clone.
Definition at line 1717 of file rpmrpc.c.
References _rpmio_debug, 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(), iosmStage(), rlink(), rpmfiDecideFate(), rpmVerifyFile(), and statFormat().
char* Realpath | ( | const char * | path, |
char * | resolved_path | ||
) |
realpath(3) clone.
Definition at line 1941 of file rpmrpc.c.
References _free(), _rpmio_debug, davRealpath(), ftpRealpath(), PATH_MAX, realpath(), rpmExpand(), rpmGetPath(), URL_IS_DASH, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), and xstrdup().
Referenced by doLookup(), main(), repoDoPkgMetadata(), repoRealpath(), rpmdbURIPath(), rpmQueryVerify(), and rpmReadHeader().
int Rename | ( | const char * | oldpath, |
const char * | newpath | ||
) |
rename(2) clone.
Definition at line 260 of file rpmrpc.c.
References _rpmio_debug, davRename(), 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().
Referenced by iosmStage(), repoDoFinalMove(), repoDoRepoMetadata(), rpmdbMoveDatabase(), and rpmReSign().
int Rmdir | ( | const char * | path | ) |
rmdir(2) clone.
Definition at line 138 of file rpmrpc.c.
References _rpmio_debug, davRmdir(), 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 buildSpec(), iosmStage(), mtreeVWalk(), repoDoFinalMove(), rpmdbRebuild(), and rpmdbRemoveDatabase().
int rpmioAccess | ( | const char * | FN, |
const char * | path, | ||
int | mode | ||
) |
Check FN access, expanding relative paths and twiddles.
FN | file path to check |
path | colon separated search path (NULL uses $PATH) |
mode | type of access(2) to check (0 uses X_OK) |
Definition at line 2992 of file rpmio.c.
References _path, _rpmio_debug, Access(), alloca_strdup, F_OK, getenv(), R_OK, rpmCleanPath(), stpcpy(), W_OK, and X_OK.
Referenced by rpmtsPRCO(), and unsatisfiedDepend().
void rpmioClean | ( | void | ) |
Free all memory allocated by rpmio usage.
Definition at line 3133 of file rpmio.c.
References _digPool, _htPool, _mirePool, _rpmiobPool, _rpmluaPool, _rpmluavPool, _rpmmgPool, _urlPool, _xarPool, davDestroy(), rpmioFreePool(), rpmlogClose(), rpmluaFree(), and urlFreeCache().
Referenced by rpmcliFini(), and rpmioFini().
Reclaim memory pool items.
pool | memory pool (NULL uses global rpmio pool) |
Definition at line 68 of file rpmmalloc.c.
References _free(), _rpmioPool, D_, rpmioPool_s::have, rpmioPool_s::head, rpmioPool_s::made, rpmioPool_s::name, rpmioItem_s::pool, rpmioPool_s::reused, rpmlog(), RPMLOG_DEBUG, and rpmioItem_s::use.
Referenced by rpmcliFini(), and rpmioClean().
void* rpmioFreePoolItem | ( | rpmioItem | item, |
const char * | msg, | ||
const char * | fn, | ||
unsigned | ln | ||
) |
Free a pool item.
item | pool item |
msg | debugging msg (NULL disables debugging) |
fn | usually __FILE__ |
ln | usually __LINE__ |
Definition at line 170 of file rpmmalloc.c.
References rpmioPool_s::dbg, rpmioPool_s::fini, rpmioPool_s::flags, L, rpmioPool_s::name, rpmioItem_s::pool, rpmioPutPool(), and rpmioItem_s::use.
Referenced by mireFreeAll(), rpmmiInit(), and urlFini().
Get unused item from pool, or alloc a new item.
pool | memory pool (NULL will always alloc a new item) |
size | item size |
Definition at line 201 of file rpmmalloc.c.
References rpmioPool_s::have, rpmioPool_s::head, rpmioPool_s::limit, rpmioPool_s::made, rpmioItem_s::pool, rpmioPool_s::reused, rpmioPool_s::tail, rpmioItem_s::use, and xcalloc().
Referenced by digGetPool(), fdGetPool(), headerGetPool(), htGetPool(), mireGetPool(), rpmdbGetPool(), rpmdsGetPool(), rpmfcGetPool(), rpmfiGetPool(), rpmgiGetPool(), rpmiobGetPool(), rpmmgGetPool(), rpmmiGetPool(), rpmpsGetPool(), rpmpsmGetPool(), rpmsxGetPool(), rpmteGetPool(), rpmtsGetPool(), rpmtsiGetPool(), rpmxarGetPool(), and urlGetPool().
Increment a pool item refcount.
item | pool item |
msg | debugging msg (NULL disables debugging) |
fn | usually __FILE__ |
ln | usually __LINE__ |
Definition at line 150 of file rpmmalloc.c.
References rpmioPool_s::dbg, rpmioPool_s::flags, rpmioPool_s::name, rpmioItem_s::pool, and rpmioItem_s::use.
Referenced by rpmmiInit(), XfdNew(), XrpmtsiInit(), and XurlNew().
int rpmioMkpath | ( | const char * | path, |
mode_t | mode, | ||
uid_t | uid, | ||
gid_t | gid | ||
) |
Insure that directories in path exist, creating as needed.
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 |
Definition at line 2937 of file rpmio.c.
References alloca(), Chown(), D_, errno, Mkdir(), rpmlog(), RPMLOG_DEBUG, Stat(), and stpcpy().
Referenced by db3open(), doSetupMacro(), packageBinaries(), packageSources(), repoMkdir(), rpmTempFile(), and sql_open().
rpmioPool rpmioNewPool | ( | const char * | name, |
size_t | size, | ||
int | limit, | ||
int | flags, | ||
const char *(*)(void *item) | dbg, | ||
void(*)(void *item) | init, | ||
void(*)(void *item) | fini | ||
) |
Create a memory pool.
name | pool name |
size | item size |
limit | no. of items permitted (-1 for unlimited) |
flags | debugging flags |
(*dbg)() | generate string for Unlink/Link/Free debugging |
(*init)() | create item contents |
(*fini)() | destroy item contents |
Definition at line 102 of file rpmmalloc.c.
References D_, rpmioPool_s::dbg, rpmioPool_s::fini, rpmioPool_s::flags, rpmioPool_s::have, rpmioPool_s::head, rpmioPool_s::init, rpmioPool_s::limit, rpmioPool_s::made, name, rpmioPool_s::name, rpmioPool_s::pool, rpmioPool_s::reused, rpmlog(), RPMLOG_DEBUG, rpmioPool_s::size, rpmioPool_s::tail, xcalloc(), and rpmioPool_s::zlog.
Referenced by digGetPool(), fdGetPool(), headerGetPool(), htGetPool(), mireGetPool(), rpmdbGetPool(), rpmdsGetPool(), rpmfcGetPool(), rpmfiGetPool(), rpmgiGetPool(), rpmiobGetPool(), rpmmgGetPool(), rpmmiGetPool(), rpmpsGetPool(), rpmpsmGetPool(), rpmsxGetPool(), rpmteGetPool(), rpmtsGetPool(), rpmtsiGetPool(), rpmxarGetPool(), and urlGetPool().
Put unused item into pool (or free).
_item | unused item |
Definition at line 239 of file rpmmalloc.c.
References _free(), rpmioPool_s::have, rpmioItem_s::pool, rpmioPool_s::tail, and rpmioItem_s::use.
Referenced by headerLoad(), rpmdbClose(), rpmdbNew(), rpmioFreePoolItem(), and rpmpsFree().
Decrement a pool item refcount.
item | pool item |
msg | debugging msg (NULL disables debugging) |
fn | usually __FILE__ |
ln | usually __LINE__ |
Definition at line 129 of file rpmmalloc.c.
References rpmioPool_s::dbg, rpmioPool_s::flags, rpmioPool_s::name, rpmioItem_s::pool, and rpmioItem_s::use.
int Stat | ( | const char * | path, |
struct stat * | st | ||
) |
stat(2) clone.
Definition at line 1329 of file rpmrpc.c.
References _rpmio_debug, davStat(), 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 cacheStashLatest(), db3open(), Fts_open(), getFilesystemList(), Glob(), iosmStage(), main(), makeGPGSignature(), mtreeMiss(), packageBinaries(), populateInstallHeader(), processSourceFiles(), rpmAddSignature(), rpmcliEvalSlurp(), rpmdbMoveDatabase(), rpmdsSysinfo(), rpmGetFilesystemUsage(), rpmioExists(), rpmioFileExists(), rpmioMkpath(), and rpmMkdirPath().
int Symlink | ( | const char * | oldpath, |
const char * | newpath | ||
) |
symlink(3) clone.
Definition at line 1687 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 iosmStage(), and mtreeMiss().
Definition at line 1514 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().
void* ufdGetUrlinfo | ( | FD_t | fd | ) |
Definition at line 1895 of file rpmio.c.
References FDSANE, _FD_s::url, and urlLink().
int Unlink | ( | const char * | path | ) |
unlink(2) clone.
Definition at line 367 of file rpmrpc.c.
References _rpmio_debug, davUnlink(), 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 buildSpec(), db3open(), fsmStage(), iosmStage(), isSpecFile(), makeGPGSignature(), makeHDRSignature(), mtreeVWalk(), repoDoFinalMove(), repoDoRepoMetadata(), rpmdbExportInfo(), rpmdbMoveDatabase(), rpmdbRemoveDatabase(), rpmReSign(), rpmtsRollback(), runScript(), sql_close(), urlGetFile(), and writeRPM().
const char* urlStrerror | ( | const char * | url | ) |
Definition at line 778 of file rpmio.c.
References _, errno, ftpStrerror(), urlinfo_s::openError, URL_IS_FTP, URL_IS_HKP, URL_IS_HTTP, URL_IS_HTTPS, urlIsURL(), and urlSplit().
int Utime | ( | const char * | path, |
const struct utimbuf * | buf | ||
) |
Definition at line 1633 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 iosmStage(), rpmdbExportInfo(), and rpmdbMoveDatabase().
int Utimes | ( | const char * | path, |
const struct timeval * | times | ||
) |
FD_t XfdNew | ( | const char * | msg, |
const char * | fn, | ||
unsigned | ln | ||
) |
Definition at line 327 of file rpmio.c.
References _FD_s::bytesRemain, _FD_s::contentDisposition, _FD_s::contentLength, _FD_s::contentType, _FD_s::dig, _FD_s::digests, _FD_s::errcookie, _FD_s::fd_cpioPos, fdGetPool(), FDMAGIC, _FDSTACK_s::fdno, _FD_s::flags, _FDSTACK_s::fp, _FD_s::fps, _FD_s::ftpFileDoneNeeded, _FDSTACK_s::io, _FD_s::lastModified, _FD_s::magic, _FD_s::ndigests, _FD_s::nfps, _FD_s::oflags, _FD_s::omode, _FD_s::opath, _FD_s::rd_timeoutsecs, rpmioLinkPoolItem(), _FD_s::stats, _FD_s::syserrno, ufdio, _FD_s::url, URL_IS_UNKNOWN, _FD_s::urlType, _FD_s::wr_chunked, _FD_s::xar, and xcalloc().
const char* _chroot_prefix |
Definition at line 309 of file rpmio.c.
Referenced by fdGetPool().
char*(* Getpass)(const char *prompt) |
Definition at line 2329 of file rpmio.c.
Referenced by fdbg(), Fdopen(), ftpAbort(), ftpOpen(), httpOpen(), ufdOpen(), urlConnect(), and XfdNew().