Annotation of embedaddon/php/sapi/pi3web/pi3web_sapi.h, revision 1.1.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>