1 | /* |
2 | +----------------------------------------------------------------------+ |
3 | | PHP Version 5 | |
4 | +----------------------------------------------------------------------+ |
5 | | Copyright (c) 1997-2015 The PHP Group | |
6 | +----------------------------------------------------------------------+ |
7 | | This source file is subject to version 3.01 of the PHP license, | |
8 | | that is bundled with this package in the file LICENSE, and is | |
9 | | available through the world-wide-web at the following url: | |
10 | | http://www.php.net/license/3_01.txt | |
11 | | If you did not receive a copy of the PHP license and are unable to | |
12 | | obtain it through the world-wide-web, please send a note to | |
13 | | license@php.net so we can mail you a copy immediately. | |
14 | +----------------------------------------------------------------------+ |
15 | | Author: Sascha Schumann <sascha@schumann.cx> | |
16 | +----------------------------------------------------------------------+ |
17 | */ |
18 | |
19 | /* $Id$ */ |
20 | |
21 | #ifndef URL_SCANNER_EX_H |
22 | #define URL_SCANNER_EX_H |
23 | |
24 | PHP_MINIT_FUNCTION(url_scanner_ex); |
25 | PHP_MSHUTDOWN_FUNCTION(url_scanner_ex); |
26 | |
27 | PHP_RINIT_FUNCTION(url_scanner_ex); |
28 | PHP_RSHUTDOWN_FUNCTION(url_scanner_ex); |
29 | |
30 | PHPAPI char *php_url_scanner_adapt_single_url(const char *url, size_t urllen, const char *name, const char *value, size_t *newlen TSRMLS_DC); |
31 | PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC); |
32 | PHPAPI int php_url_scanner_reset_vars(TSRMLS_D); |
33 | |
34 | #include "php_smart_str_public.h" |
35 | |
36 | typedef struct { |
37 | /* Used by the mainloop of the scanner */ |
38 | smart_str tag; /* read only */ |
39 | smart_str arg; /* read only */ |
40 | smart_str val; /* read only */ |
41 | smart_str buf; |
42 | |
43 | /* The result buffer */ |
44 | smart_str result; |
45 | |
46 | /* The data which is appended to each relative URL/FORM */ |
47 | smart_str form_app, url_app; |
48 | |
49 | int active; |
50 | |
51 | char *lookup_data; |
52 | int state; |
53 | |
54 | /* Everything above is zeroed in RINIT */ |
55 | HashTable *tags; |
56 | } url_adapt_state_ex_t; |
57 | |
58 | #endif |
59 | |