Apache2
Collaboration diagram for mod_isapi:

Data Structures

struct  HSE_VERSION_INFO
 
struct  EXTENSION_CONTROL_BLOCK
 
struct  HSE_SEND_HEADER_EX_INFO
 
struct  HSE_TF_INFO
 
struct  HSE_URL_MAPEX_INFO
 

Macros

#define HSE_IO_SEND_HEADERS   8
 
#define HSE_IO_SYNC   1
 
#define HSE_IO_ASYNC   2
 
#define HSE_IO_DISCONNECT_AFTER_SEND   4
 
#define HSE_IO_NODELAY   4096
 
#define HSE_REQ_SEND_URL_REDIRECT_RESP   1
 
#define HSE_REQ_SEND_URL   2
 
#define HSE_REQ_SEND_RESPONSE_HEADER   3
 
#define HSE_REQ_DONE_WITH_SESSION   4
 
#define HSE_REQ_MAP_URL_TO_PATH   1001 /* Emulated */
 
#define HSE_REQ_GET_SSPI_INFO   1002 /* Not Supported */
 
#define HSE_APPEND_LOG_PARAMETER   1003 /* Supported */
 
#define HSE_REQ_IO_COMPLETION   1005 /* Emulated */
 
#define HSE_REQ_TRANSMIT_FILE   1006 /* Async Emulated */
 
#define HSE_REQ_REFRESH_ISAPI_ACL   1007 /* Not Supported */
 
#define HSE_REQ_IS_KEEP_CONN   1008 /* Supported */
 
#define HSE_REQ_ASYNC_READ_CLIENT   1010 /* Emulated */
 
#define HSE_REQ_GET_IMPERSONATION_TOKEN   1011 /* Not Supported */
 
#define HSE_REQ_MAP_URL_TO_PATH_EX   1012 /* Emulated */
 
#define HSE_REQ_ABORTIVE_CLOSE   1014 /* Ignored */
 
#define HSE_REQ_GET_CERT_INFO_EX   1015 /* Not Supported */
 
#define HSE_REQ_SEND_RESPONSE_HEADER_EX   1016 /* Supported (no nulls!) */
 
#define HSE_REQ_CLOSE_CONNECTION   1017 /* Ignored */
 
#define HSE_REQ_IS_CONNECTED   1018 /* Supported */
 
#define HSE_REQ_EXTENSION_TRIGGER   1020 /* Not Supported */
 
#define HSE_STATUS_SUCCESS   1
 
#define HSE_STATUS_SUCCESS_AND_KEEP_CONN   2 /* 1 vs 2 Ignored, we choose */
 
#define HSE_STATUS_PENDING   3 /* Emulated (thread lock) */
 
#define HSE_STATUS_ERROR   4
 
#define ERROR_INSUFFICIENT_BUFFER   ENOBUFS
 
#define ERROR_INVALID_INDEX   EINVAL
 
#define ERROR_INVALID_PARAMETER   EINVAL
 
#define ERROR_READ_FAULT   EIO
 
#define ERROR_WRITE_FAULT   EIO
 
#define ERROR_SUCCESS   0
 
#define HSE_TERM_MUST_UNLOAD   1
 
#define HSE_TERM_MUST_UNLOAD   1
 
#define HSE_TERM_ADVISORY_UNLOAD   2
 
#define HSE_TERM_ADVISORY_UNLOAD   2
 

Typedefs

typedef struct HSE_VERSION_INFO HSE_VERSION_INFO
 
typedef int(APR_THREAD_FUNCPFN_GETEXTENSIONVERSION) (HSE_VERSION_INFO *ver_info)
 
typedef struct isapi_cid isapi_cid
 
typedef struct isapi_cidHCONN
 
typedef int(APR_THREAD_FUNCPFN_GETSERVERVARIABLE) (HCONN cid, char *variable_name, void *buf_data, apr_uint32_t *buf_size)
 
typedef int(APR_THREAD_FUNCPFN_WRITECLIENT) (HCONN cid, void *buf_data, apr_uint32_t *buf_size, apr_uint32_t flags)
 
typedef int(APR_THREAD_FUNCPFN_READCLIENT) (HCONN cid, void *buf_data, apr_uint32_t *buf_size)
 
typedef int(APR_THREAD_FUNCPFN_SERVERSUPPORTFUNCTION) (HCONN cid, apr_uint32_t HSE_code, void *buf_data, apr_uint32_t *buf_size, apr_uint32_t *flags)
 
typedef struct EXTENSION_CONTROL_BLOCK EXTENSION_CONTROL_BLOCK
 
typedef struct HSE_SEND_HEADER_EX_INFO HSE_SEND_HEADER_EX_INFO
 
typedef void(APR_THREAD_FUNCPFN_HSE_IO_COMPLETION) (EXTENSION_CONTROL_BLOCK *ecb, void *ctxt, apr_uint32_t cbIO, apr_uint32_t dwError)
 
typedef struct HSE_TF_INFO HSE_TF_INFO
 
typedef struct HSE_URL_MAPEX_INFO HSE_URL_MAPEX_INFO
 
typedef apr_uint32_t(APR_THREAD_FUNCPFN_HTTPEXTENSIONPROC) (EXTENSION_CONTROL_BLOCK *ecb)
 
typedef int(APR_THREAD_FUNCPFN_TERMINATEEXTENSION) (apr_uint32_t flags)
 

Functions

int APR_THREAD_FUNC GetExtensionVersion (HSE_VERSION_INFO *ver_info)
 
apr_uint32_t APR_THREAD_FUNC HttpExtensionProc (EXTENSION_CONTROL_BLOCK *ecb)
 
int APR_THREAD_FUNC TerminateExtension (apr_uint32_t flags)
 

Detailed Description

Macro Definition Documentation

◆ ERROR_INSUFFICIENT_BUFFER

#define ERROR_INSUFFICIENT_BUFFER   ENOBUFS

◆ ERROR_INVALID_INDEX

#define ERROR_INVALID_INDEX   EINVAL

◆ ERROR_INVALID_PARAMETER

#define ERROR_INVALID_PARAMETER   EINVAL

◆ ERROR_READ_FAULT

#define ERROR_READ_FAULT   EIO

◆ ERROR_SUCCESS

#define ERROR_SUCCESS   0

◆ ERROR_WRITE_FAULT

#define ERROR_WRITE_FAULT   EIO

◆ HSE_APPEND_LOG_PARAMETER

#define HSE_APPEND_LOG_PARAMETER   1003 /* Supported */

◆ HSE_IO_ASYNC

#define HSE_IO_ASYNC   2

◆ HSE_IO_DISCONNECT_AFTER_SEND

#define HSE_IO_DISCONNECT_AFTER_SEND   4

◆ HSE_IO_NODELAY

#define HSE_IO_NODELAY   4096

◆ HSE_IO_SEND_HEADERS

#define HSE_IO_SEND_HEADERS   8

◆ HSE_IO_SYNC

#define HSE_IO_SYNC   1

◆ HSE_REQ_ABORTIVE_CLOSE

#define HSE_REQ_ABORTIVE_CLOSE   1014 /* Ignored */

◆ HSE_REQ_ASYNC_READ_CLIENT

#define HSE_REQ_ASYNC_READ_CLIENT   1010 /* Emulated */

◆ HSE_REQ_CLOSE_CONNECTION

#define HSE_REQ_CLOSE_CONNECTION   1017 /* Ignored */

◆ HSE_REQ_DONE_WITH_SESSION

#define HSE_REQ_DONE_WITH_SESSION   4

◆ HSE_REQ_EXTENSION_TRIGGER

#define HSE_REQ_EXTENSION_TRIGGER   1020 /* Not Supported */

◆ HSE_REQ_GET_CERT_INFO_EX

#define HSE_REQ_GET_CERT_INFO_EX   1015 /* Not Supported */

◆ HSE_REQ_GET_IMPERSONATION_TOKEN

#define HSE_REQ_GET_IMPERSONATION_TOKEN   1011 /* Not Supported */

◆ HSE_REQ_GET_SSPI_INFO

#define HSE_REQ_GET_SSPI_INFO   1002 /* Not Supported */

◆ HSE_REQ_IO_COMPLETION

#define HSE_REQ_IO_COMPLETION   1005 /* Emulated */

◆ HSE_REQ_IS_CONNECTED

#define HSE_REQ_IS_CONNECTED   1018 /* Supported */

◆ HSE_REQ_IS_KEEP_CONN

#define HSE_REQ_IS_KEEP_CONN   1008 /* Supported */

◆ HSE_REQ_MAP_URL_TO_PATH

#define HSE_REQ_MAP_URL_TO_PATH   1001 /* Emulated */

◆ HSE_REQ_MAP_URL_TO_PATH_EX

#define HSE_REQ_MAP_URL_TO_PATH_EX   1012 /* Emulated */

◆ HSE_REQ_REFRESH_ISAPI_ACL

#define HSE_REQ_REFRESH_ISAPI_ACL   1007 /* Not Supported */

◆ HSE_REQ_SEND_RESPONSE_HEADER

#define HSE_REQ_SEND_RESPONSE_HEADER   3

◆ HSE_REQ_SEND_RESPONSE_HEADER_EX

#define HSE_REQ_SEND_RESPONSE_HEADER_EX   1016 /* Supported (no nulls!) */

◆ HSE_REQ_SEND_URL

#define HSE_REQ_SEND_URL   2

◆ HSE_REQ_SEND_URL_REDIRECT_RESP

#define HSE_REQ_SEND_URL_REDIRECT_RESP   1

◆ HSE_REQ_TRANSMIT_FILE

#define HSE_REQ_TRANSMIT_FILE   1006 /* Async Emulated */

◆ HSE_STATUS_ERROR

#define HSE_STATUS_ERROR   4

◆ HSE_STATUS_PENDING

#define HSE_STATUS_PENDING   3 /* Emulated (thread lock) */

◆ HSE_STATUS_SUCCESS

#define HSE_STATUS_SUCCESS   1

◆ HSE_STATUS_SUCCESS_AND_KEEP_CONN

#define HSE_STATUS_SUCCESS_AND_KEEP_CONN   2 /* 1 vs 2 Ignored, we choose */

◆ HSE_TERM_ADVISORY_UNLOAD [1/2]

#define HSE_TERM_ADVISORY_UNLOAD   2

◆ HSE_TERM_ADVISORY_UNLOAD [2/2]

#define HSE_TERM_ADVISORY_UNLOAD   2

◆ HSE_TERM_MUST_UNLOAD [1/2]

#define HSE_TERM_MUST_UNLOAD   1

◆ HSE_TERM_MUST_UNLOAD [2/2]

#define HSE_TERM_MUST_UNLOAD   1

Typedef Documentation

◆ EXTENSION_CONTROL_BLOCK

◆ HCONN

typedef struct isapi_cid* HCONN

◆ HSE_SEND_HEADER_EX_INFO

◆ HSE_TF_INFO

typedef struct HSE_TF_INFO HSE_TF_INFO

◆ HSE_URL_MAPEX_INFO

◆ HSE_VERSION_INFO

◆ isapi_cid

typedef struct isapi_cid isapi_cid

◆ PFN_GETEXTENSIONVERSION

typedef int(APR_THREAD_FUNC * PFN_GETEXTENSIONVERSION) (HSE_VERSION_INFO *ver_info)

◆ PFN_GETSERVERVARIABLE

typedef int(APR_THREAD_FUNC * PFN_GETSERVERVARIABLE) (HCONN cid, char *variable_name, void *buf_data, apr_uint32_t *buf_size)

◆ PFN_HSE_IO_COMPLETION

typedef void(APR_THREAD_FUNC * PFN_HSE_IO_COMPLETION) (EXTENSION_CONTROL_BLOCK *ecb, void *ctxt, apr_uint32_t cbIO, apr_uint32_t dwError)

◆ PFN_HTTPEXTENSIONPROC

typedef apr_uint32_t(APR_THREAD_FUNC * PFN_HTTPEXTENSIONPROC) (EXTENSION_CONTROL_BLOCK *ecb)

◆ PFN_READCLIENT

typedef int(APR_THREAD_FUNC * PFN_READCLIENT) (HCONN cid, void *buf_data, apr_uint32_t *buf_size)

◆ PFN_SERVERSUPPORTFUNCTION

typedef int(APR_THREAD_FUNC * PFN_SERVERSUPPORTFUNCTION) (HCONN cid, apr_uint32_t HSE_code, void *buf_data, apr_uint32_t *buf_size, apr_uint32_t *flags)

◆ PFN_TERMINATEEXTENSION

typedef int(APR_THREAD_FUNC * PFN_TERMINATEEXTENSION) (apr_uint32_t flags)

◆ PFN_WRITECLIENT

typedef int(APR_THREAD_FUNC * PFN_WRITECLIENT) (HCONN cid, void *buf_data, apr_uint32_t *buf_size, apr_uint32_t flags)

Function Documentation

◆ GetExtensionVersion()

int APR_THREAD_FUNC GetExtensionVersion ( HSE_VERSION_INFO ver_info)

◆ HttpExtensionProc()

◆ TerminateExtension()

int APR_THREAD_FUNC TerminateExtension ( apr_uint32_t  flags)