14887Schin 24887Schin /* : : generated by proto : : */ 34887Schin /*********************************************************************** 44887Schin * * 54887Schin * This software is part of the ast package * 6*12068SRoger.Faulkner@Oracle.COM * Copyright (c) 1985-2010 AT&T Intellectual Property * 74887Schin * and is licensed under the * 84887Schin * Common Public License, Version 1.0 * 98462SApril.Chin@Sun.COM * by AT&T Intellectual Property * 104887Schin * * 114887Schin * A copy of the License is available at * 124887Schin * http://www.opensource.org/licenses/cpl1.0.txt * 134887Schin * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 144887Schin * * 154887Schin * Information and Software Systems Research * 164887Schin * AT&T Research * 174887Schin * Florham Park NJ * 184887Schin * * 194887Schin * Glenn Fowler <gsf@research.att.com> * 204887Schin * David Korn <dgk@research.att.com> * 214887Schin * Phong Vo <kpv@research.att.com> * 224887Schin * * 234887Schin ***********************************************************************/ 244887Schin 254887Schin 264887Schin /* 274887Schin * machine independent binary message catalog interface 284887Schin * 294887Schin * file layout 304887Schin * all numbers are sfputu() format 314887Schin * 324887Schin * 4 char magic (^M^S^G0) 334887Schin * <method locale YYYY-MM-DD>\0 344887Schin * (<optional strings>\0)* 354887Schin * \0 364887Schin * string table size 374887Schin * #msgs total 384887Schin * #max set number 394887Schin * #set-id 1 404887Schin * #msgs in set 1 414887Schin * ... 424887Schin * #set-id #sets 434887Schin * #msgs in set #sets 444887Schin * end of sets (0) 454887Schin * msg(1,1) size 464887Schin * ... 474887Schin * msg(#sets,#msgs) size 484887Schin * string table 494887Schin */ 504887Schin 514887Schin #ifndef _MC_H 524887Schin #if !defined(__PROTO__) 534887Schin #include <prototyped.h> 544887Schin #endif 554887Schin #if !defined(__LINKAGE__) 564887Schin #define __LINKAGE__ /* 2004-08-11 transition */ 574887Schin #endif 584887Schin 594887Schin #define _MC_H 604887Schin 614887Schin #include <ast.h> 624887Schin 634887Schin #define MC_MAGIC "\015\023\007\000" 644887Schin #define MC_MAGIC_SIZE 4 654887Schin 664887Schin #define MC_SET_MAX 1023 674887Schin #define MC_NUM_MAX 32767 684887Schin 694887Schin #define MC_NLS (1<<10) 704887Schin 714887Schin #define MC_MESSAGE_SET(s) mcindex(s,NiL,NiL,NiL) 724887Schin 734887Schin typedef struct 744887Schin { 754887Schin char** msg; 764887Schin int num; 774887Schin int gen; 784887Schin } Mcset_t; 794887Schin 804887Schin typedef struct 814887Schin { 824887Schin Mcset_t* set; 834887Schin int num; 844887Schin int gen; 854887Schin char* translation; 864887Schin #ifdef _MC_PRIVATE_ 874887Schin _MC_PRIVATE_ 884887Schin #endif 894887Schin } Mc_t; 904887Schin 914887Schin #if _BLD_ast && defined(__EXPORT__) 924887Schin #undef __MANGLE__ 934887Schin #define __MANGLE__ __LINKAGE__ __EXPORT__ 944887Schin #endif 954887Schin 964887Schin extern __MANGLE__ char* mcfind __PROTO__((char*, const char*, const char*, int, int)); 974887Schin extern __MANGLE__ Mc_t* mcopen __PROTO__((Sfio_t*)); 984887Schin extern __MANGLE__ char* mcget __PROTO__((Mc_t*, int, int, const char*)); 994887Schin extern __MANGLE__ int mcput __PROTO__((Mc_t*, int, int, const char*)); 1004887Schin extern __MANGLE__ int mcdump __PROTO__((Mc_t*, Sfio_t*)); 1014887Schin extern __MANGLE__ int mcindex __PROTO__((const char*, char**, int*, int*)); 1024887Schin extern __MANGLE__ int mcclose __PROTO__((Mc_t*)); 1034887Schin 1044887Schin #undef __MANGLE__ 1054887Schin #define __MANGLE__ __LINKAGE__ 1064887Schin 1074887Schin #endif 108