P99
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
p99_typenames.h
Go to the documentation of this file.
00001 /* This may look like nonsense, but it really is -*- mode: C -*-              */
00002 /*                                                                            */
00003 /* Except for parts copied from previous work and as explicitly stated below, */
00004 /* the authors and copyright holders for this work are as follows:            */
00005 /* (C) copyright  2011-2012 Jens Gustedt, INRIA, France                       */
00006 /* (C) copyright  2012 William Morris                                         */
00007 /*                                                                            */
00008 /* This file is free software; it is part of the P99 project.                 */
00009 /* You can redistribute it and/or modify it under the terms of the QPL as     */
00010 /* given in the file LICENSE. It is distributed without any warranty;         */
00011 /* without even the implied warranty of merchantability or fitness for a      */
00012 /* particular purpose.                                                        */
00013 /*                                                                            */
00014 #ifndef     P99_TYPENAMES_H_
00015 # define    P99_TYPENAMES_H_
00016 
00022 #include "p99_compiler.h"
00023 #include "p99_type.h"
00024 
00030 P00_ONE_TOK(unsigned long, ulong);
00031 P00_ONE_TOK(signed long, slong);
00032 P00_ONE_TOK(unsigned int, uint);
00033 P00_ONE_TOK(signed int, sint);
00034 P00_ONE_TOK(unsigned short, ushort);
00035 P00_ONE_TOK(signed short, sshort);
00036 P00_ONE_TOK(unsigned char, uchar);
00037 P00_ONE_TOK(signed char, schar);
00038 P00_ONE_TOK(long long, llong);
00039 P00_ONE_TOK(signed long long, sllong);
00040 P00_ONE_TOK(unsigned long long, ullong);
00041 P00_ONE_TOK(long double, ldouble);
00042 #ifndef __STDC_NO_COMPLEX__
00043 P00_ONE_TOK(float _Complex, cfloat);
00044 P00_ONE_TOK(double _Complex, cdouble);
00045 P00_ONE_TOK(long double _Complex, cldouble);
00046 #endif
00047 
00048 #ifndef SSIZE_MAX
00049 # if SIZE_MAX == SHRT_MAX
00050 typedef short ssize_t;
00051 # define SSIZE_MAX SHRT_MAX
00052 # elif SIZE_MAX == UINT_MAX
00053 typedef int ssize_t;
00054 # define SSIZE_MAX INT_MAX
00055 # elif SIZE_MAX == ULONG_MAX
00056 typedef long ssize_t;
00057 # define SSIZE_MAX LONG_MAX
00058 # else
00059 typedef long long ssize_t;
00060 # define SSIZE_MAX LLONG_MAX
00061 # endif
00062 #endif
00063 
00078 P99_POINTER_TYPE(void);
00079 P99_POINTER_TYPE(float);
00080 P99_POINTER_TYPE(double);
00081 P99_POINTER_TYPE(ldouble);
00082 #ifndef __STDC_NO_COMPLEX__
00083 P99_POINTER_TYPE(cfloat);
00084 P99_POINTER_TYPE(cdouble);
00085 P99_POINTER_TYPE(cldouble);
00086 #endif
00087 P99_POINTER_TYPE(ullong);
00088 P99_POINTER_TYPE(sllong);
00089 P99_POINTER_TYPE(llong);
00090 P99_POINTER_TYPE(long);
00091 P99_POINTER_TYPE(ulong);
00092 P99_POINTER_TYPE(slong);
00093 P99_POINTER_TYPE(int);
00094 P99_POINTER_TYPE(uint);
00095 P99_POINTER_TYPE(sint);
00096 P99_POINTER_TYPE(short);
00097 P99_POINTER_TYPE(ushort);
00098 P99_POINTER_TYPE(sshort);
00099 P99_POINTER_TYPE(char);
00100 P99_POINTER_TYPE(uchar);
00101 P99_POINTER_TYPE(schar);
00102 
00103 P99_POINTER_TYPE(signed);
00104 P99_POINTER_TYPE(unsigned);
00105 
00106 P99_POINTER_TYPE(size_t);
00107 P99_POINTER_TYPE(ssize_t);
00108 P99_POINTER_TYPE(intmax_t);
00109 P99_POINTER_TYPE(uintmax_t);
00110 P99_POINTER_TYPE(intptr_t);
00111 P99_POINTER_TYPE(uintptr_t);
00112 P99_POINTER_TYPE(ptrdiff_t);
00113 P99_POINTER_TYPE(int8_t);
00114 P99_POINTER_TYPE(uint8_t);
00115 P99_POINTER_TYPE(int16_t);
00116 P99_POINTER_TYPE(uint16_t);
00117 P99_POINTER_TYPE(int32_t);
00118 P99_POINTER_TYPE(uint32_t);
00119 P99_POINTER_TYPE(int64_t);
00120 P99_POINTER_TYPE(uint64_t);
00121 
00122 
00123 P99_PLAIN_TYPE(void_ptr);
00124 P99_PLAIN_TYPE(void_cptr);
00125 
00126 P99_DERIVED_TYPES(float);
00127 P99_DERIVED_TYPES(double);
00128 P99_DERIVED_TYPES(ldouble);
00129 #ifndef __STDC_NO_COMPLEX__
00130 P99_DERIVED_TYPES(cfloat);
00131 P99_DERIVED_TYPES(cdouble);
00132 P99_DERIVED_TYPES(cldouble);
00133 #endif
00134 P99_DERIVED_TYPES(ullong);
00135 P99_DERIVED_TYPES(sllong);
00136 P99_DERIVED_TYPES(llong);
00137 P99_DERIVED_TYPES(ulong);
00138 P99_DERIVED_TYPES(slong);
00139 P99_DERIVED_TYPES(long);
00140 P99_DERIVED_TYPES(uint);
00141 P99_DERIVED_TYPES(sint);
00142 P99_DERIVED_TYPES(int);
00143 P99_DERIVED_TYPES(ushort);
00144 P99_DERIVED_TYPES(short);
00145 P99_DERIVED_TYPES(uchar);
00146 P99_DERIVED_TYPES(schar);
00147 P99_DERIVED_TYPES(char);
00148 
00149 P99_DERIVED_TYPES(unsigned);
00150 P99_DERIVED_TYPES(signed);
00151 
00152 P99_DERIVED_TYPES(size_t);
00153 P99_DERIVED_TYPES(ssize_t);
00154 P99_DERIVED_TYPES(intmax_t);
00155 P99_DERIVED_TYPES(uintmax_t);
00156 P99_DERIVED_TYPES(intptr_t);
00157 P99_DERIVED_TYPES(uintptr_t);
00158 P99_DERIVED_TYPES(ptrdiff_t);
00159 P99_DERIVED_TYPES(int8_t);
00160 P99_DERIVED_TYPES(uint8_t);
00161 P99_DERIVED_TYPES(int16_t);
00162 P99_DERIVED_TYPES(uint16_t);
00163 P99_DERIVED_TYPES(int32_t);
00164 P99_DERIVED_TYPES(uint32_t);
00165 P99_DERIVED_TYPES(int64_t);
00166 P99_DERIVED_TYPES(uint64_t);
00167 
00177 P99_POINTER_TYPE(_Bool);
00178 P99_DERIVED_TYPES(_Bool);
00179 #define bool_cptr_delete _Bool_cptr_delete
00180 #define bool_cptr_destroy _Bool_cptr_destroy
00181 #define bool_cptr_init _Bool_cptr_init
00182 #define bool_cptr_vdelete _Bool_cptr_vdelete
00183 #define bool_cptr_vnew _Bool_cptr_vnew
00184 #define bool_cptr_vrealloc _Bool_cptr_vrealloc
00185 #define bool_delete _Bool_delete
00186 #define bool_destroy _Bool_destroy
00187 #define bool_init _Bool_init
00188 #define bool_ptr_delete _Bool_ptr_delete
00189 #define bool_ptr_destroy _Bool_ptr_destroy
00190 #define bool_ptr_init _Bool_ptr_init
00191 #define bool_ptr_vdelete _Bool_ptr_vdelete
00192 #define bool_ptr_vnew _Bool_ptr_vnew
00193 #define bool_ptr_vrealloc _Bool_ptr_vrealloc
00194 #define bool_vdelete _Bool_vdelete
00195 #define bool_vnew _Bool_vnew
00196 #define bool_vrealloc _Bool_vrealloc
00197 
00201 #endif      /* !P99_TYPENAMES_H_ */
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines