rename info tests
[m6w6/ext-http] / php_http_params.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-2014, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
11 */
12
13 #ifndef PHP_HTTP_PARAMS_H
14 #define PHP_HTTP_PARAMS_H
15
16 typedef struct php_http_params_token {
17 char *str;
18 size_t len;
19 } php_http_params_token_t;
20
21 #define PHP_HTTP_PARAMS_RAW 0x00
22 #define PHP_HTTP_PARAMS_ESCAPED 0x01
23 #define PHP_HTTP_PARAMS_URLENCODED 0x04
24 #define PHP_HTTP_PARAMS_DIMENSION 0x08
25 #define PHP_HTTP_PARAMS_RFC5987 0x10
26 #define PHP_HTTP_PARAMS_QUERY (PHP_HTTP_PARAMS_URLENCODED|PHP_HTTP_PARAMS_DIMENSION)
27 #define PHP_HTTP_PARAMS_DEFAULT (PHP_HTTP_PARAMS_ESCAPED|PHP_HTTP_PARAMS_RFC5987)
28
29 typedef struct php_http_params_opts {
30 php_http_params_token_t input;
31 php_http_params_token_t **param;
32 php_http_params_token_t **arg;
33 php_http_params_token_t **val;
34 zval *defval;
35 unsigned flags;
36 } php_http_params_opts_t;
37
38 PHP_HTTP_API php_http_params_opts_t *php_http_params_opts_default_get(php_http_params_opts_t *opts);
39 PHP_HTTP_API HashTable *php_http_params_parse(HashTable *params, const php_http_params_opts_t *opts TSRMLS_DC);
40 PHP_HTTP_API php_http_buffer_t *php_http_params_to_string(php_http_buffer_t *buf, HashTable *params, const char *pss, size_t psl, const char *ass, size_t asl, const char *vss, size_t vsl, unsigned flags TSRMLS_DC);
41
42 PHP_HTTP_API php_http_params_token_t **php_http_params_separator_init(zval *zv TSRMLS_DC);
43 PHP_HTTP_API void php_http_params_separator_free(php_http_params_token_t **separator);
44
45 typedef php_http_object_t php_http_params_object_t;
46
47 PHP_HTTP_API zend_class_entry *php_http_params_class_entry;
48
49 PHP_MINIT_FUNCTION(http_params);
50
51 #define php_http_params_object_new php_http_object_new
52 #define php_http_params_object_new_ex php_http_object_new_ex
53
54 #endif
55
56 /*
57 * Local variables:
58 * tab-width: 4
59 * c-basic-offset: 4
60 * End:
61 * vim600: noet sw=4 ts=4 fdm=marker
62 * vim<600: noet sw=4 ts=4
63 */
64