2 +--------------------------------------------------------------------+
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 +--------------------------------------------------------------------+
13 #ifndef PHP_HTTP_PARAMS_H
14 #define PHP_HTTP_PARAMS_H
16 typedef struct php_http_params_token
{
19 } php_http_params_token_t
;
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_RFC5988 0x20
27 #define PHP_HTTP_PARAMS_QUERY (PHP_HTTP_PARAMS_URLENCODED|PHP_HTTP_PARAMS_DIMENSION)
28 #define PHP_HTTP_PARAMS_DEFAULT (PHP_HTTP_PARAMS_ESCAPED|PHP_HTTP_PARAMS_RFC5987)
30 typedef struct php_http_params_opts
{
31 php_http_params_token_t input
;
32 php_http_params_token_t
**param
;
33 php_http_params_token_t
**arg
;
34 php_http_params_token_t
**val
;
37 } php_http_params_opts_t
;
39 PHP_HTTP_API php_http_params_opts_t
*php_http_params_opts_default_get(php_http_params_opts_t
*opts
);
40 PHP_HTTP_API HashTable
*php_http_params_parse(HashTable
*params
, const php_http_params_opts_t
*opts
);
41 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
);
43 PHP_HTTP_API php_http_params_token_t
**php_http_params_separator_init(zval
*zv
);
44 PHP_HTTP_API
void php_http_params_separator_free(php_http_params_token_t
**separator
);
46 typedef php_http_object_t php_http_params_object_t
;
48 PHP_HTTP_API zend_class_entry
*php_http_params_get_class_entry(void);
50 PHP_MINIT_FUNCTION(http_params
);
52 #define php_http_params_object_new php_http_object_new
53 #define php_http_params_object_new_ex php_http_object_new_ex
62 * vim600: noet sw=4 ts=4 fdm=marker
63 * vim<600: noet sw=4 ts=4