ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wpp.h
Go to the documentation of this file.
00001 /*
00002  * Exported functions of the Wine preprocessor
00003  *
00004  * Copyright 2002 Alexandre Julliard
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_WPP_H
00022 #define __WINE_WPP_H
00023 
00024 #include <stdio.h>
00025 #include <stdarg.h>
00026 
00027 struct wpp_callbacks
00028 {
00029     /* I/O callbacks */
00030 
00031     /* Looks for a file to include, returning the path where it is found */
00032     /* parent_name is the directory of the parent source file (for local
00033      * includes), includepath is an array of additional include paths */
00034     char *(*lookup)( const char *filename, const char *parent_name,
00035                      char **include_path, int include_path_count );
00036     /* Opens an include file */
00037     /* The type param is true if it is a local ("...") include */
00038     void *(*open)( const char *filename, int type );
00039     /* Closes a previously opened file */
00040     void (*close)( void *file );
00041     /* Reads buffer from the input */
00042     int (*read)( void *file, char *buffer, unsigned int len );
00043     /* Writes buffer to the output */
00044     void (*write)( const char *buffer, unsigned int len );
00045 
00046     /* Error callbacks */
00047     void (*error)( const char *file, int line, int col, const char *near, const char *msg, va_list ap );
00048     void (*warning)( const char *file, int line, int col, const char *near, const char *msg, va_list ap );
00049 };
00050 
00051 /* Return value == 0 means successful execution */
00052 extern int wpp_add_define( const char *name, const char *value );
00053 extern void wpp_del_define( const char *name );
00054 extern int wpp_add_cmdline_define( const char *value );
00055 extern void wpp_set_debug( int lex_debug, int parser_debug, int msg_debug );
00056 extern void wpp_set_pedantic( int on );
00057 extern int wpp_add_include_path( const char *path );
00058 extern char *wpp_find_include( const char *name, const char *parent_name );
00059 extern int wpp_parse( const char *input, FILE *output );
00060 extern void wpp_set_callbacks( const struct wpp_callbacks *callbacks );
00061 
00062 #endif  /* __WINE_WPP_H */

Generated on Sat May 26 2012 04:29:25 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.