apr_status_t isapi_lookup(apr_pool_t *p, server_rec *s, request_rec *r,
const char *fpath, isapi_loaded** isa);
+/* In addition to being provided via the EXTENSION_CONTROL_BLOCK,
+ * these four are also callable directly.
+ */
+int APR_THREAD_FUNC GetServerVariable (isapi_cid *cid,
+ char *variable_name,
+ void *buf_ptr,
+ apr_uint32_t *buf_size);
+
+int APR_THREAD_FUNC ReadClient(isapi_cid *cid,
+ void *buf_data,
+ apr_uint32_t *buf_size);
+
+int APR_THREAD_FUNC WriteClient(isapi_cid *cid,
+ void *buf_ptr,
+ apr_uint32_t *size_arg,
+ apr_uint32_t flags);
+
+int APR_THREAD_FUNC ServerSupportFunction(isapi_cid *cid,
+ apr_uint32_t HSE_code,
+ void *buf_ptr,
+ apr_uint32_t *buf_size,
+ apr_uint32_t *data_type);
+
static void *create_isapi_dir_config(apr_pool_t *p, char *dummy)
{
isapi_dir_conf *dir = apr_palloc(p, sizeof(isapi_dir_conf));
apr_thread_mutex_t *completed;
};
-static int APR_THREAD_FUNC GetServerVariable (isapi_cid *cid,
- char *variable_name,
- void *buf_ptr,
- apr_uint32_t *buf_size)
+int APR_THREAD_FUNC GetServerVariable (isapi_cid *cid,
+ char *variable_name,
+ void *buf_ptr,
+ apr_uint32_t *buf_size)
{
request_rec *r = cid->r;
const char *result;
return 0;
}
-static int APR_THREAD_FUNC ReadClient(isapi_cid *cid,
- void *buf_data,
- apr_uint32_t *buf_size)
+int APR_THREAD_FUNC ReadClient(isapi_cid *cid,
+ void *buf_data,
+ apr_uint32_t *buf_size)
{
request_rec *r = cid->r;
apr_uint32_t read = 0;
return ate;
}
-static int APR_THREAD_FUNC WriteClient(isapi_cid *cid,
- void *buf_ptr,
- apr_uint32_t *size_arg,
- apr_uint32_t flags)
+int APR_THREAD_FUNC WriteClient(isapi_cid *cid,
+ void *buf_ptr,
+ apr_uint32_t *size_arg,
+ apr_uint32_t flags)
{
request_rec *r = cid->r;
conn_rec *c = r->connection;
return (rv == APR_SUCCESS);
}
-static int APR_THREAD_FUNC ServerSupportFunction(isapi_cid *cid,
- apr_uint32_t HSE_code,
- void *buf_ptr,
- apr_uint32_t *buf_size,
- apr_uint32_t *data_type)
+int APR_THREAD_FUNC ServerSupportFunction(isapi_cid *cid,
+ apr_uint32_t HSE_code,
+ void *buf_ptr,
+ apr_uint32_t *buf_size,
+ apr_uint32_t *data_type)
{
request_rec *r = cid->r;
conn_rec *c = r->connection;