mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00
48 lines
No EOL
1.4 KiB
C
48 lines
No EOL
1.4 KiB
C
#ifndef HANDLER_H
|
|
#define HANDLER_H
|
|
|
|
#include "php.h"
|
|
|
|
#define RPC_HANDLER(layer) {#layer, layer##_handler_init, &layer##_object_handlers, &layer##_class_entry, layer##_function_entry}
|
|
|
|
#define RPC_DECLARE_HANDLER(layer) void layer##_handler_init(); \
|
|
rpc_object_handlers layer##_object_handlers; \
|
|
zend_class_entry layer##_class_entry; \
|
|
function_entry layer##_function_entry[];
|
|
|
|
#define RPC_INIT_FUNCTION(layer) void layer##_handler_init()
|
|
|
|
#define RPC_REGISTER_HANDLERS(layer) zend_class_entry layer##_class_entry; \
|
|
rpc_object_handlers layer##_object_handlers; \
|
|
|
|
|
|
#define RPC_FUNCTION_ENTRY_START(layer) function_entry layer##_function_entry[] = { \
|
|
PHP_FALIAS(layer##_load, rpc_load, NULL) \
|
|
PHP_FALIAS(layer##_call, rpc_call, NULL) \
|
|
PHP_FALIAS(layer##_get, rpc_get, NULL) \
|
|
PHP_FALIAS(layer##_set, rpc_set, NULL)
|
|
|
|
#define RPC_FUNCTION_ENTRY_END() {NULL, NULL, NULL} \
|
|
};
|
|
|
|
|
|
typedef struct _rpc_object_handlers {
|
|
int i;
|
|
} rpc_object_handlers;
|
|
|
|
typedef struct _rpc_handler_entry {
|
|
char *name;
|
|
void (*rpc_handler_init)();
|
|
rpc_object_handlers *handlers;
|
|
zend_class_entry *ce;
|
|
function_entry *functions;
|
|
} rpc_handler_entry;
|
|
|
|
typedef struct _rpc_internal {
|
|
zend_class_entry *ce;
|
|
rpc_object_handlers **handlers;
|
|
void *data;
|
|
int refcount;
|
|
} rpc_internal;
|
|
|
|
#endif /* HANDLER_H */ |