Build system improvements
[ustl.git] / ustl.tbff
blob6c61b5f03c508c205afac893ac34e58428006dfb
1 <!-- ANSI Standard fixed size types -->
2 <type name=int8_t format=signedIntegral size=int8_t/>
3 <type name=int16_t format=signedIntegral size=int16_t/>
4 <type name=int32_t format=signedIntegral size=int32_t/>
5 <type name=int64_t format=signedIntegral size=int64_t/>
6 <type name=uint8_t format=integral size=int8_t/>
7 <type name=uint16_t format=integral size=int16_t/>
8 <type name=uint32_t format=integral size=int32_t/>
9 <type name=uint64_t format=integral size=int64_t/>
10 <type name=float format=float size=float/>
11 <type name=double format=float size=double/>
13 <!-- Standard types of variable size, these are machine specific -->
14 <type name=int_least8_t format=signedIntegral size=int8_t/>
15 <type name=int_least16_t format=signedIntegral size=int16_t/>
16 <type name=int_least32_t format=signedIntegral size=int32_t/>
17 <type name=int_least64_t format=signedIntegral size=int64_t/>
18 <type name=uint_least8_t format=integral size=int8_t/>
19 <type name=uint_least16_t format=integral size=int16_t/>
20 <type name=uint_least32_t format=integral size=int32_t/>
21 <type name=uint_least64_t format=integral size=int64_t/>
22 <type name=int_fast8_t format=signedIntegral size=int8_t/>
23 <type name=int_fast16_t format=signedIntegral size=int16_t/>
24 <type name=int_fast32_t format=signedIntegral size=int32_t/>
25 <type name=int_fast64_t format=signedIntegral size=int64_t/>
26 <type name=uint_fast8_t format=integral size=int8_t/>
27 <type name=uint_fast16_t format=integral size=int16_t/>
28 <type name=uint_fast32_t format=integral size=int32_t/>
29 <type name=uint_fast64_t format=integral size=int64_t/>
30 <type name=intptr_t format=integral size=intptr_t/>
31 <type name=uintptr_t format=integral size=intptr_t/>
32 <type name=intmax_t format=integral size=intmax_t/>
33 <type name=uintmax_t format=integral size=intmax_t/>
35 <!-- Standard C++ variable size types, also machine specific -->
36 <type name=wchar_t format=signedIntegral size=wchar_t/>
37 <type name=size_t format=integral size=size_t/>
38 <type name=char format=signedIntegral size=char/>
39 <type name=short format=signedIntegral size=short/>
40 <type name=int format=signedIntegral size=int/>
41 <type name=long format=signedIntegral size=long/>
42 <type name=longlong format=signedIntegral size=longlong/>
43 <type name=u_char format=signedIntegral size=char/>
44 <type name=u_short format=signedIntegral size=short/>
45 <type name=u_int format=signedIntegral size=int/>
46 <type name=u_long format=signedIntegral size=long/>
47 <type name=u_longlong format=signedIntegral size=longlong/>
49 <!-- libc types -->
50 <type name=time_t format=signedIntegral size=time_t/>
51 <type name=off_t format=signedIntegral size=off_t/>
52 <type name=ptrdiff_t format=signedIntegral size=ptrdiff_t/>
53 <type name=dev_t format=integral size=dev_t/>
54 <type name=uid_t format=integral size=uid_t/>
55 <type name=gid_t format=integral size=gid_t/>
56 <type name=mode_t format=integral size=mode_t/>
57 <type name=nlink_t format=integral size=nlink_t/>
58 <type name=pid_t format=integral size=pid_t/>
59 <type name=fsid_t format=integral size=fsid_t/>
60 <type name=clock_t format=integral size=clock_t/>
61 <type name=id_t format=integral size=id_t/>
62 <type name=key_t format=integral size=key_t/>
63 <type name=blksize_t format=integral size=blksize_t/>
65 <!-- Types within the ustl library -->
66 <type name=utf8 format=integral minSize="1" maxSize="8"/>
67 <type name=auto format=unstructured id="AUTO"/>
68 <namespace name=ustl>
69     <type name=uoff_t extends=size_t/>
70     <type name=cmemlink_ptr_t format=pointer/>
71     <type name=memlink_ptr_t extends=cmemlink_ptr_t/>
72     <type name=memblock_ptr_t extends=memlink_ptr_t/>
73     <type name=cmemlink format=struct>
74         <var name=data_size type=uint32_t />
75         <var name=data format=unstructured size=data_size />
76     </type>
77     <type name=memlink extends=cmemlink />
78     <type name=memblock extends=cmemlink />
79     <type name=string format=struct>
80         <var name=data_size type=utf8 />
81         <var name=data format=array type=utf8 size=data_size />
82     </type>
83 </namespace>