rpmio/rpmrpc.c(3)

NAME
rpmio/rpmrpc.c -

SYNOPSIS

#include 'system.h'
#include <rpmio_internal.h>
#include <popt.h>
#include 'ugid.h'
#include 'debug.h'

  Defines
#define g_strdup xstrdup
#define g_free free
#define MAXCOLS 30
#define alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s))

  Enumerations
enum ftpSysCall_t { DO_FTP_STAT = 1, DO_FTP_LSTAT = 2, DO_FTP_READLINK = 3, DO_FTP_ACCESS = 4, DO_FTP_GLOB = 5 }

  Functions
int ftpMkdir (const char *path, mode_t mode)
int ftpChdir (const char *path)
int ftpRmdir (const char *path)
int ftpRename (const char *oldpath, const char *newpath)
int ftpUnlink (const char *path)
int Mkdir (const char *path, mode_t mode)
mkdir(2) clone.
int Chdir (const char *path)
chdir(2) clone.
int Rmdir (const char *path)
rmdir(2) clone.
int Rename (const char *oldpath, const char *newpath)
rename(2) clone.
int Link (const char *oldpath, const char *newpath)
link(2) clone.
int Unlink (const char *path)
unlink(2) clone.
int vfs_split_text (char *p)
int is_num (int idx)
int is_dos_date (const char *str)
int is_week (const char *str, struct tm *tim)
int is_month (const char *str, struct tm *tim)
int is_time (const char *str, struct tm *tim)
int is_year (const char *str, struct tm *tim)
int vfs_parse_filetype (char c)
int vfs_parse_filemode (const char *p)
int vfs_parse_filedate (int idx, time_t *t)
int vfs_parse_ls_lga (char *p, struct stat *st, const char **filename, const char **linkname)
int ftpNLST (const char *url, ftpSysCall_t ftpSysCall, struct stat *st, char *rlbuf, size_t rlbufsiz)
int ftpStat (const char *path, struct stat *st)
int ftpLstat (const char *path, struct stat *st)
int ftpReadlink (const char *path, char *buf, size_t bufsiz)
int ftpGlob (const char *path, int flags, int errfunc(const char *epath, int eerno), glob_t *pglob)
void ftpGlobfree (glob_t *pglob)
int Stat (const char *path, struct stat *st)
stat(2) clone.
int Lstat (const char *path, struct stat *st)
lstat(2) 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 (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.
direct * Readdir (DIR *dir)
readdir(3) clone.
int Closedir (DIR *dir)
closedir(3) clone.

  Variables
int _rpmio_debug
int current_mday
int current_mon
int current_year
char * columns [30]
int column_ptr [30]
size_t ftpBufAlloced = 0
char * ftpBuf = NULL

DETAILED DESCRIPTION

Definition in file rpmrpc.c.

DEFINE DOCUMENTATION

  #define alloca_strdup(_s) strcpy(alloca(strlen(_s)+1), (_s))

Definition at line 811 of file rpmrpc.c.

  #define g_free free

Definition at line 256 of file rpmrpc.c.

Referenced by vfs_parse_ls_lga.

  #define g_strdup xstrdup

Definition at line 255 of file rpmrpc.c.

Referenced by vfs_parse_ls_lga.

  #define MAXCOLS 30

Definition at line 269 of file rpmrpc.c.

Referenced by vfs_split_text.

ENUMERATION TYPE DOCUMENTATION

  enum ftpSysCall_t

Enumeration values:

DO_FTP_STAT

DO_FTP_LSTAT

DO_FTP_READLINK

DO_FTP_ACCESS

DO_FTP_GLOB

Definition at line 793 of file rpmrpc.c.

Referenced by ftpNLST.

FUNCTION DOCUMENTATION

  int Access (const char * path, int amode)

access(2) clone.

Definition at line 1137 of file rpmrpc.c.

References URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath.

  int Chdir (const char * path)

chdir(2) clone.

Definition at line 92 of file rpmrpc.c.

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

  int Closedir (DIR * dir)

closedir(3) clone.

Definition at line 1233 of file rpmrpc.c.

Referenced by myftw, and myftw_dir.

  int ftpChdir (const char * path) [static]

Definition at line 36 of file rpmrpc.c.

References ftpCmd.

Referenced by Chdir, and ftpNLST.

  int ftpGlob (const char * path, int flags, int errfunc(const char *epath, int eerno), glob_t * pglob) [static]

Definition at line 1029 of file rpmrpc.c.

References DO_FTP_GLOB, ftpBuf, ftpNLST, and poptParseArgvString.

Referenced by Glob.

  void ftpGlobfree (glob_t * pglob) [static]

Definition at line 1051 of file rpmrpc.c.

Referenced by Globfree.

  int ftpLstat (const char * path, struct stat * st) [static]

Definition at line 1011 of file rpmrpc.c.

References DO_FTP_LSTAT, and ftpNLST.

Referenced by Lstat.

  int ftpMkdir (const char * path, mode_t mode) [static]

Definition at line 20 of file rpmrpc.c.

References ftpCmd.

Referenced by Mkdir.

  int ftpNLST (const char * url, ftpSysCall_t ftpSysCall, struct stat * st, char * rlbuf, size_t rlbufsiz) [static]

Definition at line 814 of file rpmrpc.c.

References alloca_strdup, DO_FTP_ACCESS, DO_FTP_GLOB, DO_FTP_LSTAT, DO_FTP_READLINK, DO_FTP_STAT, fdFgets, fdLink, ftpBuf, ftpBufAlloced, ftpChdir, ftpOpen, ftpReq, ftpSysCall_t, urlinfo_s::openError, ufdClose, urlPath, vfs_parse_ls_lga, xcalloc, and xrealloc.

Referenced by ftpGlob, ftpLstat, ftpReadlink, and ftpStat.

  int ftpReadlink (const char * path, char * buf, size_t bufsiz) [static]

Definition at line 1022 of file rpmrpc.c.

References DO_FTP_READLINK, and ftpNLST.

Referenced by Readlink.

  int ftpRename (const char * oldpath, const char * newpath) [static]

Definition at line 50 of file rpmrpc.c.

References ftpCmd.

Referenced by Rename.

  int ftpRmdir (const char * path) [static]

Definition at line 43 of file rpmrpc.c.

References ftpCmd.

Referenced by Rmdir.

  int ftpStat (const char * path, struct stat * st) [static]

Definition at line 1004 of file rpmrpc.c.

References DO_FTP_STAT, and ftpNLST.

Referenced by Stat.

  int ftpUnlink (const char * path) [static]

Definition at line 60 of file rpmrpc.c.

References ftpCmd.

Referenced by Unlink.

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

glob(3) clone.

Definition at line 1160 of file rpmrpc.c.

References ftpGlob, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath.

Referenced by rpmGlob.

  void Globfree (glob_t * pglob)

globfree(3) clone.

Definition at line 1188 of file rpmrpc.c.

References ftpGlobfree.

Referenced by rpmGlob.

  int is_dos_date (const char * str) [static]

Definition at line 308 of file rpmrpc.c.

Referenced by vfs_parse_filedate, and vfs_parse_ls_lga.

  int is_month (const char * str, struct tm * tim) [static]

Definition at line 335 of file rpmrpc.c.

Referenced by vfs_parse_filedate, and vfs_parse_ls_lga.

  int is_num (int idx) [static]

Definition at line 299 of file rpmrpc.c.

References columns.

Referenced by vfs_parse_filedate, and vfs_parse_ls_lga.

  int is_time (const char * str, struct tm * tim) [static]

Definition at line 352 of file rpmrpc.c.

Referenced by vfs_parse_filedate.

  int is_week (const char * str, struct tm * tim) [static]

Definition at line 318 of file rpmrpc.c.

Referenced by vfs_parse_filedate, and vfs_parse_ls_lga.

  int is_year (const char * str, struct tm * tim) [static]

Definition at line 371 of file rpmrpc.c.

Referenced by vfs_parse_filedate.

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

link(2) clone.

Definition at line 187 of file rpmrpc.c.

References URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, urlPath, and xstrncasecmp.

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

lstat(2) clone.

Definition at line 1089 of file rpmrpc.c.

References ftpLstat, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath.

Referenced by addFile, checkOwners, doUntar, myftw, and myftw_dir.

  DIR* Opendir (const char * path)

opendir(3) clone.

Definition at line 1200 of file rpmrpc.c.

References URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath.

Referenced by myftw, and myftw_dir.

  struct direct* Readdir (DIR * dir)

readdir(3) clone.

Definition at line 1226 of file rpmrpc.c.

References dirent, and Readdir.

Referenced by myftw_dir.

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

readlink(2) clone.

Definition at line 1114 of file rpmrpc.c.

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

Referenced by genCpioListAndHeader.

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

rename(2) clone.

Definition at line 140 of file rpmrpc.c.

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

Referenced by rpmdbMoveDatabase.

  int Rmdir (const char * path)

rmdir(2) clone.

Definition at line 115 of file rpmrpc.c.

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

Referenced by rpmdbRebuild.

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

stat(2) clone.

Definition at line 1064 of file rpmrpc.c.

References ftpStat, URL_IS_DASH, URL_IS_FTP, URL_IS_HTTP, URL_IS_PATH, URL_IS_UNKNOWN, and urlPath.

Referenced by buildForTarget, packageBinaries, processSourceFiles, and rpmioFileExists.

  int Unlink (const char * path)

unlink(2) clone.

Definition at line 231 of file rpmrpc.c.

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

Referenced by buildForTarget, buildSpec, doRmSource, doScript, rpmInstall, urlGetFile, and writeRPM.

  int vfs_parse_filedate (int idx, time_t * t) [static]

Definition at line 481 of file rpmrpc.c.

References columns, current_mday, current_mon, current_year, is_dos_date, is_month, is_num, is_time, is_week, and is_year.

Referenced by vfs_parse_ls_lga.

  int vfs_parse_filemode (const char * p) [static]

Definition at line 422 of file rpmrpc.c.

Referenced by vfs_parse_ls_lga.

  int vfs_parse_filetype (char c) [static]

Definition at line 403 of file rpmrpc.c.

References S_IFSOCK.

Referenced by vfs_parse_ls_lga.

  int vfs_parse_ls_lga (char * p, struct stat * st, const char ** filename, const char ** linkname) [static]

Definition at line 590 of file rpmrpc.c.

References column_ptr, columns, g_free, g_strdup, gnameToGid, is_dos_date, is_month, is_num, is_week, S_ISLNK, unameToUid, vfs_parse_filedate, vfs_parse_filemode, vfs_parse_filetype, vfs_split_text, and xmalloc.

Referenced by ftpNLST.

  int vfs_split_text (char * p) [static]

Definition at line 277 of file rpmrpc.c.

References column_ptr, columns, and MAXCOLS.

Referenced by vfs_parse_ls_lga.

VARIABLE DOCUMENTATION

  int _rpmio_debug

Definition at line 16 of file rpmrpc.c.

  int column_ptr[ 30 ] [static]

Definition at line 274 of file rpmrpc.c.

Referenced by vfs_parse_ls_lga, and vfs_split_text.

  char* columns[ 30 ] [static]

Definition at line 272 of file rpmrpc.c.

Referenced by is_num, vfs_parse_filedate, vfs_parse_ls_lga, and vfs_split_text.

  int current_mday [static]

Definition at line 262 of file rpmrpc.c.

Referenced by vfs_parse_filedate.

  int current_mon [static]

Definition at line 264 of file rpmrpc.c.

Referenced by vfs_parse_filedate.

  int current_year [static]

Definition at line 266 of file rpmrpc.c.

Referenced by vfs_parse_filedate.

  char* ftpBuf = NULL [static]

Definition at line 809 of file rpmrpc.c.

Referenced by ftpGlob, and ftpNLST.

  size_t ftpBufAlloced = 0 [static]

Definition at line 804 of file rpmrpc.c.

Referenced by ftpNLST.

AUTHOR

Generated automatically by Doxygen for rpm from the source code.