#if !defined (C_LANG_H)
#define C_LANG_H 1
struct ui_file;
struct language_arch_info;
#include "value.h"
#include "macroexp.h"
extern int c_parse (void);
extern void c_error (char *);
extern void c_print_type (struct type *, char *, struct ui_file *, int,
int);
extern int c_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
struct ui_file *, int, int, int,
enum val_prettyprint);
extern int c_value_print (struct value *, struct ui_file *, int,
enum val_prettyprint);
extern void c_printchar (int, struct ui_file *);
extern void c_printstr (struct ui_file * stream, const gdb_byte *string,
unsigned int length, int width,
int force_ellipses);
extern void scan_macro_expansion (char *expansion);
extern int scanning_macro_expansion (void);
extern void finished_macro_expansion (void);
extern macro_lookup_ftype *expression_macro_lookup_func;
extern void *expression_macro_lookup_baton;
extern struct type *c_create_fundamental_type (struct objfile *, int);
extern void c_language_arch_info (struct gdbarch *gdbarch,
struct language_arch_info *lai);
extern void c_type_print_base (struct type *, struct ui_file *, int, int);
extern int vtblprint;
extern int static_field_print;
extern void cp_print_class_member (const gdb_byte *, struct type *,
struct ui_file *, char *);
extern void cp_print_class_method (const gdb_byte *, struct type *,
struct ui_file *);
extern void cp_print_value_fields (struct type *, struct type *,
const gdb_byte *, int, CORE_ADDR,
struct ui_file *, int,
int, enum val_prettyprint,
struct type **, int);
extern int cp_is_vtbl_ptr_type (struct type *);
extern int cp_is_vtbl_member (struct type *);
#endif