//	bfe2 - functions prototypes
//	Copyright (c) 1999-2003 Brand Huntsman and Lee Salzman
//


//
// main.c
//

void	bfe_quit	( char *message );


//
// misc.c
//

void	clip_whitespace		( char *string );
uint	string_compare		( char *s1, char *s2 );
uint	get_word		( char *buffer, uint *i, char **word );
void	goto_next_word		( char *buffer, uint *i );


//
// gtk.c
//

GtkWidget *	new_hbox		( GtkWidget *box, gboolean pack );
GtkWidget *	new_vbox		( GtkWidget *box, gboolean pack );
void		new_gap			( GtkWidget *box );
GtkCList *	new_list		( GtkWidget *box, uint columns, gchar *titles[] );
GtkWidget *	new_label		( GtkWidget *box, gboolean pack, char *message, gboolean wrap );
GtkWidget *	new_text_entry		( GtkWidget *box, gboolean pack, uint width );
GtkWidget *	new_button		( GtkWidget *box, gboolean pack, char *name );
GtkWidget *	new_check_button	( GtkWidget *box, gboolean pack, char *name, gboolean state );
GtkWidget *	new_toggle_button	( GtkWidget *box, gboolean pack, char *name );
s_bgroup *	new_button_group	( GtkWidget *box, gboolean pack, e_orientation orientation,
					  uint nr_buttons, char *titles[] );
void		set_bgroup		( s_bgroup *group, uint button );
void		new_separator		( GtkWidget *box, gboolean pack, e_orientation orientation );
GtkWidget *	new_window		( GtkWindowType type, char *title, uint width, uint height );
GtkWidget *	new_window_vbox		( GtkWidget *window );


//
// bochs.c
//

void	hook_sigio	( );
void	unhook_sigio	( );

void	bochsInit	( );
void	bochsShutdown	( );
void	bochsStart	( );

void	prompt_read	( );


//
// ctrl.c
//

void	ctrlInit		( GtkWidget *box );
void	ctrlStop		( uint sigio );
void	ctrlEnableControls	( gboolean v );
void	ctrlGetInstruction	( );


//
// state.c
//

void	stateInit		( GtkWidget *hbox );
void	stateUpdate		( );
void	stateUpdateStack	( );


//
// breakpoints.c
//

void	breakpointsInit		( GtkWidget *vbox );
void	breakpointsUpdate	( e_bp_mode mode );
void	breakpointsReload	( );
void	breakpointsEnablePage	( gboolean v );
void	breakpointsSelect	( uint bp );


//
// watchpoints.c
//

void	watchpointsInit		( GtkWidget *vbox );
void	watchpointsUpdate	( e_wp_mode mode );
void	watchpointsReload	( );
void	watchpointsEnablePage	( gboolean v );
void	watchpointsSelect	( uint wp );


//
// memory.c
//

void	memoryInit		( GtkWidget *vbox );
void	memoryUpdateWindow	( s_memwin *m );
void	memoryEnablePage	( gboolean v );


//
// structures.c
//

void	structuresInit		( GtkWidget *vbox );
void	structuresUpdate	( );
void	structuresUpdateWindow	( s_structwin *s );
void	structuresEnablePage	( gboolean v );


//
// prefs.c
//

void	prefsInit		( GtkWidget *vbox );
void	prefsEnablePage		( gboolean v );


//
// history.c
//

void	historyInit		( GtkWidget *vbox );
void	historyReset		( );
void	historyClose		( );
void	historyClear		( GtkWidget *widget, gpointer data );
void	historyUpdate		( );
void	historyRepeat		( );
void	historyWrite		( char *message );
void	historyClip		( );
