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-2006, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
15 #ifndef PHP_HTTP_REQUEST_METHOD_API_H
16 #define PHP_HTTP_REQUEST_METHOD_API_H
18 typedef enum _http_request_method_t
{
19 /* force the enum to be signed */
20 HTTP_NEG_REQUEST_METHOD
=-1,
21 HTTP_NO_REQUEST_METHOD
= 0,
31 /* WebDAV - RFC 2518 */
39 /* WebDAV Versioning - RFC 3253 */
40 HTTP_VERSION_CONTROL
= 16,
45 HTTP_MKWORKSPACE
= 21,
49 HTTP_BASELINE_CONTROL
= 25,
51 /* WebDAV Access Control - RFC 3744 */
53 HTTP_MAX_REQUEST_METHOD
= 28
54 } http_request_method
;
56 #define HTTP_MIN_REQUEST_METHOD (HTTP_NO_REQUEST_METHOD + 1)
57 #define HTTP_CUSTOM_REQUEST_METHOD_START HTTP_MAX_REQUEST_METHOD
59 typedef struct _http_request_method_entry_t
{
62 } http_request_method_entry
;
64 #define HTTP_STD_REQUEST_METHOD(m) ((m > HTTP_NO_REQUEST_METHOD) && (m < HTTP_MAX_REQUEST_METHOD))
65 #define HTTP_CUSTOM_REQUEST_METHOD(m) (m - HTTP_MAX_REQUEST_METHOD)
67 extern PHP_MINIT_FUNCTION(http_request_method
);
68 extern PHP_RINIT_FUNCTION(http_request_method
);
69 extern PHP_RSHUTDOWN_FUNCTION(http_request_method
);
71 #define http_request_method_name(m) _http_request_method_name((m) TSRMLS_CC)
72 PHP_HTTP_API
const char *_http_request_method_name(http_request_method m TSRMLS_DC
);
74 #define http_request_method_exists(u, l, c) _http_request_method_exists((u), (l), (c) TSRMLS_CC)
75 PHP_HTTP_API
int _http_request_method_exists(zend_bool by_name
, http_request_method id
, const char *name TSRMLS_DC
);
77 #define http_request_method_register(m, l) _http_request_method_register((m), (l) TSRMLS_CC)
78 PHP_HTTP_API
int _http_request_method_register(const char *method
, int method_name_len TSRMLS_DC
);
80 #define http_request_method_unregister(mn) _http_request_method_unregister((mn) TSRMLS_CC)
81 PHP_HTTP_API STATUS
_http_request_method_unregister(int method TSRMLS_DC
);
90 * vim600: noet sw=4 ts=4 fdm=marker
91 * vim<600: noet sw=4 ts=4