mirror of
https://github.com/php/php-src.git
synced 2026-04-26 17:38:14 +02:00
54 lines
2.1 KiB
C
54 lines
2.1 KiB
C
/*
|
|
+----------------------------------------------------------------------+
|
|
| Copyright © The PHP Group and Contributors. |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to the Modified BSD License that is |
|
|
| bundled with this package in the file LICENSE, and is available |
|
|
| through the World Wide Web at <https://www.php.net/license/>. |
|
|
| |
|
|
| SPDX-License-Identifier: BSD-3-Clause |
|
|
+----------------------------------------------------------------------+
|
|
| Author: Jim Winstead <jimw@php.net> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
#ifndef URL_H
|
|
#define URL_H
|
|
|
|
typedef struct php_url {
|
|
zend_string *scheme;
|
|
zend_string *user;
|
|
zend_string *pass;
|
|
zend_string *host;
|
|
unsigned short port;
|
|
zend_string *path;
|
|
zend_string *query;
|
|
zend_string *fragment;
|
|
} php_url;
|
|
|
|
PHPAPI void php_url_free(php_url *theurl);
|
|
PHPAPI php_url *php_url_parse(char const *str);
|
|
PHPAPI php_url *php_url_parse_ex(char const *str, size_t length);
|
|
PHPAPI php_url *php_url_parse_ex2(char const *str, size_t length, bool *has_port);
|
|
PHPAPI size_t php_url_decode(char *str, size_t len); /* return value: length of decoded string */
|
|
PHPAPI size_t php_url_decode_ex(char *dest, const char *src, size_t src_len);
|
|
PHPAPI size_t php_raw_url_decode(char *str, size_t len); /* return value: length of decoded string */
|
|
PHPAPI size_t php_raw_url_decode_ex(char *dest, const char *src, size_t src_len);
|
|
PHPAPI zend_string *php_url_encode(char const *s, size_t len);
|
|
PHPAPI zend_string *php_raw_url_encode(char const *s, size_t len);
|
|
PHPAPI void php_url_encode_to_smart_str(smart_str *buf, char const *s, size_t len, bool raw);
|
|
|
|
#define PHP_URL_SCHEME 0
|
|
#define PHP_URL_HOST 1
|
|
#define PHP_URL_PORT 2
|
|
#define PHP_URL_USER 3
|
|
#define PHP_URL_PASS 4
|
|
#define PHP_URL_PATH 5
|
|
#define PHP_URL_QUERY 6
|
|
#define PHP_URL_FRAGMENT 7
|
|
|
|
#define PHP_QUERY_RFC1738 1
|
|
#define PHP_QUERY_RFC3986 2
|
|
|
|
#endif /* URL_H */
|