2005-02-20 15:02:48 +00:00
|
|
|
/*
|
|
|
|
* IDL Compiler
|
|
|
|
*
|
|
|
|
* Copyright 2002 Ove Kaaven
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2006-07-30 12:58:24 +00:00
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
2005-02-20 15:02:48 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __WIDL_PARSER_H
|
|
|
|
#define __WIDL_PARSER_H
|
|
|
|
|
2008-01-11 13:46:33 +00:00
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
type_t *interface;
|
|
|
|
unsigned char old_pointer_default;
|
|
|
|
} interface_info_t;
|
2005-02-20 15:02:48 +00:00
|
|
|
|
2008-01-11 13:46:33 +00:00
|
|
|
int parser_parse(void);
|
|
|
|
|
|
|
|
extern FILE *parser_in;
|
|
|
|
extern char *parser_text;
|
|
|
|
extern int parser_debug;
|
2005-02-20 15:02:48 +00:00
|
|
|
extern int yy_flex_debug;
|
|
|
|
|
2008-01-11 13:46:33 +00:00
|
|
|
int parser_lex(void);
|
2005-02-20 15:02:48 +00:00
|
|
|
|
|
|
|
extern int import_stack_ptr;
|
|
|
|
int do_import(char *fname);
|
|
|
|
void abort_import(void);
|
Sync to wine-0.9.60:
- Rob Shearman <rob@codeweavers.com> Wed, 26 Mar 2008
widl: Support using context handles as the binding handle in client functions.
- Rob Shearman <rob@codeweavers.com> Thu, 27 Mar 2008
widl: Use is_string_type for detecting strings in write_typeformatstring_var to make it consistent with write_remoting_arg.
- Rob Shearman <rob@codeweavers.com> Thu, 27 Mar 2008
widl: Add support for generic binding handles.
- Rob Shearman <rob@codeweavers.com> Thu, 27 Mar 2008
widl: Fix detection of non-pointer context handles.
- Rob Shearman <rob@codeweavers.com> Thu, 27 Mar 2008
widl: Make sure that string types are always written out by write_string_tfs and not write_simple_pointer.
- Rob Shearman <rob@codeweavers.com> Mon, 31 Mar 2008
widl: Parse typedefs of function pointers.
- Rob Shearman <rob@codeweavers.com> Tue, 1 Apr 2008
widl: Be more strict about where semicolons can appear in IDL files.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Add a function to get the return type of a parsed function.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Store function and function pointer types completely within type_t type.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Support parsing calling conventions for function identifiers.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Support __fastcall and __pascal calling conventions.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Add a newline between function prototypes for non-object interfaces.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Fix the writing out of function pointers with more than one level of indirection.
- Rob Shearman <rob@codeweavers.com> Wed, 2 Apr 2008
widl: Turn on verbose errors, which gives a little more information in the case of a syntax error.
- Dan Hipschman <dsh@linux.ucla.edu> Thu, 3 Apr 2008
widl: Fix a mistake in an ordered list (keywords).
svn path=/trunk/; revision=36829
2008-10-19 12:30:41 +00:00
|
|
|
void pop_import(void);
|
2005-02-20 15:02:48 +00:00
|
|
|
|
|
|
|
#define parse_only import_stack_ptr
|
|
|
|
|
|
|
|
int is_type(const char *name);
|
|
|
|
|
2016-07-03 11:16:23 +00:00
|
|
|
int do_warning(char *toggle, warning_list_t *wnum);
|
|
|
|
int is_warning_enabled(int warning);
|
|
|
|
|
2010-03-04 13:46:14 +00:00
|
|
|
extern char *temp_name;
|
|
|
|
|
2005-02-20 15:02:48 +00:00
|
|
|
#endif
|