ef81b78ae4685cb4012a7ce1613222564ff056e6
[matches/MCTX3420.git] / testing / fastcgi-approach / fastcgi.h
1 /**
2  * @file fastcgi.h
3  * @purpose Headers for the fastcgi web interface
4  */
5  
6 #ifndef _FASTCGI_H
7 #define _FASTCGI_H
8  
9 /**Status codes that fcgi module handlers can return**/
10 typedef enum StatusCodes {
11         STATUS_OK = 0,
12         STATUS_ERROR = -1,
13         STATUS_UNAUTHORIZED = -2
14 } StatusCodes;
15
16 typedef struct FCGIContext FCGIContext;
17 typedef void (*ModuleHandler) (FCGIContext *data, char *params);
18
19 extern int FCGI_Authorized(FCGIContext *context, const char *key);
20 extern char *FCGI_KeyPair(char *in, const char **key, const char **value);
21 extern void FCGI_BeginJSON(FCGIContext *context, StatusCodes status_code);
22 extern void FCGI_JSONPair(const char *key, const char *value);
23 extern void FCGI_JSONLong(const char *key, long value);
24 extern void FCGI_JSONDouble(const char *key, double value);
25 extern void FCGI_JSONKey(const char *key);
26 extern void FCGI_JSONValue(const char *format, ...);
27 extern void FCGI_EndJSON();
28 extern void FCGI_RejectJSON(FCGIContext *context, const char *params);
29 extern void FCGI_RequestLoop (void *data);
30 #endif

UCC git Repository :: git.ucc.asn.au