private static extern string LLVMTripleAsString(LLVMTripleRef triple, [MarshalAs(UnmanagedType.U1)] bool normalize);
private static extern void LLVMTripleGetEnvironmentVersion(LLVMTripleRef triple, out UInt32 major, out UInt32 minor, out UInt32 micro);
private static extern LLVMTripleObjectFormatType LLVMTripleGetObjectFormatType(LLVMTripleRef triple);
private static extern bool LLVMTripleHasEnvironment(LLVMTripleRef triple);
private static extern LLVMTripleEnvironmentType LLVMTripleGetEnvironmentType(LLVMTripleRef triple);
private static extern LLVMTripleOSType LLVMTripleGetOsType(LLVMTripleRef triple);
private static extern LLVMTripleVendorType LLVMTripleGetVendorType(LLVMTripleRef triple);
private static extern LLVMTripleSubArchType LLVMTripleGetSubArchType(LLVMTripleRef triple);
private static extern bool LLVMTripleOpEqual(LLVMTripleRef lhs, LLVMTripleRef rhs);
private Triple(LLVMTripleRef handle) { TripleHandle = handle; }