The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

rpmio.c (3)
  • >> rpmio.c (3) ( Linux man: Библиотечные вызовы )
  •  

    NAME

    rpmio/rpmio.c -  
     
    

    SYNOPSIS


    #include 'system.h'
    #include <stdarg.h>
    #include <netinet/in.h>
    #include <arpa/inet.h>
    #include 'rpmio_internal.h'
    #include 'ugid.h'
    #include 'rpmmessages.h'
    #include 'debug.h'
     

    Defines


    #define IPPORT_FTP 21

    #define IPPORT_HTTP 80

    #define FDNREFS(fd) (fd ? ((FD_t)fd)->nrefs : -9)

    #define FDTO(fd) (fd ? ((FD_t)fd)->rd_timeoutsecs : -99)

    #define FDCPIOPOS(fd) (fd ? ((FD_t)fd)->fd_cpioPos : -99)

    #define FDONLY(fd) assert(fdGetIo(fd) == fdio)

    #define GZDONLY(fd) assert(fdGetIo(fd) == gzdio)

    #define BZDONLY(fd) assert(fdGetIo(fd) == bzdio)

    #define UFDONLY(fd)

    #define fdGetFILE(_fd) ((FILE *)fdGetFp(_fd))

    #define TIMEOUT_SECS 60

    #define IAC 255

    #define IP 244

    #define DM 242

    #define SHUT_RDWR 1+1

    #define FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL)
     

    Functions


    int inet_aton (const char *cp, struct in_addr *inp)

    void * _free (const void *p)
    Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
    const char * fdbg (FD_t fd)

    off_t fdSize (FD_t fd)

    FD_t fdDup (int fdno)

    int fdSeekNot (void *cookie, _libio_pos_t pos, int whence)

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

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

    FD_t XfdNew (const char *msg, const char *file, unsigned line)

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

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

    int fdSeek (void *cookie, _libio_pos_t pos, int whence)

    int fdClose (void *cookie)

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

    int fdWritable (FD_t fd, int secs)

    int fdReadable (FD_t fd, int secs)

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

    const char *const ftpStrerror (int errorNumber)

    const char * urlStrerror (const char *url)

    int mygethostbyname (const char *host, struct in_addr *address)

    int getHostAddress (const char *host, struct in_addr *address)

    int tcpConnect (FD_t ctrl, const char *host, int port)

    int checkResponse (void *uu, FD_t ctrl, int *ecp, char **str)

    int ftpCheckResponse (urlinfo u, char **str)

    int ftpCommand (urlinfo u, char **str,...)

    int ftpLogin (urlinfo u)

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

    void urlSetCallback (rpmCallbackFunction notify, void *notifyData, int notifyCount)

    int ufdCopy (FD_t sfd, FD_t tfd)

    int urlConnect (const char *url, urlinfo *uret)

    int ufdGetFile (FD_t sfd, FD_t tfd)

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

    int ftpAbort (urlinfo u, FD_t data)

    int ftpFileDone (urlinfo u, FD_t data)

    int httpResp (urlinfo u, FD_t ctrl, char **str)

    int httpReq (FD_t ctrl, const char *httpCmd, const char *httpArg)

    void * ufdGetUrlinfo (FD_t fd)

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

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

    int ufdSeek (void *cookie, _libio_pos_t pos, int whence)

    int ufdClose (void *cookie)

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

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

    FD_t ufdOpen (const char *url, int flags, mode_t mode)

    const char * getFdErrstr (FD_t fd)

    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.
    void cvtfmode (const char *m, char *stdio, size_t nstdio, char *other, size_t nother, const char **end, int *f)
    Convert stdio fmode to open(2) mode, filtering out zlib/bzlib flags.
    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.
    int rpmioSlurp (const char *fn, const byte **bp, ssize_t *blenp)
     

    Variables


    int noLibio = 1

    int ftpTimeoutSecs = 60

    int httpTimeoutSecs = 60

    int _ftp_debug = 0

    int _rpmio_debug = 0

    FDIO_s fdio_s

    FDIO_t fdio = &fdio_s

    FDIO_t fadio

    rpmCallbackFunction urlNotify = NULL

    void * urlNotifyData = NULL

    int urlNotifyCount = -1

    FDIO_s ufdio_s

    FDIO_t ufdio = &ufdio_s

    FDIO_s fpio_s

    FDIO_t fpio = &fpio_s
     

    DETAILED DESCRIPTION

    Definition in file rpmio.c.  

    DEFINE DOCUMENTATION

     

    #define BZDONLY(fd) assert(fdGetIo(fd) == bzdio)

    Definition at line 88 of file rpmio.c.  

    #define DM 242

    Definition at line 1425 of file rpmio.c.

    Referenced by ftpAbort().  

    #define FDCPIOPOS(fd) (fd ? ((FD_t)fd)->fd_cpioPos : -99)

    Definition at line 84 of file rpmio.c.  

    #define fdGetFILE(_fd) ((FILE *)fdGetFp(_fd))

    Definition at line 92 of file rpmio.c.

    Referenced by Fclose(), Ferror(), Fflush(), Fread(), Fseek(), Fwrite(), rdcl(), and ufdClose().  

    #define FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL)

    Definition at line 2596 of file rpmio.c.

    Referenced by Fclose(), Fread(), Fseek(), and Fwrite().  

    #define FDNREFS(fd) (fd ? ((FD_t)fd)->nrefs : -9)

    Definition at line 82 of file rpmio.c.

    Referenced by XfdFree(), and XfdLink().  

    #define FDONLY(fd) assert(fdGetIo(fd) == fdio)

    Definition at line 86 of file rpmio.c.  

    #define FDTO(fd) (fd ? ((FD_t)fd)->rd_timeoutsecs : -99)

    Definition at line 83 of file rpmio.c.  

    #define GZDONLY(fd) assert(fdGetIo(fd) == gzdio)

    Definition at line 87 of file rpmio.c.  

    #define IAC 255

    Definition at line 1419 of file rpmio.c.

    Referenced by ftpAbort().  

    #define IP 244

    Definition at line 1422 of file rpmio.c.

    Referenced by ftpAbort().  

    #define IPPORT_FTP 21

    Definition at line 43 of file rpmio.c.

    Referenced by ftpLogin().  

    #define IPPORT_HTTP 80

    Definition at line 46 of file rpmio.c.  

    #define SHUT_RDWR 1+1

    Definition at line 1428 of file rpmio.c.

    Referenced by ftpAbort().  

    #define TIMEOUT_SECS 60

    Definition at line 103 of file rpmio.c.  

    #define UFDONLY(fd)

    Definition at line 90 of file rpmio.c.

    Referenced by ufdClose(), ufdRead(), and ufdWrite().  

    FUNCTION DOCUMENTATION

     

    void* _free (const void * p) [inline, static]

    Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.

    Parameters:

    p
    memory to free

    Return values:

    NULL
    always

    Definition at line 131 of file rpmio.c.  

    int checkResponse (void * uu, FD_t ctrl, int * ecp, char ** str) [static]

    Definition at line 819 of file rpmio.c.

    References urlinfo_s::buf, urlinfo_s::bufAlloced, fdFgets(), fdWritable(), FTPERR_BAD_SERVER_RESPONSE, urlinfo_s::httpHasRange, urlinfo_s::httpVersion, URLSANE, and xcalloc().

    Referenced by ftpCheckResponse(), and httpResp().  

    void cvtfmode (const char * m, char * stdio, size_t nstdio, char * other, size_t nother, const char ** end, int * f) [inline, static]

    Convert stdio fmode to open(2) mode, filtering out zlib/bzlib flags.

    returns stdio[0] = '\0' on error.

    gzopen: [0-9] is compession level
    gzopen: 'f' is filtered (Z_FILTERED)
    gzopen: 'h' is Huffman encoding (Z_HUFFMAN_ONLY)
    bzopen: [1-9] is block size (modulo 100K)
    bzopen: 's' is smallmode
    HACK: '.' terminates, rest is type of I/O

    Definition at line 2766 of file rpmio.c.

    Referenced by Fdopen(), and Fopen().  

    int Fclose (FD_t fd)

    fclose(3) clone.

    Definition at line 2685 of file rpmio.c.

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

    Referenced by addFileToTagAux(), closeCallback(), closeSpec(), cpio_doio(), db1close(), defaultMachine(), domd5(), doReadRC(), doScript(), fadOpen(), fsmStage(), generateDepends(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rewriteRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), 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 3094 of file rpmio.c.

    References Fileno().

    Referenced by db1open().  

    const char* fdbg (FD_t fd) [static]

    Definition at line 141 of file rpmio.c.

    References bzdio, fadio, fdio, _FDSTACK_s::fdno, _FDSTACK_s::fp, fpio, gzdio, _FDSTACK_s::io, and ufdio.

    Referenced by Fclose(), fdClose(), fdDup(), Fdopen(), fdOpen(), fdRead(), fdSeek(), fdWrite(), Ferror(), Fileno(), Fread(), Fseek(), Fwrite(), ufdOpen(), XfdFree(), and XfdLink().  

    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(), rpmtransSetAttr(), runScript(), showVerifyPackage(), tsCallback(), and ufdOpen().  

    FD_t Fdopen (FD_t ofd, const char * fmode)

    Definition at line 2836 of file rpmio.c.

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

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

    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.  

    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 553 of file rpmio.c.

    References errno, and fdFileno.

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

    int fdSeek (void * cookie, _libio_pos_t pos, int whence) [inline, static]

    Definition at line 431 of file rpmio.c.

    References _libio_pos_t, _FD_s::bytesRemain, c2f(), DBGIO, fdbg(), fdFileno, fdstat_enter(), fdstat_exit(), and FDSTAT_SEEK.

    Referenced by ufdSeek().  

    int fdSeekNot (void * cookie, _libio_pos_t pos, int whence) [inline, static]

    Definition at line 244 of file rpmio.c.

    References _libio_pos_t, c2f(), and FDSANE.  

    int fdWritable (FD_t fd, int secs)

    Definition at line 513 of file rpmio.c.

    References _rpmio_debug, errno, and fdFileno.

    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 3045 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(), fsmStage(), generateDepends(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), runScript(), urlGetFile(), verifyPGPSignature(), and writeRPM().  

    int Fflush (FD_t fd)

    fflush(3) clone.

    Definition at line 3025 of file rpmio.c.

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

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

    int Fileno (FD_t fd)

    fileno(3) clone.

    Definition at line 3080 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(), generateDepends(), makeTempFile(), psmStage(), readPackageHeaders(), runScript(), ufdOpen(), and writeRPM().  

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

    fopen(3) clone.

    Definition at line 2948 of file rpmio.c.

    References FDIO_s::_open, cvtfmode(), 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(), fsmStage(), IDTXglob(), isCompressed(), isSpecFile(), main(), makeGPGSignature(), makePGPSignature(), makeTempFile(), manageFile(), processPackageFiles(), psmStage(), readIcon(), readLine(), readRPM(), rpmInitMacros(), rpmInstall(), rpmInstallSource(), rpmioSlurp(), rpmQueryVerify(), rpmReadRC(), rpmShowProgress(), runScript(), urlGetFile(), verifyPGPSignature(), and writeRPM().  

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

    fread(3) clone.

    Definition at line 2599 of file rpmio.c.

    References DBGIO, fdbg(), fdGetFILE, fdGetIo(), fdio_read_function_t, FDIOVEC, FDSANE, and fpio.

    Referenced by copyFile(), cpio_copy(), defaultMachine(), domd5(), doReadRC(), fsmStage(), 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 2651 of file rpmio.c.

    References _libio_off_t, _libio_pos_t, DBGIO, fdbg(), fdGetFILE, fdGetIo(), fdio_seek_function_t, FDIOVEC, FDSANE, and fpio.

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

    int ftpAbort (urlinfo u, FD_t data) [static]

    Definition at line 1431 of file rpmio.c.

    References DBGIO, DM, fdClose(), fdFileno, fdFree, fdReadable(), fdWrite, ftpCheckResponse(), FTPERR_NIC_ABORT_IN_PROGRESS, FTPERR_SERVER_IO_ERROR, IAC, IP, SHUT_RDWR, timedRead, and URLSANE.

    Referenced by ufdClose().  

    int ftpCheckResponse (urlinfo u, char ** str) [static]

    Definition at line 982 of file rpmio.c.

    References checkResponse(), FTPERR_BAD_SERVER_RESPONSE, FTPERR_FILE_NOT_FOUND, FTPERR_NIC_ABORT_IN_PROGRESS, and URLSANE.

    Referenced by ftpAbort(), ftpCommand(), ftpFileDone(), ftpLogin(), and ftpReq().  

    int ftpCommand (urlinfo u, char ** str, ...) [static]

    Definition at line 1008 of file rpmio.c.

    References alloca(), fdWrite, ftpCheckResponse(), FTPERR_SERVER_IO_ERROR, stpcpy(), and URLSANE.

    Referenced by ftpCmd(), ftpLogin(), and ftpReq().  

    int ftpFileDone (urlinfo u, FD_t data) [static]

    Definition at line 1494 of file rpmio.c.

    References fdFree, ftpCheckResponse(), and URLSANE.

    Referenced by ufdClose().  

    int ftpLogin (urlinfo u) [static]

    Definition at line 1046 of file rpmio.c.

    References alloca(), errno, fdClose(), fdFileno, fdLink, fdSetSyserrno(), fdWritable(), ftpCheckResponse(), ftpCommand(), FTPERR_BAD_HOSTNAME, ftpStrerror(), IPPORT_FTP, tcpConnect(), and URLSANE.

    Referenced by urlConnect().  

    const char* const ftpStrerror (int errorNumber)

    Definition at line 657 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 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 2626 of file rpmio.c.

    References DBGIO, fdbg(), fdGetFILE, fdGetIo(), fdio_write_function_t, FDIOVEC, FDSANE, and fpio.

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

    const char* getFdErrstr (FD_t fd) [static]

    Definition at line 2562 of file rpmio.c.

    References _FD_s::errcookie, fdGetIo(), and _FD_s::syserrno.

    Referenced by Fstrerror().  

    int getHostAddress (const char * host, struct in_addr * address) [static]

    Definition at line 745 of file rpmio.c.

    References errno, FTPERR_BAD_HOST_ADDR, FTPERR_BAD_HOSTNAME, inet_aton(), mygethostbyname(), and xisdigit().

    Referenced by tcpConnect().  

    FD_t httpOpen (const char * url, int flags, mode_t mode, urlinfo * uret) [static]

    Definition at line 1972 of file rpmio.c.

    References _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, urlinfo_s::data, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, httpTimeoutSecs, _FD_s::nrefs, _FD_s::rd_timeoutsecs, ufdio, _FD_s::url, URL_IS_HTTP, urlLink, urlSplit(), and _FD_s::urlType.

    Referenced by ufdOpen().  

    int httpReq (FD_t ctrl, const char * httpCmd, const char * httpArg) [static]

    Definition at line 1536 of file rpmio.c.

    References alloca(), errno, fdClose(), fdFileno, fdLink, fdSetSyserrno(), fdWritable(), fdWrite, FTPERR_BAD_HOSTNAME, FTPERR_SERVER_IO_ERROR, ftpStrerror(), urlinfo_s::host, httpResp(), urlinfo_s::httpVersion, urlinfo_s::port, urlinfo_s::proxyh, urlinfo_s::proxyp, tcpConnect(), urlinfo_s::url, URLSANE, and VERSION.

    Referenced by ufdOpen().  

    int httpResp (urlinfo u, FD_t ctrl, char ** str) [static]

    Definition at line 1512 of file rpmio.c.

    References _ftp_debug, checkResponse(), FTPERR_FILE_NOT_FOUND, and URLSANE.

    Referenced by httpReq(), and ufdClose().  

    int inet_aton (const char * cp, struct in_addr * inp) [static]

    Definition at line 50 of file rpmio.c.

    Referenced by ftpReq(), and getHostAddress().  

    int mygethostbyname (const char * host, struct in_addr * address) [static]

    Definition at line 724 of file rpmio.c.

    Referenced by getHostAddress().  

    int rpmioSlurp (const char * fn, const byte ** bp, ssize_t * blenp)

    Definition at line 3103 of file rpmio.c.

    References Fclose(), fdSize(), Ferror(), Fopen(), Fread(), xmalloc(), and xrealloc().

    Referenced by pgpReadPkts().  

    int tcpConnect (FD_t ctrl, const char * host, int port) [static]

    Definition at line 767 of file rpmio.c.

    References errno, fdSetFdno(), fdSetSyserrno(), FTPERR_FAILED_CONNECT, ftpStrerror(), and getHostAddress().

    Referenced by ftpLogin(), and httpReq().  

    int ufdCopy (FD_t sfd, FD_t tfd)

    Definition at line 1284 of file rpmio.c.

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

    Referenced by main(), and ufdGetFile().  

    int ufdGetFile (FD_t sfd, FD_t tfd)

    Definition at line 1388 of file rpmio.c.

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

    Referenced by urlGetFile().  

    void* ufdGetUrlinfo (FD_t fd)

    Definition at line 1651 of file rpmio.c.

    References FDSANE, _FD_s::url, and urlLink.  

    FD_t ufdOpen (const char * url, int flags, mode_t mode) [static]

    Definition at line 2016 of file rpmio.c.

    References _FD_s::bytesRemain, _FD_s::contentLength, DBGIO, fdbg(), fdDup(), fdLink, fdOpen, fdSetIo(), Fileno(), ftpOpen(), ftpReq(), httpOpen(), httpReq(), urlinfo_s::openError, _FD_s::rd_timeoutsecs, ufdClose(), ufdio, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath(), _FD_s::urlType, urltype, and _FD_s::wr_chunked.

    Referenced by Fopen().  

    ssize_t ufdRead (void * cookie, char * buf, size_t count) [static]

    Definition at line 1660 of file rpmio.c.

    References _FD_s::bytesRemain, c2f(), errno, fdFileno, fdGetIo(), fdRead, fdReadable(), _FD_s::rd_timeoutsecs, and UFDONLY.  

    int ufdSeek (void * cookie, _libio_pos_t pos, int whence) [inline, static]

    Definition at line 1789 of file rpmio.c.

    References _libio_pos_t, c2f(), fdSeek(), URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and _FD_s::urlType.  

    ssize_t ufdWrite (void * cookie, const char * buf, size_t count) [static]

    Definition at line 1724 of file rpmio.c.

    References _FD_s::bytesRemain, c2f(), errno, fdGetFdno(), fdGetIo(), fdWritable(), fdWrite, and UFDONLY.  

    int urlConnect (const char * url, urlinfo * uret) [static]

    Definition at line 1344 of file rpmio.c.

    References _, _FD_s::bytesRemain, _FD_s::contentLength, urlinfo_s::ctrl, fdFileno, fdFree, fdLink, fdNew, fdSetIo(), _FD_s::ftpFileDoneNeeded, ftpLogin(), ftpTimeoutSecs, urlinfo_s::host, urlinfo_s::openError, urlinfo_s::password, _FD_s::rd_timeoutsecs, RPMMESS_DEBUG, rpmMessage, ufdio, _FD_s::url, URL_IS_FTP, urlFree, urlLink, urlSplit(), urlinfo_s::urltype, and urlinfo_s::user.

    Referenced by ftpCmd(), and ftpOpen().  

    void urlSetCallback (rpmCallbackFunction notify, void * notifyData, int notifyCount)

    Definition at line 1278 of file rpmio.c.

    References rpmCallbackFunction, urlNotify, urlNotifyCount, and urlNotifyData.  

    const char* urlStrerror (const char * url)

    Definition at line 701 of file rpmio.c.

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

    FD_t XfdFree (FD_t fd, const char * msg, const char * file, unsigned line) [inline, static]

    Definition at line 301 of file rpmio.c.

    References _free(), DBGREFS, _FD_s::digests, fdbg(), FDNREFS, FDSANE, _FDDIGEST_s::hashctx, _FD_s::ndigests, _FD_s::nrefs, rpmDigestFinal(), and _FD_s::stats.  

    FD_t XfdLink (void * cookie, const char * msg, const char * file, unsigned line) [inline, static]

    Definition at line 281 of file rpmio.c.

    References c2f(), DBGREFS, fdbg(), FDNREFS, and _FD_s::nrefs.

    Referenced by XfdNew().  

    FD_t XfdNew (const char * msg, const char * file, unsigned line) [inline, static]

    Definition at line 329 of file rpmio.c.

    References _FD_s::bytesRemain, _FD_s::contentLength, _FD_s::digests, _FD_s::errcookie, _FD_s::fd_cpioPos, fdio, FDMAGIC, _FDSTACK_s::fdno, _FD_s::fileSize, _FD_s::firstFree, _FD_s::flags, _FDSTACK_s::fp, _FD_s::fps, _FD_s::ftpFileDoneNeeded, _FDSTACK_s::io, _FD_s::magic, _FD_s::ndigests, _FD_s::nfps, _FD_s::nrefs, _FD_s::rd_timeoutsecs, _FD_s::stats, _FD_s::syserrno, _FD_s::url, URL_IS_UNKNOWN, _FD_s::urlType, _FD_s::wr_chunked, xcalloc(), and XfdLink().  

    VARIABLE DOCUMENTATION

     

    int _ftp_debug = 0

    Definition at line 118 of file rpmio.c.

    Referenced by httpResp(), and main().  

    int _rpmio_debug = 0

    Definition at line 123 of file rpmio.c.

    Referenced by fdWritable().  

    FDIO_t fadio

    Definition at line 510 of file rpmio.c.

    Referenced by fdbg().  

    FDIO_t fdio = &fdio_s

    Definition at line 507 of file rpmio.c.

    Referenced by fdbg(), and XfdNew().  

    struct FDIO_s fdio_s [static]

    Initial value:

     {
      fdRead, fdWrite, fdSeek, fdClose, XfdLink, XfdFree, XfdNew, fdFileno,
      fdOpen, NULL, fdGetFp, NULL,  mkdir, chdir, rmdir, rename, unlink
    }
    

    Definition at line 503 of file rpmio.c.  

    FDIO_t fpio = &fpio_s

    Definition at line 3159 of file rpmio.c.

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

    struct FDIO_s fpio_s [static]

    Initial value:

     {
      ufdRead, ufdWrite, fdSeek, ufdClose, XfdLink, XfdFree, XfdNew, fdFileno,
      ufdOpen, NULL, fdGetFp, NULL, Mkdir, Chdir, Rmdir, Rename, Unlink
    }
    

    Definition at line 3155 of file rpmio.c.  

    int ftpTimeoutSecs = 60 [static]

    Definition at line 108 of file rpmio.c.

    Referenced by ftpOpen(), and urlConnect().  

    int httpTimeoutSecs = 60 [static]

    Definition at line 113 of file rpmio.c.

    Referenced by httpOpen().  

    int noLibio = 1

    Definition at line 100 of file rpmio.c.

    Referenced by Fdopen(), main(), and ufdClose().  

    FDIO_t ufdio = &ufdio_s

    Definition at line 2110 of file rpmio.c.

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

    struct FDIO_s ufdio_s [static]

    Initial value:

     {
      ufdRead, ufdWrite, ufdSeek, ufdClose, XfdLink, XfdFree, XfdNew, fdFileno,
      ufdOpen, NULL, fdGetFp, NULL, Mkdir, Chdir, Rmdir, Rename, Unlink
    }
    

    Definition at line 2106 of file rpmio.c.  

    rpmCallbackFunction urlNotify = NULL [static]

    Definition at line 1270 of file rpmio.c.

    Referenced by ufdCopy(), and urlSetCallback().  

    int urlNotifyCount = -1 [static]

    Definition at line 1276 of file rpmio.c.

    Referenced by ufdCopy(), and urlSetCallback().  

    void* urlNotifyData = NULL [static]

    Definition at line 1273 of file rpmio.c.

    Referenced by ufdCopy(), and urlSetCallback().  

    AUTHOR

    Generated automatically by Doxygen for rpm from the source code.


     

    Index

    NAME
    SYNOPSIS
    Defines
    Functions
    Variables
    DETAILED DESCRIPTION
    DEFINE DOCUMENTATION
    #define BZDONLY(fd) assert(fdGetIo(fd) == bzdio)
    #define DM 242
    #define FDCPIOPOS(fd) (fd ? ((FD_t)fd)->fd_cpioPos : -99)
    #define fdGetFILE(_fd) ((FILE *)fdGetFp(_fd))
    #define FDIOVEC(_fd, _vec) ((fdGetIo(_fd) && fdGetIo(_fd)->_vec) ? fdGetIo(_fd)->_vec : NULL)
    #define FDNREFS(fd) (fd ? ((FD_t)fd)->nrefs : -9)
    #define FDONLY(fd) assert(fdGetIo(fd) == fdio)
    #define FDTO(fd) (fd ? ((FD_t)fd)->rd_timeoutsecs : -99)
    #define GZDONLY(fd) assert(fdGetIo(fd) == gzdio)
    #define IAC 255
    #define IP 244
    #define IPPORT_FTP 21
    #define IPPORT_HTTP 80
    #define SHUT_RDWR 1+1
    #define TIMEOUT_SECS 60
    #define UFDONLY(fd)
    FUNCTION DOCUMENTATION
    void* _free (const void * p) [inline, static]
    int checkResponse (void * uu, FD_t ctrl, int * ecp, char ** str) [static]
    void cvtfmode (const char * m, char * stdio, size_t nstdio, char * other, size_t nother, const char ** end, int * f) [inline, static]
    int Fclose (FD_t fd)
    int Fcntl (FD_t fd, int op, void * lip)
    const char* fdbg (FD_t fd) [static]
    int fdClose (void * cookie)
    FD_t fdDup (int fdno)
    FD_t Fdopen (FD_t ofd, const char * fmode)
    FD_t fdOpen (const char * path, int flags, mode_t mode)
    ssize_t fdRead (void * cookie, char * buf, size_t count)
    int fdReadable (FD_t fd, int secs)
    int fdSeek (void * cookie, _libio_pos_t pos, int whence) [inline, static]
    int fdSeekNot (void * cookie, _libio_pos_t pos, int whence) [inline, static]
    int fdWritable (FD_t fd, int secs)
    ssize_t fdWrite (void * cookie, const char * buf, size_t count)
    int Ferror (FD_t fd)
    int Fflush (FD_t fd)
    int Fileno (FD_t fd)
    FD_t Fopen (const char * path, const char * fmode)
    size_t Fread (void * buf, size_t size, size_t nmemb, FD_t fd)
    int Fseek (FD_t fd, _libio_off_t offset, int whence)
    int ftpAbort (urlinfo u, FD_t data) [static]
    int ftpCheckResponse (urlinfo u, char ** str) [static]
    int ftpCommand (urlinfo u, char ** str, ...) [static]
    int ftpFileDone (urlinfo u, FD_t data) [static]
    int ftpLogin (urlinfo u) [static]
    const char* const ftpStrerror (int errorNumber)
    size_t Fwrite (const void * buf, size_t size, size_t nmemb, FD_t fd)
    const char* getFdErrstr (FD_t fd) [static]
    int getHostAddress (const char * host, struct in_addr * address) [static]
    FD_t httpOpen (const char * url, int flags, mode_t mode, urlinfo * uret) [static]
    int httpReq (FD_t ctrl, const char * httpCmd, const char * httpArg) [static]
    int httpResp (urlinfo u, FD_t ctrl, char ** str) [static]
    int inet_aton (const char * cp, struct in_addr * inp) [static]
    int mygethostbyname (const char * host, struct in_addr * address) [static]
    int rpmioSlurp (const char * fn, const byte ** bp, ssize_t * blenp)
    int tcpConnect (FD_t ctrl, const char * host, int port) [static]
    int ufdCopy (FD_t sfd, FD_t tfd)
    int ufdGetFile (FD_t sfd, FD_t tfd)
    void* ufdGetUrlinfo (FD_t fd)
    FD_t ufdOpen (const char * url, int flags, mode_t mode) [static]
    ssize_t ufdRead (void * cookie, char * buf, size_t count) [static]
    int ufdSeek (void * cookie, _libio_pos_t pos, int whence) [inline, static]
    ssize_t ufdWrite (void * cookie, const char * buf, size_t count) [static]
    int urlConnect (const char * url, urlinfo * uret) [static]
    void urlSetCallback (rpmCallbackFunction notify, void * notifyData, int notifyCount)
    const char* urlStrerror (const char * url)
    FD_t XfdFree (FD_t fd, const char * msg, const char * file, unsigned line) [inline, static]
    FD_t XfdLink (void * cookie, const char * msg, const char * file, unsigned line) [inline, static]
    FD_t XfdNew (const char * msg, const char * file, unsigned line) [inline, static]
    VARIABLE DOCUMENTATION
    int _ftp_debug = 0
    int _rpmio_debug = 0
    FDIO_t fadio
    FDIO_t fdio = &fdio_s
    struct FDIO_s fdio_s [static]
    FDIO_t fpio = &fpio_s
    struct FDIO_s fpio_s [static]
    int ftpTimeoutSecs = 60 [static]
    int httpTimeoutSecs = 60 [static]
    int noLibio = 1
    FDIO_t ufdio = &ufdio_s
    struct FDIO_s ufdio_s [static]
    rpmCallbackFunction urlNotify = NULL [static]
    int urlNotifyCount = -1 [static]
    void* urlNotifyData = NULL [static]
    AUTHOR


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру