/*
 * This file is generated by aisc_mkpt.
 * Any changes you make here will be overwritten later!
 *
 */

#ifndef GDE_PROTO_H
#define GDE_PROTO_H

/* define ARB attributes: */
#ifndef ATTRIBUTES_H
# include <attributes.h>
#endif


/* GDE_ParseMenu.cxx */
void ParseMenu(void);
int Find(const char *target, const char *key);
int Find2(const char *target, const char *key);
void Error(const char *msg) __ATTR__NORETURN;
void crop(char *input, char *head, char *tail);

/* GDE.cxx */
char *GDE_makeawarname(GmenuItem *gmenuitem, long i);
void GDE_load_menu(AW_window *awm, AW_active mask, const char *menulabel, const char *menuitemlabel);
void create_gde_var(AW_root *aw_root, AW_default aw_def, char *(*get_sequences )(void *THIS, GBDATA **&the_species, uchar **&the_names, uchar **&the_sequences, long &numberspecies, long &maxalignlen ), gde_cgss_window_type wt, void *THIS);

/* GDE_event.cxx */
void GDE_startaction_cb(AW_window *aw, GmenuItem *gmenuitem, AW_CL cd);

/* GDE_arbdb_io.cxx */
void ReadArbdb_plain(char *filename, NA_Alignment *dataset, int type);
int ReadArbdb2(NA_Alignment *dataset, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon);
int ReadArbdb(NA_Alignment *dataset, bool marked, AP_filter *filter, GapCompression compress, bool cutoff_stop_codon);
int getelem(NA_Sequence *a, int b);
void putelem(NA_Sequence *a, int b, NA_Base c);

/* GDE_HGLfile.cxx */
void ReadGDE(char *filename, NA_Alignment *dataset, int type);
int WriteGDE(NA_Alignment *aln, char *filename, int method, int maskable);
void SeqNorm(NA_Sequence *seq);
char *uniqueID(void);

/* GDE_Genbank.cxx */
void ReadGen(char *filename, NA_Alignment *dataset, int type);
int WriteGen(NA_Alignment *aln, char *filename, int method, int maskable);
void SetTime(void *b);

/* GDE_FileIO.cxx */
int MAX(int a, int b);
int MIN(int a, int b);
void Regroup(NA_Alignment *alignment);
void ErrorOut5(int code, const char *string);
char *Calloc(int count, int size);
char *Realloc(char *block, int size);
void Cfree(char *block);
void LoadData(char *filen);
void AppendNA(NA_Base *buffer, int len, NA_Sequence *seq);
void Ascii2NA(char *buffer, int len, int matrix[16 ]);
int WriteNA_Flat(NA_Alignment *aln, char *filename, int method, int maskable);
void Warning(const char *s);
void InitNASeq(NA_Sequence *seq, int type);
void ReadCMask(const char *filename);
int WriteStatus(NA_Alignment *aln, char *filename, int method);
void ReadStatus(char *filename);
void NormalizeOffset(NA_Alignment *aln);
int WriteCMask(NA_Alignment *aln, char *filename, int method, int maskable);

#else
#error GDE_proto.h included twice
#endif /* GDE_PROTO_H */
