diff --git a/cluster_library.h b/cluster_library.h index d97de2a498..a5020dc677 100644 --- a/cluster_library.h +++ b/cluster_library.h @@ -343,101 +343,101 @@ unsigned short cluster_hash_key(const char *key, int len); /* Get the current time in miliseconds */ long long mstime(void); -PHPAPI short cluster_send_command(redisCluster *c, short slot, const char *cmd, +PHP_REDIS_API short cluster_send_command(redisCluster *c, short slot, const char *cmd, int cmd_len TSRMLS_DC); -PHPAPI void cluster_disconnect(redisCluster *c TSRMLS_DC); +PHP_REDIS_API void cluster_disconnect(redisCluster *c TSRMLS_DC); -PHPAPI int cluster_send_exec(redisCluster *c, short slot TSRMLS_DC); -PHPAPI int cluster_send_discard(redisCluster *c, short slot TSRMLS_DC); -PHPAPI int cluster_abort_exec(redisCluster *c TSRMLS_DC); -PHPAPI int cluster_reset_multi(redisCluster *c); +PHP_REDIS_API int cluster_send_exec(redisCluster *c, short slot TSRMLS_DC); +PHP_REDIS_API int cluster_send_discard(redisCluster *c, short slot TSRMLS_DC); +PHP_REDIS_API int cluster_abort_exec(redisCluster *c TSRMLS_DC); +PHP_REDIS_API int cluster_reset_multi(redisCluster *c); -PHPAPI short cluster_find_slot(redisCluster *c, const char *host, +PHP_REDIS_API short cluster_find_slot(redisCluster *c, const char *host, unsigned short port); -PHPAPI int cluster_send_slot(redisCluster *c, short slot, char *cmd, +PHP_REDIS_API int cluster_send_slot(redisCluster *c, short slot, char *cmd, int cmd_len, REDIS_REPLY_TYPE rtype TSRMLS_DC); -PHPAPI int cluster_init_seeds(redisCluster *c, HashTable *ht_seeds); -PHPAPI int cluster_map_keyspace(redisCluster *c TSRMLS_DC); -PHPAPI void cluster_free_node(redisClusterNode *node); +PHP_REDIS_API int cluster_init_seeds(redisCluster *c, HashTable *ht_seeds); +PHP_REDIS_API int cluster_map_keyspace(redisCluster *c TSRMLS_DC); +PHP_REDIS_API void cluster_free_node(redisClusterNode *node); -PHPAPI char **cluster_sock_read_multibulk_reply(RedisSock *redis_sock, +PHP_REDIS_API char **cluster_sock_read_multibulk_reply(RedisSock *redis_sock, int *len TSRMLS_DC); /* * Redis Cluster response handlers. Our response handlers generally take the * following form: - * PHPAPI void handler(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, + * PHP_REDIS_API void handler(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, * void *ctx) * * Reply handlers are responsible for setting the PHP return value (either to * something valid, or FALSE in the case of some failures). */ -PHPAPI void cluster_bool_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_bool_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_ping_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_ping_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_bulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_bulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_bulk_raw_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_bulk_raw_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_dbl_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_dbl_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_1_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_1_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_long_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_long_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_type_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_type_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_sub_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_sub_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_unsub_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, +PHP_REDIS_API void cluster_unsub_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); /* Generic/Variant handler for stuff like EVAL */ -PHPAPI void cluster_variant_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_variant_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); /* MULTI BULK response functions */ -PHPAPI void cluster_gen_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_gen_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, mbulk_cb func, void *ctx); -PHPAPI void cluster_mbulk_raw_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_raw_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mbulk_zipstr_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_zipstr_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mbulk_zipdbl_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_zipdbl_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mbulk_assoc_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_assoc_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_multi_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_multi_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI zval *cluster_zval_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API zval *cluster_zval_mbulk_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, int pull, mbulk_cb cb); /* Handlers for things like DEL/MGET/MSET/MSETNX */ -PHPAPI void cluster_del_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_del_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mbulk_mget_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mbulk_mget_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_mset_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_mset_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); -PHPAPI void cluster_msetnx_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_msetnx_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); /* Response handler for ZSCAN, SSCAN, and HSCAN */ -PHPAPI int cluster_scan_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API int cluster_scan_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, REDIS_SCAN_TYPE type, long *it); /* INFO response handler */ -PHPAPI void cluster_info_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_info_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); /* CLIENT LIST response handler */ -PHPAPI void cluster_client_list_resp(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void cluster_client_list_resp(INTERNAL_FUNCTION_PARAMETERS, redisCluster *c, void *ctx); /* MULTI BULK processing callbacks */ diff --git a/common.h b/common.h index 124bf02d4c..0809b3d25e 100644 --- a/common.h +++ b/common.h @@ -28,6 +28,12 @@ #define REDIS_ZSET 4 #define REDIS_HASH 5 +#ifdef PHP_WIN32 +#define PHP_REDIS_API __declspec(dllexport) +#else +#define PHP_REDIS_API +#endif + /* reply types */ typedef enum _REDIS_REPLY_TYPE { TYPE_EOF = -1, diff --git a/library.h b/library.h index 8de44166f5..d178285ec7 100644 --- a/library.h +++ b/library.h @@ -14,54 +14,29 @@ int redis_cmd_append_sstr_long(smart_str *str, long append); int redis_cmd_append_int(char **cmd, int cmd_len, int append); int redis_cmd_append_sstr_dbl(smart_str *str, double value); -PHP_REDIS_API char* redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC); +PHP_REDIS_API char * redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC); +PHP_REDIS_API int redis_sock_gets(RedisSock *redis_sock, char *buf, int buf_size, size_t* line_len TSRMLS_DC); PHP_REDIS_API void redis_1_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); PHP_REDIS_API void redis_long_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval* z_tab, void *ctx); -PHP_REDIS_API char* redis_sock_read(RedisSock *redis_sock, int *buf_len TSRMLS_DC); -PHP_REDIS_API int redis_sock_gets(RedisSock *redis_sock, char *buf, int buf_size, size_t* line_len TSRMLS_DC); - typedef void (*SuccessCallback)(RedisSock *redis_sock); -PHPAPI void redis_boolean_response_impl(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx, SuccessCallback success_callback); -PHPAPI void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI void redis_ping_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI void redis_info_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI zval *redis_parse_info_response(char *resp); -PHPAPI zval *redis_parse_client_list_response(char *resp); -PHPAPI void redis_type_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI RedisSock* redis_sock_create(char *host, int host_len, unsigned short port, double timeout, int persistent, char *persistent_id, long retry_interval, zend_bool lazy_connect); -PHPAPI int redis_sock_connect(RedisSock *redis_sock TSRMLS_DC); -PHPAPI int redis_sock_server_open(RedisSock *redis_sock, int force_connect TSRMLS_DC); -PHPAPI int redis_sock_disconnect(RedisSock *redis_sock TSRMLS_DC); -PHPAPI zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock); -PHPAPI char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes TSRMLS_DC); -PHPAPI int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *_z_tab, void *ctx); -PHPAPI void redis_mbulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int count, int unserialize); - -PHPAPI int redis_mbulk_reply_raw(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_mbulk_reply_zipped_raw(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_mbulk_reply_zipped_vals(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_mbulk_reply_zipped_keys_int(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_mbulk_reply_zipped_keys_dbl(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_mbulk_reply_assoc(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); - -PHPAPI int redis_sock_read_scan_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, REDIS_SCAN_TYPE type, long *iter); - -PHPAPI int redis_subscribe_response(INTERNAL_FUNCTION_PARAMETERS, - RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_unsubscribe_response(INTERNAL_FUNCTION_PARAMETERS, - RedisSock *redis_sock, zval *z_tab, void *ctx); - -PHPAPI int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz TSRMLS_DC); -PHPAPI void redis_stream_close(RedisSock *redis_sock TSRMLS_DC); -PHPAPI int redis_check_eof(RedisSock *redis_sock, int no_throw TSRMLS_DC); -PHPAPI int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC, int nothrow); -PHPAPI void redis_free_socket(RedisSock *redis_sock); -PHPAPI void redis_send_discard(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock); -PHPAPI int redis_sock_set_err(RedisSock *redis_sock, const char *msg, int msg_len); - +PHP_REDIS_API void redis_boolean_response_impl(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx, SuccessCallback success_callback); +PHP_REDIS_API void redis_boolean_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API void redis_bulk_double_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API void redis_string_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API void redis_ping_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API void redis_info_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API zval *redis_parse_info_response(char *resp); +PHP_REDIS_API zval *redis_parse_client_list_response(char *resp); +PHP_REDIS_API void redis_type_response(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API RedisSock* redis_sock_create(char *host, int host_len, unsigned short port, double timeout, int persistent, char *persistent_id, long retry_interval, zend_bool lazy_connect); +PHP_REDIS_API int redis_sock_connect(RedisSock *redis_sock TSRMLS_DC); +PHP_REDIS_API int redis_sock_server_open(RedisSock *redis_sock, int force_connect TSRMLS_DC); +PHP_REDIS_API int redis_sock_disconnect(RedisSock *redis_sock TSRMLS_DC); +PHP_REDIS_API zval *redis_sock_read_multibulk_reply_zval(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock); +PHP_REDIS_API char *redis_sock_read_bulk_reply(RedisSock *redis_sock, int bytes TSRMLS_DC); +PHP_REDIS_API int redis_sock_read_multibulk_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *_z_tab, void *ctx); PHP_REDIS_API void redis_mbulk_reply_loop(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int count, int unserialize); + PHP_REDIS_API int redis_mbulk_reply_raw(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); PHP_REDIS_API int redis_mbulk_reply_zipped_raw(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); PHP_REDIS_API int redis_mbulk_reply_zipped_vals(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); @@ -70,14 +45,28 @@ PHP_REDIS_API int redis_mbulk_reply_zipped_keys_dbl(INTERNAL_FUNCTION_PARAMETERS PHP_REDIS_API int redis_mbulk_reply_assoc(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); PHP_REDIS_API int redis_sock_read_scan_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, REDIS_SCAN_TYPE type, long *iter); + +PHP_REDIS_API int redis_subscribe_response(INTERNAL_FUNCTION_PARAMETERS, + RedisSock *redis_sock, zval *z_tab, void *ctx); +PHP_REDIS_API int redis_unsubscribe_response(INTERNAL_FUNCTION_PARAMETERS, + RedisSock *redis_sock, zval *z_tab, void *ctx); + PHP_REDIS_API int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz TSRMLS_DC); PHP_REDIS_API void redis_stream_close(RedisSock *redis_sock TSRMLS_DC); -PHP_REDIS_API int redis_check_eof(RedisSock *redis_sock TSRMLS_DC); -/*PHP_REDIS_API int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC);*/ +PHP_REDIS_API int redis_check_eof(RedisSock *redis_sock, int no_throw TSRMLS_DC); +PHP_REDIS_API int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC, int nothrow); PHP_REDIS_API void redis_free_socket(RedisSock *redis_sock); PHP_REDIS_API void redis_send_discard(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock); PHP_REDIS_API int redis_sock_set_err(RedisSock *redis_sock, const char *msg, int msg_len); +PHP_REDIS_API int +redis_serialize(RedisSock *redis_sock, zval *z, char **val, int *val_len TSRMLS_DC); +PHP_REDIS_API int +redis_key_prefix(RedisSock *redis_sock, char **key, int *key_len); + +PHP_REDIS_API int +redis_unserialize(RedisSock *redis_sock, const char *val, int val_len, zval **return_value TSRMLS_DC); + PHP_REDIS_API int redis_sock_write(RedisSock *redis_sock, char *cmd, size_t sz TSRMLS_DC); PHP_REDIS_API void redis_stream_close(RedisSock *redis_sock TSRMLS_DC); PHP_REDIS_API int redis_check_eof(RedisSock *redis_sock TSRMLS_DC); @@ -99,7 +88,7 @@ PHP_REDIS_API int redis_read_reply_type(RedisSock *redis_sock, REDIS_REPLY_TYPE PHP_REDIS_API int redis_read_variant_line(RedisSock *redis_sock, REDIS_REPLY_TYPE reply_type, zval **z_ret TSRMLS_DC); PHP_REDIS_API int redis_read_variant_bulk(RedisSock *redis_sock, int size, zval **z_ret TSRMLS_DC); PHP_REDIS_API int redis_read_multibulk_recursive(RedisSock *redis_sock, int elements, zval **z_ret TSRMLS_DC); -PHP_REDIS_API int redis_read_variant_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab); +PHP_REDIS_API int redis_read_variant_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); PHP_REDIS_API void redis_client_list_reply(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab); diff --git a/php_redis.h b/php_redis.h index 87339f56c4..078d3ec5e9 100644 --- a/php_redis.h +++ b/php_redis.h @@ -222,12 +222,6 @@ PHP_METHOD(Redis, getAuth); PHP_METHOD(Redis, getMode); PHP_METHOD(Redis, rawcommand); -#ifdef PHP_WIN32 -#define PHP_REDIS_API __declspec(dllexport) -#else -#define PHP_REDIS_API -#endif - #ifdef ZTS #include "TSRM.h" #endif @@ -242,23 +236,23 @@ PHP_MINFO_FUNCTION(redis); typedef void (*ResultCallback)(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, void *ctx); -PHPAPI int redis_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent); +PHP_REDIS_API int redis_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent); -PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, +PHP_REDIS_API void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_alpha); -PHPAPI void generic_subscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sub_cmd); +PHP_REDIS_API void generic_subscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sub_cmd); -PHPAPI void generic_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, +PHP_REDIS_API void generic_unsubscribe_cmd(INTERNAL_FUNCTION_PARAMETERS, char *unsub_cmd); -PHPAPI int redis_response_enqueued(RedisSock *redis_sock TSRMLS_DC); +PHP_REDIS_API int redis_response_enqueued(RedisSock *redis_sock TSRMLS_DC); -PHPAPI int get_flag(zval *object TSRMLS_DC); +PHP_REDIS_API int get_flag(zval *object TSRMLS_DC); -PHPAPI void set_flag(zval *object, int new_flag TSRMLS_DC); +PHP_REDIS_API void set_flag(zval *object, int new_flag TSRMLS_DC); -PHPAPI int redis_sock_read_multibulk_multi_reply_loop( +PHP_REDIS_API int redis_sock_read_multibulk_multi_reply_loop( INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, zval *z_tab, int numElems); diff --git a/redis_cluster.h b/redis_cluster.h index 83185ef152..a5a0758a03 100644 --- a/redis_cluster.h +++ b/redis_cluster.h @@ -99,7 +99,7 @@ resp_func(INTERNAL_FUNCTION_PARAM_PASSTHRU, c, ctx); /* For the creation of RedisCluster specific exceptions */ -PHPAPI zend_class_entry *rediscluster_get_exception_base(int root TSRMLS_DC); +PHP_REDIS_API zend_class_entry *rediscluster_get_exception_base(int root TSRMLS_DC); /* Create cluster context */ zend_object_value create_cluster_context(zend_class_entry *class_type