Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
src
php
ext
grpc
php7_wrapper.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright 2016 gRPC authors.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*/
18
19
20
#ifndef PHP7_WRAPPER_GRPC_H
21
#define PHP7_WRAPPER_GRPC_H
22
23
24
#define php_grpc_int size_t
25
#define php_grpc_long zend_long
26
#define php_grpc_ulong zend_ulong
27
#define php_grpc_zend_object zend_object*
28
#define php_grpc_add_property_string(arg, name, context, b) \
29
add_property_string(arg, name, context)
30
#define php_grpc_add_property_stringl(res, name, str, len, b) \
31
add_property_stringl(res, name, str, len)
32
#define php_grpc_add_property_zval(res, name, val) do { \
33
zval tmp; \
34
tmp = *val; \
35
add_property_zval(res, name, &tmp); \
36
} while(0)
37
#define php_grpc_add_next_index_stringl(data, str, len, b) \
38
add_next_index_stringl(data, str, len)
39
40
#define PHP_GRPC_RETVAL_STRING(val, dup) RETVAL_STRING(val)
41
#define PHP_GRPC_RETURN_STRING(val, dup) RETURN_STRING(val)
42
#define PHP_GRPC_MAKE_STD_ZVAL(pzv) \
43
pzv = (zval *)emalloc(sizeof(zval));
44
#define PHP_GRPC_FREE_STD_ZVAL(pzv) efree(pzv);
45
#define PHP_GRPC_DELREF(zv)
46
#define PHP_GRPC_ADD_STRING_TO_ARRAY(val, key, key_len, str, dup) \
47
add_assoc_string_ex(val, key, key_len - 1, str);
48
#define PHP_GRPC_ADD_LONG_TO_ARRAY(val, key, key_len, str) \
49
add_assoc_long_ex(val, key, key_len - 1, str);
50
#define PHP_GRPC_ADD_BOOL_TO_ARRAY(val, key, key_len, str) \
51
add_assoc_bool_ex(val, key, key_len - 1, str);
52
#define PHP_GRPC_ADD_LONG_TO_RETVAL(val, key, key_len, str) \
53
add_assoc_long_ex(val, key, key_len, str);
54
55
#define RETURN_DESTROY_ZVAL(val) \
56
RETVAL_ZVAL(val, false
/* Don't execute copy constructor */
, \
57
true
/* Dealloc original before returning */
); \
58
efree(val); \
59
return
60
61
#define PHP_GRPC_WRAP_OBJECT_START(name) \
62
typedef struct name {
63
#define PHP_GRPC_WRAP_OBJECT_END(name) \
64
zend_object std; \
65
} name;
66
67
#define WRAPPED_OBJECT_FROM_OBJ(class_object, obj) \
68
class_object##_from_obj(obj);
69
70
#define PHP_GRPC_FREE_WRAPPED_FUNC_START(class_object) \
71
static void free_##class_object(zend_object *object) { \
72
class_object *p = WRAPPED_OBJECT_FROM_OBJ(class_object, object)
73
#define PHP_GRPC_FREE_WRAPPED_FUNC_END() \
74
zend_object_std_dtor(&p->std); \
75
}
76
77
#define PHP_GRPC_ALLOC_CLASS_OBJECT(class_object) \
78
class_object *intern; \
79
intern = ecalloc(1, sizeof(class_object) + \
80
zend_object_properties_size(class_type));
81
82
#define PHP_GRPC_FREE_CLASS_OBJECT(class_object, handler) \
83
intern->std.handlers = &handler; \
84
return &intern->std;
85
86
#define PHP_GRPC_HASH_FOREACH_VAL_START(ht, data) \
87
ZEND_HASH_FOREACH_VAL(ht, data) {
88
89
#define PHP_GRPC_HASH_FOREACH_STR_KEY_VAL_START(ht, key, key_type, data) \
90
zend_string *(zs_##key); \
91
ZEND_HASH_FOREACH_STR_KEY_VAL(ht, (zs_##key), data) { \
92
if ((zs_##key) == NULL) {key = NULL; key_type = HASH_KEY_IS_LONG;} \
93
else {key = (zs_##key)->val; key_type = HASH_KEY_IS_STRING;}
94
95
#define PHP_GRPC_HASH_VALPTR_TO_VAL(data) \
96
Z_PTR_P(data);
97
98
#define PHP_GRPC_HASH_FOREACH_LONG_KEY_VAL_START(ht, key, key_type, index, \
99
data) \
100
zend_string *(zs_##key); \
101
ZEND_HASH_FOREACH_KEY_VAL(ht, index, zs_##key, data) { \
102
if ((zs_##key) == NULL) {key = NULL; key_type = HASH_KEY_IS_LONG;} \
103
else {key = (zs_##key)->val; key_type = HASH_KEY_IS_STRING;}
104
105
#define PHP_GRPC_HASH_FOREACH_END() } ZEND_HASH_FOREACH_END();
106
107
static
inline
int
php_grpc_zend_hash_find
(HashTable *ht,
char
*
key
,
int
len
,
108
void
**
value
) {
109
zval *value_tmp = zend_hash_str_find(ht,
key
,
len
-1);
110
if
(value_tmp == NULL) {
111
return
FAILURE;
112
}
else
{
113
*
value
= (
void
*)value_tmp;
114
return
SUCCESS
;
115
}
116
}
117
118
static
inline
int
php_grpc_zend_hash_del
(HashTable *ht,
char
*
key
,
int
len
) {
119
return
zend_hash_str_del(ht,
key
,
len
- 1);
120
}
121
#define php_grpc_zend_resource zend_resource
122
123
#define PHP_GRPC_BVAL_IS_TRUE(zv) Z_TYPE_P(zv) == IS_TRUE
124
#define PHP_GRPC_VAR_SERIALIZE(buf, zv, hash) \
125
php_var_serialize(buf, zv, hash)
126
#define PHP_GRPC_SERIALIZED_BUF_STR(buf) ZSTR_VAL(buf.s)
127
#define PHP_GRPC_SERIALIZED_BUF_LEN(buf) ZSTR_LEN(buf.s)
128
#define PHP_GRPC_SHA1Update(cxt, str, len) \
129
PHP_SHA1Update(cxt, (unsigned char *)str, len)
130
#define PHP_GRPC_PERSISTENT_LIST_FIND(plist, key, len, rsrc) \
131
(rsrc = zend_hash_str_find_ptr(plist, key, len)) != NULL
132
#define PHP_GRPC_PERSISTENT_LIST_UPDATE(plist, key, len, rsrc) \
133
zend_hash_str_update_mem(plist, key, len, rsrc, \
134
sizeof(php_grpc_zend_resource))
135
#define PHP_GRPC_PERSISTENT_LIST_SIZE(plist) \
136
zend_array_count(plist)
137
138
#define PHP_GRPC_GET_CLASS_ENTRY(object) Z_OBJ_P(object)->ce
139
140
#define PHP_GRPC_INIT_HANDLER(class_object, handler_name) \
141
memcpy(&handler_name, zend_get_std_object_handlers(), \
142
sizeof(zend_object_handlers)); \
143
handler_name.offset = XtOffsetOf(class_object, std); \
144
handler_name.free_obj = free_##class_object
145
146
#define PHP_GRPC_DECLARE_OBJECT_HANDLER(handler_name) \
147
static zend_object_handlers handler_name;
148
149
#define PHP_GRPC_GET_WRAPPED_OBJECT(class_object, zv) \
150
class_object##_from_obj(Z_OBJ_P((zv)))
151
152
#endif
/* PHP7_WRAPPER_GRPC_H */
php_grpc_zend_hash_del
static int php_grpc_zend_hash_del(HashTable *ht, char *key, int len)
Definition:
php7_wrapper.h:118
grpc::testing::SUCCESS
@ SUCCESS
Definition:
h2_ssl_cert_test.cc:201
value
const char * value
Definition:
hpack_parser_table.cc:165
key
const char * key
Definition:
hpack_parser_table.cc:164
len
int len
Definition:
abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
php_grpc_zend_hash_find
static int php_grpc_zend_hash_find(HashTable *ht, char *key, int len, void **value)
Definition:
php7_wrapper.h:107
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:52