- update
[m6w6/ext-http] / php_http_std_defs.h
index 59edb29935f319185dc336a1c091b1e5fca75eaa..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 \
@@ -64,12 +88,12 @@ typedef int STATUS;
                /* HTTP 1.1 */ \
                "GET, HEAD, POST, PUT, DELETE, OPTIONS, TRACE, CONNECT, " \
                /* WebDAV - RFC 2518 */ \
-               /* "PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, " */ \
+               "PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, " \
                /* WebDAV Versioning - RFC 3253 */ \
-               /* "VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, " */ \
-               /* "MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, " */ \
+               "VERSION-CONTROL, REPORT, CHECKOUT, CHECKIN, UNCHECKOUT, " \
+               "MKWORKSPACE, UPDATE, LABEL, MERGE, BASELINE-CONTROL, MKACTIVITY, " \
                /* WebDAV Access Control - RFC 3744 */ \
-               /* "ACL, " */ \
+               "ACL, " \
                /* END */