Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

rpmio/url.c File Reference

More...

#include "system.h"
#include <netinet/in.h>
#include <rpmmacro.h>
#include <rpmmessages.h>
#include <rpmio_internal.h>
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  urlstring

Defines

#define IPPORT_FTP   21
#define IPPORT_HTTP   80
#define URL_IOBUF_SIZE   4096
#define RPMURL_DEBUG_IO   0x40000000
#define RPMURL_DEBUG_REFS   0x20000000
#define URLDBG(_f, _m, _x)   if ((_url_debug | (_f)) & (_m)) fprintf _x
#define URLDBGIO(_f, _x)   URLDBG((_f), RPMURL_DEBUG_IO, _x)
#define URLDBGREFS(_f, _x)   URLDBG((_f), RPMURL_DEBUG_REFS, _x)

Functions

void* _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL. More...

urlinfo XurlLink (urlinfo u, const char *msg, const char *file, unsigned line)
urlinfo XurlNew (const char *msg, const char *file, unsigned line)
urlinfo XurlFree (urlinfo u, const char *msg, const char *file, unsigned line)
void urlFreeCache (void)
 Free cached URL control structures. More...

int urlStrcmp (const char *str1, const char *str2)
void urlFind (urlinfo *uret, int mustAsk)
urltype urlIsURL (const char *url)
 Return type of URL. More...

urltype urlPath (const char *url, const char **pathp)
 Return path component of URL. More...

int urlSplit (const char *url, urlinfo *uret)
 Parse URL string into a control structure. More...

int urlGetFile (const char *url, const char *dest)
 Copy data from URL to local file. More...


Variables

int url_iobuf_size = 4096
int _url_debug = 0
urlinfouCache = NULL
int uCount = 0
struct urlstring  urlstrings []


Detailed Description

Definition in file url.c.


Define Documentation

#define IPPORT_FTP   21
 

Definition at line 21 of file url.c.

#define IPPORT_HTTP   80
 

Definition at line 24 of file url.c.

#define RPMURL_DEBUG_IO   0x40000000
 

Definition at line 30 of file url.c.

#define RPMURL_DEBUG_REFS   0x20000000
 

Definition at line 31 of file url.c.

#define URLDBG( _f, _m, _x )   if ((_url_debug | (_f)) & (_m)) fprintf _x
 

Definition at line 34 of file url.c.

#define URLDBGIO( _f, _x )   URLDBG((_f), RPMURL_DEBUG_IO, _x)
 

Definition at line 36 of file url.c.

#define URLDBGREFS( _f, _x )   URLDBG((_f), RPMURL_DEBUG_REFS, _x)
 

Definition at line 37 of file url.c.

Referenced by XurlFree(), and XurlLink().

#define URL_IOBUF_SIZE   4096
 

Definition at line 27 of file url.c.


Function Documentation

urlinfo XurlFree ( urlinfo u,
const char * msg,
const char * file,
unsigned line )
 

Todo:
Remove debugging entry from the ABI.

Definition at line 82 of file url.c.

urlinfo XurlLink ( urlinfo u,
const char * msg,
const char * file,
unsigned line )
 

Todo:
Remove debugging entry from the ABI.

Definition at line 54 of file url.c.

Referenced by XurlNew().

urlinfo XurlNew ( const char * msg,
const char * file,
unsigned line )
 

Todo:
Remove debugging entry from the ABI.

Definition at line 62 of file url.c.

Referenced by urlinfo::magic().

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 48 of file url.c.

void urlFind ( urlinfo * uret,
int mustAsk ) [static]
 

Definition at line 173 of file url.c.

Referenced by urlSplit().

void urlFreeCache ( void )
 

Free cached URL control structures.

Definition at line 142 of file url.c.

int urlGetFile ( const char * url,
const char * dest )
 

Copy data from URL to local file.

Parameters:
url   url string of source
dest   file name of destination
Returns:
0 on success, otherwise FTPERR_* code

Definition at line 462 of file url.c.

Referenced by doUntar(), and rpmInstall().

urltype urlIsURL ( const char * url )
 

Return type of URL.

Parameters:
url   url string
Returns:
type of url

Definition at line 320 of file url.c.

Referenced by Fopen(), main(), rpmInstall(), runScript(), urlPath(), and urlSplit().

urltype urlPath ( const char * url,
const char ** pathp )
 

Return path component of URL.

Parameters:
url   url string
Return values:
pathp   pointer to path component of url
Returns:
type of url

Definition at line 336 of file url.c.

Referenced by Access(), Chdir(), Glob(), Link(), Lstat(), Mkdir(), Opendir(), Readlink(), Rename(), Rmdir(), Stat(), Unlink(), addFile(), buildForTarget(), chkdir(), db1close(), db1open(), db3close(), db3open(), doFoo(), doPatch(), doScript(), doSetupMacro(), doUntar(), ftpCmd(), ftpNLST(), genCpioListAndHeader(), handlePreambleTag(), makeTempFile(), myGlobPatternP(), parseSpec(), processBinaryFile(), processSourceFiles(), psmStage(), rpmGenPath(), rpmGlob(), rpmInstall(), rpmfileexists(), ufdOpen(), and urlGetFile().

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

Parse URL string into a control structure.

Parameters:
url   url string
Return values:
u   address of new control instance pointer
Returns:
0 on success, -1 on error

Definition at line 373 of file url.c.

Referenced by doScript(), httpOpen(), and urlConnect().

int urlStrcmp ( const char * str1,
const char * str2 ) [static]
 

Definition at line 161 of file url.c.

Referenced by urlFind().


Variable Documentation

int _url_debug = 0
 

Definition at line 33 of file url.c.

urlinfo * uCache = NULL [static]
 

Definition at line 39 of file url.c.

int uCount = 0 [static]
 

Definition at line 40 of file url.c.

int url_iobuf_size = 4096
 

Definition at line 28 of file url.c.

struct urlstring urlstrings [static]
 


Generated at Wed Mar 27 03:56:58 2002 for rpm by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001