rpmio/rpmurl.h(3)

NAME
rpmio/rpmurl.h -

SYNOPSIS

#include <assert.h>

  Data Structures
struct urlinfo_s
URL control structure.

  Defines
#define URLMAGIC 0xd00b1ed0
#define URLSANE(u) assert(u && u->magic == URLMAGIC)
#define RPMURL_IOBUF_SIZE 4096
#define RPMURL_DEBUG_IO 0x40000000
#define RPMURL_DEBUG_REFS 0x20000000
#define urlNew(_msg) XurlNew(_msg, __FILE__, __LINE__)
#define urlLink(_u, _msg) XurlLink(_u, _msg, __FILE__, __LINE__)
#define urlFree(_u, _msg) XurlFree(_u, _msg, __FILE__, __LINE__)

  Typedefs
typedef enum urltype_e urltype
Supported URL types.
typedef urlinfo_s * urlinfo

  Enumerations
enum urltype_e { URL_IS_UNKNOWN = 0, URL_IS_DASH = 1, URL_IS_PATH = 2, URL_IS_FTP = 3, URL_IS_HTTP = 4 }
Supported URL types.

  Functions
urlinfo urlNew (const char *msg)
Create a URL control structure instance.
urlinfo XurlNew (const char *msg, const char *file, unsigned line)
urlinfo urlLink (urlinfo u, const char *msg)
Reference a URL control structure instance.
urlinfo XurlLink (urlinfo u, const char *msg, const char *file, unsigned line)
urlinfo urlFree (urlinfo u, const char *msg)
Dereference a URL control structure instance.
urlinfo XurlFree (urlinfo u, const char *msg, const char *file, unsigned line)
void urlFreeCache (void)
Free cached URL control structures.
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_count
urlinfo * _url_cache
int _url_iobuf_size
int _url_debug

DETAILED DESCRIPTION

Definition in file rpmurl.h.

DEFINE DOCUMENTATION

  #define RPMURL_DEBUG_IO 0x40000000

Definition at line 76 of file rpmurl.h.

  #define RPMURL_DEBUG_REFS 0x20000000

Definition at line 77 of file rpmurl.h.

  #define RPMURL_IOBUF_SIZE 4096

Definition at line 72 of file rpmurl.h.

  #define urlFree(_u, _msg) XurlFree(_u, _msg, __FILE__, __LINE__)

Definition at line 119 of file rpmurl.h.

Referenced by urlFind, urlFreeCache, and urlSplit.

  #define urlLink(_u, _msg) XurlLink(_u, _msg, __FILE__, __LINE__)

Definition at line 103 of file rpmurl.h.

Referenced by urlFind.

  #define URLMAGIC 0xd00b1ed0

Definition at line 21 of file rpmurl.h.

Referenced by XurlNew.

  #define urlNew(_msg) XurlNew(_msg, __FILE__, __LINE__)

Definition at line 89 of file rpmurl.h.

Referenced by urlSplit.

  #define URLSANE(u) assert(u && u->magic == URLMAGIC)

Definition at line 22 of file rpmurl.h.

Referenced by urlFind, XurlFree, and XurlLink.

TYPEDEF DOCUMENTATION

  typedef struct urlinfo_s* urlinfo

Definition at line 24 of file rpmurl.h.

  typedef enum urltype_e urltype

Supported URL types.

Referenced by doPatch, doUntar, rpmioFileExists, urlIsURL, and urlPath.

ENUMERATION TYPE DOCUMENTATION

  enum urltype_e

Supported URL types.

Enumeration values:

URL_IS_UNKNOWN
    unknown (aka a file)

URL_IS_DASH
    stdin/stdout

URL_IS_PATH
    file://...

URL_IS_FTP
    ftp://...

URL_IS_HTTP
    http://...

Definition at line 13 of file rpmurl.h.

FUNCTION DOCUMENTATION

  urlinfo urlFree (urlinfo u, const char * msg)

Dereference a URL control structure instance.

Parameters:

u   URL control structure

msg debugging identifier (unused)

Returns:
dereferenced instance (NULL if freed)

  void urlFreeCache (void)

Free cached URL control structures.

Definition at line 158 of file url.c.

Referenced by main.

  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.

  urlinfo urlLink (urlinfo u, const char * msg)

Reference a URL control structure instance.

Parameters:

u   URL control structure

msg debugging identifier (unused)

Returns:
referenced instance

  urlinfo urlNew (const char * msg)

Create a URL control structure instance.

Parameters:

msg debugging identifier (unused)

Returns:
new instance

  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.

  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.

References _url_count.

  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

  urlinfo* _url_cache

URL cache.

Definition at line 68 of file rpmurl.h.

  int _url_count

No. of cached URL's.

Definition at line 64 of file rpmurl.h.

Referenced by XurlLink.

  int _url_debug

URL debugging?

Definition at line 75 of file rpmurl.h.

  int _url_iobuf_size

Initial size of URL I/O buffer.

Definition at line 71 of file rpmurl.h.

AUTHOR

Generated automatically by Doxygen for rpm from the source code.