#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 \
/* 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) \