da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* : : generated by proto : : */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/***********************************************************************
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* This software is part of the ast package *
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner* Copyright (c) 1985-2010 AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* and is licensed under the *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Common Public License, Version 1.0 *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin* by AT&T Intellectual Property *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* A copy of the License is available at *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* http://www.opensource.org/licenses/cpl1.0.txt *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Information and Software Systems Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* AT&T Research *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Florham Park NJ *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Glenn Fowler <gsf@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* David Korn <dgk@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* Phong Vo <kpv@research.att.com> *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin* *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin***********************************************************************/
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * machine independent binary message catalog interface
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * file layout
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * all numbers are sfputu() format
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * 4 char magic (^M^S^G0)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * <method locale YYYY-MM-DD>\0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * (<optional strings>\0)*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * \0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * string table size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #msgs total
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #max set number
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #set-id 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #msgs in set 1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #set-id #sets
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * #msgs in set #sets
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * end of sets (0)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * msg(1,1) size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * msg(#sets,#msgs) size
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * string table
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifndef _MC_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__PROTO__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <prototyped.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if !defined(__LINKAGE__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __LINKAGE__ /* 2004-08-11 transition */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define _MC_H
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <ast.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_MAGIC "\015\023\007\000"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_MAGIC_SIZE 4
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_SET_MAX 1023
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_NUM_MAX 32767
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_NLS (1<<10)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define MC_MESSAGE_SET(s) mcindex(s,NiL,NiL,NiL)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char** msg;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int num;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int gen;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Mcset_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chintypedef struct
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin{
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Mcset_t* set;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int num;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin int gen;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin char* translation;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#ifdef _MC_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _MC_PRIVATE_
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin} Mc_t;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#if _BLD_ast && defined(__EXPORT__)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#undef __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __MANGLE__ __LINKAGE__ __EXPORT__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ char* mcfind __PROTO__((char*, const char*, const char*, int, int));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ Mc_t* mcopen __PROTO__((Sfio_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ char* mcget __PROTO__((Mc_t*, int, int, const char*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int mcput __PROTO__((Mc_t*, int, int, const char*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int mcdump __PROTO__((Mc_t*, Sfio_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int mcindex __PROTO__((const char*, char**, int*, int*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinextern __MANGLE__ int mcclose __PROTO__((Mc_t*));
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#undef __MANGLE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#define __MANGLE__ __LINKAGE__
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#endif