-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathcontext.h
More file actions
48 lines (40 loc) · 1.95 KB
/
context.h
File metadata and controls
48 lines (40 loc) · 1.95 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
/*
+----------------------------------------------------------------------+
| Copyright (c) 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: |
| https://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. |
+----------------------------------------------------------------------+
| Author: Edmond |
+----------------------------------------------------------------------+
*/
#ifndef CONTEXT_H
#define CONTEXT_H
#include "php_async.h"
#include <Zend/zend_async_API.h>
typedef struct _async_context_s async_context_t;
struct _async_context_s
{
zend_async_context_t base;
HashTable values;
HashTable keys;
zend_async_scope_t *scope; /* Associated scope - weak reference */
zend_object std;
};
bool async_context_find(async_context_t *context, zval *key, zval *result, bool include_parent);
bool async_context_find_local(async_context_t *context, zval *key, zval *result);
void async_context_set(async_context_t *context, zval *key, zval *value);
bool async_context_has(async_context_t *context, zval *key, bool include_parent);
bool async_context_has_local(async_context_t *context, zval *key);
bool async_context_unset(async_context_t *context, zval *key);
async_context_t *async_context_new(void);
void async_context_dispose(async_context_t *context);
// Class entry
PHP_ASYNC_API extern zend_class_entry *async_ce_context;
void async_register_context_ce(void);
#endif // CONTEXT_H