Annotation of embedaddon/php/sapi/pi3web/pi3web_sapi.h, revision 1.1
1.1 ! misho 1: #ifndef _PI3WEB_SAPI_H_
! 2: #define _PI3WEB_SAPI_H_
! 3:
! 4: #ifdef PHP_WIN32
! 5: # include <windows.h>
! 6: # ifdef PHP5PI3WEB_EXPORTS
! 7: # define MODULE_API __declspec(dllexport)
! 8: # else
! 9: # define MODULE_API __declspec(dllimport)
! 10: # endif
! 11: #else
! 12: # if defined(__GNUC__) && __GNUC__ >= 4
! 13: # define MODULE_API __attribute__ ((visibility("default")))
! 14: # else
! 15: # define MODULE_API
! 16: # endif
! 17: # define far
! 18:
! 19: typedef int BOOL;
! 20: typedef void far *LPVOID;
! 21: typedef unsigned long DWORD;
! 22: typedef DWORD far *LPDWORD;
! 23: typedef char CHAR;
! 24: typedef CHAR *LPSTR;
! 25: typedef unsigned char BYTE;
! 26: typedef BYTE far *LPBYTE;
! 27: #endif
! 28:
! 29: typedef LPVOID HCONN;
! 30:
! 31: #ifdef __cplusplus
! 32: extern "C" {
! 33: #endif
! 34:
! 35: #define PHP_MODE_STANDARD 1
! 36: #define PHP_MODE_HIGHLIGHT 2
! 37: #define PHP_MODE_INDENT 3
! 38: #define PHP_MODE_LINT 4
! 39:
! 40: //
! 41: // passed to the procedure on a new request
! 42: //
! 43: typedef struct _CONTROL_BLOCK {
! 44: DWORD cbSize; // size of this struct.
! 45: HCONN ConnID; // Context number not to be modified!
! 46: DWORD dwHttpStatusCode; // HTTP Status code
! 47: CHAR lpszLogData[80]; // null terminated log info
! 48:
! 49: LPSTR lpszMethod; // REQUEST_METHOD
! 50: LPSTR lpszQueryString; // QUERY_STRING
! 51: LPSTR lpszPathInfo; // PATH_INFO
! 52: LPSTR lpszPathTranslated; // PATH_TRANSLATED
! 53: LPSTR lpszFileName; // FileName to PHP3 physical file
! 54: LPSTR lpszUri; // The request URI
! 55: LPSTR lpszReq; // The whole HTTP request line
! 56: LPSTR lpszUser; // The authenticated user
! 57: LPSTR lpszPassword; // The authenticated password
! 58:
! 59: DWORD cbTotalBytes; // Total bytes indicated from client
! 60: DWORD cbAvailable; // Available number of bytes
! 61: LPBYTE lpbData; // pointer to cbAvailable bytes
! 62:
! 63: LPSTR lpszContentType; // Content type of client data
! 64: DWORD dwBehavior; // PHP behavior (standard, highlight, intend
! 65:
! 66:
! 67: LPVOID (* GetVariableNames) (HCONN hConn);
! 68:
! 69: BOOL (* GetServerVariable) ( HCONN hConn,
! 70: LPSTR lpszVariableName,
! 71: LPVOID lpvBuffer,
! 72: LPDWORD lpdwSize );
! 73:
! 74: BOOL (* WriteClient) ( HCONN hConn,
! 75: LPVOID lpvBuffer,
! 76: LPDWORD lpdwBytes,
! 77: DWORD dwReserved );
! 78:
! 79: BOOL (* ReadClient) ( HCONN hConn,
! 80: LPVOID lpvBuffer,
! 81: LPDWORD lpdwSize );
! 82:
! 83: BOOL (* SendHeaderFunction)( HCONN hConn,
! 84: LPDWORD lpdwSize,
! 85: LPDWORD lpdwDataType );
! 86:
! 87: } CONTROL_BLOCK, *LPCONTROL_BLOCK;
! 88:
! 89: MODULE_API DWORD PHP5_wrapper(LPCONTROL_BLOCK lpCB);
! 90: MODULE_API BOOL PHP5_startup();
! 91: MODULE_API BOOL PHP5_shutdown();
! 92:
! 93: // the following type declaration is for the server side
! 94: typedef DWORD ( * PFN_WRAPPERFUNC )( CONTROL_BLOCK *pCB );
! 95:
! 96:
! 97:
! 98: #ifdef __cplusplus
! 99: }
! 100: #endif
! 101:
! 102: #endif // end definition _PI3WEB_SAPI_H_
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>