|
|
| version 1.3, 2001/03/14 16:47:29 | version 1.19, 2001/03/21 16:48:13 |
|---|---|
| Line 1 | Line 1 |
| /* | /** @file |
| Parser | Parser: global decls. |
| Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) | Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) |
| Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf) | Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf) |
| $Id$ | $Id$ |
| Line 12 | Line 14 |
| #include "pa_string.h" | #include "pa_string.h" |
| #include "pa_hash.h" | #include "pa_hash.h" |
| //@{ | |
| /// constant string. class name, predefined method & co | |
| #define AUTO_FILE_NAME "auto.p" | #define AUTO_FILE_NAME "auto.p" |
| #define CONTENT_TYPE_NAME "content-type" | |
| #define BODY_NAME "body" | |
| #define VALUE_NAME "value" | |
| #define EXPIRES_NAME "expires" | |
| #define PATH_NAME "path" | |
| #define NAME_NAME "name" | |
| #define SIZE_NAME "size" | |
| #define TEXT_NAME "text" | |
| #define EXCEPTION_METHOD_NAME "exception" | #define EXCEPTION_METHOD_NAME "exception" |
| #define UNNAMED_NAME "unnamed" | #define UNNAMED_NAME "unnamed" |
| Line 26 | Line 39 |
| #define TABLE_CLASS_NAME "table" | #define TABLE_CLASS_NAME "table" |
| #define ENV_CLASS_NAME "env" | #define ENV_CLASS_NAME "env" |
| #define FORM_CLASS_NAME "form" | #define FORM_CLASS_NAME "form" |
| #define REQUEST_CLASS_NAME "request" | |
| #define RESPONSE_CLASS_NAME "response" | |
| #define COOKIE_CLASS_NAME "cookie" | |
| #define LIMITS_NAME "limits" | |
| #define POST_MAX_SIZE_NAME "post_max_size" | |
| #define DEFAULTS_NAME "defaults" | |
| #define RESULT_VAR_NAME "result" | |
| //@} | |
| /// target-specific service functions | |
| struct Service_funcs { | struct Service_funcs { |
| size_t (*read_post)(char *&buf, size_t max_bytes); | /// get env |
| const char *(*get_env)(Pool& pool, const char *name); | |
| /// read POST request bytes | |
| uint (*read_post)(Pool& pool, char *buf, uint max_bytes); | |
| /// add response header attribute | |
| void (*add_header_attribute)(Pool& pool, const char *key, const char *value); | |
| /// add response header attribute | |
| void (*send_header)(Pool& pool); | |
| /// output body bytes | |
| void (*send_body)(Pool& pool, const char *buf, size_t size); | |
| }; | }; |
| // core func | /// core func |
| void globals_init(Pool& pool); | void globals_init(Pool& pool); |
| // | /// hex_value[c] = hex value of c |
| extern short hex_value[0x100]; | |
| /// target-specific service functions | |
| extern Service_funcs service_funcs; | extern Service_funcs service_funcs; |
| // global strings | //@{ |
| /// global string | |
| extern String *content_type_name; | |
| extern String *body_name; | |
| extern String *value_name; | |
| extern String *expires_name; | |
| extern String *path_name; | |
| extern String *name_name; | |
| extern String *size_name; | |
| extern String *text_name; | |
| extern String *exception_method_name; | extern String *exception_method_name; |
| extern String *unnamed_name; | extern String *unnamed_name; |
| Line 52 extern String *main_class_name; | Line 98 extern String *main_class_name; |
| extern String *env_class_name; | extern String *env_class_name; |
| extern String *table_class_name; | extern String *table_class_name; |
| extern String *form_class_name; | extern String *form_class_name; |
| extern String *request_class_name; | |
| extern String *response_class_name; | |
| extern String *cookie_class_name; | |
| extern String *limits_name; | |
| extern String *post_max_size_name; | |
| extern String *defaults_name; | |
| extern String *result_var_name; | |
| //@} | |
| // global hashes | /// global hash |
| extern Hash *untaint_lang_name2enum; | extern Hash *untaint_lang_name2enum; |
| #endif | #endif |