Add references to llabs(3) and imaxabs(3).
[dragonfly.git] / lib / libftpio / ftpio.h
blobaf7a6c68bfb205d6554d4e6309790877feb0234f
1 #ifndef _FTP_H_INCLUDE
2 #define _FTP_H_INCLUDE
4 #include <sys/types.h>
5 #include <sys/cdefs.h>
6 #include <stdio.h>
7 #include <time.h>
9 /*
10 * ----------------------------------------------------------------------------
11 * "THE BEER-WARE LICENSE" (Revision 42):
12 * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
13 * can do whatever you want with this stuff. If we meet some day, and you think
14 * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
15 * ----------------------------------------------------------------------------
17 * Major Changelog:
19 * Jordan K. Hubbard
20 * 17 Jan 1996
22 * Turned inside out. Now returns xfers as new file ids, not as a special
23 * `state' of FTP_t
25 * $FreeBSD: src/lib/libftpio/ftpio.h,v 1.15.2.1 2000/07/15 07:24:03 kris Exp $
26 * $DragonFly: src/lib/libftpio/ftpio.h,v 1.3 2004/08/16 13:51:21 joerg Exp $
29 /* Internal housekeeping data structure for FTP sessions */
30 typedef struct {
31 enum { init, isopen, quit } con_state;
32 int fd_ctrl;
33 int addrtype;
34 char *host;
35 char *file;
36 int error;
37 int is_binary;
38 int is_passive;
39 int is_verbose;
40 } *FTP_t;
42 /* Structure we use to match FTP error codes with readable strings */
43 struct ftperr {
44 const int num;
45 const char *string;
48 __BEGIN_DECLS
49 extern struct ftperr ftpErrList[];
50 extern int const ftpErrListLength;
52 /* Exported routines - deal only with FILE* type */
53 extern FILE *ftpLogin(const char *host, const char *user,
54 const char *passwd, int port, int verbose,
55 int *retcode);
56 extern int ftpChdir(FILE *fp, char *dir);
57 extern int ftpErrno(FILE *fp);
58 extern off_t ftpGetSize(FILE *fp, const char *file);
59 extern FILE *ftpGet(FILE *fp, const char *file, off_t *seekto);
60 extern FILE *ftpPut(FILE *fp, const char *file);
61 extern int ftpAscii(FILE *fp);
62 extern int ftpBinary(FILE *fp);
63 extern int ftpPassive(FILE *fp, int status);
64 extern void ftpVerbose(FILE *fp, int status);
65 extern FILE *ftpGetURL(const char *url, const char *user,
66 const char *passwd, int *retcode);
67 extern FILE *ftpPutURL(const char *url, const char *user,
68 const char *passwd, int *retcode);
69 extern time_t ftpGetModtime(FILE *fp, const char *file);
70 extern const char *ftpErrString(int error);
71 extern FILE *ftpLoginAf(const char *host, int af, const char *user,
72 const char *passwd, int port, int verbose,
73 int *retcode);
74 extern FILE *ftpGetURLAf(const char *url, int af, const char *user,
75 const char *passwd, int *retcode);
76 extern FILE *ftpPutURLAf(const char *url, int af, const char *user,
77 const char *passwd, int *retcode);
78 __END_DECLS
80 #endif /* _FTP_H_INCLUDE */