src/libc/libc_internal.h

Go to the documentation of this file.
00001 
00008 #ifndef _TXC_LIBC_INTERNAL_H
00009 #define _TXC_LIBC_INTERNAL_H
00010 
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013 #include <sys/socket.h>
00014 #include <nl_types.h>
00015 #include <stdarg.h>
00016 #include <iconv.h>
00017 
00018 
00019 #define HUGE    1.701411733192644270e38
00020 #define LOGHUGE 39
00021 
00022 #define ic_from(x)  (((x))&0xffff)
00023 #define ic_to(x)  (((x)>>16)&0xffff)
00024 
00025 # define __ptr_t    char * /* Not C++ or ANSI C.  */
00026 //# define __ptr_t    void *  /* C++ or ANSI C.  */
00027 typedef unsigned short int uint16_t;
00028 typedef unsigned int uint32_t;
00029 
00030 /* Flags for file I/O */
00031 #define _IOREAD 01
00032 #define _IOWRT  02
00033 #define _IONBF  04
00034 #define _IOMYBUF        010
00035 #define _IOEOF  020
00036 #define _IOERR  040
00037 #define _IOSTRG 0100
00038 #define _IORW   0200
00039 #define EOF     (-1)
00040 #define _NFILE  20
00041 
00042 struct catalog_obj
00043 {
00044         u_int32_t magic;
00045         u_int32_t plane_size;
00046         u_int32_t plane_depth;
00047         /* This is in fact two arrays in one: always a pair of name and
00048          *pointer into the data area.  */
00049         u_int32_t name_ptr[0];
00050 };
00051 
00052 
00053 /* This structure will be filled after loading the catalog.  */
00054 typedef struct catalog_info
00055 {
00056         enum { mmapped, malloced } status;
00057     size_t plane_size;
00058     size_t plane_depth;
00059     u_int32_t *name_ptr;
00060     const char *strings;
00061     struct catalog_obj *file_ptr;
00062     size_t file_size;
00063 } *__nl_catd;
00064 
00065 enum charset {
00066         INVALID=0,
00067         ISO_8859_1,
00068         UTF_8,
00069         UCS_2,
00070         UCS_4,
00071         UTF_16_BE,
00072         UTF_16_LE,
00073         UTF_16
00074 };
00075 
00076 
00077 #include <inc/txc/libc.h>
00078 
00079 #endif

Generated on Wed Dec 9 20:32:39 2009 for xCalls by  doxygen 1.4.7