Beef Corlib
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
System.FFI.FFIType Struct Reference

Public Types

enum  TypeKind : uint16 {
  Void, Int, Float, Double,
  LongDouble, UInt8, SInt8, UInt16,
  SInt16, UInt32, SInt32, UInt64,
  SInt64, Struct, Pointer
}
 

Public Member Functions

 FFIType (int size, int align, TypeKind typeKind, FFIType **elements=null)
 
 FFIType (int size, TypeKind typeKind)
 

Static Public Member Functions

static FFITypeGet (Type type, void *allocBytes=null, int *inOutSize=null)
 

Public Attributes

int mSize
 
uint16 mAlignment
 
TypeKind mTypeKind
 
FFIType ** mElements
 

Static Public Attributes

static FFIType Void = .(1, .Void)
 
static FFIType UInt8 = .(1, .UInt8)
 
static FFIType Int8 = .(1, .SInt8)
 
static FFIType UInt16 = .(2, .UInt16)
 
static FFIType Int16 = .(2, .SInt16)
 
static FFIType UInt32 = .(4, .UInt32)
 
static FFIType Int32 = .(4, .SInt32)
 
static FFIType UInt64 = .(8, .UInt64)
 
static FFIType Int64 = .(8, .SInt64)
 
static FFIType Float = .(4, .Float)
 
static FFIType Double = .(8, .Double)
 
static FFIType Pointer = .(sizeof(void*), .Pointer)