Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  
igtl_types.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: The OpenIGTLink Library
4 Language: C
5 Web page: http://openigtlink.org/
6
7 Copyright (c) Insight Software Consortium. All rights reserved.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notices for more information.
12
13=========================================================================*/
14
15#ifndef __IGTL_TYPES_H
16#define __IGTL_TYPES_H
17
18#include "igtl_typeconfig.h"
19
21{
278 IANA_TYPE_CP50220 = 2260
280/* 8-bit integer type */
281#if IGTL_SIZEOF_CHAR == 1
282typedef unsigned char igtl_uint8;
283typedef signed char igtl_int8;
284#else
285# error "No native data type can represent an 8-bit integer."
286#endif
287
288/* 16-bit integer type */
289#if IGTL_SIZEOF_SHORT == 2
290typedef unsigned short igtl_uint16;
291typedef signed short igtl_int16;
292#elif IGTL_SIZEOF_INT == 2
293typedef unsigned int igtl_uint16;
294typedef signed int igtl_int16;
295#else
296# error "No native data type can represent a 16-bit integer."
297#endif
298
299/* 32-bit integer type */
300#if IGTL_SIZEOF_INT == 4
301typedef unsigned int igtl_uint32;
302typedef signed int igtl_int32;
303#elif IGTL_SIZEOF_LONG == 4
304typedef unsigned long igtl_uint32;
305typedef signed long igtl_int32;
306#else
307# error "No native data type can represent a 32-bit integer."
308#endif
309
310/* 64-bit integer type */
311#if defined(IGTL_TYPE_USE_LONG_LONG) && IGTL_SIZEOF_LONG_LONG == 8
312typedef unsigned long long igtl_uint64;
313typedef signed long long igtl_int64;
314#elif IGTL_SIZEOF_INT == 8
315typedef unsigned int igtl_uint64;
316typedef signed int igtl_int64;
317#elif IGTL_SIZEOF_LONG == 8
318typedef unsigned long igtl_uint64;
319typedef signed long igtl_int64;
320#elif defined(IGTL_TYPE_USE___INT64) && IGTL_SIZEOF___INT64 == 8
321typedef unsigned __int64 igtl_uint64;
322typedef signed __int64 igtl_int64;
323#elif defined(IGTL_TYPE_USE_INT64_T) && IGTL_SIZEOF_INT64_T == 8
324typedef unsigned int64_t igtl_uint64;
325typedef signed int64_t igtl_int64;
326#else
327# error "No native data type can represent a 64-bit integer."
328#endif
329
330/* 32-bit floating point type */
331#if IGTL_SIZEOF_FLOAT == 4
332typedef float igtl_float32;
333#else
334# error "No native data type can represent a 32-bit floating point value."
335#endif
336
337/* 64-bit floating point type */
338#if IGTL_SIZEOF_DOUBLE == 8
339typedef double igtl_float64;
340#else
341# error "No native data type can represent a 64-bit floating point value."
342#endif
343
344/* 128-bit complex type (64-bit real + 64-bit imaginal)*/
345typedef double igtl_complex[2];
346
347
348#endif /* __IGTL_TYPES_H */
349
350
351
352
double igtl_complex[2]
Definition igtl_types.h:345
IANA_ENCODING_TYPE
Definition igtl_types.h:21
@ IANA_TYPE_ASMO_449
Definition igtl_types.h:84
@ IANA_TYPE_OSD_EBCDIC_DF03_IRV
Definition igtl_types.h:133
@ IANA_TYPE_EBCDIC_FR
Definition igtl_types.h:229
@ IANA_TYPE_windows_1257
Definition igtl_types.h:275
@ IANA_TYPE_IBM01149
Definition igtl_types.h:258
@ IANA_TYPE_ISO_8859_2_Windows_Latin_2
Definition igtl_types.h:160
@ IANA_TYPE_JUS_I_B1_002
Definition igtl_types.h:106
@ IANA_TYPE_latin_greek
Definition igtl_types.h:64
@ IANA_TYPE_UTF_32BE
Definition igtl_types.h:155
@ IANA_TYPE_ISO_8859_1_Windows_3_1_Latin_1
Definition igtl_types.h:159
@ IANA_TYPE_IBM01142
Definition igtl_types.h:251
@ IANA_TYPE_ISO_8859_7
Definition igtl_types.h:29
@ IANA_TYPE_IBM865
Definition igtl_types.h:210
@ IANA_TYPE_GBK
Definition igtl_types.h:130
@ IANA_TYPE_windows_874
Definition igtl_types.h:267
@ IANA_TYPE_TSCII
Definition igtl_types.h:265
@ IANA_TYPE_ISO_2022_KR
Definition igtl_types.h:56
@ IANA_TYPE_IBM918
Definition igtl_types.h:220
@ IANA_TYPE_JUS_I_B1_003_serb
Definition igtl_types.h:108
@ IANA_TYPE_IBM868
Definition igtl_types.h:211
@ IANA_TYPE_IBM891
Definition igtl_types.h:216
@ IANA_TYPE_CESU_8
Definition igtl_types.h:153
@ IANA_TYPE_EBCDIC_AT_DE_A
Definition igtl_types.h:223
@ IANA_TYPE_CSA_Z243_4_1985_gr
Definition igtl_types.h:99
@ IANA_TYPE_IBM037
Definition igtl_types.h:184
@ IANA_TYPE_PC8_Turkish
Definition igtl_types.h:170
@ IANA_TYPE_ISO_Unicode_IBM_1261
Definition igtl_types.h:142
@ IANA_TYPE_macintosh
Definition igtl_types.h:183
@ IANA_TYPE_ES
Definition igtl_types.h:42
@ IANA_TYPE_ISO_646_basic_1983
Definition igtl_types.h:47
@ IANA_TYPE_PC8_Danish_Norwegian
Definition igtl_types.h:168
@ IANA_TYPE_IBM423
Definition igtl_types.h:198
@ IANA_TYPE_PT
Definition igtl_types.h:62
@ IANA_TYPE_IBM280
Definition igtl_types.h:191
@ IANA_TYPE_Extended_UNIX_Code_Fixed_Width_for_Japanese
Definition igtl_types.h:38
@ IANA_TYPE_ISO_6937_2_25
Definition igtl_types.h:112
@ IANA_TYPE_ISO_Unicode_IBM_1268
Definition igtl_types.h:143
@ IANA_TYPE_CSA_Z243_4_1985_2
Definition igtl_types.h:98
@ IANA_TYPE_GB18030
Definition igtl_types.h:131
@ IANA_TYPE_Adobe_Symbol_Encoding
Definition igtl_types.h:176
@ IANA_TYPE_ISO_8859_10
Definition igtl_types.h:32
@ IANA_TYPE_NATS_DANO_ADD
Definition igtl_types.h:53
@ IANA_TYPE_US_ASCII
Definition igtl_types.h:22
@ IANA_TYPE_ISO_8859_6
Definition igtl_types.h:28
@ IANA_TYPE_IBM278
Definition igtl_types.h:190
@ IANA_TYPE_JIS_C6229_1984_b
Definition igtl_types.h:87
@ IANA_TYPE_dk_us
Definition igtl_types.h:120
@ IANA_TYPE_JIS_Encoding
Definition igtl_types.h:35
@ IANA_TYPE_ISO_8859_9_Windows_Latin_5
Definition igtl_types.h:161
@ IANA_TYPE_Big5_HKSCS
Definition igtl_types.h:259
@ IANA_TYPE_BS_4730
Definition igtl_types.h:39
@ IANA_TYPE_IBM01143
Definition igtl_types.h:252
@ IANA_TYPE_EBCDIC_ES_S
Definition igtl_types.h:234
@ IANA_TYPE_UNICODE_1_1
Definition igtl_types.h:147
@ IANA_TYPE_IBM880
Definition igtl_types.h:215
@ IANA_TYPE_JIS_C6229_1984_b_add
Definition igtl_types.h:88
@ IANA_TYPE_T_61_7bit
Definition igtl_types.h:94
@ IANA_TYPE_NATS_SEFI
Definition igtl_types.h:50
@ IANA_TYPE_INIS_cyrillic
Definition igtl_types.h:72
@ IANA_TYPE_UTF_16BE
Definition igtl_types.h:150
@ IANA_TYPE_ISO_2022_JP
Definition igtl_types.h:58
@ IANA_TYPE_BOCU_1
Definition igtl_types.h:157
@ IANA_TYPE_IBM297
Definition igtl_types.h:196
@ IANA_TYPE_ISO_8859_9
Definition igtl_types.h:31
@ IANA_TYPE_EBCDIC_ES
Definition igtl_types.h:232
@ IANA_TYPE_IBM851
Definition igtl_types.h:202
@ IANA_TYPE_IBM857
Definition igtl_types.h:205
@ IANA_TYPE_IBM775
Definition igtl_types.h:245
@ IANA_TYPE_IBM904
Definition igtl_types.h:218
@ IANA_TYPE_IBM864
Definition igtl_types.h:209
@ IANA_TYPE_IBM424
Definition igtl_types.h:199
@ IANA_TYPE_IBM01141
Definition igtl_types.h:250
@ IANA_TYPE_windows_1253
Definition igtl_types.h:271
@ IANA_TYPE_OSD_EBCDIC_DF04_1
Definition igtl_types.h:134
@ IANA_TYPE_UTF_7
Definition igtl_types.h:149
@ IANA_TYPE_IBM290
Definition igtl_types.h:195
@ IANA_TYPE_JIS_C6220_1969_jp
Definition igtl_types.h:60
@ IANA_TYPE_UTF_8
Definition igtl_types.h:125
@ IANA_TYPE_KZ_1048
Definition igtl_types.h:136
@ IANA_TYPE_windows_1254
Definition igtl_types.h:272
@ IANA_TYPE_Shift_JIS
Definition igtl_types.h:36
@ IANA_TYPE_IBM871
Definition igtl_types.h:214
@ IANA_TYPE_IBM903
Definition igtl_types.h:217
@ IANA_TYPE_ISO_8859_4
Definition igtl_types.h:26
@ IANA_TYPE_JIS_C6229_1984_kana
Definition igtl_types.h:91
@ IANA_TYPE_DEC_MCS
Definition igtl_types.h:166
@ IANA_TYPE_JIS_C6229_1984_hand_add
Definition igtl_types.h:90
@ IANA_TYPE_JIS_C6226_1983
Definition igtl_types.h:82
@ IANA_TYPE_IBM277
Definition igtl_types.h:189
@ IANA_TYPE_ISO_Unicode_IBM_1276
Definition igtl_types.h:144
@ IANA_TYPE_Adobe_Standard_Encoding
Definition igtl_types.h:163
@ IANA_TYPE_IBM038
Definition igtl_types.h:185
@ IANA_TYPE_ISO_8859_3
Definition igtl_types.h:25
@ IANA_TYPE_IBM01146
Definition igtl_types.h:255
@ IANA_TYPE_ISO_2022_JP_2
Definition igtl_types.h:59
@ IANA_TYPE_ISO_8859_2
Definition igtl_types.h:24
@ IANA_TYPE_IBM855
Definition igtl_types.h:204
@ IANA_TYPE_IBM273
Definition igtl_types.h:186
@ IANA_TYPE_Windows_31J
Definition igtl_types.h:180
@ IANA_TYPE_IBM860
Definition igtl_types.h:206
@ IANA_TYPE_IBM862
Definition igtl_types.h:169
@ IANA_TYPE_ISO_5427_1981
Definition igtl_types.h:73
@ IANA_TYPE_videotex_suppl
Definition igtl_types.h:78
@ IANA_TYPE_CSN_369103
Definition igtl_types.h:105
@ IANA_TYPE_BS_viewdata
Definition igtl_types.h:69
@ IANA_TYPE_ISO_8859_15
Definition igtl_types.h:128
@ IANA_TYPE_NATS_DANO
Definition igtl_types.h:52
@ IANA_TYPE_PTCP154
Definition igtl_types.h:261
@ IANA_TYPE_ISO_8859_6_I
Definition igtl_types.h:101
@ IANA_TYPE_ISO_10646_J_1
Definition igtl_types.h:141
@ IANA_TYPE_IBM275
Definition igtl_types.h:188
@ IANA_TYPE_windows_1256
Definition igtl_types.h:274
@ IANA_TYPE_EBCDIC_DK_NO_A
Definition igtl_types.h:226
@ IANA_TYPE_iso_ir_90
Definition igtl_types.h:85
@ IANA_TYPE_EBCDIC_ES_A
Definition igtl_types.h:233
@ IANA_TYPE_IBM870
Definition igtl_types.h:213
@ IANA_TYPE_UNICODE_1_1_UTF_7
Definition igtl_types.h:122
@ IANA_TYPE_IBM1026
Definition igtl_types.h:221
@ IANA_TYPE_IBM852
Definition igtl_types.h:203
@ IANA_TYPE_T_61_8bit
Definition igtl_types.h:95
@ IANA_TYPE_IEC_P27_1
Definition igtl_types.h:107
@ IANA_TYPE_greek7_old
Definition igtl_types.h:63
@ IANA_TYPE_JIS_C6229_1984_hand
Definition igtl_types.h:89
@ IANA_TYPE_HP_Pi_font
Definition igtl_types.h:174
@ IANA_TYPE_CSA_Z243_4_1985_1
Definition igtl_types.h:97
@ IANA_TYPE_IBM01147
Definition igtl_types.h:256
@ IANA_TYPE_IBM866
Definition igtl_types.h:244
@ IANA_TYPE_UTF_32LE
Definition igtl_types.h:156
@ IANA_TYPE_ISO_Unicode_IBM_1264
Definition igtl_types.h:145
@ IANA_TYPE_Big5
Definition igtl_types.h:182
@ IANA_TYPE_IBM863
Definition igtl_types.h:208
@ IANA_TYPE_ISO_5428_1980
Definition igtl_types.h:74
@ IANA_TYPE_EBCDIC_US
Definition igtl_types.h:236
@ IANA_TYPE_KS_C_5601_1987
Definition igtl_types.h:55
@ IANA_TYPE_IBM1047
Definition igtl_types.h:260
@ IANA_TYPE_ISO_10646_UCS_4
Definition igtl_types.h:138
@ IANA_TYPE_T_101_G2
Definition igtl_types.h:102
@ IANA_TYPE_Microsoft_Publishing
Definition igtl_types.h:179
@ IANA_TYPE_ISO_10646_UCS_2
Definition igtl_types.h:137
@ IANA_TYPE_IBM850
Definition igtl_types.h:167
@ IANA_TYPE_GB_2312_80
Definition igtl_types.h:76
@ IANA_TYPE_INIS_8
Definition igtl_types.h:71
@ IANA_TYPE_HZ_GB_2312
Definition igtl_types.h:243
@ IANA_TYPE_ISO_646_irv_1983
Definition igtl_types.h:49
@ IANA_TYPE_TIS_620
Definition igtl_types.h:277
@ IANA_TYPE_IBM00858
Definition igtl_types.h:247
@ IANA_TYPE_NATS_SEFI_ADD
Definition igtl_types.h:51
@ IANA_TYPE_EBCDIC_AT_DE
Definition igtl_types.h:222
@ IANA_TYPE_EBCDIC_PT
Definition igtl_types.h:231
@ IANA_TYPE_KOI8_U
Definition igtl_types.h:246
@ IANA_TYPE_ISO_8859_6_E
Definition igtl_types.h:100
@ IANA_TYPE_UTF_16LE
Definition igtl_types.h:151
@ IANA_TYPE_greek7
Definition igtl_types.h:83
@ IANA_TYPE_DIN_66003
Definition igtl_types.h:43
@ IANA_TYPE_CP51932
Definition igtl_types.h:266
@ IANA_TYPE_hp_roman8
Definition igtl_types.h:162
@ IANA_TYPE_ISO_2022_CN
Definition igtl_types.h:123
@ IANA_TYPE_ISO_5427
Definition igtl_types.h:67
@ IANA_TYPE_ISO_2033_1983
Definition igtl_types.h:92
@ IANA_TYPE_IBM285
Definition igtl_types.h:194
@ IANA_TYPE_ISO_10646_Unicode_Latin1
Definition igtl_types.h:140
@ IANA_TYPE_ISO_8859_8_E
Definition igtl_types.h:103
@ IANA_TYPE_ISO_8859_1
Definition igtl_types.h:23
@ IANA_TYPE_MSZ_7795_3
Definition igtl_types.h:81
@ IANA_TYPE_INIS
Definition igtl_types.h:70
@ IANA_TYPE_HP_DeskTop
Definition igtl_types.h:177
@ IANA_TYPE_JIS_C6226_1978
Definition igtl_types.h:68
@ IANA_TYPE_NS_4551_2
Definition igtl_types.h:77
@ IANA_TYPE_IBM01144
Definition igtl_types.h:253
@ IANA_TYPE_IBM500
Definition igtl_types.h:201
@ IANA_TYPE_ISO_11548_1
Definition igtl_types.h:135
@ IANA_TYPE_IBM905
Definition igtl_types.h:219
@ IANA_TYPE_IBM437
Definition igtl_types.h:200
@ IANA_TYPE_windows_1258
Definition igtl_types.h:276
@ IANA_TYPE_KOI8_R
Definition igtl_types.h:242
@ IANA_TYPE_NF_Z_62_010_1973
Definition igtl_types.h:65
@ IANA_TYPE_SCSU
Definition igtl_types.h:148
@ IANA_TYPE_Latin_greek_1
Definition igtl_types.h:66
@ IANA_TYPE_greek_ccitt
Definition igtl_types.h:110
@ IANA_TYPE_GOST_19768_74
Definition igtl_types.h:113
@ IANA_TYPE_SEN_850200_B
Definition igtl_types.h:54
@ IANA_TYPE_IBM01148
Definition igtl_types.h:257
@ IANA_TYPE_INVARIANT
Definition igtl_types.h:48
@ IANA_TYPE_windows_1252
Definition igtl_types.h:270
@ IANA_TYPE_VIQR
Definition igtl_types.h:241
@ IANA_TYPE_EBCDIC_FI_SE
Definition igtl_types.h:227
@ IANA_TYPE_ISO_10646_UTF_1
Definition igtl_types.h:46
@ IANA_TYPE_EBCDIC_CA_FR
Definition igtl_types.h:224
@ IANA_TYPE_NS_4551_1
Definition igtl_types.h:44
@ IANA_TYPE_IBM274
Definition igtl_types.h:187
@ IANA_TYPE_ISO_Unicode_IBM_1265
Definition igtl_types.h:146
@ IANA_TYPE_UTF_32
Definition igtl_types.h:154
@ IANA_TYPE_EUC_JP
Definition igtl_types.h:37
@ IANA_TYPE_EBCDIC_UK
Definition igtl_types.h:235
@ IANA_TYPE_IBM_Symbols
Definition igtl_types.h:171
@ IANA_TYPE_IBM01140
Definition igtl_types.h:249
@ IANA_TYPE_windows_1255
Definition igtl_types.h:273
@ IANA_TYPE_CP50220
Definition igtl_types.h:278
@ IANA_TYPE_PT2
Definition igtl_types.h:79
@ IANA_TYPE_windows_1251
Definition igtl_types.h:269
@ IANA_TYPE_IBM420
Definition igtl_types.h:197
@ IANA_TYPE_JUS_I_B1_003_mac
Definition igtl_types.h:109
@ IANA_TYPE_ISO_2022_CN_EXT
Definition igtl_types.h:124
@ IANA_TYPE_us_dk
Definition igtl_types.h:119
@ IANA_TYPE_KOI7_switched
Definition igtl_types.h:263
@ IANA_TYPE_latin_lap
Definition igtl_types.h:116
@ IANA_TYPE_UTF_16
Definition igtl_types.h:152
@ IANA_TYPE_KSC5636
Definition igtl_types.h:121
@ IANA_TYPE_EBCDIC_IT
Definition igtl_types.h:230
@ IANA_TYPE_VISCII
Definition igtl_types.h:240
@ IANA_TYPE_JIS_C6229_1984_a
Definition igtl_types.h:86
@ IANA_TYPE_ISO_8859_1_Windows_3_0_Latin_1
Definition igtl_types.h:158
@ IANA_TYPE_ISO_8859_16
Definition igtl_types.h:129
@ IANA_TYPE_SEN_850200_C
Definition igtl_types.h:40
@ IANA_TYPE_IBM861
Definition igtl_types.h:207
@ IANA_TYPE_GB2312
Definition igtl_types.h:181
@ IANA_TYPE_IBM284
Definition igtl_types.h:193
@ IANA_TYPE_ISO_8859_13
Definition igtl_types.h:126
@ IANA_TYPE_OSD_EBCDIC_DF04_15
Definition igtl_types.h:132
@ IANA_TYPE_DS_2089
Definition igtl_types.h:118
@ IANA_TYPE_GB_1988_80
Definition igtl_types.h:75
@ IANA_TYPE_ES2
Definition igtl_types.h:80
@ IANA_TYPE_NF_Z_62_010
Definition igtl_types.h:45
@ IANA_TYPE_ISO_8859_8_I
Definition igtl_types.h:104
@ IANA_TYPE_Amiga_1251
Definition igtl_types.h:262
@ IANA_TYPE_windows_1250
Definition igtl_types.h:268
@ IANA_TYPE_ANSI_X3_110_1983
Definition igtl_types.h:93
@ IANA_TYPE_UNKNOWN_8BIT
Definition igtl_types.h:237
@ IANA_TYPE_Ventura_US
Definition igtl_types.h:164
@ IANA_TYPE_IBM869
Definition igtl_types.h:212
@ IANA_TYPE_NC_NC00_10_81
Definition igtl_types.h:111
@ IANA_TYPE_IT
Definition igtl_types.h:41
@ IANA_TYPE_ISO_10367_box
Definition igtl_types.h:115
@ IANA_TYPE_IBM00924
Definition igtl_types.h:248
@ IANA_TYPE_ISO_8859_8
Definition igtl_types.h:30
@ IANA_TYPE_EBCDIC_FI_SE_A
Definition igtl_types.h:228
@ IANA_TYPE_JIS_X0212_1990
Definition igtl_types.h:117
@ IANA_TYPE_ISO_8859_14
Definition igtl_types.h:127
@ IANA_TYPE_MNEM
Definition igtl_types.h:239
@ IANA_TYPE_EBCDIC_DK_NO
Definition igtl_types.h:225
@ IANA_TYPE_IBM01145
Definition igtl_types.h:254
@ IANA_TYPE_HP_Legal
Definition igtl_types.h:173
@ IANA_TYPE_ISO_6937_2_add
Definition igtl_types.h:33
@ IANA_TYPE_ECMA_cyrillic
Definition igtl_types.h:96
@ IANA_TYPE_IBM_Thai
Definition igtl_types.h:172
@ IANA_TYPE_Ventura_Math
Definition igtl_types.h:178
@ IANA_TYPE_ISO_8859_supp
Definition igtl_types.h:114
@ IANA_TYPE_BRF
Definition igtl_types.h:264
@ IANA_TYPE_IBM281
Definition igtl_types.h:192
@ IANA_TYPE_MNEMONIC
Definition igtl_types.h:238
@ IANA_TYPE_ISO_10646_UCS_Basic
Definition igtl_types.h:139
@ IANA_TYPE_ISO_8859_5
Definition igtl_types.h:27
@ IANA_TYPE_EUC_KR
Definition igtl_types.h:57
@ IANA_TYPE_HP_Math8
Definition igtl_types.h:175
@ IANA_TYPE_JIS_C6220_1969_ro
Definition igtl_types.h:61
@ IANA_TYPE_Ventura_International
Definition igtl_types.h:165
@ IANA_TYPE_JIS_X0201
Definition igtl_types.h:34

Generated for OpenIGTLink by Doxygen 1.9.8 written by Dimitri van Heesch, © 1997-2012