diff options
Diffstat (limited to 'lib/libfetch/fetch.h')
-rw-r--r-- | lib/libfetch/fetch.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/lib/libfetch/fetch.h b/lib/libfetch/fetch.h new file mode 100644 index 0000000..387d4c4 --- /dev/null +++ b/lib/libfetch/fetch.h @@ -0,0 +1,74 @@ +/*- + * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $Id$ + */ + +#ifndef _FETCH_H_INCLUDED +#define _FETCH_H_INCLUDED + +#include <sys/param.h> + +#define _LIBFETCH_VER "libfetch/1.0" + +#define URL_SCHEMELEN 16 +#define URL_USERLEN 256 +#define URL_PWDLEN 256 + +struct url_s { + char scheme[URL_SCHEMELEN+1]; + char user[URL_USERLEN+1]; + char pwd[URL_PWDLEN+1]; + char host[MAXHOSTNAMELEN+1]; + char *doc; + int port; + char *lasterr; +}; + +typedef struct url_s url_t; + +/* FILE-specific functions */ +FILE *fetchGetFile(url_t *, char *); +FILE *fetchPutFile(url_t *, char *); + +/* HTTP-specific functions */ +char *fetchContentType(FILE *f); +FILE *fetchGetHTTP(url_t *, char *); +FILE *fetchPutHTTP(url_t *, char *); + +/* FTP-specific functions */ +FILE *fetchGetFTP(url_t *, char *); +FILE *fetchPutFTP(url_t *, char *); + +/* Generic functions */ +url_t *fetchParseURL(char *URL); +void fetchFreeURL(url_t *u); +FILE *fetchGetURL(char *, char *); +FILE *fetchPutURL(char *, char *); + + +#endif |