mirror of
https://github.com/php-win-ext/phpredis.git
synced 2026-03-24 09:02:07 +01:00
215 lines
6.2 KiB
C
Executable File
215 lines
6.2 KiB
C
Executable File
/*
|
|
+----------------------------------------------------------------------+
|
|
| PHP Version 5 |
|
|
+----------------------------------------------------------------------+
|
|
| Copyright (c) 1997-2009 The PHP Group |
|
|
+----------------------------------------------------------------------+
|
|
| This source file is subject to version 3.01 of the PHP license, |
|
|
| that is bundled with this package in the file LICENSE, and is |
|
|
| available through the world-wide-web at the following url: |
|
|
| http://www.php.net/license/3_01.txt |
|
|
| If you did not receive a copy of the PHP license and are unable to |
|
|
| obtain it through the world-wide-web, please send a note to |
|
|
| license@php.net so we can mail you a copy immediately. |
|
|
+----------------------------------------------------------------------+
|
|
| Original author: Alfonso Jimenez <yo@alfonsojimenez.com> |
|
|
| Maintainer: Nicolas Favre-Felix <n.favre-felix@owlient.eu> |
|
|
| Maintainer: Nasreddine Bouafif <n.bouafif@owlient.eu> |
|
|
+----------------------------------------------------------------------+
|
|
*/
|
|
|
|
#include "common.h"
|
|
|
|
#ifndef PHP_REDIS_H
|
|
#define PHP_REDIS_H
|
|
|
|
PHP_METHOD(Redis, __construct);
|
|
PHP_METHOD(Redis, connect);
|
|
PHP_METHOD(Redis, close);
|
|
PHP_METHOD(Redis, ping);
|
|
PHP_METHOD(Redis, get);
|
|
PHP_METHOD(Redis, set);
|
|
PHP_METHOD(Redis, setex);
|
|
PHP_METHOD(Redis, setnx);
|
|
PHP_METHOD(Redis, getSet);
|
|
PHP_METHOD(Redis, randomKey);
|
|
PHP_METHOD(Redis, renameKey);
|
|
PHP_METHOD(Redis, renameNx);
|
|
PHP_METHOD(Redis, getMultiple);
|
|
PHP_METHOD(Redis, exists);
|
|
PHP_METHOD(Redis, delete);
|
|
PHP_METHOD(Redis, incr);
|
|
PHP_METHOD(Redis, incrBy);
|
|
PHP_METHOD(Redis, decr);
|
|
PHP_METHOD(Redis, decrBy);
|
|
PHP_METHOD(Redis, type);
|
|
PHP_METHOD(Redis, append);
|
|
PHP_METHOD(Redis, substr);
|
|
PHP_METHOD(Redis, strlen);
|
|
PHP_METHOD(Redis, getKeys);
|
|
PHP_METHOD(Redis, sort);
|
|
PHP_METHOD(Redis, sortAsc);
|
|
PHP_METHOD(Redis, sortAscAlpha);
|
|
PHP_METHOD(Redis, sortDesc);
|
|
PHP_METHOD(Redis, sortDescAlpha);
|
|
PHP_METHOD(Redis, lPush);
|
|
PHP_METHOD(Redis, lPushx);
|
|
PHP_METHOD(Redis, rPush);
|
|
PHP_METHOD(Redis, rPushx);
|
|
PHP_METHOD(Redis, lPop);
|
|
PHP_METHOD(Redis, rPop);
|
|
PHP_METHOD(Redis, blPop);
|
|
PHP_METHOD(Redis, brPop);
|
|
PHP_METHOD(Redis, lSize);
|
|
PHP_METHOD(Redis, lRemove);
|
|
PHP_METHOD(Redis, listTrim);
|
|
PHP_METHOD(Redis, lGet);
|
|
PHP_METHOD(Redis, lGetRange);
|
|
PHP_METHOD(Redis, lSet);
|
|
PHP_METHOD(Redis, lInsert);
|
|
PHP_METHOD(Redis, sAdd);
|
|
PHP_METHOD(Redis, sSize);
|
|
PHP_METHOD(Redis, sRemove);
|
|
PHP_METHOD(Redis, sMove);
|
|
PHP_METHOD(Redis, sPop);
|
|
PHP_METHOD(Redis, sRandMember);
|
|
PHP_METHOD(Redis, sContains);
|
|
PHP_METHOD(Redis, sMembers);
|
|
PHP_METHOD(Redis, sInter);
|
|
PHP_METHOD(Redis, sInterStore);
|
|
PHP_METHOD(Redis, sUnion);
|
|
PHP_METHOD(Redis, sUnionStore);
|
|
PHP_METHOD(Redis, sDiff);
|
|
PHP_METHOD(Redis, sDiffStore);
|
|
PHP_METHOD(Redis, setTimeout);
|
|
PHP_METHOD(Redis, save);
|
|
PHP_METHOD(Redis, bgSave);
|
|
PHP_METHOD(Redis, lastSave);
|
|
PHP_METHOD(Redis, flushDB);
|
|
PHP_METHOD(Redis, flushAll);
|
|
PHP_METHOD(Redis, dbSize);
|
|
PHP_METHOD(Redis, auth);
|
|
PHP_METHOD(Redis, ttl);
|
|
PHP_METHOD(Redis, persist);
|
|
PHP_METHOD(Redis, info);
|
|
PHP_METHOD(Redis, select);
|
|
PHP_METHOD(Redis, move);
|
|
PHP_METHOD(Redis, zAdd);
|
|
PHP_METHOD(Redis, zDelete);
|
|
PHP_METHOD(Redis, zRange);
|
|
PHP_METHOD(Redis, zReverseRange);
|
|
PHP_METHOD(Redis, zRangeByScore);
|
|
PHP_METHOD(Redis, zCount);
|
|
PHP_METHOD(Redis, zDeleteRangeByScore);
|
|
PHP_METHOD(Redis, zCard);
|
|
PHP_METHOD(Redis, zScore);
|
|
PHP_METHOD(Redis, zRank);
|
|
PHP_METHOD(Redis, zRevRank);
|
|
PHP_METHOD(Redis, zIncrBy);
|
|
PHP_METHOD(Redis, zInter);
|
|
PHP_METHOD(Redis, zUnion);
|
|
PHP_METHOD(Redis, expireAt);
|
|
PHP_METHOD(Redis, bgrewriteaof);
|
|
PHP_METHOD(Redis, slaveof);
|
|
|
|
PHP_METHOD(Redis, mset);
|
|
PHP_METHOD(Redis, rpoplpush);
|
|
|
|
PHP_METHOD(Redis, hGet);
|
|
PHP_METHOD(Redis, hSet);
|
|
PHP_METHOD(Redis, hDel);
|
|
PHP_METHOD(Redis, hLen);
|
|
PHP_METHOD(Redis, hKeys);
|
|
PHP_METHOD(Redis, hVals);
|
|
PHP_METHOD(Redis, hGetAll);
|
|
PHP_METHOD(Redis, hExists);
|
|
PHP_METHOD(Redis, hIncrBy);
|
|
PHP_METHOD(Redis, hMset);
|
|
PHP_METHOD(Redis, hMget);
|
|
|
|
PHP_METHOD(Redis, multi);
|
|
PHP_METHOD(Redis, discard);
|
|
PHP_METHOD(Redis, exec);
|
|
PHP_METHOD(Redis, watch);
|
|
PHP_METHOD(Redis, unwatch);
|
|
|
|
PHP_METHOD(Redis, pipeline);
|
|
|
|
PHP_METHOD(Redis, publish);
|
|
PHP_METHOD(Redis, subscribe);
|
|
PHP_METHOD(Redis, unsubscribe);
|
|
|
|
#ifdef PHP_WIN32
|
|
#define PHP_REDIS_API __declspec(dllexport)
|
|
#else
|
|
#define PHP_REDIS_API
|
|
#endif
|
|
|
|
#ifdef ZTS
|
|
#include "TSRM.h"
|
|
#endif
|
|
|
|
PHP_MINIT_FUNCTION(redis);
|
|
PHP_MSHUTDOWN_FUNCTION(redis);
|
|
PHP_RINIT_FUNCTION(redis);
|
|
PHP_RSHUTDOWN_FUNCTION(redis);
|
|
PHP_MINFO_FUNCTION(redis);
|
|
|
|
PHPAPI void redis_atomic_increment(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int count);
|
|
PHPAPI int generic_multiple_args_cmd(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_len,
|
|
int min_argc, RedisSock **redis_sock, int has_timeout);
|
|
PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_alpha);
|
|
PHPAPI void generic_empty_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len, ...);
|
|
PHPAPI void generic_empty_long_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int cmd_len, ...);
|
|
|
|
PHPAPI void array_zip_values_and_scores(zval *z_tab, int use_atof TSRMLS_DC);
|
|
PHPAPI int redis_response_enqueued(RedisSock *redis_sock TSRMLS_DC);
|
|
|
|
PHPAPI int get_flag(zval *object TSRMLS_DC);
|
|
PHPAPI void set_flag(zval *object, int new_flag TSRMLS_DC);
|
|
|
|
/* pipeline */
|
|
PHPAPI request_item* get_pipeline_head(zval *object);
|
|
PHPAPI void set_pipeline_head(zval *object, request_item *head);
|
|
PHPAPI request_item* get_pipeline_current(zval *object);
|
|
PHPAPI void set_pipeline_current(zval *object, request_item *current);
|
|
|
|
ZEND_BEGIN_MODULE_GLOBALS(redis)
|
|
ZEND_END_MODULE_GLOBALS(redis)
|
|
|
|
|
|
struct redis_queued_item {
|
|
|
|
/* reading function */
|
|
zval * (*fun)(INTERNAL_FUNCTION_PARAMETERS, RedisSock *redis_sock, ...);
|
|
|
|
char *cmd;
|
|
int cmd_len;
|
|
|
|
struct redis_queued_item *next;
|
|
};
|
|
|
|
struct redis {
|
|
int fd;
|
|
redis_mode mode;
|
|
struct redis_queued_item *head;
|
|
};
|
|
|
|
extern zend_module_entry redis_module_entry;
|
|
#define redis_module_ptr &redis_module_entry
|
|
|
|
#define phpext_redis_ptr redis_module_ptr
|
|
|
|
#define PHP_REDIS_VERSION "2.0.8"
|
|
|
|
#endif
|
|
|
|
/*
|
|
* Local variables:
|
|
* tab-width: 4
|
|
* c-basic-offset: 4
|
|
* End:
|
|
* vim600: noet sw=4 ts=4 fdm=marker
|
|
* vim<600: noet sw=4 ts=4
|
|
*/
|