2 +--------------------------------------------------------------------+
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) 2004-2011, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
13 #ifndef PHP_HTTP_PERSISTENT_HANDLE_H
14 #define PHP_HTTP_PERSISTENT_HANDLE_H
16 typedef struct php_http_persistent_handle_factory
{
24 unsigned free_on_abandon
:1;
25 } php_http_persistent_handle_factory_t
;
27 struct php_http_persistent_handle_globals
{
36 PHP_MINIT_FUNCTION(http_persistent_handle
);
37 PHP_MSHUTDOWN_FUNCTION(http_persistent_handle
);
39 PHP_HTTP_API STATUS
php_http_persistent_handle_provide(const char *name_str
, size_t name_len
, php_http_resource_factory_ops_t
*fops
, void *data
, void (*dtor
)(void *));
40 PHP_HTTP_API php_http_persistent_handle_factory_t
*php_http_persistent_handle_concede(php_http_persistent_handle_factory_t
*a
, const char *name_str
, size_t name_len
, const char *ident_str
, size_t ident_len TSRMLS_DC
);
41 PHP_HTTP_API
void php_http_persistent_handle_abandon(php_http_persistent_handle_factory_t
*a
);
42 PHP_HTTP_API
void *php_http_persistent_handle_acquire(php_http_persistent_handle_factory_t
*a TSRMLS_DC
);
43 PHP_HTTP_API
void php_http_persistent_handle_release(php_http_persistent_handle_factory_t
*a
, void *handle TSRMLS_DC
);
44 PHP_HTTP_API
void *php_http_persistent_handle_accrete(php_http_persistent_handle_factory_t
*a
, void *handle TSRMLS_DC
);
46 PHP_HTTP_API php_http_resource_factory_ops_t
*php_http_persistent_handle_resource_factory_ops(void);
48 PHP_HTTP_API
void php_http_persistent_handle_cleanup(const char *name_str
, size_t name_len
, const char *ident_str
, size_t ident_len TSRMLS_DC
);
49 PHP_HTTP_API HashTable
*php_http_persistent_handle_statall(HashTable
*ht TSRMLS_DC
);
51 #endif /* PHP_HTTP_PERSISTENT_HANDLE_H */
58 * vim600: noet sw=4 ts=4 fdm=marker
59 * vim<600: noet sw=4 ts=4