/* !FormText.msgtrans.h */
/* MessageTrans handling */

#ifndef __msgtrans_h
#define __msgtrans_h

#include "toolbox.h"

/* Default descriptor for Toolbox */
extern MessagesFD msgs_descriptor;

/* Looks up a token, result won't necessarily be zero-terminated,
   no parameter substitution available here
*/
extern const char *msgtrans_lookup(MessagesFD *descriptor, const char *token);

#define msgs_lookup(t) msgtrans_lookup(&msgs_descriptor, (t))

extern _kernel_oserror *msgtrans_load(const char *filename,
	MessagesFD *descriptor, char **buffer);
extern _kernel_oserror *msgtrans_close(MessagesFD *descriptor);

/* Returns pointer to static error block */
extern _kernel_oserror *msgtrans_error(MessagesFD *descriptor,
	const char *token);
#define msgs_error(t) msgs_error(msgs_descriptor, (t))
/* Out of memory message */
#define msgs_nomem() msgtrans_error(0, "NoStore")

#endif
