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