pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/net/libfetch/files Correctly regen the cat page.
details: https://anonhg.NetBSD.org/pkgsrc/rev/0a87e9cd619e
branches: trunk
changeset: 394908:0a87e9cd619e
user: joerg <joerg%pkgsrc.org@localhost>
date: Mon Jun 22 12:05:59 2009 +0000
description:
Correctly regen the cat page.
diffstat:
net/libfetch/files/fetch.cat3 | 658 ++++++++++++++++++++++++++++++-----------
1 files changed, 483 insertions(+), 175 deletions(-)
diffs (truncated from 685 to 300 lines):
diff -r bc9eabf58312 -r 0a87e9cd619e net/libfetch/files/fetch.cat3
--- a/net/libfetch/files/fetch.cat3 Mon Jun 22 11:50:25 2009 +0000
+++ b/net/libfetch/files/fetch.cat3 Mon Jun 22 12:05:59 2009 +0000
@@ -1,198 +1,506 @@
-These functions implement a high-level library for retrieving and
-uploading files using Uniform Resource Locators (URLs). takes a
-URL in the form of a null-terminated string and splits it into
-its components function according to the Common Internet Scheme
-Syntax detailed in RFC 1738. A regular expression which produces
-this syntax is: scheme:(//(user(:pwd)?@)?host(:port)?)?/(docu-
-ment)? If the URL does not seem to begin with a scheme name, it
-is assumed to be a local path. Only absolute path names are ac-
-cepted. Note that some components of the URL are not necessarily
-relevant to all URL schemes. For instance, the file scheme only
-needs the and components. quotes any unsafe character in the URL
-automatically. This is not done by copies an existing structure.
-and return a pointer to a structure, which is defined as follows
-in #define URL_SCHEMELEN 16 #define URL_USERLEN 256 #define
-URL_PWDLEN 256 #define URL_HOSTLEN 255
+FETCH(3) NetBSD Library Functions Manual FETCH(3)
+
+NNAAMMEE
+ ffeettcchhMMaakkeeUURRLL, ffeettcchhPPaarrsseeUURRLL, ffeettcchhCCooppyyUURRLL, ffeettcchhFFrreeeeUURRLL, ffeettcchhXXGGeettUURRLL,
+ ffeettcchhGGeettUURRLL, ffeettcchhPPuuttUURRLL, ffeettcchhSSttaattUURRLL, ffeettcchhLLiissttUURRLL, ffeettcchhXXGGeett,
+ ffeettcchhGGeett, ffeettcchhPPuutt, ffeettcchhSSttaatt, ffeettcchhLLiisstt, ffeettcchhXXGGeettFFiillee, ffeettcchhGGeettFFiillee,
+ ffeettcchhPPuuttFFiillee, ffeettcchhSSttaattFFiillee, ffeettcchhLLiissttFFiillee, ffeettcchhXXGGeettHHTTTTPP,
ffeettcchhGGeettHHTTTTPP,
+ ffeettcchhPPuuttHHTTTTPP, ffeettcchhSSttaattHHTTTTPP, ffeettcchhLLiissttHHTTTTPP, ffeettcchhXXGGeettFFTTPP, ffeettcchhGGeettFFTTPP,
+ ffeettcchhPPuuttFFTTPP, ffeettcchhSSttaattFFTTPP, ffeettcchhLLiissttFFTTPP ffeettcchhIInniittUURRLLLLiisstt,
+ ffeettcchhFFrreeeeUURRLLLLiisstt, ffeettcchhUUnnqquuootteePPaatthh, ffeettcchhUUnnqquuootteeFFiilleennaammee,
+ ffeettcchhSSttrriinnggiiffyyUURRLL, ffeettcchh -- file transfer functions
+
+LLIIBBRRAARRYY
+ File Transfer Library for URLs (libfetch, -lfetch)
+
+SSYYNNOOPPSSIISS
+ ##iinncclluuddee <<ssttddiioo..hh>>
+ ##iinncclluuddee <<ffeettcchh..hh>>
+
+ _s_t_r_u_c_t _u_r_l _*
+ ffeettcchhMMaakkeeUURRLL(_c_o_n_s_t _c_h_a_r _*_s_c_h_e_m_e, _c_o_n_s_t _c_h_a_r _*_h_o_s_t, _i_n_t _p_o_r_t,
+ _c_o_n_s_t _c_h_a_r _*_d_o_c, _c_o_n_s_t _c_h_a_r _*_u_s_e_r, _c_o_n_s_t _c_h_a_r _*_p_w_d);
+
+ _s_t_r_u_c_t _u_r_l _*
+ ffeettcchhPPaarrsseeUURRLL(_c_o_n_s_t _c_h_a_r _*_U_R_L);
+
+ _s_t_r_u_c_t _u_r_l _*
+ ffeettcchhCCooppyyUURRLL(_c_o_n_s_t _s_t_r_u_c_t _u_r_l _*_u);
+
+ _v_o_i_d
+ ffeettcchhFFrreeeeUURRLL(_s_t_r_u_c_t _u_r_l _*_u);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhXXGGeettUURRLL(_c_o_n_s_t _c_h_a_r _*_U_R_L, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhGGeettUURRLL(_c_o_n_s_t _c_h_a_r _*_U_R_L, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhPPuuttUURRLL(_c_o_n_s_t _c_h_a_r _*_U_R_L, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhSSttaattUURRLL(_c_o_n_s_t _c_h_a_r _*_U_R_L, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhLLiissttUURRLL(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_l_i_s_t, _c_o_n_s_t _c_h_a_r _*_U_R_L, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhXXGGeett(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhGGeett(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhPPuutt(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhSSttaatt(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhLLiisstt(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_l_i_s_t, _s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhXXGGeettFFiillee(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhGGeettFFiillee(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhPPuuttFFiillee(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhSSttaattFFiillee(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhLLiissttFFiillee(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_l_i_s_t, _s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhXXGGeettHHTTTTPP(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhGGeettHHTTTTPP(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhPPuuttHHTTTTPP(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhSSttaattHHTTTTPP(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhLLiissttHHTTTTPP(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_l_i_s_t, _s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhXXGGeettFFTTPP(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhGGeettFFTTPP(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _f_e_t_c_h_I_O _*
+ ffeettcchhPPuuttFFTTPP(_s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhSSttaattFFTTPP(_s_t_r_u_c_t _u_r_l _*_u, _s_t_r_u_c_t _u_r_l___s_t_a_t _*_u_s, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _i_n_t
+ ffeettcchhLLiissttFFTTPP(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_l_i_s_t, _s_t_r_u_c_t _u_r_l _*_u, _c_o_n_s_t _c_h_a_r _*_f_l_a_g_s);
+
+ _v_o_i_d
+ ffeettcchhIInniittUURRLLLLiisstt(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_u_l);
+
+ _v_o_i_d
+ ffeettcchhFFrreeeeUURRLLLLiisstt(_s_t_r_u_c_t _u_r_l___l_i_s_t _*_u_l);
+
+ _c_h_a_r _*
+ ffeettcchhUUnnqquuootteePPaatthh(_s_t_r_u_c_t _u_r_l _*_u);
+
+ _c_h_a_r _*
+ ffeettcchhUUnnqquuootteeFFiilleennaammee(_s_t_r_u_c_t _u_r_l _*_u);
+
+ _c_h_a_r _*
+ ffeettcchhSSttrriinnggiiffyyUURRLL(_c_o_n_s_t _s_t_r_u_c_t _u_r_l _*_u);
+
+DDEESSCCRRIIPPTTIIOONN
+ These functions implement a high-level library for retrieving and upload-
+ ing files using Uniform Resource Locators (URLs).
+
+ ffeettcchhPPaarrsseeUURRLL() takes a URL in the form of a null-terminated string and
+ splits it into its components function according to the Common Internet
+ Scheme Syntax detailed in RFC 1738. A regular expression which produces
+ this syntax is:
+
+ <scheme>:(//(<user>(:<pwd>)?@)?<host>(:<port>)?)?/(<document>)?
+
+ If the URL does not seem to begin with a scheme name, it is assumed to be
+ a local path. Only absolute path names are accepted.
+
+ Note that some components of the URL are not necessarily relevant to all
+ URL schemes. For instance, the file scheme only needs the <scheme> and
+ <document> components. ffeettcchhPPaarrsseeUURRLL() quotes any unsafe character in
+ the URL automatically. This is not done by ffeettcchhMMaakkeeUURRLL().
+ ffeettcchhCCooppyyUURRLL() copies an existing _u_r_l structure.
+
+ ffeettcchhMMaakkeeUURRLL(), ffeettcchhPPaarrsseeUURRLL(), and ffeettcchhCCooppyyUURRLL() return a pointer to a
+ _u_r_l structure, which is defined as follows in <_f_e_t_c_h_._h>:
+
+ #define URL_SCHEMELEN 16
+ #define URL_USERLEN 256
+ #define URL_PWDLEN 256
+ #define URL_HOSTLEN 255
+
+ struct url {
+ char scheme[URL_SCHEMELEN + 1];
+ char user[URL_USERLEN + 1];
+ char pwd[URL_PWDLEN + 1];
+ char host[URL_HOSTLEN + 1];
+ int port;
+ char *doc;
+ off_t offset;
+ size_t length;
+ time_t last_modified;
+ };
+
+ The pointer returned by ffeettcchhMMaakkeeUURRLL(), ffeettcchhCCooppyyUURRLL(), and
+ ffeettcchhPPaarrsseeUURRLL() should be freed using ffeettcchhFFrreeeeUURRLL(). The size of _s_t_r_u_c_t
+ _U_R_L is not part of the ABI.
+
+ ffeettcchhXXGGeettUURRLL(), ffeettcchhGGeettUURRLL(), and ffeettcchhPPuuttUURRLL() constitute the recom-
+ mended interface to the ffeettcchh library. They examine the URL passed to
+ them to determine the transfer method, and call the appropriate lower-
+ level functions to perform the actual transfer. ffeettcchhXXGGeettUURRLL() also
+ returns the remote document's metadata in the _u_r_l___s_t_a_t structure pointed
+ to by the _u_s argument.
+
+ The _f_l_a_g_s argument is a string of characters which specify transfer
+ options. The meaning of the individual flags is scheme-dependent, and is
+ detailed in the appropriate section below.
+
+ ffeettcchhSSttaattUURRLL() attempts to obtain the requested document's metadata and
+ fill in the structure pointed to by its second argument. The _u_r_l___s_t_a_t
+ structure is defined as follows in <_f_e_t_c_h_._h>:
+
+ struct url_stat {
+ off_t size;
+ time_t atime;
+ time_t mtime;
+ };
+
+ If the size could not be obtained from the server, the _s_i_z_e field is set
+ to -1. If the modification time could not be obtained from the server,
+ the _m_t_i_m_e field is set to the epoch. If the access time could not be
+ obtained from the server, the _a_t_i_m_e field is set to the modification
+ time.
+
+ ffeettcchhLLiissttUURRLL() attempts to list the contents of the directory pointed to
+ by the URL provided. The pattern can be a simple glob-like expression as
+ hint. Callers should not depend on the server to filter names. If suc-
+ cessful, it appends the list of entries to the _u_r_l___l_i_s_t structure. The
+ _u_r_l___l_i_s_t structure is defined as follows in <_f_e_t_c_h_._h>:
+
+ struct url_list {
+ size_t length;
+ size_t alloc_size;
+ struct url *urls;
+ };
+
+ The list should be initialized by calling ffeettcchhIInniittUURRLLLLiisstt() and the
+ entries be freed by calling ffeettcchhFFrreeeeUURRLLLLiisstt().
+
+ ffeettcchhSSttrriinnggiiffyyUURRLL() returns the URL as string. ffeettcchhUUnnqquuootteePPaatthh()
+ returns the path name part of the URL with any quoting undone. Query
+ arguments and fragment identifiers are not included.
+ ffeettcchhUUnnqquuootteeFFiilleennaammee() returns the last component of the path name as
+ returned by ffeettcchhUUnnqquuootteePPaatthh(). ffeettcchhSSttrriinnggiiffyyUURRLL(), ffeettcchhUUnnqquuootteePPaatthh(),
+ and ffeettcchhUUnnqquuootteeFFiilleennaammee() return a string that should be deallocated
+ with ffrreeee() after use.
+
+ ffeettcchhXXGGeett(), ffeettcchhGGeett(), ffeettcchhPPuutt(), and ffeettcchhSSttaatt() are similar to
+ ffeettcchhXXGGeettUURRLL(), ffeettcchhGGeettUURRLL(), ffeettcchhPPuuttUURRLL(), and ffeettcchhSSttaattUURRLL(), except
+ that they expect a pre-parsed URL in the form of a pointer to a _s_t_r_u_c_t
+ _u_r_l rather than a string.
+
+ All of the ffeettcchhXXGGeettXXXXXX(), ffeettcchhGGeettXXXXXX(), and ffeettcchhPPuuttXXXXXX() functions
+ return a pointer to a stream which can be used to read or write data from
+ or to the requested document, respectively. Note that although the
+ implementation details of the individual access methods vary, it can gen-
+ erally be assumed that a stream returned by one of the ffeettcchhXXGGeettXXXXXX() or
+ ffeettcchhGGeettXXXXXX() functions is read-only, and that a stream returned by one
+ of the ffeettcchhPPuuttXXXXXX() functions is write-only.
+
+PPRROOTTOOCCOOLL IINNDDEEPPEENNDDEENNTT FFLLAAGGSS
+ If the `i' (if-modified-since) flag is specified, the library will try to
+ fetch the content only if it is newer than _l_a_s_t___m_o_d_i_f_i_e_d. For HTTP an
+ If-Modified-Since HTTP header is sent. For FTP a MTDM command is sent
+ first and compared locally. For FILE the source file is compared.
+
+FFIILLEE SSCCHHEEMMEE
+ ffeettcchhXXGGeettFFiillee(), ffeettcchhGGeettFFiillee(), and ffeettcchhPPuuttFFiillee() provide access to
+ documents which are files in a locally mounted file system. Only the
+ <document> component of the URL is used.
+
+ ffeettcchhXXGGeettFFiillee() and ffeettcchhGGeettFFiillee() do not accept any flags.
+
+ ffeettcchhPPuuttFFiillee() accepts the `a' (append to file) flag. If that flag is
+ specified, the data written to the stream returned by ffeettcchhPPuuttFFiillee() will
+ be appended to the previous contents of the file, instead of replacing
+ them.
+
+FFTTPP SSCCHHEEMMEE
+ ffeettcchhXXGGeettFFTTPP(), ffeettcchhGGeettFFTTPP(), and ffeettcchhPPuuttFFTTPP() implement the FTP proto-
+ col as described in RFC 959.
-struct url {
- char scheme[URL_SCHEMELEN + 1];
- char user[URL_USERLEN + 1];
- char pwd[URL_PWDLEN + 1];
- char host[URL_HOSTLEN + 1];
- int port;
- char *doc;
- off_t offset;
- size_t length;
- time_t last_modified; }; The pointer returned by and
-should be freed using The size of is not part of the ABI. and
-constitute the recommended interface to the library. They exam-
-ine the URL passed to them to determine the transfer method, and
-call the appropriate lower-level functions to perform the actual
-transfer. also returns the remote document's metadata in the
-structure pointed to by the argument. The argument is a string
-of characters which specify transfer options. The meaning of the
-individual flags is scheme-dependent, and is detailed in the ap-
-propriate section below. attempts to obtain the requested docu-
-ment's metadata and fill in the structure pointed to by its sec-
-ond argument. The structure is defined as follows in struct
-url_stat {
- off_t size;
- time_t atime;
- time_t mtime; }; If the size could not be obtained from
-the server, the field is set to -1. If the modification time
-could not be obtained from the server, the field is set to the
-epoch. If the access time could not be obtained from the server,
-the field is set to the modification time. attempts to list the
-contents of the directory pointed to by the URL provided. The
Home |
Main Index |
Thread Index |
Old Index