X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=html%2Fphp__raphf_8h_source.html;fp=html%2Fphp__raphf_8h_source.html;h=0000000000000000000000000000000000000000;hb=2bc39f5c43ada90ec138c77406af2cb4205e7864;hp=e3add35d163e6d77b985a277339b316d18741e8f;hpb=81a621e4317ff8dca39d22e91e8a26d1d2cf89cc;p=m6w6%2Fext-raphf diff --git a/html/php__raphf_8h_source.html b/html/php__raphf_8h_source.html deleted file mode 100644 index e3add35..0000000 --- a/html/php__raphf_8h_source.html +++ /dev/null @@ -1,316 +0,0 @@ - - - - - - -Resource and persistent handle factory API: php_raphf.h Source File - - - - - - - - - - - - - -
-
- - - - - - - -
-
Resource and persistent handle factory API -
-
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
-
-
- - - - - -
-
- -
-
-
- -
- -
- All Data Structures Files Functions Variables Typedefs
- - -
- -
- -
-
-
php_raphf.h
-
-
-Go to the documentation of this file.
1 /*
-
2  +--------------------------------------------------------------------+
-
3  | PECL :: raphf |
-
4  +--------------------------------------------------------------------+
-
5  | Redistribution and use in source and binary forms, with or without |
-
6  | modification, are permitted provided that the conditions mentioned |
-
7  | in the accompanying LICENSE file are met. |
-
8  +--------------------------------------------------------------------+
-
9  | Copyright (c) 2013, Michael Wallner <mike@php.net> |
-
10  +--------------------------------------------------------------------+
-
11 */
-
12 
-
13 #ifndef PHP_RAPHF_H
-
14 #define PHP_RAPHF_H
-
15 
-
16 #ifndef DOXYGEN
-
17 
-
18 extern zend_module_entry raphf_module_entry;
-
19 #define phpext_raphf_ptr &raphf_module_entry
-
20 
-
21 #define PHP_RAPHF_VERSION "1.0.4"
-
22 
-
23 #ifdef PHP_WIN32
-
24 # define PHP_RAPHF_API __declspec(dllexport)
-
25 #elif defined(__GNUC__) && __GNUC__ >= 4
-
26 # define PHP_RAPHF_API extern __attribute__ ((visibility("default")))
-
27 #else
-
28 # define PHP_RAPHF_API extern
-
29 #endif
-
30 
-
31 #ifdef ZTS
-
32 # include "TSRM.h"
-
33 #endif
-
34 
-
35 #endif
-
36 
-
44 typedef void *(*php_resource_factory_handle_ctor_t)(void *opaque,
-
45  void *init_arg TSRMLS_DC);
-
46 
-
53 typedef void *(*php_resource_factory_handle_copy_t)(void *opaque,
-
54  void *handle TSRMLS_DC);
-
55 
-
62 typedef void (*php_resource_factory_handle_dtor_t)(void *opaque,
-
63  void *handle TSRMLS_DC);
-
64 
-
71 typedef struct php_resource_factory_ops {
- - - - -
79 
-
83 typedef struct php_resource_factory {
- -
87  void *data;
-
89  void (*dtor)(void *data);
-
91  unsigned refcount;
- -
93 
- - -
110  void (*dtor)(void *data));
-
111 
-
118 PHP_RAPHF_API unsigned php_resource_factory_addref(php_resource_factory_t *rf);
-
119 
- -
128 
-
137 PHP_RAPHF_API void php_resource_factory_free(php_resource_factory_t **f);
-
138 
- -
147  void *init_arg TSRMLS_DC);
-
148 
- -
157  void *handle TSRMLS_DC);
-
158 
- -
166  void *handle TSRMLS_DC);
-
167 
- -
173  HashTable free;
-
175  ulong used;
- -
177 
- - -
189 
- - -
196 
- -
198 
- -
203  php_persistent_handle_factory_t *f, void **handle TSRMLS_DC);
- -
208  php_persistent_handle_factory_t *f, void **handle TSRMLS_DC);
-
209 
- - - - -
224 
-
226  struct {
-
228  char *str;
-
230  size_t len;
-
231  } ident;
-
232 
-
234  unsigned free_on_abandon:1;
-
235 };
-
236 
-
257 PHP_RAPHF_API int /* SUCCESS|FAILURE */ php_persistent_handle_provide(
-
258  const char *name_str, size_t name_len, php_resource_factory_ops_t *fops,
-
259  void *data, void (*dtor)(void *) TSRMLS_DC);
-
260 
- -
281  php_persistent_handle_factory_t *a, const char *name_str,
-
282  size_t name_len, const char *ident_str, size_t ident_len,
- -
284  php_persistent_handle_retire_t retire TSRMLS_DC);
-
285 
-
295 PHP_RAPHF_API void php_persistent_handle_abandon(
- -
297 
-
311 PHP_RAPHF_API void *php_persistent_handle_acquire(
-
312  php_persistent_handle_factory_t *a, void *init_arg TSRMLS_DC);
-
313 
-
327 PHP_RAPHF_API void php_persistent_handle_release(
-
328  php_persistent_handle_factory_t *a, void *handle TSRMLS_DC);
-
329 
-
338 PHP_RAPHF_API void *php_persistent_handle_accrete(
-
339  php_persistent_handle_factory_t *a, void *handle TSRMLS_DC);
-
340 
-
373 PHP_RAPHF_API php_resource_factory_ops_t *
- -
375 
-
400 PHP_RAPHF_API void php_persistent_handle_cleanup(const char *name_str,
-
401  size_t name_len, const char *ident_str, size_t ident_len TSRMLS_DC);
-
402 
-
418 PHP_RAPHF_API HashTable *php_persistent_handle_statall(HashTable *ht TSRMLS_DC);
-
419 
-
420 #endif /* PHP_RAPHF_H */
-
421 
-
422 
-
423 /*
-
424  * Local variables:
-
425  * tab-width: 4
-
426  * c-basic-offset: 4
-
427  * End:
-
428  * vim600: noet sw=4 ts=4 fdm=marker
-
429  * vim<600: noet sw=4 ts=4
-
430  */
-
void(* php_persistent_handle_retire_t)(php_persistent_handle_factory_t *f, void **handle)
Retire the persistent handle on release.
Definition: php_raphf.h:207
-
void * data
Opaque user data.
Definition: php_raphf.h:87
-
php_resource_factory_handle_copy_t copy
The resource&#39;s copy constructor.
Definition: php_raphf.h:75
-
ulong used
Count of acquired resources.
Definition: php_raphf.h:175
-
php_persistent_handle_list_t list
The list of free handles.
Definition: php_raphf.h:188
-
void php_resource_factory_free(php_resource_factory_t **f)
Destroy and free the resource factory.
-
php_resource_factory_handle_dtor_t dtor
The resource&#39;s destructor.
Definition: php_raphf.h:77
-
void(* dtor)(void *data)
User data destructor.
Definition: php_raphf.h:89
-
php_persistent_handle_factory_t * php_persistent_handle_concede(php_persistent_handle_factory_t *a, const char *name_str, size_t name_len, const char *ident_str, size_t ident_len, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire)
Retrieve a persistent handle factory at runtime.
-
unsigned php_resource_factory_addref(php_resource_factory_t *rf)
Increase the refcount of the resource factory.
-
php_resource_factory_t * php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data))
Initialize a resource factory.
-
void php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle)
Release a persistent handle.
-
The resource ops consisting of a ctor, a copy ctor and a dtor.
Definition: php_raphf.h:71
-
void *(* php_resource_factory_handle_ctor_t)(void *opaque, void *init_arg)
A resource constructor.
Definition: php_raphf.h:44
-
void(* php_resource_factory_handle_dtor_t)(void *opaque, void *handle)
The destructor of a resource.
Definition: php_raphf.h:62
-
unsigned refcount
How often this factory is referenced.
Definition: php_raphf.h:91
-
void php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle)
Destroy (and free) the resource.
-
struct php_resource_factory_ops php_resource_factory_ops_t
The resource ops consisting of a ctor, a copy ctor and a dtor.
-
void(* php_persistent_handle_wakeup_t)(php_persistent_handle_factory_t *f, void **handle)
Wakeup the persistent handle on re-acquisition.
Definition: php_raphf.h:202
-
void php_resource_factory_dtor(php_resource_factory_t *f)
Destroy the resource factory.
-
Persistent handles storage.
Definition: php_raphf.h:171
-
php_persistent_handle_retire_t retire
The persistent handle retire routine; may be NULL.
Definition: php_raphf.h:223
-
HashTable * php_persistent_handle_statall(HashTable *ht)
Retrieve statistics about the current process/thread&#39;s persistent handles.
-
HashTable free
Storage of free resources.
Definition: php_raphf.h:173
-
Definition of a persistent handle factory.
Definition: php_raphf.h:217
-
Definition of a persistent handle provider.
Definition: php_raphf.h:182
-
struct php_resource_factory php_resource_factory_t
The resource factory.
-
php_persistent_handle_provider_t * provider
The persistent handle provider.
Definition: php_raphf.h:219
-
void * php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle)
Create a copy of the resource handle.
-
php_resource_factory_t rf
The resource factory.
Definition: php_raphf.h:194
-
void * php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle)
Copy a persistent handle.
-
struct php_persistent_handle_provider php_persistent_handle_provider_t
Definition of a persistent handle provider.
-
php_resource_factory_handle_ctor_t ctor
The resource constructor.
Definition: php_raphf.h:73
-
void * php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg)
Acquire a persistent handle.
-
void * php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg)
Construct a resource by the resource factory f.
-
The resource factory.
Definition: php_raphf.h:83
-
void *(* php_resource_factory_handle_copy_t)(void *opaque, void *handle)
The copy constructor of a resource.
Definition: php_raphf.h:53
-
php_resource_factory_ops_t * php_persistent_handle_get_resource_factory_ops(void)
Retrieve persistent handle resource factory ops.
-
struct php_persistent_handle_list php_persistent_handle_list_t
Persistent handles storage.
-
void php_persistent_handle_cleanup(const char *name_str, size_t name_len, const char *ident_str, size_t ident_len)
Clean persistent handles up.
-
int php_persistent_handle_provide(const char *name_str, size_t name_len, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *))
Register a persistent handle provider in MINIT.
-
void php_persistent_handle_abandon(php_persistent_handle_factory_t *a)
Abandon the persistent handle factory.
-
unsigned free_on_abandon
Whether it has to be free&#39;d on php_persistent_handle_abandon()
Definition: php_raphf.h:234
-
php_resource_factory_ops_t fops
The resource ops.
Definition: php_raphf.h:85
-
struct php_persistent_handle_factory::@0 ident
The ident for which this factory manages resources.
-
php_persistent_handle_wakeup_t wakeup
The persistent handle wakeup routine; may be NULL.
Definition: php_raphf.h:221
-
-
- - - -