Blame util.h

Packit 4a5d52
/**************************************************************************
Packit 4a5d52
Packit 4a5d52
    util.h
Packit 4a5d52
Packit 4a5d52
    Copyright (C) 1998, 1999 Andrew T. Veliath
Packit 4a5d52
Packit 4a5d52
    This library is free software; you can redistribute it and/or
Packit 4a5d52
    modify it under the terms of the GNU Library General Public
Packit 4a5d52
    License as published by the Free Software Foundation; either
Packit 4a5d52
    version 2 of the License, or (at your option) any later version.
Packit 4a5d52
Packit 4a5d52
    This library is distributed in the hope that it will be useful,
Packit 4a5d52
    but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 4a5d52
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit 4a5d52
    Library General Public License for more details.
Packit 4a5d52
Packit 4a5d52
    You should have received a copy of the GNU Library General Public
Packit 4a5d52
    License along with this library; if not, write to the Free
Packit 4a5d52
    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Packit 4a5d52
Packit 4a5d52
    $Id$
Packit 4a5d52
Packit 4a5d52
***************************************************************************/
Packit 4a5d52
#ifndef __UTIL_H
Packit 4a5d52
#define __UTIL_H
Packit 4a5d52
Packit 4a5d52
#if defined(HAVE_STDDEF_H)
Packit 4a5d52
#  include <stddef.h>
Packit 4a5d52
#endif
Packit 4a5d52
#if defined(HAVE_WCHAR_H)
Packit 4a5d52
#  include <wchar.h>
Packit 4a5d52
#elif defined(HAVE_WCSTR_H)
Packit 4a5d52
#  include <wcstr.h>
Packit 4a5d52
#endif
Packit 4a5d52
#include <glib.h>
Packit 4a5d52
#include <libIDL/IDL.h>
Packit 4a5d52
Packit 4a5d52
/* Internal parse flags */
Packit 4a5d52
#define IDLFP_PROPERTIES	(1UL << 0)
Packit 4a5d52
#define IDLFP_NATIVE		(1UL << 1)
Packit 4a5d52
#define IDLFP_IN_INCLUDES	(1UL << 2)
Packit 4a5d52
Packit 4a5d52
typedef struct {
Packit 4a5d52
	unsigned long flags;
Packit 4a5d52
	char* name;
Packit 4a5d52
	int seenCnt;
Packit 4a5d52
} IDL_fileinfo;
Packit 4a5d52
Packit 4a5d52
extern void		yyerror				(const char *s);
Packit 4a5d52
extern void		yyerrorl			(const char *s, int ofs);
Packit 4a5d52
extern void		yywarning			(int level, const char *s);
Packit 4a5d52
extern void		yywarningl			(int level, const char *s, int ofs);
Packit 4a5d52
extern void		yyerrorv			(const char *fmt, ...)
Packit 4a5d52
							G_GNUC_PRINTF (1, 2);
Packit 4a5d52
extern void		yyerrorlv			(const char *fmt, int ofs, ...)
Packit 4a5d52
							G_GNUC_PRINTF (1, 3);
Packit 4a5d52
extern void		yywarningv			(int level, const char *fmt, ...)
Packit 4a5d52
							G_GNUC_PRINTF (2, 3);
Packit 4a5d52
extern void		yywarninglv			(int level, const char *fmt, int ofs, ...)
Packit 4a5d52
							G_GNUC_PRINTF (2, 4);
Packit 4a5d52
extern void		yyerrornv			(IDL_tree p, const char *fmt, ...)
Packit 4a5d52
							G_GNUC_PRINTF (2, 3);
Packit 4a5d52
extern void		yywarningnv			(IDL_tree p, int level, const char *fmt, ...)
Packit 4a5d52
							G_GNUC_PRINTF (3, 4);
Packit 4a5d52
Packit 4a5d52
extern guint		IDL_strcase_hash		(gconstpointer v);
Packit 4a5d52
extern gint		IDL_strcase_equal		(gconstpointer a, gconstpointer b);
Packit 4a5d52
extern gint		IDL_strcase_cmp			(gconstpointer a, gconstpointer b);
Packit 4a5d52
extern guint		IDL_ident_hash			(gconstpointer v);
Packit 4a5d52
extern gint		IDL_ident_equal			(gconstpointer a, gconstpointer b);
Packit 4a5d52
extern gint		IDL_ident_cmp			(gconstpointer a, gconstpointer b);
Packit 4a5d52
extern int		IDL_ns_check_for_ambiguous_inheritance
Packit 4a5d52
							(IDL_tree interface_ident,
Packit 4a5d52
							 IDL_tree p);
Packit 4a5d52
extern void		IDL_tree_process_forward_dcls	(IDL_tree *p, IDL_ns ns);
Packit 4a5d52
extern void		IDL_tree_remove_empty_modules	(IDL_tree *p, IDL_ns ns);
Packit 4a5d52
Packit 4a5d52
extern void		__IDL_free_properties		(GHashTable *table);
Packit 4a5d52
extern void		__IDL_assign_up_node		(IDL_tree up, IDL_tree node);
Packit 4a5d52
extern void		__IDL_assign_location		(IDL_tree node, IDL_tree from_node);
Packit 4a5d52
extern void		__IDL_assign_this_location	(IDL_tree node, char *filename, int line);
Packit 4a5d52
extern void		__IDL_parser_reset		(void);
Packit 4a5d52
extern void             __IDL_do_pragma                 (const char *s);
Packit 4a5d52
Packit 4a5d52
extern void		__IDL_lex_init			(void);
Packit 4a5d52
extern void		__IDL_lex_cleanup 		(void);
Packit 4a5d52
Packit 4a5d52
Packit 4a5d52
#ifndef HAVE_CPP_PIPE_STDIN
Packit 4a5d52
extern const char *			__IDL_tmp_filename;
Packit 4a5d52
#endif
Packit 4a5d52
extern const char *			__IDL_real_filename;
Packit 4a5d52
extern char *				__IDL_cur_filename;
Packit 4a5d52
extern int				__IDL_cur_line;
Packit 4a5d52
extern GHashTable *			__IDL_filename_hash;
Packit 4a5d52
extern IDL_fileinfo *			__IDL_cur_fileinfo;
Packit 4a5d52
extern int				__IDL_prev_token_line;
Packit 4a5d52
extern int				__IDL_cur_token_line;
Packit 4a5d52
extern GHashTable *			__IDL_structunion_ht;
Packit 4a5d52
extern int				__IDL_inhibits;
Packit 4a5d52
extern int				__IDL_typecodes_as_tok;
Packit 4a5d52
extern int				__IDL_pidl;
Packit 4a5d52
extern IDL_tree				__IDL_root;
Packit 4a5d52
extern IDL_ns				__IDL_root_ns;
Packit 4a5d52
extern int				__IDL_is_okay;
Packit 4a5d52
extern int				__IDL_is_parsing;
Packit 4a5d52
extern unsigned long			__IDL_flags;
Packit 4a5d52
extern unsigned long			__IDL_flagsi;
Packit 4a5d52
extern gpointer				__IDL_inputcb_user_data;
Packit 4a5d52
extern IDL_input_callback		__IDL_inputcb;
Packit 4a5d52
extern GSList *				__IDL_new_ident_comments;
Packit 4a5d52
Packit 4a5d52
Packit 4a5d52
#endif /* __UTIL_H */