19#define FCGI_VERSION_1 1
21#define FCGI_MAX_LENGTH 0xffff
23#define FCGI_KEEP_CONN 1
29#define FCGI_HASH_FUNC(var, var_len) \
30 (UNEXPECTED(var_len < 3) ? (unsigned int)var_len : \
31 (((unsigned int)var[3]) << 2) + \
32 (((unsigned int)var[var_len-2]) << 4) + \
33 (((unsigned int)var[var_len-1]) << 2) + \
36#define FCGI_GETENV(request, name) \
37 fcgi_quick_getenv(request, name, sizeof(name)-1, FCGI_HASH_FUNC(name, sizeof(name)-1))
39#define FCGI_PUTENV(request, name, value) \
40 fcgi_quick_putenv(request, name, sizeof(name)-1, FCGI_HASH_FUNC(name, sizeof(name)-1), value)
80#define FCGI_HASH_TABLE_SIZE 128
81#define FCGI_HASH_TABLE_MASK (FCGI_HASH_TABLE_SIZE - 1)
82#define FCGI_HASH_SEG_SIZE 4096
103#ifndef HAVE_ATTRIBUTE_WEAK
122void fcgi_impersonate(
void);
printf(string $format, mixed ... $values)
void void fcgi_set_logger(fcgi_logger lg)
int fcgi_is_fastcgi(void)
void fcgi_request_set_keep(fcgi_request *req, int new_value)
void(* fcgi_logger)(int type, const char *fmt,...) ZEND_ATTRIBUTE_FORMAT(printf
void fcgi_set_mgmt_var(const char *name, size_t name_len, const char *value, size_t value_len)
int fcgi_listen(const char *path, int backlog)
const char * fcgi_get_last_client_ip(void)
void fcgi_loadenv(fcgi_request *req, fcgi_apply_func load_func, zval *array)
void fcgi_free_mgmt_var_cb(zval *zv)
int fcgi_accept_request(fcgi_request *req)
void fcgi_destroy_request(fcgi_request *req)
int fcgi_has_env(fcgi_request *req)
int fcgi_read(fcgi_request *req, char *str, int len)
int fcgi_flush(fcgi_request *req, int end)
enum _fcgi_role fcgi_role
fcgi_request * fcgi_init_request(int listen_socket, void(*on_accept)(void), void(*on_read)(void), void(*on_close)(void))
void fcgi_terminate(void)
int fcgi_end(fcgi_request *req)
void fcgi_set_in_shutdown(int new_value)
int fcgi_is_closed(fcgi_request *req)
int fcgi_in_shutdown(void)
void(* fcgi_apply_func)(const char *var, unsigned int var_len, char *val, unsigned int val_len, void *arg)
int fcgi_write(fcgi_request *req, fcgi_request_type type, const char *str, int len)
enum _fcgi_protocol_status dcgi_protocol_status
char * fcgi_quick_putenv(fcgi_request *req, char *var, int var_len, unsigned int hash_value, char *val)
enum _fcgi_request_type fcgi_request_type
void fcgi_set_allowed_clients(char *ip)
char * fcgi_quick_getenv(fcgi_request *req, const char *var, int var_len, unsigned int hash_value)
struct _fcgi_request fcgi_request
char * fcgi_getenv(fcgi_request *req, const char *var, int var_len)
int fcgi_finish_request(fcgi_request *req, int force_close)
char * fcgi_putenv(fcgi_request *req, char *var, int var_len, char *val)
void fcgi_close(fcgi_request *req, int force, int destroy)
unsigned const char * end
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)
#define ZEND_ATTRIBUTE_FORMAT(type, idx, first)