- update
[m6w6/ext-http] / php_http_std_defs.h
index a15a32acd61e11309b80ae91cf60ecb99d55b2ec..186a8b0834098d4f3f5f750f202fe4a3efc707a2 100644 (file)
 #ifndef PHP_HTTP_STD_DEFS_H
 #define PHP_HTTP_STD_DEFS_H
 
-#ifdef PHP_WIN32
-#      define PHP_HTTP_API __declspec(dllexport)
+#if defined(PHP_WIN32)
+#      if defined(HTTP_EXPORTS)
+#              define PHP_HTTP_API __declspec(dllexport)
+#      elif defined(COMPILE_DL_HTTP)
+#              define PHP_HTTP_API __declspec(dllimport)
+#      else
+#              define PHP_HTTP_API
+#      endif
 #else
 #      define PHP_HTTP_API
 #endif
@@ -31,7 +37,25 @@ typedef int STATUS;
 #define lenof(S) (sizeof(S) - 1)
 
 /* return bool (v == SUCCESS) */
+#define RETVAL_SUCCESS(v) RETVAL_BOOL(SUCCESS == (v))
 #define RETURN_SUCCESS(v) RETURN_BOOL(SUCCESS == (v))
+/* return object(values) */
+#define RETVAL_OBJECT(o) \
+       return_value->is_ref = 1; \
+       return_value->type = IS_OBJECT; \
+       return_value->value.obj = (o)->value.obj; \
+       zval_add_ref(&return_value)
+#define RETURN_OBJECT(o) \
+       RETVAL_OBJECT(o); \
+       return
+#define RETVAL_OBJVAL(ov) \
+       return_value->is_ref = 1; \
+       return_value->type = IS_OBJECT; \
+       return_value->value.obj = (ov); \
+       zend_objects_store_add_ref(return_value TSRMLS_CC)
+#define RETURN_OBJVAL(ov) \
+       RETVAL_OBJVAL(ov); \
+       return
 
 /* function accepts no args */
 #define NO_ARGS \
@@ -59,9 +83,26 @@ typedef int STATUS;
 /* CURL buffer size */
 #define HTTP_CURLBUF_SIZE 16384
 
+/* known methods */
+#define HTTP_KNOWN_METHODS \
+               /* HTTP 1.1 */ \
+               "GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, CONNECT, " \
+               /* WebDAV - RFC 2518 */ \
+               "PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, " \
+               /* WebDAV Versioning - RFC 3253 */ \
+               "VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, " \
+               "MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, " \
+               /* WebDAV Access Control - RFC 3744 */ \
+               "ACL, " \
+               /* END */
+
+
 /* server vars shorthand */
 #define HTTP_SERVER_VARS Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER])
 
+#define HTTP_INI_ENTRY(entry, default, scope, global) \
+       STD_PHP_INI_ENTRY(entry, default, scope, http_update_##global, global, zend_http_globals, http_globals)
+
 /* {{{ arrays */
 #define FOREACH_VAL(array, val) FOREACH_HASH_VAL(Z_ARRVAL_P(array), val)
 #define FOREACH_HASH_VAL(hash, val) \