[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
/*****************************************************************************/
/*
                                  CGI.h

Defines and function prototypes for CGI module.

*/
/*****************************************************************************/

#ifndef CGI_H_LOADED
#define CGI_H_LOADED 1

#include "wasd.h"

#define CGI_VARIABLE_DCL     1
#define CGI_VARIABLE_STREAM  2

#define CGI_OUTPUT_MODE_STREAM   1
#define CGI_OUTPUT_MODE_RECORD   2
#define CGI_OUTPUT_MODE_RECORD0  3
#define CGI_OUTPUT_MODE_CRLF     4

#define CGI_OUTPUT_GZIP      1
#define CGI_OUTPUT_NO_GZIP   2

#define CGI_OUTPUT_CHUNK     1
#define CGI_OUTPUT_NO_CHUNK  2

/* just magic numbers that could never be a buffer length */
#define CGI_OUTPUT_CUTOFF        0xABADABA1
#define CGI_OUTPUT_END           0xABADABA2 
#define CGI_OUTPUT_ESCAPE_BEGIN  0xABADABA3
#define CGI_OUTPUT_ESCAPE        0xABADABA4
#define CGI_OUTPUT_ESCAPE_END    0xABADABA5
#define CGI_OUTPUT_NOT_STRICT    0xABADABA6
#define CGI_OUTPUT_RAW           0xABADABA7

/***********************/
/* function prototypes */
/***********************/

#define CgiSequenceBel(charptr,lenptr) CgiSequence ('G', charptr, lenptr);
#define CgiSequenceEot(charptr,lenptr) CgiSequence ('D', charptr, lenptr);
#define CgiSequenceEof(charptr,lenptr) CgiSequence ('Z', charptr, lenptr);
#define CgiSequenceEsc(charptr,lenptr) CgiSequence ('E', charptr, lenptr);

int CgiGenerateVariables (REQUEST_STRUCT*, int);
int CgiOutput (REQUEST_STRUCT*, char*, int);
void CgiOutputFile (REQUEST_STRUCT*, char*, int);
int CgiScriptControlField (REQUEST_STRUCT*, char*);
void CgiSequence (char, char*, int*);
int CgiVariable (REQUEST_STRUCT*, char*, char*, int);
void CgiVariableBufferMemory (REQUEST_STRUCT*, int);
int CgiUrlDecodeString (REQUEST_STRUCT*, char*, char*, int, char);

#endif /* CGI_H_LOADED */

/*****************************************************************************/