1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 5 | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1997-2014 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