Calls back to HTDaemon program
/*
** (c) COPYRIGHT MIT 1995.
** Please first read the full copyright statement in the file COPYRIGH.
*/
#ifndef HTDAEMON_H
#define HTDAEMON_H
#include "HTSUtils.h"
#include "HTConfig.h"
#include "HTLog.h"
extern BOOL ignore_sigpipes; /* Should we catch and ignore SIGPIPE */
extern BOOL sigpipe_caught; /* If so, have we caught a SIGPIPE */
extern char * HTClientProtocol;
extern int HTServerPort;
extern char * HTReasonLine;
extern int HTSoc;
extern char * HTReqLine;
extern char * HTReqArg;
extern char * HTReqArgPath;
extern char * HTReqArgKeywords;
extern char * HTReqTranslated;
extern char * HTReqScript;
extern char * HTScriptPathInfo;
extern char * HTScriptPathTrans;
extern char * HTLocation;
extern char * HTLastModified;
extern char * HTExpires;
extern char * HTMetaFile;
extern char * HTAuthString;
extern char * HTWWWAuthenticate;
extern HTAAFailReason HTReason;
extern char * HTProxyHeaders;
extern char * HTUserAgent;
extern char * HTReferer;
extern time_t HTIfModifiedSince;
extern char * remote_ident;
extern long HTCacheUsage;
extern int HTChildExitStatus;
extern long HTCachedBytes;
extern BOOL proxy_access;
extern BOOL cache_hit;
extern char * gc_info_file;
extern time_t cur_time;
extern BOOL trace_cache;
extern BOOL trace_all;
#define VTRACE if(trace_all)fprintf
typedef struct _HTInStruct {
BOOL no_cache_pragma;
} HTInStruct;
typedef struct _HTOutStruct {
int status_code;
int header_length;
int content_length;
BOOL http_header_sent;
} HTOutStruct;
extern HTInStruct in;
extern HTOutStruct out;
/*
* These routines are used to send back appropriate
* protocol header fields preceding a message.
*/
void HTSendError PARAMS((int soc,
int number,
CONST char * msg));
extern void HTSendHeader PARAMS((int soc,
HTFormat rep));
int HTLoadRedirection PARAMS((HTRequest * req));
int HTCallScript PARAMS((HTRequest * req));
int HTRetrieve PARAMS((HTRequest * req));
int HTLoadHead PARAMS((HTRequest * req));
int HTPut PARAMS((HTRequest * req));
int HTAnnotate PARAMS((HTRequest * req));
int HTRequest_computeArgs PARAMS((HTRequest * req));
int HTLoadStrToStream PARAMS((HTStream * sink,
CONST char * str));
int HTCloseStream PARAMS((HTStream * sink));
int HTCopyBodyToFile PARAMS((HTRequest * req,
FILE * fp));
void compute_server_env NOPARAMS;
void output_timeout_on NOPARAMS;
void body_timeout_on NOPARAMS;
void script_timeout_on PARAMS((int pid));
void timeout_off NOPARAMS;
#endif
End of declaration module