/* $VER: global.h 2.1 (05.06.94)
 */

/* No obsolete definitions */
#define ASL_V38_NAMES_ONLY
#define IFFPARSE_V37_NAMES_ONLY
#define INTUI_V36_NAMES_ONLY


/************
 * Includes *
 ************/
/* MUI */
#include <libraries/mui.h>

/* System */
#include <dos.h>
#include <dos/dostags.h>
#include <exec/memory.h>
#include <libraries/asl.h>
#include <libraries/gadtools.h>
#include <libraries/iffparse.h>
#include <libraries/locale.h>

/* Prototypes */
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/icon.h>
#include <proto/intuition.h>
#include <proto/locale.h>
#include <proto/muimaster.h>
#include <proto/wb.h>

/* ANSI C */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>


/*********
 * Enums *
 *********/
enum ids
{
	ID_NEW = 1,
	ID_LOAD,
	ID_LOAD_OLD,
	ID_APPEND,
	ID_SAVE,
	ID_SAVE_AS,
	ID_PREFS,
	ID_PREFS_HELP,
	ID_PREFS_QUIT,
	ID_GENERATE,
	ID_PRINT,
	ID_ABOUT,
	ID_QUIT,
	ID_LISTA,
	ID_ELEMENTTITLEA,
	ID_ELEMENTGROUPA,
	ID_ELEMENTEXTENSIONA,
	ID_ADDA,
	ID_REMOVEA,
	ID_UPA,
	ID_DOWNA,
	ID_LISTB,
	ID_ELEMENTTITLEB,
	ID_ELEMENTGROUPB,
	ID_ELEMENTEXTENSIONB,
	ID_ADDB,
	ID_REMOVEB,
	ID_UPB,
	ID_DOWNB
};


/**************************
 * Defines and Structures *
 **************************/
#define MAXLENGTH_ENTRY	30
#define MAX_ENTRIES		32

struct NodeEntry
{
	char title[MAXLENGTH_ENTRY];
	char group[MAXLENGTH_ENTRY];
	char extension[MAXLENGTH_ENTRY];
};

/**************
 * Prototypes *
 **************/
/* Prototypes for functions defined in CassLabel.c */
extern char dirbuf_load[];
extern char filebuf_load[];
extern char dirbuf_save[];
extern char filebuf_save[];
extern char dirbuf_generate[];
extern char filebuf_generate[];
extern char const * CYA_Source[];
extern char const * CYA_NoiseR[];
extern char const * CYA_Position[];
extern char const * CYA_Length[];
extern char const * Pages[];
extern APTR App;
extern APTR MainWindow;
extern APTR PrefsWindow;
extern APTR LV_SideA;
extern APTR ST_ElementTitleA;
extern APTR ST_ElementGroupA;
extern APTR ST_ElementExtensionA;
extern APTR BT_AddA;
extern APTR BT_RemoveA;
extern APTR BT_UpA;
extern APTR BT_DownA;
extern APTR ST_DateA;
extern APTR ST_GroupA;
extern APTR ST_TitleA;
extern APTR CY_SourceA;
extern APTR CY_NoiseRA;
extern APTR LV_SideB;
extern APTR ST_ElementTitleB;
extern APTR ST_ElementGroupB;
extern APTR ST_ElementExtensionB;
extern APTR BT_AddB;
extern APTR BT_RemoveB;
extern APTR BT_UpB;
extern APTR BT_DownB;
extern APTR ST_DateB;
extern APTR ST_GroupB;
extern APTR ST_TitleB;
extern APTR CY_SourceB;
extern APTR CY_NoiseRB;
extern APTR BT_New;
extern APTR BT_Load;
extern APTR BT_Save;
extern APTR BT_Print;
extern APTR BT_Create;
extern APTR GA_GaugeA;
extern APTR GA_GaugeB;
extern APTR ST_Number;
extern APTR CY_Position;
extern APTR CY_Length;
extern APTR BT_PrefsSave;
extern APTR BT_PrefsOK;
extern APTR BT_PrefsCancel;
extern APTR PS_PopFormat;
extern APTR PS_PopFormat_String;
extern APTR PS_PopDriver;
extern APTR PS_PopDriver_String;
extern APTR CM_Translate;
extern APTR BT_PrefsHelp;
char * GetStr(APTR );
long GetBool(APTR );
long GetRadio(APTR );
long GetCycle(APTR );
extern APTR CassLabelCatalog;
STRPTR GetLocaleString(long );
void settitle(char * );

/* Prototypes for functions defined in output.c */
void generate_file(char * );
void print(void);

/* Prototypes for functions defined in translate.c */
char * translate_to_latex(char const * );
