You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gerd Heber edited this page Feb 10, 2016
·
3 revisions
Architecture Independent API Types
API Type
.NET Type
Where defined?
Comment
haddr_t
System.UInt64
H5public.h
hbool_t
System.UInt32
H5public.h
herr_t
System.Int32
H5public.h
hid_t
System.Int[32,64]
H5Ipublic.h
32-bit in HDF5 1.8, 64-bit in HDF5 1.10
hsize_t
System.UInt64
H5public.h
hssize_t
System.Int64
H5public.h
htri_t
System.Int32
H5public.h
Architecture Dependent API Types
API Type
.NET Type
Where defined?
size_t
System.IntPtr
C-header files, e.g., stddef.h, stdlib.h, etc.
ssize_t
System.IntPtr
H5public.h
Strictly speaking, ssize_t is the signed version of size_t, and would be System.Int32 or System.Int64 on 32-bit or 64-bit architectures, respectively. In order to support AnyCPU builds, representing both as System.IntPtr seems to be worth the inconvenience of having to convert pointers to integers. (And the number of API calls with ssize_t arguments or returns is rather small.)