#ifndef _MTreg_h_
#define _MTreg_h_

#include "sysdep.h"
#include "bool.h"

#include "registry.h"
#include "biregistry.h"
#include "MsgType.h"

typedef struct st_AlMTreg	*AlMTreg;

extern struct st_AlMTreg	AlMTR;

#ifdef __STDC__
extern Bool		AlMTreg_init(NOARGS);
extern Bool		AlMTreg_save(const char *);	/*!!!*/
extern NORET		AlMTreg_saveall(NOARGS);
extern Bool		AlMTreg_register(AlMsgType, Biregistry);
extern Bool		AlMTreg_unregister(AlMsgType, Biregistry);
extern Bool		AlMTreg_sub_register(const char *, Biregistry);
extern AlMsgType	AlMTreg_get_obj_with_name(const char *);
extern const char *	AlMTreg_get_name_with_obj(AlMsgType);
extern NORET		AlMTreg_get_all_msg_type_names(Darray);
extern Bool		AlMTreg_load(const char *);		/*!!!*/
extern Bool		AlMTreg_verify(NOARGS);
extern Biregistry       AlMTreg_get_files_biregistry(char*);
extern char *           AlMTreg_get_MTs_file(AlMsgType);
#else
extern Bool		AlMTreg_init();
extern Bool		AlMTreg_save();
extern NORET		AlMTreg_saveall();
extern Bool		AlMTreg_register();
extern Bool		AlMTreg_unregister();
extern Bool		AlMTreg_sub_register();
extern AlMsgType	AlMTreg_get_obj_with_name();
extern char *		AlMTreg_get_name_with_obj();
extern NORET		AlMTreg_get_all_msg_type_names();
extern Bool		AlMTreg_load();			/*!!!*/
extern Bool		AlMTreg_verify();
extern Biregistry       AlMTreg_get_files_biregistry();
extern char *           AlMTreg_get_MTs_file();
#endif /* __STDC__ */

#endif /* _MTreg_h_ */
