rpmio/url.c File Reference

#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 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

static void * _free (const void *p)
 Wrapper to free(3), hides const compilation noise, permit NULL, return NULL.
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.
static int urlStrcmp (const char *str1, const char *str2)
static void urlFind (urlinfo *uret, int mustAsk)
urltype urlIsURL (const char *url)
 Return type of URL.
urltype urlPath (const char *url, const char **pathp)
 Return path component of URL.
int urlSplit (const char *url, urlinfo *uret)
 Parse URL string into a control structure.
int urlGetFile (const char *url, const char *dest)
 Copy data from URL to local file.

Variables

int _url_iobuf_size = RPMURL_IOBUF_SIZE
int _url_debug = 0
urlinfo_url_cache = NULL
int _url_count = 0
static struct urlstring urlstrings []


Detailed Description

Definition in file url.c.


Define Documentation

#define IPPORT_FTP   21

Definition at line 20 of file url.c.

#define IPPORT_HTTP   80

Definition at line 23 of file url.c.

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

Definition at line 36 of file url.c.

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

Definition at line 38 of file url.c.

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

Definition at line 39 of file url.c.


Function Documentation

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

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

Definition at line 190 of file url.c.

void urlFreeCache ( void   ) 

Free cached URL control structures.

Definition at line 158 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 496 of file url.c.

urltype urlIsURL ( const char *  url  ) 

Return type of URL.

Parameters:
url url string
Returns:
type of url

Definition at line 344 of file url.c.

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

int urlSplit ( const char *  url,
urlinfo uret 
)

Parse URL string into a control structure.

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

Definition at line 400 of file url.c.

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

Definition at line 177 of file url.c.

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

Todo:
Remove debugging entry from the ABI.

Definition at line 94 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 64 of file url.c.

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

Todo:
Remove debugging entry from the ABI.

Definition at line 74 of file url.c.


Variable Documentation

URL cache.

Definition at line 45 of file url.c.

int _url_count = 0

No. of cached URL's.

Definition at line 50 of file url.c.

int _url_debug = 0

URL debugging?

Definition at line 34 of file url.c.

int _url_iobuf_size = RPMURL_IOBUF_SIZE

Initial size of URL I/O buffer.

Definition at line 29 of file url.c.

struct urlstring urlstrings[] [static]


Generated on Sun Dec 21 07:49:10 2008 for rpm by  doxygen 1.5.6