- fix inclusion of zlib.h
[m6w6/ext-http] / php_http_request_body_api.h
1 /*
2 +--------------------------------------------------------------------+
3 | PECL :: http |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2004-2005, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
11 */
12
13 /* $Id$ */
14
15 #ifndef PHP_HTTP_REQUEST_BODY_API_H
16 #define PHP_HTTP_REQUEST_BODY_API_H
17
18 #ifdef HTTP_HAVE_CURL
19
20 #define HTTP_REQUEST_BODY_CSTRING 1
21 #define HTTP_REQUEST_BODY_CURLPOST 2
22 #define HTTP_REQUEST_BODY_UPLOADFILE 3
23 typedef struct {
24 uint type:31;
25 uint free:1;
26 void *data;
27 size_t size;
28 } http_request_body;
29
30
31 #define http_request_body_new() http_request_body_init(NULL)
32 #define http_request_body_init(b) http_request_body_init_ex((b), 0, NULL, 0, 0)
33 #define http_request_body_init_ex(b, t, d, l, f) _http_request_body_init_ex((b), (t), (d), (l), (f) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC TSRMLS_CC)
34 #define http_request_body_init_rel(b, t, d, l, f) _http_request_body_init_ex((b), (t), (d), (l), (f) ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC TSRMLS_CC)
35 PHP_HTTP_API http_request_body *_http_request_body_init_ex(http_request_body *body, int type, void *data, size_t len, zend_bool free ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC TSRMLS_DC);
36
37 #define http_request_body_fill(b, fields, files) _http_request_body_fill((b), (fields), (files) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC TSRMLS_CC)
38 PHP_HTTP_API http_request_body *_http_request_body_fill(http_request_body *body, HashTable *fields, HashTable *files ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC TSRMLS_DC);
39
40 #define http_request_body_dtor(b) _http_request_body_dtor((b) TSRMLS_CC)
41 PHP_HTTP_API void _http_request_body_dtor(http_request_body *body TSRMLS_DC);
42
43 #define http_request_body_free(b) _http_request_body_free((b) TSRMLS_CC)
44 PHP_HTTP_API void _http_request_body_free(http_request_body **body TSRMLS_DC);
45
46 #endif
47 #endif
48
49 /*
50 * Local variables:
51 * tab-width: 4
52 * c-basic-offset: 4
53 * End:
54 * vim600: noet sw=4 ts=4 fdm=marker
55 * vim<600: noet sw=4 ts=4
56 */
57