/library/server/fcgi/spec/include/libfcgi/fastcgi.h
http://github.com/jocelyn/EiffelWebReloaded · C++ Header · 136 lines · 71 code · 24 blank · 41 comment · 0 complexity · c2556d343e1ddc4b0c1188ff82bff9aa MD5 · raw file
- /*
- * fastcgi.h --
- *
- * Defines for the FastCGI protocol.
- *
- *
- * Copyright (c) 1995-1996 Open Market, Inc.
- *
- * See the file "LICENSE.TERMS" for information on usage and redistribution
- * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- *
- * $Id: fastcgi.h,v 1.1.1.1 1997/09/16 15:36:32 stanleyg Exp $
- */
-
- #ifndef _FASTCGI_H
- #define _FASTCGI_H
-
- /*
- * Listening socket file number
- */
- #define FCGI_LISTENSOCK_FILENO 0
-
- typedef struct {
- unsigned char version;
- unsigned char type;
- unsigned char requestIdB1;
- unsigned char requestIdB0;
- unsigned char contentLengthB1;
- unsigned char contentLengthB0;
- unsigned char paddingLength;
- unsigned char reserved;
- } FCGI_Header;
-
- #define FCGI_MAX_LENGTH 0xffff
-
- /*
- * Number of bytes in a FCGI_Header. Future versions of the protocol
- * will not reduce this number.
- */
- #define FCGI_HEADER_LEN 8
-
- /*
- * Value for version component of FCGI_Header
- */
- #define FCGI_VERSION_1 1
-
- /*
- * Values for type component of FCGI_Header
- */
- #define FCGI_BEGIN_REQUEST 1
- #define FCGI_ABORT_REQUEST 2
- #define FCGI_END_REQUEST 3
- #define FCGI_PARAMS 4
- #define FCGI_STDIN 5
- #define FCGI_STDOUT 6
- #define FCGI_STDERR 7
- #define FCGI_DATA 8
- #define FCGI_GET_VALUES 9
- #define FCGI_GET_VALUES_RESULT 10
- #define FCGI_UNKNOWN_TYPE 11
- #define FCGI_MAXTYPE (FCGI_UNKNOWN_TYPE)
-
- /*
- * Value for requestId component of FCGI_Header
- */
- #define FCGI_NULL_REQUEST_ID 0
-
-
- typedef struct {
- unsigned char roleB1;
- unsigned char roleB0;
- unsigned char flags;
- unsigned char reserved[5];
- } FCGI_BeginRequestBody;
-
- typedef struct {
- FCGI_Header header;
- FCGI_BeginRequestBody body;
- } FCGI_BeginRequestRecord;
-
- /*
- * Mask for flags component of FCGI_BeginRequestBody
- */
- #define FCGI_KEEP_CONN 1
-
- /*
- * Values for role component of FCGI_BeginRequestBody
- */
- #define FCGI_RESPONDER 1
- #define FCGI_AUTHORIZER 2
- #define FCGI_FILTER 3
-
-
- typedef struct {
- unsigned char appStatusB3;
- unsigned char appStatusB2;
- unsigned char appStatusB1;
- unsigned char appStatusB0;
- unsigned char protocolStatus;
- unsigned char reserved[3];
- } FCGI_EndRequestBody;
-
- typedef struct {
- FCGI_Header header;
- FCGI_EndRequestBody body;
- } FCGI_EndRequestRecord;
-
- /*
- * Values for protocolStatus component of FCGI_EndRequestBody
- */
- #define FCGI_REQUEST_COMPLETE 0
- #define FCGI_CANT_MPX_CONN 1
- #define FCGI_OVERLOADED 2
- #define FCGI_UNKNOWN_ROLE 3
-
-
- /*
- * Variable names for FCGI_GET_VALUES / FCGI_GET_VALUES_RESULT records
- */
- #define FCGI_MAX_CONNS "FCGI_MAX_CONNS"
- #define FCGI_MAX_REQS "FCGI_MAX_REQS"
- #define FCGI_MPXS_CONNS "FCGI_MPXS_CONNS"
-
-
- typedef struct {
- unsigned char type;
- unsigned char reserved[7];
- } FCGI_UnknownTypeBody;
-
- typedef struct {
- FCGI_Header header;
- FCGI_UnknownTypeBody body;
- } FCGI_UnknownTypeRecord;
-
- #endif /* _FASTCGI_H */