lighttpd 1.4.x
https://www.lighttpd.net/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
2.9 KiB
136 lines
2.9 KiB
/* |
|
* 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 2003/10/18 09:54:10 weigon 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 */ |
|
|
|
|