- more descriptive constant names
[m6w6/ext-http] / php_http_request_method_api.h
1 /*
2 +----------------------------------------------------------------------+
3 | PECL :: http |
4 +----------------------------------------------------------------------+
5 | This source file is subject to version 3.0 of the PHP license, that |
6 | is bundled with this package in the file LICENSE, and is available |
7 | through the world-wide-web at http://www.php.net/license/3_0.txt. |
8 | If you did not receive a copy of the PHP license and are unable to |
9 | obtain it through the world-wide-web, please send a note to |
10 | license@php.net so we can mail you a copy immediately. |
11 +----------------------------------------------------------------------+
12 | Copyright (c) 2004-2005 Michael Wallner <mike@php.net> |
13 +----------------------------------------------------------------------+
14 */
15
16 /* $Id$ */
17
18 #ifndef PHP_HTTP_REQUEST_METHOD_API_H
19 #define PHP_HTTP_REQUEST_METHOD_API_H
20
21 #include "php_http_std_defs.h"
22 #include "phpstr/phpstr.h"
23
24 typedef enum {
25 HTTP_NO_REQUEST_METHOD = 0,
26 /* HTTP/1.1 */
27 HTTP_GET = 1,
28 HTTP_HEAD = 2,
29 HTTP_POST = 3,
30 HTTP_PUT = 4,
31 HTTP_DELETE = 5,
32 HTTP_OPTIONS = 6,
33 HTTP_TRACE = 7,
34 HTTP_CONNECT = 8,
35 /* WebDAV - RFC 2518 */
36 HTTP_PROPFIND = 9,
37 HTTP_PROPPATCH = 10,
38 HTTP_MKCOL = 11,
39 HTTP_COPY = 12,
40 HTTP_MOVE = 13,
41 HTTP_LOCK = 14,
42 HTTP_UNLOCK = 15,
43 /* WebDAV Versioning - RFC 3253 */
44 HTTP_VERSION_CONTROL = 16,
45 HTTP_REPORT = 17,
46 HTTP_CHECKOUT = 18,
47 HTTP_CHECKIN = 19,
48 HTTP_UNCHECKOUT = 20,
49 HTTP_MKWORKSPACE = 21,
50 HTTP_UPDATE = 22,
51 HTTP_LABEL = 23,
52 HTTP_MERGE = 24,
53 HTTP_BASELINE_CONTROL = 25,
54 HTTP_MKACTIVITY = 26,
55 /* WebDAV Access Control - RFC 3744 */
56 HTTP_ACL = 27,
57 HTTP_MAX_REQUEST_METHOD = 28
58 } http_request_method;
59
60 #define http_request_method_global_init() _http_request_method_global_init(INIT_FUNC_ARGS_PASSTHRU)
61 STATUS _http_request_method_global_init(INIT_FUNC_ARGS);
62
63 #define HTTP_STD_REQUEST_METHOD(m) ((m > HTTP_NO_REQUEST_METHOD) && (m < HTTP_MAX_REQUEST_METHOD))
64 #define HTTP_CUSTOM_REQUEST_METHOD(m) (m - HTTP_MAX_REQUEST_METHOD)
65
66 #define http_request_method_name(m) _http_request_method_name((m) TSRMLS_CC)
67 PHP_HTTP_API const char *_http_request_method_name(http_request_method m TSRMLS_DC);
68
69 #define http_request_method_exists(u, l, c) _http_request_method_exists((u), (l), (c) TSRMLS_CC)
70 PHP_HTTP_API unsigned long _http_request_method_exists(zend_bool by_name, unsigned long id, const char *name TSRMLS_DC);
71
72 #define http_request_method_register(m) _http_request_method_register((m) TSRMLS_CC)
73 PHP_HTTP_API unsigned long _http_request_method_register(const char *method TSRMLS_DC);
74
75 #define http_request_method_unregister(mn) _http_request_method_unregister((mn) TSRMLS_CC)
76 PHP_HTTP_API STATUS _http_request_method_unregister(unsigned long method TSRMLS_DC);
77
78 #endif
79
80 /*
81 * Local variables:
82 * tab-width: 4
83 * c-basic-offset: 4
84 * End:
85 * vim600: noet sw=4 ts=4 fdm=marker
86 * vim<600: noet sw=4 ts=4
87 */
88