Develop and Download Open Source Software

Browse Subversion Repository

Annotation of /trunk/liboftp.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33 - (hide annotations) (download) (as text)
Sun Mar 1 00:51:11 2009 UTC (15 years ago) by hirohitohigashi
File MIME type: text/x-chdr
File size: 3269 byte(s)
supported c++ macros in header files.

1 hirohitohigashi 17 /*
2     liboftp: this is an FTP library to simplify the work to a Developer
3     who want to work with FTP servers (RFC 959).
4    
5     Copyright (c) 2009 hirohito higashi. All rights reserved.
6     This file is distributed under BSD license.
7     */
8    
9    
10     #ifndef __libOftp_H_proto_
11     #define __libOftp_H_proto_
12    
13     /***** Feature test switches ************************************************/
14     /***** System headers *******************************************************/
15     #include <sys/types.h>
16     #include <netinet/in.h>
17    
18    
19     /***** Local headers ********************************************************/
20     /***** Constat values *******************************************************/
21 hirohitohigashi 29 /* LIBOFTP ERROR CODE */
22     #define LIBOFTP_NOERROR 0
23     #define LIBOFTP_ERROR_OS -1
24     #define LIBOFTP_ERROR_PROTOCOL -2
25     #define LIBOFTP_ERROR -3
26     #define LIBOFTP_ERROR_BUFFER -4
27     #define LIBOFTP_ERROR_TIMEOUT -5
28    
29    
30 hirohitohigashi 17 /***** Macros ***************************************************************/
31     /***** Typedefs *************************************************************/
32     typedef struct
33     {
34     int socket;
35 hirohitohigashi 20 struct sockaddr_in saddr;
36 hirohitohigashi 17 enum { UNIX = 1, Windows_NT = 2 } system_type;
37     enum { ASCII = 1, IMAGE = 3 } data_type;
38     int flag_passive;
39     int timeout_sec;
40 hirohitohigashi 29
41     int reply_code;
42 hirohitohigashi 17 char error_message[256];
43    
44     } LIBOFTP;
45    
46    
47     /***** Global variables *****************************************************/
48     /***** Function prototypes **************************************************/
49 hirohitohigashi 33 #ifdef __cplusplus
50     extern "C" {
51     #endif
52    
53 hirohitohigashi 29 int ftp_initialize( LIBOFTP *ftp );
54 hirohitohigashi 25 int ftp_open( LIBOFTP *ftp, const char *host, int port );
55     int ftp_user( LIBOFTP *ftp, const char *user, const char *pass );
56 hirohitohigashi 17 int ftp_passive( LIBOFTP *ftp, int flag );
57 hirohitohigashi 29 int ftp_timeout( LIBOFTP *ftp, int sec );
58 hirohitohigashi 18 int ftp_type( LIBOFTP *ftp, const char *type );
59     int ftp_quit( LIBOFTP *ftp );
60 hirohitohigashi 24 int ftp_site( LIBOFTP *ftp, const char *cmdline );
61     int ftp_delete( LIBOFTP *ftp, const char *fname );
62     int ftp_rename( LIBOFTP *ftp, const char *from, const char *to );
63 hirohitohigashi 27
64 hirohitohigashi 17 int ftp_get_buffer( LIBOFTP *ftp, const char *fname, char *buf, int bufsiz );
65 hirohitohigashi 27 int ftp_put_buffer( LIBOFTP *ftp, char *buf, int bufsiz, const char *fname );
66     int ftp_append_buffer( LIBOFTP *ftp, char *buf, int bufsiz, const char *fname );
67 hirohitohigashi 28 int ftp_get_file( LIBOFTP *ftp, const char *fname, const char *local_fname );
68     int ftp_put_file( LIBOFTP *ftp, const char *local_fname, const char *fname );
69     int ftp_append_file( LIBOFTP *ftp, const char *local_fname, const char *fname );
70 hirohitohigashi 32 int ftp_get_descriptor( LIBOFTP *ftp, const char *fname );
71     int ftp_get_descriptor_close( LIBOFTP *ftp, int desc );
72     int ftp_put_descriptor( LIBOFTP *ftp, const char *fname );
73     int ftp_put_descriptor_close( LIBOFTP *ftp, int desc );
74     int ftp_append_descriptor( LIBOFTP *ftp, const char *fname );
75     int ftp_append_descriptor_close( LIBOFTP *ftp, int desc );
76 hirohitohigashi 27
77 hirohitohigashi 26 int ftp_list( LIBOFTP *ftp, const char *fglob, char *buf, int bufsiz );
78     int ftp_nlist( LIBOFTP *ftp, const char *fglob, char *buf, int bufsiz );
79 hirohitohigashi 22 int ftp_mkdir( LIBOFTP *ftp, const char *dirname );
80     int ftp_rmdir( LIBOFTP *ftp, const char *dirname );
81     int ftp_pwd( LIBOFTP *ftp, char *buf, int bufsiz );
82     int ftp_cd( LIBOFTP *ftp, const char *dirname );
83 hirohitohigashi 17
84    
85 hirohitohigashi 22
86 hirohitohigashi 17 /***** Inline functions *****************************************************/
87    
88    
89 hirohitohigashi 33 #ifdef __cplusplus
90     }
91 hirohitohigashi 17 #endif
92 hirohitohigashi 33
93     #endif

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26