-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathphp_krb5_compat.h
More file actions
76 lines (58 loc) · 2.96 KB
/
Copy pathphp_krb5_compat.h
File metadata and controls
76 lines (58 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#ifndef PHP_KRB5_COMPAT_H
#define PHP_KRB5_COMPAT_H
#define OBJ_FOR_PROP(zv) Z_OBJ_P(zv)
#define TSRMLS_D void
#define TSRMLS_DC
#define TSRMLS_C
#define TSRMLS_CC
#define TSRMLS_FETCH()
#include "zend_operators.h"
typedef size_t strsize_t;
/* removed/uneeded macros */
#define TSRMLS_CC
/* compatibility macros */
#define _RETURN_STRING(a) RETURN_STRING(a)
#define _DECLARE_ZVAL(name) zval name ## _v; zval * name = &name ## _v
#define _ALLOC_INIT_ZVAL(name) ZVAL_NULL(name)
#define _RELEASE_ZVAL(name) zval_ptr_dtor(name)
#define _add_next_index_string add_next_index_string
#define _add_assoc_string(z, k, s) add_assoc_string_ex(z, k, strlen(k), s)
#define _add_assoc_string_ex add_assoc_string_ex
#define _add_assoc_stringl_ex add_assoc_stringl_ex
#define _ZVAL_STRINGL(a,b,c) ZVAL_STRINGL(a,b,c)
#define _ZVAL_STRING(a,b) ZVAL_STRING(a,b)
#define _RETVAL_STRINGL(a,b) RETVAL_STRINGL(a,b)
#define _RETVAL_STRING(a) RETVAL_STRING(a)
#define KRB5_CCACHE(zv) (krb5_ccache_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_ccache_object, std))
#define KRB5_NEGOTIATE_AUTH(zv) (krb5_negotiate_auth_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_negotiate_auth_object, std))
#define KRB5_GSSAPI_CONTEXT(zv) (krb5_gssapi_context_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_gssapi_context_object, std))
#define KRB5_GSS_CHANNEL(zv) (krb5_gss_channel_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_gss_channel_object, std))
#define KRB5_KADM(zv) (krb5_kadm5_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_kadm5_object, std))
#define KRB5_KADM_POLICY(zv) (krb5_kadm5_policy_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_kadm5_policy_object, std))
#define KRB5_KADM_PRINCIPAL(zv) (krb5_kadm5_principal_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_kadm5_principal_object, std))
#define KRB5_KADM_TLDATA(zv) (krb5_kadm5_tldata_object*)((char *)Z_OBJ_P(zv) - offsetof(krb5_kadm5_tldata_object, std))
static zend_always_inline zval* zend_compat_hash_index_find(HashTable *ht, zend_ulong idx)
{
return zend_hash_index_find(ht, idx);
}
static zend_always_inline zval* zend_compat_hash_find(HashTable *ht, char *key, size_t len)
{
zval *result;
zend_string *key_str = zend_string_init(key, len-1, 0);
result = zend_hash_find(ht, key_str);
zend_string_release(key_str);
return result;
}
#define KRB5_THIS_CCACHE KRB5_CCACHE(getThis())
#define KRB5_THIS_NEGOTIATE_AUTH KRB5_NEGOTIATE_AUTH(getThis())
#define KRB5_THIS_GSSAPI_CONTEXT KRB5_GSSAPI_CONTEXT(getThis())
#define KRB5_THIS_GSS_CHANNEL KRB5_GSS_CHANNEL(getThis())
#define KRB5_THIS_KADM KRB5_KADM(getThis())
#define KRB5_THIS_KADM_POLICY KRB5_KADM_POLICY(getThis())
#define KRB5_THIS_KADM_PRINCIPAL KRB5_KADM_PRINCIPAL(getThis())
#define KRB5_THIS_KADM_TLDATA KRB5_KADM_TLDATA(getThis())
#define INIT_STD_OBJECT(object, ce) zend_object_std_init(&(object), ce TSRMLS_CC);
#define OBJECT_STD_DTOR(object) zend_object_std_dtor(&(object) TSRMLS_CC);
#define ARG_PATH "p"
#define KRB5_SET_ERROR_HANDLING(type) zend_replace_error_handling(type, NULL, NULL TSRMLS_CC)
#endif