File:  [parser3project] / parser3 / src / include / pa_sapi.h
Revision 1.22.2.2: download - view: text, annotated - select for diffs - revision graph
Wed Jan 29 09:16:15 2003 UTC (23 years, 5 months ago) by paf
Diff to: branchpoint 1.22: preferred, unified
vmath compiled

/** @file
	Parser: web server api interface object decl.

	Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com)
	Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
*/

#ifndef PA_SAPI_H
#define PA_SAPI_H

static const char* IDENT_SAPI_H="$Date: 2003/01/29 09:16:15 $";

// includes

#include "pa_pool.h"
#include "pa_types.h"

// forwards

class SAPI_Info;

/// target web-Server API
struct SAPI {
	/// log error message
	static void log(SAPI_Info& info, const char *fmt, ...);
	/// log error message & die
	static void die(const char *fmt, ...);
	/// environment strings
	static const char *const *environment(SAPI_Info& info);
	/// get environment string
	static const char *get_env(SAPI_Info& info, const char *name);
	/// read POST request bytes
	static size_t read_post(SAPI_Info& info, char *buf, size_t max_bytes);
	/// add response header attribute [but do not send it to client]
	static void add_header_attribute(SAPI_Info& info, const char *key, const char *value);
	/// send collected header attributes to client
	static void send_header(SAPI_Info& info);
	/// output body bytes
	static void send_body(SAPI_Info& info, const void *buf, size_t size);
};

#endif

E-mail: