multipart_parser.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <<<<<<< HEAD
  2. /* Based on node-formidable by Felix Geisendörfer
  3. * Igor Afonov - afonov@gmail.com - 2012
  4. * MIT License - http://www.opensource.org/licenses/mit-license.php
  5. */
  6. #ifndef _multipart_parser_h
  7. #define _multipart_parser_h
  8. #ifdef __cplusplus
  9. extern "C"
  10. {
  11. #endif
  12. #include <stdlib.h>
  13. #include <ctype.h>
  14. typedef struct multipart_parser multipart_parser;
  15. typedef struct multipart_parser_settings multipart_parser_settings;
  16. typedef struct multipart_parser_state multipart_parser_state;
  17. typedef int (*multipart_data_cb) (multipart_parser*, const char *at, size_t length);
  18. typedef int (*multipart_notify_cb) (multipart_parser*);
  19. struct multipart_parser_settings {
  20. multipart_data_cb on_header_field;
  21. multipart_data_cb on_header_value;
  22. multipart_data_cb on_part_data;
  23. multipart_notify_cb on_part_data_begin;
  24. multipart_notify_cb on_headers_complete;
  25. multipart_notify_cb on_part_data_end;
  26. multipart_notify_cb on_body_end;
  27. };
  28. multipart_parser* multipart_parser_init
  29. (const char *boundary, const multipart_parser_settings* settings);
  30. void multipart_parser_free(multipart_parser* p);
  31. size_t multipart_parser_execute(multipart_parser* p, const char *buf, size_t len);
  32. void multipart_parser_set_data(multipart_parser* p, void* data);
  33. void * multipart_parser_get_data(multipart_parser* p);
  34. #ifdef __cplusplus
  35. } /* extern "C" */
  36. #endif
  37. #endif
  38. =======
  39. /* Based on node-formidable by Felix Geisendörfer
  40. * Igor Afonov - afonov@gmail.com - 2012
  41. * MIT License - http://www.opensource.org/licenses/mit-license.php
  42. */
  43. #ifndef _multipart_parser_h
  44. #define _multipart_parser_h
  45. #ifdef __cplusplus
  46. extern "C"
  47. {
  48. #endif
  49. #include <stdlib.h>
  50. #include <ctype.h>
  51. typedef struct multipart_parser multipart_parser;
  52. typedef struct multipart_parser_settings multipart_parser_settings;
  53. typedef struct multipart_parser_state multipart_parser_state;
  54. typedef int (*multipart_data_cb) (multipart_parser*, const char *at, size_t length);
  55. typedef int (*multipart_notify_cb) (multipart_parser*);
  56. struct multipart_parser_settings {
  57. multipart_data_cb on_header_field;
  58. multipart_data_cb on_header_value;
  59. multipart_data_cb on_part_data;
  60. multipart_notify_cb on_part_data_begin;
  61. multipart_notify_cb on_headers_complete;
  62. multipart_notify_cb on_part_data_end;
  63. multipart_notify_cb on_body_end;
  64. };
  65. multipart_parser* multipart_parser_init
  66. (const char *boundary, const multipart_parser_settings* settings);
  67. void multipart_parser_free(multipart_parser* p);
  68. size_t multipart_parser_execute(multipart_parser* p, const char *buf, size_t len);
  69. void multipart_parser_set_data(multipart_parser* p, void* data);
  70. void * multipart_parser_get_data(multipart_parser* p);
  71. #ifdef __cplusplus
  72. } /* extern "C" */
  73. #endif
  74. #endif
  75. >>>>>>> 08a3f61f844fd56297a491016c3f540974b6f434