Annotation of parser3/src/include/pa_globals.h, revision 1.22

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.22    ! paf         8:        $Id: pa_globals.h,v 1.21 2001/03/22 12:09:58 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.21      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.22    ! paf        54: struct SAPI {
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.22    ! paf        75: extern SAPI sapi;
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: