Develop and Download Open Source Software

Browse Subversion Repository

Contents of /tags/REL-2.1/liboftp.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 48 - (show annotations) (download) (as text)
Sun Mar 8 07:32:44 2009 UTC (15 years ago) by hirohitohigashi
File MIME type: text/x-chdr
File size: 3312 byte(s)
Tag release 2.1
1 /*
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 /* 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 /***** Macros ***************************************************************/
31 /***** Typedefs *************************************************************/
32 typedef struct
33 {
34 int socket;
35 struct sockaddr_in saddr;
36 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
41 int reply_code;
42 char error_message[256];
43
44 } LIBOFTP;
45
46
47 /***** Global variables *****************************************************/
48 /***** Function prototypes **************************************************/
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52
53 int ftp_initialize( LIBOFTP *ftp );
54 int ftp_open( LIBOFTP *ftp, const char *host, int port );
55 int ftp_user( LIBOFTP *ftp, const char *user, const char *pass );
56 int ftp_passive( LIBOFTP *ftp, int flag );
57 int ftp_timeout( LIBOFTP *ftp, int sec );
58 int ftp_type( LIBOFTP *ftp, const char *type );
59 int ftp_quit( LIBOFTP *ftp );
60 int ftp_reset( LIBOFTP *ftp );
61 int ftp_site( LIBOFTP *ftp, const char *cmdline );
62 int ftp_delete( LIBOFTP *ftp, const char *fname );
63 int ftp_rename( LIBOFTP *ftp, const char *from, const char *to );
64
65 int ftp_get_buffer( LIBOFTP *ftp, const char *fname, char *buf, int bufsiz );
66 int ftp_put_buffer( LIBOFTP *ftp, const char *buf, int bufsiz, const char *fname );
67 int ftp_append_buffer( LIBOFTP *ftp, const char *buf, int bufsiz, const char *fname );
68 int ftp_get_file( LIBOFTP *ftp, const char *fname, const char *local_fname );
69 int ftp_put_file( LIBOFTP *ftp, const char *local_fname, const char *fname );
70 int ftp_append_file( LIBOFTP *ftp, const char *local_fname, const char *fname );
71 int ftp_get_descriptor( LIBOFTP *ftp, const char *fname );
72 int ftp_get_descriptor_close( LIBOFTP *ftp, int desc );
73 int ftp_put_descriptor( LIBOFTP *ftp, const char *fname );
74 int ftp_put_descriptor_close( LIBOFTP *ftp, int desc );
75 int ftp_append_descriptor( LIBOFTP *ftp, const char *fname );
76 int ftp_append_descriptor_close( LIBOFTP *ftp, int desc );
77
78 int ftp_list( LIBOFTP *ftp, const char *fglob, char *buf, int bufsiz );
79 int ftp_nlist( LIBOFTP *ftp, const char *fglob, char *buf, int bufsiz );
80 int ftp_mkdir( LIBOFTP *ftp, const char *dirname );
81 int ftp_rmdir( LIBOFTP *ftp, const char *dirname );
82 int ftp_pwd( LIBOFTP *ftp, char *buf, int bufsiz );
83 int ftp_cd( LIBOFTP *ftp, const char *dirname );
84
85
86
87 /***** Inline functions *****************************************************/
88
89
90 #ifdef __cplusplus
91 }
92 #endif
93
94 #endif

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