EDK2 doxygen online documents - Firmware Encoding Index 1
EDK2 doxygen online documents - Firmware Encoding Index

StdLib/Include/nl_types.h

Go to the documentation of this file.
00001 /*  $NetBSD: nl_types.h,v 1.11 2005/02/03 04:39:32 perry Exp $  */
00002 
00003 /*-
00004  * Copyright (c) 1996 The NetBSD Foundation, Inc.
00005  * All rights reserved.
00006  *
00007  * This code is derived from software contributed to The NetBSD Foundation
00008  * by J.T. Conklin.
00009  *
00010  * Redistribution and use in source and binary forms, with or without
00011  * modification, are permitted provided that the following conditions
00012  * are met:
00013  * 1. Redistributions of source code must retain the above copyright
00014  *    notice, this list of conditions and the following disclaimer.
00015  * 2. Redistributions in binary form must reproduce the above copyright
00016  *    notice, this list of conditions and the following disclaimer in the
00017  *    documentation and/or other materials provided with the distribution.
00018  * 3. All advertising materials mentioning features or use of this software
00019  *    must display the following acknowledgement:
00020  *        This product includes software developed by the NetBSD
00021  *        Foundation, Inc. and its contributors.
00022  * 4. Neither the name of The NetBSD Foundation nor the names of its
00023  *    contributors may be used to endorse or promote products derived
00024  *    from this software without specific prior written permission.
00025  *
00026  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
00027  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
00028  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00029  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
00030  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00031  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00032  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00033  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00034  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00035  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00036  * POSSIBILITY OF SUCH DAMAGE.
00037  */
00038 
00039 #ifndef _NL_TYPES_H_
00040 #define _NL_TYPES_H_
00041 #include  <sys/EfiCdefs.h>
00042 
00043 #ifdef _NLS_PRIVATE
00044 /*
00045  * MESSAGE CATALOG FILE FORMAT.
00046  *
00047  * The NetBSD message catalog format is similar to the format used by
00048  * Svr4 systems.  The differences are:
00049  *   * fixed byte order (big endian)
00050  *   * fixed data field sizes
00051  *
00052  * A message catalog contains four data types: a catalog header, one
00053  * or more set headers, one or more message headers, and one or more
00054  * text strings.
00055  */
00056 
00057 #define _NLS_MAGIC  0xff88ff89
00058 
00059 struct _nls_cat_hdr {
00060   int32_t __magic;
00061   int32_t __nsets;
00062   int32_t __mem;
00063   int32_t __msg_hdr_offset;
00064   int32_t __msg_txt_offset;
00065 } ;
00066 
00067 struct _nls_set_hdr {
00068   int32_t __setno;  /* set number: 0 < x <= NL_SETMAX */
00069   int32_t __nmsgs;  /* number of messages in the set  */
00070   int32_t __index;  /* index of first msg_hdr in msg_hdr table */
00071 } ;
00072 
00073 struct _nls_msg_hdr {
00074   int32_t __msgno;  /* msg number: 0 < x <= NL_MSGMAX */
00075   int32_t __msglen;
00076   int32_t __offset;
00077 } ;
00078 
00079 #endif
00080 
00081 #define NL_SETD   1
00082 #define NL_CAT_LOCALE   1
00083 
00084 typedef struct __nl_cat_d {
00085   void  *__data;
00086   int __size;
00087 } *nl_catd;
00088 
00089 typedef LONG32  nl_item;
00090 
00091 __BEGIN_DECLS
00092 nl_catd  catopen(const char *, int);
00093 char    *catgets(nl_catd, int, int, const char *)
00094   __attribute__((__format_arg__(4)));
00095 int  catclose(nl_catd);
00096 __END_DECLS
00097 
00098 #endif  /* _NL_TYPES_H_ */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Defines