Annotation of parser3/src/include/pa_globals.h, revision 1.20
1.13 paf 1: /** @file
1.15 paf 2: Parser: global decls.
3:
1.1 paf 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
1.15 paf 5:
1.1 paf 6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
7:
1.20 ! paf 8: $Id: pa_globals.h,v 1.19 2001/03/21 16:48:13 paf Exp $
1.1 paf 9: */
10:
11: #ifndef PA_GLOBALS_H
12: #define PA_GLOBALS_H
13:
14: #include "pa_string.h"
15: #include "pa_hash.h"
16:
1.14 paf 17: //@{
18: /// constant string. class name, predefined method & co
1.20 ! paf 19: #define AUTO_FILE_NAME "/auto.p"
1.1 paf 20:
1.8 paf 21: #define CONTENT_TYPE_NAME "content-type"
22: #define BODY_NAME "body"
1.11 paf 23: #define VALUE_NAME "value"
1.12 paf 24: #define EXPIRES_NAME "expires"
25: #define PATH_NAME "path"
1.16 paf 26: #define NAME_NAME "name"
27: #define SIZE_NAME "size"
28: #define TEXT_NAME "text"
1.8 paf 29:
1.1 paf 30: #define EXCEPTION_METHOD_NAME "exception"
31:
32: #define UNNAMED_NAME "unnamed"
33:
34: #define MAIN_METHOD_NAME "main"
35: #define AUTO_METHOD_NAME "auto"
36:
37: #define ROOT_CLASS_NAME "ROOT"
38: #define MAIN_CLASS_NAME "MAIN"
39: #define TABLE_CLASS_NAME "table"
40: #define ENV_CLASS_NAME "env"
41: #define FORM_CLASS_NAME "form"
1.7 paf 42: #define REQUEST_CLASS_NAME "request"
1.8 paf 43: #define RESPONSE_CLASS_NAME "response"
1.12 paf 44: #define COOKIE_CLASS_NAME "cookie"
1.1 paf 45:
1.4 paf 46: #define LIMITS_NAME "limits"
47: #define POST_MAX_SIZE_NAME "post_max_size"
1.9 paf 48: #define DEFAULTS_NAME "defaults"
1.4 paf 49:
1.6 paf 50: #define RESULT_VAR_NAME "result"
1.14 paf 51: //@}
1.6 paf 52:
1.14 paf 53: /// target-specific service functions
1.3 paf 54: struct Service_funcs {
1.18 paf 55: /// get env
56: const char *(*get_env)(Pool& pool, const char *name);
1.14 paf 57: /// read POST request bytes
1.19 paf 58: uint (*read_post)(Pool& pool, char *buf, uint max_bytes);
1.17 paf 59: /// add response header attribute
60: void (*add_header_attribute)(Pool& pool, const char *key, const char *value);
61: /// add response header attribute
62: void (*send_header)(Pool& pool);
1.14 paf 63: /// output body bytes
1.17 paf 64: void (*send_body)(Pool& pool, const char *buf, size_t size);
1.3 paf 65: };
66:
67:
1.14 paf 68: /// core func
1.2 paf 69: void globals_init(Pool& pool);
1.5 paf 70:
1.14 paf 71: /// hex_value[c] = hex value of c
1.5 paf 72: extern short hex_value[0x100];
1.3 paf 73:
1.14 paf 74: /// target-specific service functions
1.3 paf 75: extern Service_funcs service_funcs;
1.1 paf 76:
1.14 paf 77: //@{
78: /// global string
1.8 paf 79: extern String *content_type_name;
80: extern String *body_name;
1.11 paf 81: extern String *value_name;
1.12 paf 82: extern String *expires_name;
83: extern String *path_name;
1.16 paf 84: extern String *name_name;
85: extern String *size_name;
86: extern String *text_name;
1.8 paf 87:
1.1 paf 88: extern String *exception_method_name;
89:
90: extern String *unnamed_name;
91: extern String *empty_string;
92:
93: extern String *auto_method_name;
94: extern String *main_method_name;
95:
96: extern String *root_class_name;
97: extern String *main_class_name;
98: extern String *env_class_name;
99: extern String *table_class_name;
100: extern String *form_class_name;
1.7 paf 101: extern String *request_class_name;
1.8 paf 102: extern String *response_class_name;
1.12 paf 103: extern String *cookie_class_name;
1.4 paf 104:
105: extern String *limits_name;
106: extern String *post_max_size_name;
1.9 paf 107:
108: extern String *defaults_name;
1.6 paf 109:
110: extern String *result_var_name;
1.14 paf 111: //@}
1.1 paf 112:
1.14 paf 113: /// global hash
1.1 paf 114: extern Hash *untaint_lang_name2enum;
115:
116: #endif
E-mail: