simplefiles

A lightweight C CGI web application for managing files.
git clone https://scm.kuandu.systems/git-raw/simplefiles.git
Log | Files | Refs | README | LICENSE

multipart.h (1015B)


      1 #ifndef MULTIPART_H
      2 #define MULTIPART_H
      3 
      4 #include <limits.h>
      5 #include <sys/types.h>
      6 
      7 #define MULTIPART_OK                  0
      8 #define MULTIPART_ERROR              -1
      9 #define MULTIPART_MISSING_CONTENT_TYPE -2
     10 #define MULTIPART_INVALID_CONTENT_TYPE -3
     11 #define MULTIPART_MISSING_BOUNDARY    -4
     12 #define MULTIPART_INVALID_BOUNDARY    -5
     13 #define MULTIPART_MISSING_LENGTH      -6
     14 #define MULTIPART_INVALID_LENGTH      -7
     15 #define MULTIPART_TOO_LARGE           -8
     16 #define MULTIPART_MALFORMED           -9
     17 #define MULTIPART_MISSING_FILENAME    -10
     18 #define MULTIPART_MULTIPLE_FILES      -11
     19 
     20 struct multipart_request {
     21 	off_t length;
     22 	char boundary[128];
     23 };
     24 
     25 struct multipart_part {
     26 	char filename[NAME_MAX + 1];
     27 	off_t offset;
     28 	off_t length;
     29 };
     30 
     31 int multipart_parse_request(struct multipart_request *);
     32 int multipart_spool_request(int, off_t);
     33 int multipart_extract_part(int,
     34     const struct multipart_request *,
     35     struct multipart_part *);
     36 int multipart_copy_part(int,
     37     const struct multipart_part *,
     38     int);
     39 
     40 #endif