Main Page | Class List | Directories | File List | Class Members | File Members

cpp.h

Go to the documentation of this file.
00001 /*
00002 || This file is part of Pike. For copyright information see COPYRIGHT.
00003 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
00004 || for more information.
00005 || $Id: cpp.h,v 1.12 2004/06/29 21:15:59 nilsson Exp $
00006 */
00007 
00008 #ifndef CPP_H
00009 #define CPP_H
00010 
00011 #ifndef STRUCT_HASH_ENTRY_DECLARED
00012 struct hash_entry;
00013 #define STRUCT_HASH_ENTRY_DECLARED
00014 #endif
00015 
00016 /* Prototypes begin here */
00017 struct define_part;
00018 struct define_argument;
00019 struct define;
00020 struct cpp;
00021 static void cpp_error(struct cpp *this, const char *err);
00022 static void cpp_error_vsprintf (struct cpp *this, const char *fmt,
00023                                 va_list args);
00024 static void cpp_error_sprintf(struct cpp *this, const char *fmt, ...);
00025 static void cpp_handle_exception(struct cpp *this,
00026                                  const char *cpp_error_fmt, ...);
00027 static void cpp_warning(struct cpp *this, const char *cpp_warn_fmt, ...);
00028 void PUSH_STRING(char *str,
00029                  INT32 len,
00030                  dynamic_buffer *buf);
00031 void free_one_define(struct hash_entry *h);
00032 void f_cpp(INT32 args);
00033 void init_cpp(void);
00034 void add_predefine(char *s);
00035 void exit_cpp(void);
00036 /* Prototypes end here */
00037 
00038 /* Return true if compat version is equal or less than MAJOR.MINOR */
00039 #define CPP_TEST_COMPAT(THIS,MAJOR,MINOR)      \
00040   (THIS->compat_major < (MAJOR) ||             \
00041    (THIS->compat_major == (MAJOR) &&           \
00042     THIS->compat_minor <= (MINOR)))
00043 
00044 #endif

Generated on Fri Jul 22 23:44:24 2005 for Pike by  doxygen 1.3.9.1