this got implemented in zend API
[m6w6/ext-http] / php_http_options.h
index 479b155e66e2d3b1ef08acf0938a5a7f8e2728f1..4fff611a3b40aadfeac1c5d210894b369a9ec0dd 100644 (file)
@@ -6,7 +6,7 @@
     | modification, are permitted provided that the conditions mentioned |
     | in the accompanying LICENSE file are met.                          |
     +--------------------------------------------------------------------+
-    | Copyright (c) 2004-2013, Michael Wallner <mike@php.net>            |
+    | Copyright (c) 2004-2014, Michael Wallner <mike@php.net>            |
     +--------------------------------------------------------------------+
 */
 
@@ -16,7 +16,7 @@
 typedef struct php_http_option php_http_option_t;
 typedef struct php_http_options php_http_options_t;
 
-typedef STATUS (*php_http_option_set_callback_t)(php_http_option_t *opt, zval *val, void *userdata);
+typedef ZEND_RESULT_CODE (*php_http_option_set_callback_t)(php_http_option_t *opt, zval *val, void *userdata);
 typedef zval *(*php_http_option_get_callback_t)(php_http_option_t *opt, HashTable *options, void *userdata);
 
 struct php_http_options {
@@ -31,22 +31,18 @@ struct php_http_options {
 struct php_http_option {
        php_http_options_t suboptions;
 
-       struct {
-               const char *s;
-               size_t l;
-               ulong h;
-       } name;
-
+       zend_string *name;
        ulong option;
        zend_uchar type;
        unsigned flags;
        zval defval;
 
        php_http_option_set_callback_t setter;
+       unsigned persistent:1;
 };
 
 PHP_HTTP_API php_http_options_t *php_http_options_init(php_http_options_t *registry, zend_bool persistent);
-PHP_HTTP_API STATUS php_http_options_apply(php_http_options_t *registry, HashTable *options, void *userdata);
+PHP_HTTP_API ZEND_RESULT_CODE php_http_options_apply(php_http_options_t *registry, HashTable *options, void *userdata);
 PHP_HTTP_API void php_http_options_dtor(php_http_options_t *registry);
 PHP_HTTP_API void php_http_options_free(php_http_options_t **registry);