-
Notifications
You must be signed in to change notification settings - Fork 0
/
ftp.h
136 lines (123 loc) · 4.06 KB
/
ftp.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef __FTCLIENT_H__
#define __FTCLIENT_H__
#include <fcntl.h>
#include <unistd.h>
#define DEFAULT_PORT "21"
#define CRLF "\r\n"
#define MAX_LINE 256
#define BUF_SIZE 1024
/**
* Executes an ftp command
*
* @param command the command to be executed
* @param paramter optional command parameter
* @return 1 if execution was successful
* 0 if command wasn't understood
* -1 on error, which causes the control connection
* and client to close
* -2 if quit was issued. Client exits normally
**/
int execute_command (const char *command, const char *parameter);
/**
* Login cmd which handles user and pass commands
* It sets the ftp server to use binary mode
* on successful login
* @param cmd the command to be executed
* @param param command parameter
* @return 1 if execution was successful
* -1 on error, which causes the control connection
* and client to close
**/
int login_cmd (const char *cmd, const char *param, char *response);
/**
* This command causes the client to exit.
* @param response OPTIONAL server response will be stored here
* if it is not set to NULL
* @return -2 if execution was successful
* -1 on error
**/
int quit_cmd (char *response);
/**
* The pasv commands which establishes a data connection
* with the server
* @param response OPTIONAL server response will be stored here