- add flag parameter to http_build_url(); slightly breaks parameter order
[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-2006, 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_EMPTY 0
21 #define HTTP_REQUEST_BODY_CSTRING 1
22 #define HTTP_REQUEST_BODY_CURLPOST 2
23 #define HTTP_REQUEST_BODY_UPLOADFILE 3
24 typedef struct {
25 uint type:31;
26 uint free:1;
27 void *data;
28 size_t size;
29 } http_request_body;
30
31
32 #define http_request_body_new() http_request_body_init(NULL)
33 #define http_request_body_init(b) http_request_body_init_ex((b), 0, NULL, 0, 0)
34 #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)
35 #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)
36 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);
37
38 #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)
39 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);
40
41 #define http_request_body_dtor(b) _http_request_body_dtor((b) TSRMLS_CC)
42 PHP_HTTP_API void _http_request_body_dtor(http_request_body *body TSRMLS_DC);
43
44 #define http_request_body_free(b) _http_request_body_free((b) TSRMLS_CC)
45 PHP_HTTP_API void _http_request_body_free(http_request_body **body TSRMLS_DC);
46
47 #endif
48 #endif
49
50 /*
51 * Local variables:
52 * tab-width: 4
53 * c-basic-offset: 4
54 * End:
55 * vim600: noet sw=4 ts=4 fdm=marker
56 * vim<600: noet sw=4 ts=4
57 */
58