2013-08-19 17:49:36 +02:00
|
|
|
#ifndef MAIN_H
|
|
|
|
#define MAIN_H
|
|
|
|
|
|
|
|
#include <limits.h>
|
|
|
|
|
2013-08-21 16:07:05 +02:00
|
|
|
#define IPSTR_MAXLEN 47
|
|
|
|
|
2013-08-19 17:49:36 +02:00
|
|
|
enum ResultCode {
|
|
|
|
RC_OK = 0, // No problem (so far)
|
|
|
|
RC_EXISTS = 1, // On upload, the file to be uploaded already existed
|
|
|
|
RC_OPEN_FAILED = 2, // On upload, opening the file for writing failed
|
2013-08-19 20:28:26 +02:00
|
|
|
RC_WRONG_TARGET = 3, // On upload, the given URL was not a directory
|
|
|
|
RC_WRITE_FAILED = 4 // On upload, a write operation to the file failed
|
2013-08-19 17:49:36 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
enum RequestType {
|
|
|
|
GET,
|
|
|
|
POST
|
|
|
|
};
|
|
|
|
|
|
|
|
struct ConnectionState {
|
|
|
|
char cleanedURL[PATH_MAX];
|
|
|
|
char localFileName[PATH_MAX];
|
|
|
|
struct stat targetStat;
|
|
|
|
|
2013-08-19 18:27:19 +02:00
|
|
|
uint8_t uploadRequest;
|
|
|
|
|
2013-08-19 17:49:36 +02:00
|
|
|
FILE *upload_fd;
|
2013-08-19 20:28:26 +02:00
|
|
|
char uploadFilename[PATH_MAX];
|
2013-08-19 17:49:36 +02:00
|
|
|
|
2013-08-21 16:07:05 +02:00
|
|
|
char clientIP[IPSTR_MAXLEN];
|
|
|
|
|
2013-08-19 17:49:36 +02:00
|
|
|
enum ResultCode result;
|
|
|
|
enum RequestType requestType;
|
|
|
|
|
|
|
|
struct MHD_PostProcessor *postProcessor;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct RequestRange {
|
|
|
|
off_t start;
|
|
|
|
off_t length;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // MAIN_H
|