blob: a20f2eba880cebc7f9eb99e40039589698307e4b [file] [log] [blame]
/* automatically generated by rust-bindgen */
use core::libc::*;
pub type CXIndex = *c_void;
pub type Struct_CXTranslationUnitImpl = c_void;
pub type CXTranslationUnit = *Struct_CXTranslationUnitImpl;
pub type CXClientData = *c_void;
pub struct Struct_CXUnsavedFile {
pub Filename: *c_schar,
pub Contents: *c_schar,
pub Length: c_ulong,
}
pub type Enum_CXAvailabilityKind = c_uint;
pub const CXAvailability_Available: c_uint = 0;
pub const CXAvailability_Deprecated: c_uint = 1;
pub const CXAvailability_NotAvailable: c_uint = 2;
pub const CXAvailability_NotAccessible: c_uint = 3;
pub struct CXString {
pub data: *c_void,
pub private_flags: c_uint,
}
pub type CXGlobalOptFlags = c_uint;
pub const CXGlobalOpt_None: c_uint = 0;
pub const CXGlobalOpt_ThreadBackgroundPriorityForIndexing: c_uint = 1;
pub const CXGlobalOpt_ThreadBackgroundPriorityForEditing: c_uint = 2;
pub const CXGlobalOpt_ThreadBackgroundPriorityForAll: c_uint = 3;
pub type CXFile = *c_void;
pub struct CXSourceLocation {
pub ptr_data: [*c_void * 2],
pub int_data: c_uint,
}
pub struct CXSourceRange {
pub ptr_data: [*c_void * 2],
pub begin_int_data: c_uint,
pub end_int_data: c_uint,
}
pub type Enum_CXDiagnosticSeverity = c_uint;
pub const CXDiagnostic_Ignored: c_uint = 0;
pub const CXDiagnostic_Note: c_uint = 1;
pub const CXDiagnostic_Warning: c_uint = 2;
pub const CXDiagnostic_Error: c_uint = 3;
pub const CXDiagnostic_Fatal: c_uint = 4;
pub type CXDiagnostic = *c_void;
pub type CXDiagnosticSet = *c_void;
pub type Enum_CXLoadDiag_Error = c_uint;
pub const CXLoadDiag_None: c_uint = 0;
pub const CXLoadDiag_Unknown: c_uint = 1;
pub const CXLoadDiag_CannotLoad: c_uint = 2;
pub const CXLoadDiag_InvalidFile: c_uint = 3;
pub type Enum_CXDiagnosticDisplayOptions = c_uint;
pub const CXDiagnostic_DisplaySourceLocation: c_uint = 1;
pub const CXDiagnostic_DisplayColumn: c_uint = 2;
pub const CXDiagnostic_DisplaySourceRanges: c_uint = 4;
pub const CXDiagnostic_DisplayOption: c_uint = 8;
pub const CXDiagnostic_DisplayCategoryId: c_uint = 16;
pub const CXDiagnostic_DisplayCategoryName: c_uint = 32;
pub type Enum_CXTranslationUnit_Flags = c_uint;
pub const CXTranslationUnit_None: c_uint = 0;
pub const CXTranslationUnit_DetailedPreprocessingRecord: c_uint = 1;
pub const CXTranslationUnit_Incomplete: c_uint = 2;
pub const CXTranslationUnit_PrecompiledPreamble: c_uint = 4;
pub const CXTranslationUnit_CacheCompletionResults: c_uint = 8;
pub const CXTranslationUnit_CXXPrecompiledPreamble: c_uint = 16;
pub const CXTranslationUnit_CXXChainedPCH: c_uint = 32;
pub const CXTranslationUnit_SkipFunctionBodies: c_uint = 64;
pub type Enum_CXSaveTranslationUnit_Flags = c_uint;
pub const CXSaveTranslationUnit_None: c_uint = 0;
pub type Enum_CXSaveError = c_uint;
pub const CXSaveError_None: c_uint = 0;
pub const CXSaveError_Unknown: c_uint = 1;
pub const CXSaveError_TranslationErrors: c_uint = 2;
pub const CXSaveError_InvalidTU: c_uint = 3;
pub type Enum_CXReparse_Flags = c_uint;
pub const CXReparse_None: c_uint = 0;
pub type Enum_CXTUResourceUsageKind = c_uint;
pub const CXTUResourceUsage_AST: c_uint = 1;
pub const CXTUResourceUsage_Identifiers: c_uint = 2;
pub const CXTUResourceUsage_Selectors: c_uint = 3;
pub const CXTUResourceUsage_GlobalCompletionResults: c_uint = 4;
pub const CXTUResourceUsage_SourceManagerContentCache: c_uint = 5;
pub const CXTUResourceUsage_AST_SideTables: c_uint = 6;
pub const CXTUResourceUsage_SourceManager_Membuffer_Malloc: c_uint = 7;
pub const CXTUResourceUsage_SourceManager_Membuffer_MMap: c_uint = 8;
pub const CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc: c_uint = 9;
pub const CXTUResourceUsage_ExternalASTSource_Membuffer_MMap: c_uint = 10;
pub const CXTUResourceUsage_Preprocessor: c_uint = 11;
pub const CXTUResourceUsage_PreprocessingRecord: c_uint = 12;
pub const CXTUResourceUsage_SourceManager_DataStructures: c_uint = 13;
pub const CXTUResourceUsage_Preprocessor_HeaderSearch: c_uint = 14;
pub const CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN: c_uint = 1;
pub const CXTUResourceUsage_MEMORY_IN_BYTES_END: c_uint = 14;
pub const CXTUResourceUsage_First: c_uint = 1;
pub const CXTUResourceUsage_Last: c_uint = 14;
pub struct Struct_CXTUResourceUsageEntry {
pub kind: Enum_CXTUResourceUsageKind,
pub amount: c_ulong,
}
pub type CXTUResourceUsageEntry = Struct_CXTUResourceUsageEntry;
pub struct Struct_CXTUResourceUsage {
pub data: *c_void,
pub numEntries: c_uint,
pub entries: *CXTUResourceUsageEntry,
}
pub type CXTUResourceUsage = Struct_CXTUResourceUsage;
pub type Enum_CXCursorKind = c_uint;
pub const CXCursor_UnexposedDecl: c_uint = 1;
pub const CXCursor_StructDecl: c_uint = 2;
pub const CXCursor_UnionDecl: c_uint = 3;
pub const CXCursor_ClassDecl: c_uint = 4;
pub const CXCursor_EnumDecl: c_uint = 5;
pub const CXCursor_FieldDecl: c_uint = 6;
pub const CXCursor_EnumConstantDecl: c_uint = 7;
pub const CXCursor_FunctionDecl: c_uint = 8;
pub const CXCursor_VarDecl: c_uint = 9;
pub const CXCursor_ParmDecl: c_uint = 10;
pub const CXCursor_ObjCInterfaceDecl: c_uint = 11;
pub const CXCursor_ObjCCategoryDecl: c_uint = 12;
pub const CXCursor_ObjCProtocolDecl: c_uint = 13;
pub const CXCursor_ObjCPropertyDecl: c_uint = 14;
pub const CXCursor_ObjCIvarDecl: c_uint = 15;
pub const CXCursor_ObjCInstanceMethodDecl: c_uint = 16;
pub const CXCursor_ObjCClassMethodDecl: c_uint = 17;
pub const CXCursor_ObjCImplementationDecl: c_uint = 18;
pub const CXCursor_ObjCCategoryImplDecl: c_uint = 19;
pub const CXCursor_TypedefDecl: c_uint = 20;
pub const CXCursor_CXXMethod: c_uint = 21;
pub const CXCursor_Namespace: c_uint = 22;
pub const CXCursor_LinkageSpec: c_uint = 23;
pub const CXCursor_Constructor: c_uint = 24;
pub const CXCursor_Destructor: c_uint = 25;
pub const CXCursor_ConversionFunction: c_uint = 26;
pub const CXCursor_TemplateTypeParameter: c_uint = 27;
pub const CXCursor_NonTypeTemplateParameter: c_uint = 28;
pub const CXCursor_TemplateTemplateParameter: c_uint = 29;
pub const CXCursor_FunctionTemplate: c_uint = 30;
pub const CXCursor_ClassTemplate: c_uint = 31;
pub const CXCursor_ClassTemplatePartialSpecialization: c_uint = 32;
pub const CXCursor_NamespaceAlias: c_uint = 33;
pub const CXCursor_UsingDirective: c_uint = 34;
pub const CXCursor_UsingDeclaration: c_uint = 35;
pub const CXCursor_TypeAliasDecl: c_uint = 36;
pub const CXCursor_ObjCSynthesizeDecl: c_uint = 37;
pub const CXCursor_ObjCDynamicDecl: c_uint = 38;
pub const CXCursor_CXXAccessSpecifier: c_uint = 39;
pub const CXCursor_FirstDecl: c_uint = 1;
pub const CXCursor_LastDecl: c_uint = 39;
pub const CXCursor_FirstRef: c_uint = 40;
pub const CXCursor_ObjCSuperClassRef: c_uint = 40;
pub const CXCursor_ObjCProtocolRef: c_uint = 41;
pub const CXCursor_ObjCClassRef: c_uint = 42;
pub const CXCursor_TypeRef: c_uint = 43;
pub const CXCursor_CXXBaseSpecifier: c_uint = 44;
pub const CXCursor_TemplateRef: c_uint = 45;
pub const CXCursor_NamespaceRef: c_uint = 46;
pub const CXCursor_MemberRef: c_uint = 47;
pub const CXCursor_LabelRef: c_uint = 48;
pub const CXCursor_OverloadedDeclRef: c_uint = 49;
pub const CXCursor_VariableRef: c_uint = 50;
pub const CXCursor_LastRef: c_uint = 50;
pub const CXCursor_FirstInvalid: c_uint = 70;
pub const CXCursor_InvalidFile: c_uint = 70;
pub const CXCursor_NoDeclFound: c_uint = 71;
pub const CXCursor_NotImplemented: c_uint = 72;
pub const CXCursor_InvalidCode: c_uint = 73;
pub const CXCursor_LastInvalid: c_uint = 73;
pub const CXCursor_FirstExpr: c_uint = 100;
pub const CXCursor_UnexposedExpr: c_uint = 100;
pub const CXCursor_DeclRefExpr: c_uint = 101;
pub const CXCursor_MemberRefExpr: c_uint = 102;
pub const CXCursor_CallExpr: c_uint = 103;
pub const CXCursor_ObjCMessageExpr: c_uint = 104;
pub const CXCursor_BlockExpr: c_uint = 105;
pub const CXCursor_IntegerLiteral: c_uint = 106;
pub const CXCursor_FloatingLiteral: c_uint = 107;
pub const CXCursor_ImaginaryLiteral: c_uint = 108;
pub const CXCursor_StringLiteral: c_uint = 109;
pub const CXCursor_CharacterLiteral: c_uint = 110;
pub const CXCursor_ParenExpr: c_uint = 111;
pub const CXCursor_UnaryOperator: c_uint = 112;
pub const CXCursor_ArraySubscriptExpr: c_uint = 113;
pub const CXCursor_BinaryOperator: c_uint = 114;
pub const CXCursor_CompoundAssignOperator: c_uint = 115;
pub const CXCursor_ConditionalOperator: c_uint = 116;
pub const CXCursor_CStyleCastExpr: c_uint = 117;
pub const CXCursor_CompoundLiteralExpr: c_uint = 118;
pub const CXCursor_InitListExpr: c_uint = 119;
pub const CXCursor_AddrLabelExpr: c_uint = 120;
pub const CXCursor_StmtExpr: c_uint = 121;
pub const CXCursor_GenericSelectionExpr: c_uint = 122;
pub const CXCursor_GNUNullExpr: c_uint = 123;
pub const CXCursor_CXXStaticCastExpr: c_uint = 124;
pub const CXCursor_CXXDynamicCastExpr: c_uint = 125;
pub const CXCursor_CXXReinterpretCastExpr: c_uint = 126;
pub const CXCursor_CXXConstCastExpr: c_uint = 127;
pub const CXCursor_CXXFunctionalCastExpr: c_uint = 128;
pub const CXCursor_CXXTypeidExpr: c_uint = 129;
pub const CXCursor_CXXBoolLiteralExpr: c_uint = 130;
pub const CXCursor_CXXNullPtrLiteralExpr: c_uint = 131;
pub const CXCursor_CXXThisExpr: c_uint = 132;
pub const CXCursor_CXXThrowExpr: c_uint = 133;
pub const CXCursor_CXXNewExpr: c_uint = 134;
pub const CXCursor_CXXDeleteExpr: c_uint = 135;
pub const CXCursor_UnaryExpr: c_uint = 136;
pub const CXCursor_ObjCStringLiteral: c_uint = 137;
pub const CXCursor_ObjCEncodeExpr: c_uint = 138;
pub const CXCursor_ObjCSelectorExpr: c_uint = 139;
pub const CXCursor_ObjCProtocolExpr: c_uint = 140;
pub const CXCursor_ObjCBridgedCastExpr: c_uint = 141;
pub const CXCursor_PackExpansionExpr: c_uint = 142;
pub const CXCursor_SizeOfPackExpr: c_uint = 143;
pub const CXCursor_LambdaExpr: c_uint = 144;
pub const CXCursor_ObjCBoolLiteralExpr: c_uint = 145;
pub const CXCursor_LastExpr: c_uint = 145;
pub const CXCursor_FirstStmt: c_uint = 200;
pub const CXCursor_UnexposedStmt: c_uint = 200;
pub const CXCursor_LabelStmt: c_uint = 201;
pub const CXCursor_CompoundStmt: c_uint = 202;
pub const CXCursor_CaseStmt: c_uint = 203;
pub const CXCursor_DefaultStmt: c_uint = 204;
pub const CXCursor_IfStmt: c_uint = 205;
pub const CXCursor_SwitchStmt: c_uint = 206;
pub const CXCursor_WhileStmt: c_uint = 207;
pub const CXCursor_DoStmt: c_uint = 208;
pub const CXCursor_ForStmt: c_uint = 209;
pub const CXCursor_GotoStmt: c_uint = 210;
pub const CXCursor_IndirectGotoStmt: c_uint = 211;
pub const CXCursor_ContinueStmt: c_uint = 212;
pub const CXCursor_BreakStmt: c_uint = 213;
pub const CXCursor_ReturnStmt: c_uint = 214;
pub const CXCursor_AsmStmt: c_uint = 215;
pub const CXCursor_ObjCAtTryStmt: c_uint = 216;
pub const CXCursor_ObjCAtCatchStmt: c_uint = 217;
pub const CXCursor_ObjCAtFinallyStmt: c_uint = 218;
pub const CXCursor_ObjCAtThrowStmt: c_uint = 219;
pub const CXCursor_ObjCAtSynchronizedStmt: c_uint = 220;
pub const CXCursor_ObjCAutoreleasePoolStmt: c_uint = 221;
pub const CXCursor_ObjCForCollectionStmt: c_uint = 222;
pub const CXCursor_CXXCatchStmt: c_uint = 223;
pub const CXCursor_CXXTryStmt: c_uint = 224;
pub const CXCursor_CXXForRangeStmt: c_uint = 225;
pub const CXCursor_SEHTryStmt: c_uint = 226;
pub const CXCursor_SEHExceptStmt: c_uint = 227;
pub const CXCursor_SEHFinallyStmt: c_uint = 228;
pub const CXCursor_NullStmt: c_uint = 230;
pub const CXCursor_DeclStmt: c_uint = 231;
pub const CXCursor_LastStmt: c_uint = 231;
pub const CXCursor_TranslationUnit: c_uint = 300;
pub const CXCursor_FirstAttr: c_uint = 400;
pub const CXCursor_UnexposedAttr: c_uint = 400;
pub const CXCursor_IBActionAttr: c_uint = 401;
pub const CXCursor_IBOutletAttr: c_uint = 402;
pub const CXCursor_IBOutletCollectionAttr: c_uint = 403;
pub const CXCursor_CXXFinalAttr: c_uint = 404;
pub const CXCursor_CXXOverrideAttr: c_uint = 405;
pub const CXCursor_AnnotateAttr: c_uint = 406;
pub const CXCursor_AsmLabelAttr: c_uint = 407;
pub const CXCursor_LastAttr: c_uint = 407;
pub const CXCursor_PreprocessingDirective: c_uint = 500;
pub const CXCursor_MacroDefinition: c_uint = 501;
pub const CXCursor_MacroExpansion: c_uint = 502;
pub const CXCursor_MacroInstantiation: c_uint = 502;
pub const CXCursor_InclusionDirective: c_uint = 503;
pub const CXCursor_FirstPreprocessing: c_uint = 500;
pub const CXCursor_LastPreprocessing: c_uint = 503;
pub struct CXCursor {
pub kind: Enum_CXCursorKind,
pub xdata: c_int,
pub data: [*c_void * 3],
}
pub type Enum_CXLinkageKind = c_uint;
pub const CXLinkage_Invalid: c_uint = 0;
pub const CXLinkage_NoLinkage: c_uint = 1;
pub const CXLinkage_Internal: c_uint = 2;
pub const CXLinkage_UniqueExternal: c_uint = 3;
pub const CXLinkage_External: c_uint = 4;
pub type Enum_CXLanguageKind = c_uint;
pub const CXLanguage_Invalid: c_uint = 0;
pub const CXLanguage_C: c_uint = 1;
pub const CXLanguage_ObjC: c_uint = 2;
pub const CXLanguage_CPlusPlus: c_uint = 3;
pub type Struct_CXCursorSetImpl = c_void;
pub type CXCursorSet = *Struct_CXCursorSetImpl;
pub type Enum_CXTypeKind = c_uint;
pub const CXType_Invalid: c_uint = 0;
pub const CXType_Unexposed: c_uint = 1;
pub const CXType_Void: c_uint = 2;
pub const CXType_Bool: c_uint = 3;
pub const CXType_Char_U: c_uint = 4;
pub const CXType_UChar: c_uint = 5;
pub const CXType_Char16: c_uint = 6;
pub const CXType_Char32: c_uint = 7;
pub const CXType_UShort: c_uint = 8;
pub const CXType_UInt: c_uint = 9;
pub const CXType_ULong: c_uint = 10;
pub const CXType_ULongLong: c_uint = 11;
pub const CXType_UInt128: c_uint = 12;
pub const CXType_Char_S: c_uint = 13;
pub const CXType_SChar: c_uint = 14;
pub const CXType_WChar: c_uint = 15;
pub const CXType_Short: c_uint = 16;
pub const CXType_Int: c_uint = 17;
pub const CXType_Long: c_uint = 18;
pub const CXType_LongLong: c_uint = 19;
pub const CXType_Int128: c_uint = 20;
pub const CXType_Float: c_uint = 21;
pub const CXType_Double: c_uint = 22;
pub const CXType_LongDouble: c_uint = 23;
pub const CXType_NullPtr: c_uint = 24;
pub const CXType_Overload: c_uint = 25;
pub const CXType_Dependent: c_uint = 26;
pub const CXType_ObjCId: c_uint = 27;
pub const CXType_ObjCClass: c_uint = 28;
pub const CXType_ObjCSel: c_uint = 29;
pub const CXType_FirstBuiltin: c_uint = 2;
pub const CXType_LastBuiltin: c_uint = 29;
pub const CXType_Complex: c_uint = 100;
pub const CXType_Pointer: c_uint = 101;
pub const CXType_BlockPointer: c_uint = 102;
pub const CXType_LValueReference: c_uint = 103;
pub const CXType_RValueReference: c_uint = 104;
pub const CXType_Record: c_uint = 105;
pub const CXType_Enum: c_uint = 106;
pub const CXType_Typedef: c_uint = 107;
pub const CXType_ObjCInterface: c_uint = 108;
pub const CXType_ObjCObjectPointer: c_uint = 109;
pub const CXType_FunctionNoProto: c_uint = 110;
pub const CXType_FunctionProto: c_uint = 111;
pub const CXType_ConstantArray: c_uint = 112;
pub const CXType_Vector: c_uint = 113;
pub type Enum_CXCallingConv = c_uint;
pub const CXCallingConv_Default: c_uint = 0;
pub const CXCallingConv_C: c_uint = 1;
pub const CXCallingConv_X86StdCall: c_uint = 2;
pub const CXCallingConv_X86FastCall: c_uint = 3;
pub const CXCallingConv_X86ThisCall: c_uint = 4;
pub const CXCallingConv_X86Pascal: c_uint = 5;
pub const CXCallingConv_AAPCS: c_uint = 6;
pub const CXCallingConv_AAPCS_VFP: c_uint = 7;
pub const CXCallingConv_Invalid: c_uint = 100;
pub const CXCallingConv_Unexposed: c_uint = 200;
pub struct CXType {
pub kind: Enum_CXTypeKind,
pub data: [*c_void * 2],
}
pub type Enum_CX_CXXAccessSpecifier = c_uint;
pub const CX_CXXInvalidAccessSpecifier: c_uint = 0;
pub const CX_CXXPublic: c_uint = 1;
pub const CX_CXXProtected: c_uint = 2;
pub const CX_CXXPrivate: c_uint = 3;
pub type Enum_CXChildVisitResult = c_uint;
pub const CXChildVisit_Break: c_uint = 0;
pub const CXChildVisit_Continue: c_uint = 1;
pub const CXChildVisit_Recurse: c_uint = 2;
pub type CXCursorVisitor = *u8;
pub type Enum_CXNameRefFlags = c_uint;
pub const CXNameRange_WantQualifier: c_uint = 1;
pub const CXNameRange_WantTemplateArgs: c_uint = 2;
pub const CXNameRange_WantSinglePiece: c_uint = 4;
pub type Enum_CXTokenKind = c_uint;
pub const CXToken_Punctuation: c_uint = 0;
pub const CXToken_Keyword: c_uint = 1;
pub const CXToken_Identifier: c_uint = 2;
pub const CXToken_Literal: c_uint = 3;
pub const CXToken_Comment: c_uint = 4;
pub type CXTokenKind = Enum_CXTokenKind;
pub struct CXToken {
pub int_data: [c_uint * 4],
pub ptr_data: *c_void,
}
pub type CXCompletionString = *c_void;
pub struct CXCompletionResult {
pub CursorKind: Enum_CXCursorKind,
pub CompletionString: CXCompletionString,
}
pub type Enum_CXCompletionChunkKind = c_uint;
pub const CXCompletionChunk_Optional: c_uint = 0;
pub const CXCompletionChunk_TypedText: c_uint = 1;
pub const CXCompletionChunk_Text: c_uint = 2;
pub const CXCompletionChunk_Placeholder: c_uint = 3;
pub const CXCompletionChunk_Informative: c_uint = 4;
pub const CXCompletionChunk_CurrentParameter: c_uint = 5;
pub const CXCompletionChunk_LeftParen: c_uint = 6;
pub const CXCompletionChunk_RightParen: c_uint = 7;
pub const CXCompletionChunk_LeftBracket: c_uint = 8;
pub const CXCompletionChunk_RightBracket: c_uint = 9;
pub const CXCompletionChunk_LeftBrace: c_uint = 10;
pub const CXCompletionChunk_RightBrace: c_uint = 11;
pub const CXCompletionChunk_LeftAngle: c_uint = 12;
pub const CXCompletionChunk_RightAngle: c_uint = 13;
pub const CXCompletionChunk_Comma: c_uint = 14;
pub const CXCompletionChunk_ResultType: c_uint = 15;
pub const CXCompletionChunk_Colon: c_uint = 16;
pub const CXCompletionChunk_SemiColon: c_uint = 17;
pub const CXCompletionChunk_Equal: c_uint = 18;
pub const CXCompletionChunk_HorizontalSpace: c_uint = 19;
pub const CXCompletionChunk_VerticalSpace: c_uint = 20;
pub struct CXCodeCompleteResults {
pub Results: *CXCompletionResult,
pub NumResults: c_uint,
}
pub type Enum_CXCodeComplete_Flags = c_uint;
pub const CXCodeComplete_IncludeMacros: c_uint = 1;
pub const CXCodeComplete_IncludeCodePatterns: c_uint = 2;
pub type Enum_CXCompletionContext = c_uint;
pub const CXCompletionContext_Unexposed: c_uint = 0;
pub const CXCompletionContext_AnyType: c_uint = 1;
pub const CXCompletionContext_AnyValue: c_uint = 2;
pub const CXCompletionContext_ObjCObjectValue: c_uint = 4;
pub const CXCompletionContext_ObjCSelectorValue: c_uint = 8;
pub const CXCompletionContext_CXXClassTypeValue: c_uint = 16;
pub const CXCompletionContext_DotMemberAccess: c_uint = 32;
pub const CXCompletionContext_ArrowMemberAccess: c_uint = 64;
pub const CXCompletionContext_ObjCPropertyAccess: c_uint = 128;
pub const CXCompletionContext_EnumTag: c_uint = 256;
pub const CXCompletionContext_UnionTag: c_uint = 512;
pub const CXCompletionContext_StructTag: c_uint = 1024;
pub const CXCompletionContext_ClassTag: c_uint = 2048;
pub const CXCompletionContext_Namespace: c_uint = 4096;
pub const CXCompletionContext_NestedNameSpecifier: c_uint = 8192;
pub const CXCompletionContext_ObjCInterface: c_uint = 16384;
pub const CXCompletionContext_ObjCProtocol: c_uint = 32768;
pub const CXCompletionContext_ObjCCategory: c_uint = 65536;
pub const CXCompletionContext_ObjCInstanceMessage: c_uint = 131072;
pub const CXCompletionContext_ObjCClassMessage: c_uint = 262144;
pub const CXCompletionContext_ObjCSelectorName: c_uint = 524288;
pub const CXCompletionContext_MacroName: c_uint = 1048576;
pub const CXCompletionContext_NaturalLanguage: c_uint = 2097152;
pub const CXCompletionContext_Unknown: c_uint = 4194303;
pub type CXInclusionVisitor = *u8;
pub type CXRemapping = *c_void;
pub type Enum_CXVisitorResult = c_uint;
pub const CXVisit_Break: c_uint = 0;
pub const CXVisit_Continue: c_uint = 1;
pub struct CXCursorAndRangeVisitor {
pub context: *c_void,
pub visit: *u8,
}
pub type CXIdxClientFile = *c_void;
pub type CXIdxClientEntity = *c_void;
pub type CXIdxClientContainer = *c_void;
pub type CXIdxClientASTFile = *c_void;
pub struct CXIdxLoc {
pub ptr_data: [*c_void * 2],
pub int_data: c_uint,
}
pub struct CXIdxIncludedFileInfo {
pub hashLoc: CXIdxLoc,
pub filename: *c_schar,
pub file: CXFile,
pub isImport: c_int,
pub isAngled: c_int,
}
pub struct CXIdxImportedASTFileInfo {
pub file: CXFile,
pub loc: CXIdxLoc,
pub isModule: c_int,
}
pub type CXIdxEntityKind = c_uint;
pub const CXIdxEntity_Unexposed: c_uint = 0;
pub const CXIdxEntity_Typedef: c_uint = 1;
pub const CXIdxEntity_Function: c_uint = 2;
pub const CXIdxEntity_Variable: c_uint = 3;
pub const CXIdxEntity_Field: c_uint = 4;
pub const CXIdxEntity_EnumConstant: c_uint = 5;
pub const CXIdxEntity_ObjCClass: c_uint = 6;
pub const CXIdxEntity_ObjCProtocol: c_uint = 7;
pub const CXIdxEntity_ObjCCategory: c_uint = 8;
pub const CXIdxEntity_ObjCInstanceMethod: c_uint = 9;
pub const CXIdxEntity_ObjCClassMethod: c_uint = 10;
pub const CXIdxEntity_ObjCProperty: c_uint = 11;
pub const CXIdxEntity_ObjCIvar: c_uint = 12;
pub const CXIdxEntity_Enum: c_uint = 13;
pub const CXIdxEntity_Struct: c_uint = 14;
pub const CXIdxEntity_Union: c_uint = 15;
pub const CXIdxEntity_CXXClass: c_uint = 16;
pub const CXIdxEntity_CXXNamespace: c_uint = 17;
pub const CXIdxEntity_CXXNamespaceAlias: c_uint = 18;
pub const CXIdxEntity_CXXStaticVariable: c_uint = 19;
pub const CXIdxEntity_CXXStaticMethod: c_uint = 20;
pub const CXIdxEntity_CXXInstanceMethod: c_uint = 21;
pub const CXIdxEntity_CXXConstructor: c_uint = 22;
pub const CXIdxEntity_CXXDestructor: c_uint = 23;
pub const CXIdxEntity_CXXConversionFunction: c_uint = 24;
pub const CXIdxEntity_CXXTypeAlias: c_uint = 25;
pub type CXIdxEntityLanguage = c_uint;
pub const CXIdxEntityLang_None: c_uint = 0;
pub const CXIdxEntityLang_C: c_uint = 1;
pub const CXIdxEntityLang_ObjC: c_uint = 2;
pub const CXIdxEntityLang_CXX: c_uint = 3;
pub type CXIdxEntityCXXTemplateKind = c_uint;
pub const CXIdxEntity_NonTemplate: c_uint = 0;
pub const CXIdxEntity_Template: c_uint = 1;
pub const CXIdxEntity_TemplatePartialSpecialization: c_uint = 2;
pub const CXIdxEntity_TemplateSpecialization: c_uint = 3;
pub type CXIdxAttrKind = c_uint;
pub const CXIdxAttr_Unexposed: c_uint = 0;
pub const CXIdxAttr_IBAction: c_uint = 1;
pub const CXIdxAttr_IBOutlet: c_uint = 2;
pub const CXIdxAttr_IBOutletCollection: c_uint = 3;
pub struct CXIdxAttrInfo {
pub kind: CXIdxAttrKind,
pub cursor: CXCursor,
pub loc: CXIdxLoc,
}
pub struct CXIdxEntityInfo {
pub kind: CXIdxEntityKind,
pub templateKind: CXIdxEntityCXXTemplateKind,
pub lang: CXIdxEntityLanguage,
pub name: *c_schar,
pub USR: *c_schar,
pub cursor: CXCursor,
pub attributes: **CXIdxAttrInfo,
pub numAttributes: c_uint,
}
pub struct CXIdxContainerInfo {
pub cursor: CXCursor,
}
pub struct CXIdxIBOutletCollectionAttrInfo {
pub attrInfo: *CXIdxAttrInfo,
pub objcClass: *CXIdxEntityInfo,
pub classCursor: CXCursor,
pub classLoc: CXIdxLoc,
}
pub struct CXIdxDeclInfo {
pub entityInfo: *CXIdxEntityInfo,
pub cursor: CXCursor,
pub loc: CXIdxLoc,
pub semanticContainer: *CXIdxContainerInfo,
pub lexicalContainer: *CXIdxContainerInfo,
pub isRedeclaration: c_int,
pub isDefinition: c_int,
pub isContainer: c_int,
pub declAsContainer: *CXIdxContainerInfo,
pub isImplicit: c_int,
pub attributes: **CXIdxAttrInfo,
pub numAttributes: c_uint,
}
pub type CXIdxObjCContainerKind = c_uint;
pub const CXIdxObjCContainer_ForwardRef: c_uint = 0;
pub const CXIdxObjCContainer_Interface: c_uint = 1;
pub const CXIdxObjCContainer_Implementation: c_uint = 2;
pub struct CXIdxObjCContainerDeclInfo {
pub declInfo: *CXIdxDeclInfo,
pub kind: CXIdxObjCContainerKind,
}
pub struct CXIdxBaseClassInfo {
pub base: *CXIdxEntityInfo,
pub cursor: CXCursor,
pub loc: CXIdxLoc,
}
pub struct CXIdxObjCProtocolRefInfo {
pub protocol: *CXIdxEntityInfo,
pub cursor: CXCursor,
pub loc: CXIdxLoc,
}
pub struct CXIdxObjCProtocolRefListInfo {
pub protocols: **CXIdxObjCProtocolRefInfo,
pub numProtocols: c_uint,
}
pub struct CXIdxObjCInterfaceDeclInfo {
pub containerInfo: *CXIdxObjCContainerDeclInfo,
pub superInfo: *CXIdxBaseClassInfo,
pub protocols: *CXIdxObjCProtocolRefListInfo,
}
pub struct CXIdxObjCCategoryDeclInfo {
pub containerInfo: *CXIdxObjCContainerDeclInfo,
pub objcClass: *CXIdxEntityInfo,
pub classCursor: CXCursor,
pub classLoc: CXIdxLoc,
pub protocols: *CXIdxObjCProtocolRefListInfo,
}
pub struct CXIdxObjCPropertyDeclInfo {
pub declInfo: *CXIdxDeclInfo,
pub getter: *CXIdxEntityInfo,
pub setter: *CXIdxEntityInfo,
}
pub struct CXIdxCXXClassDeclInfo {
pub declInfo: *CXIdxDeclInfo,
pub bases: **CXIdxBaseClassInfo,
pub numBases: c_uint,
}
pub type CXIdxEntityRefKind = c_uint;
pub const CXIdxEntityRef_Direct: c_uint = 1;
pub const CXIdxEntityRef_Implicit: c_uint = 2;
pub struct CXIdxEntityRefInfo {
pub kind: CXIdxEntityRefKind,
pub cursor: CXCursor,
pub loc: CXIdxLoc,
pub referencedEntity: *CXIdxEntityInfo,
pub parentEntity: *CXIdxEntityInfo,
pub container: *CXIdxContainerInfo,
}
pub struct IndexerCallbacks {
pub abortQuery: *u8,
pub diagnostic: *u8,
pub enteredMainFile: *u8,
pub ppIncludedFile: *u8,
pub importedASTFile: *u8,
pub startedTranslationUnit: *u8,
pub indexDeclaration: *u8,
pub indexEntityReference: *u8,
}
pub type CXIndexAction = *c_void;
pub type CXIndexOptFlags = c_uint;
pub const CXIndexOpt_None: c_uint = 0;
pub const CXIndexOpt_SuppressRedundantRefs: c_uint = 1;
pub const CXIndexOpt_IndexFunctionLocalSymbols: c_uint = 2;
pub const CXIndexOpt_IndexImplicitTemplateInstantiations: c_uint = 4;
pub const CXIndexOpt_SuppressWarnings: c_uint = 8;
#[link_args = "-lclang"]
pub extern "C" {
fn clang_getCString(++string: CXString) -> *c_schar;
fn clang_disposeString(++string: CXString);
fn clang_createIndex(++excludeDeclarationsFromPCH: c_int,
++displayDiagnostics: c_int) -> CXIndex;
fn clang_disposeIndex(++index: CXIndex);
fn clang_CXIndex_setGlobalOptions(++arg1: CXIndex, ++options: c_uint);
fn clang_CXIndex_getGlobalOptions(++arg1: CXIndex) -> c_uint;
fn clang_getFileName(++SFile: CXFile) -> CXString;
fn clang_getFileTime(++SFile: CXFile) -> time_t;
fn clang_isFileMultipleIncludeGuarded(++tu: CXTranslationUnit,
++file: CXFile) -> c_uint;
fn clang_getFile(++tu: CXTranslationUnit, ++file_name: *c_schar) ->
CXFile;
fn clang_getNullLocation() -> CXSourceLocation;
fn clang_equalLocations(++loc1: CXSourceLocation,
++loc2: CXSourceLocation) -> c_uint;
fn clang_getLocation(++tu: CXTranslationUnit, ++file: CXFile,
++line: c_uint, ++column: c_uint) ->
CXSourceLocation;
fn clang_getLocationForOffset(++tu: CXTranslationUnit, ++file: CXFile,
++offset: c_uint) -> CXSourceLocation;
fn clang_getNullRange() -> CXSourceRange;
fn clang_getRange(++begin: CXSourceLocation, ++end: CXSourceLocation) ->
CXSourceRange;
fn clang_equalRanges(++range1: CXSourceRange, ++range2: CXSourceRange) ->
c_uint;
fn clang_Range_isNull(++range: CXSourceRange) -> c_int;
fn clang_getExpansionLocation(++location: CXSourceLocation,
++file: *CXFile, ++line: *c_uint,
++column: *c_uint, ++offset: *c_uint);
fn clang_getPresumedLocation(++location: CXSourceLocation,
++filename: *CXString, ++line: *c_uint,
++column: *c_uint);
fn clang_getInstantiationLocation(++location: CXSourceLocation,
++file: *CXFile, ++line: *c_uint,
++column: *c_uint, ++offset: *c_uint);
fn clang_getSpellingLocation(++location: CXSourceLocation,
++file: *CXFile, ++line: *c_uint,
++column: *c_uint, ++offset: *c_uint);
fn clang_getRangeStart(++range: CXSourceRange) -> CXSourceLocation;
fn clang_getRangeEnd(++range: CXSourceRange) -> CXSourceLocation;
fn clang_getNumDiagnosticsInSet(++Diags: CXDiagnosticSet) -> c_uint;
fn clang_getDiagnosticInSet(++Diags: CXDiagnosticSet, ++Index: c_uint) ->
CXDiagnostic;
fn clang_loadDiagnostics(++file: *c_schar,
++error: *Enum_CXLoadDiag_Error,
++errorString: *CXString) -> CXDiagnosticSet;
fn clang_disposeDiagnosticSet(++Diags: CXDiagnosticSet);
fn clang_getChildDiagnostics(++D: CXDiagnostic) -> CXDiagnosticSet;
fn clang_getNumDiagnostics(++Unit: CXTranslationUnit) -> c_uint;
fn clang_getDiagnostic(++Unit: CXTranslationUnit, ++Index: c_uint) ->
CXDiagnostic;
fn clang_getDiagnosticSetFromTU(++Unit: CXTranslationUnit) ->
CXDiagnosticSet;
fn clang_disposeDiagnostic(++Diagnostic: CXDiagnostic);
fn clang_formatDiagnostic(++Diagnostic: CXDiagnostic, ++Options: c_uint)
-> CXString;
fn clang_defaultDiagnosticDisplayOptions() -> c_uint;
fn clang_getDiagnosticSeverity(++arg1: CXDiagnostic) ->
Enum_CXDiagnosticSeverity;
fn clang_getDiagnosticLocation(++arg1: CXDiagnostic) -> CXSourceLocation;
fn clang_getDiagnosticSpelling(++arg1: CXDiagnostic) -> CXString;
fn clang_getDiagnosticOption(++Diag: CXDiagnostic, ++Disable: *CXString)
-> CXString;
fn clang_getDiagnosticCategory(++arg1: CXDiagnostic) -> c_uint;
fn clang_getDiagnosticCategoryName(++Category: c_uint) -> CXString;
fn clang_getDiagnosticCategoryText(++arg1: CXDiagnostic) -> CXString;
fn clang_getDiagnosticNumRanges(++arg1: CXDiagnostic) -> c_uint;
fn clang_getDiagnosticRange(++Diagnostic: CXDiagnostic, ++Range: c_uint)
-> CXSourceRange;
fn clang_getDiagnosticNumFixIts(++Diagnostic: CXDiagnostic) -> c_uint;
fn clang_getDiagnosticFixIt(++Diagnostic: CXDiagnostic, ++FixIt: c_uint,
++ReplacementRange: *CXSourceRange) ->
CXString;
fn clang_getTranslationUnitSpelling(++CTUnit: CXTranslationUnit) ->
CXString;
fn clang_createTranslationUnitFromSourceFile(++CIdx: CXIndex,
++source_filename: *c_schar,
++num_clang_command_line_args:
c_int,
++clang_command_line_args:
**c_schar,
++num_unsaved_files: c_uint,
++unsaved_files:
*Struct_CXUnsavedFile) ->
CXTranslationUnit;
fn clang_createTranslationUnit(++arg1: CXIndex, ++ast_filename: *c_schar)
-> CXTranslationUnit;
fn clang_defaultEditingTranslationUnitOptions() -> c_uint;
fn clang_parseTranslationUnit(++CIdx: CXIndex,
++source_filename: *c_schar,
++command_line_args: **c_schar,
++num_command_line_args: c_int,
++unsaved_files: *Struct_CXUnsavedFile,
++num_unsaved_files: c_uint,
++options: c_uint) -> CXTranslationUnit;
fn clang_defaultSaveOptions(++TU: CXTranslationUnit) -> c_uint;
fn clang_saveTranslationUnit(++TU: CXTranslationUnit,
++FileName: *c_schar, ++options: c_uint) ->
c_int;
fn clang_disposeTranslationUnit(++arg1: CXTranslationUnit);
fn clang_defaultReparseOptions(++TU: CXTranslationUnit) -> c_uint;
fn clang_reparseTranslationUnit(++TU: CXTranslationUnit,
++num_unsaved_files: c_uint,
++unsaved_files: *Struct_CXUnsavedFile,
++options: c_uint) -> c_int;
fn clang_getTUResourceUsageName(++kind: Enum_CXTUResourceUsageKind) ->
*c_schar;
fn clang_getCXTUResourceUsage(++TU: CXTranslationUnit) ->
CXTUResourceUsage;
fn clang_disposeCXTUResourceUsage(++usage: CXTUResourceUsage);
fn clang_getNullCursor() -> CXCursor;
fn clang_getTranslationUnitCursor(++arg1: CXTranslationUnit) -> CXCursor;
fn clang_equalCursors(++arg1: CXCursor, ++arg2: CXCursor) -> c_uint;
fn clang_Cursor_isNull(++arg1: CXCursor) -> c_int;
fn clang_hashCursor(++arg1: CXCursor) -> c_uint;
fn clang_getCursorKind(++arg1: CXCursor) -> Enum_CXCursorKind;
fn clang_isDeclaration(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isReference(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isExpression(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isStatement(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isAttribute(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isInvalid(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isTranslationUnit(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isPreprocessing(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_isUnexposed(++arg1: Enum_CXCursorKind) -> c_uint;
fn clang_getCursorLinkage(++cursor: CXCursor) -> Enum_CXLinkageKind;
fn clang_getCursorAvailability(++cursor: CXCursor) ->
Enum_CXAvailabilityKind;
fn clang_getCursorLanguage(++cursor: CXCursor) -> Enum_CXLanguageKind;
fn clang_Cursor_getTranslationUnit(++arg1: CXCursor) -> CXTranslationUnit;
fn clang_createCXCursorSet() -> CXCursorSet;
fn clang_disposeCXCursorSet(++cset: CXCursorSet);
fn clang_CXCursorSet_contains(++cset: CXCursorSet, ++cursor: CXCursor) ->
c_uint;
fn clang_CXCursorSet_insert(++cset: CXCursorSet, ++cursor: CXCursor) ->
c_uint;
fn clang_getCursorSemanticParent(++cursor: CXCursor) -> CXCursor;
fn clang_getCursorLexicalParent(++cursor: CXCursor) -> CXCursor;
fn clang_getOverriddenCursors(++cursor: CXCursor,
++overridden: **CXCursor,
++num_overridden: *c_uint);
fn clang_disposeOverriddenCursors(++overridden: *CXCursor);
fn clang_getIncludedFile(++cursor: CXCursor) -> CXFile;
fn clang_getCursor(++arg1: CXTranslationUnit, ++arg2: CXSourceLocation) ->
CXCursor;
fn clang_getCursorLocation(++arg1: CXCursor) -> CXSourceLocation;
fn clang_getCursorExtent(++arg1: CXCursor) -> CXSourceRange;
fn clang_getCursorType(++C: CXCursor) -> CXType;
fn clang_getTypedefDeclUnderlyingType(++C: CXCursor) -> CXType;
fn clang_getEnumDeclIntegerType(++C: CXCursor) -> CXType;
fn clang_getEnumConstantDeclValue(++C: CXCursor) -> c_longlong;
fn clang_getEnumConstantDeclUnsignedValue(++C: CXCursor) -> c_ulonglong;
fn clang_Cursor_getNumArguments(++C: CXCursor) -> c_int;
fn clang_Cursor_getArgument(++C: CXCursor, ++i: c_uint) -> CXCursor;
fn clang_equalTypes(++A: CXType, ++B: CXType) -> c_uint;
fn clang_getCanonicalType(++T: CXType) -> CXType;
fn clang_isConstQualifiedType(++T: CXType) -> c_uint;
fn clang_isVolatileQualifiedType(++T: CXType) -> c_uint;
fn clang_isRestrictQualifiedType(++T: CXType) -> c_uint;
fn clang_getPointeeType(++T: CXType) -> CXType;
fn clang_getTypeDeclaration(++T: CXType) -> CXCursor;
fn clang_getDeclObjCTypeEncoding(++C: CXCursor) -> CXString;
fn clang_getTypeKindSpelling(++K: Enum_CXTypeKind) -> CXString;
fn clang_getFunctionTypeCallingConv(++T: CXType) -> Enum_CXCallingConv;
fn clang_getResultType(++T: CXType) -> CXType;
fn clang_getNumArgTypes(++T: CXType) -> c_int;
fn clang_getArgType(++T: CXType, ++i: c_uint) -> CXType;
fn clang_isFunctionTypeVariadic(++T: CXType) -> c_uint;
fn clang_getCursorResultType(++C: CXCursor) -> CXType;
fn clang_isPODType(++T: CXType) -> c_uint;
fn clang_getElementType(++T: CXType) -> CXType;
fn clang_getNumElements(++T: CXType) -> c_longlong;
fn clang_getArrayElementType(++T: CXType) -> CXType;
fn clang_getArraySize(++T: CXType) -> c_longlong;
fn clang_isVirtualBase(++arg1: CXCursor) -> c_uint;
fn clang_getCXXAccessSpecifier(++arg1: CXCursor) ->
Enum_CX_CXXAccessSpecifier;
fn clang_getNumOverloadedDecls(++cursor: CXCursor) -> c_uint;
fn clang_getOverloadedDecl(++cursor: CXCursor, ++index: c_uint) ->
CXCursor;
fn clang_getIBOutletCollectionType(++arg1: CXCursor) -> CXType;
fn clang_visitChildren(++parent: CXCursor, ++visitor: CXCursorVisitor,
++client_data: CXClientData) -> c_uint;
fn clang_getCursorUSR(++arg1: CXCursor) -> CXString;
fn clang_constructUSR_ObjCClass(++class_name: *c_schar) -> CXString;
fn clang_constructUSR_ObjCCategory(++class_name: *c_schar,
++category_name: *c_schar) -> CXString;
fn clang_constructUSR_ObjCProtocol(++protocol_name: *c_schar) -> CXString;
fn clang_constructUSR_ObjCIvar(++name: *c_schar, ++classUSR: CXString) ->
CXString;
fn clang_constructUSR_ObjCMethod(++name: *c_schar,
++isInstanceMethod: c_uint,
++classUSR: CXString) -> CXString;
fn clang_constructUSR_ObjCProperty(++property: *c_schar,
++classUSR: CXString) -> CXString;
fn clang_getCursorSpelling(++arg1: CXCursor) -> CXString;
fn clang_Cursor_getSpellingNameRange(++arg1: CXCursor,
++pieceIndex: c_uint,
++options: c_uint) -> CXSourceRange;
fn clang_getCursorDisplayName(++arg1: CXCursor) -> CXString;
fn clang_getCursorReferenced(++arg1: CXCursor) -> CXCursor;
fn clang_getCursorDefinition(++arg1: CXCursor) -> CXCursor;
fn clang_isCursorDefinition(++arg1: CXCursor) -> c_uint;
fn clang_getCanonicalCursor(++arg1: CXCursor) -> CXCursor;
fn clang_Cursor_getObjCSelectorIndex(++arg1: CXCursor) -> c_int;
fn clang_CXXMethod_isStatic(++C: CXCursor) -> c_uint;
fn clang_CXXMethod_isVirtual(++C: CXCursor) -> c_uint;
fn clang_getTemplateCursorKind(++C: CXCursor) -> Enum_CXCursorKind;
fn clang_getSpecializedCursorTemplate(++C: CXCursor) -> CXCursor;
fn clang_getCursorReferenceNameRange(++C: CXCursor, ++NameFlags: c_uint,
++PieceIndex: c_uint) ->
CXSourceRange;
fn clang_getTokenKind(++arg1: CXToken) -> CXTokenKind;
fn clang_getTokenSpelling(++arg1: CXTranslationUnit, ++arg2: CXToken) ->
CXString;
fn clang_getTokenLocation(++arg1: CXTranslationUnit, ++arg2: CXToken) ->
CXSourceLocation;
fn clang_getTokenExtent(++arg1: CXTranslationUnit, ++arg2: CXToken) ->
CXSourceRange;
fn clang_tokenize(++TU: CXTranslationUnit, ++Range: CXSourceRange,
++Tokens: **CXToken, ++NumTokens: *c_uint);
fn clang_annotateTokens(++TU: CXTranslationUnit, ++Tokens: *CXToken,
++NumTokens: c_uint, ++Cursors: *CXCursor);
fn clang_disposeTokens(++TU: CXTranslationUnit, ++Tokens: *CXToken,
++NumTokens: c_uint);
fn clang_getCursorKindSpelling(++Kind: Enum_CXCursorKind) -> CXString;
fn clang_getDefinitionSpellingAndExtent(++arg1: CXCursor,
++startBuf: **c_schar,
++endBuf: **c_schar,
++startLine: *c_uint,
++startColumn: *c_uint,
++endLine: *c_uint,
++endColumn: *c_uint);
fn clang_enableStackTraces();
fn clang_executeOnThread(++_fn: *u8, ++user_data: *c_void,
++stack_size: c_uint);
fn clang_getCompletionChunkKind(++completion_string: CXCompletionString,
++chunk_number: c_uint) ->
Enum_CXCompletionChunkKind;
fn clang_getCompletionChunkText(++completion_string: CXCompletionString,
++chunk_number: c_uint) -> CXString;
fn clang_getCompletionChunkCompletionString(++completion_string:
CXCompletionString,
++chunk_number: c_uint) ->
CXCompletionString;
fn clang_getNumCompletionChunks(++completion_string: CXCompletionString)
-> c_uint;
fn clang_getCompletionPriority(++completion_string: CXCompletionString) ->
c_uint;
fn clang_getCompletionAvailability(++completion_string:
CXCompletionString) ->
Enum_CXAvailabilityKind;
fn clang_getCompletionNumAnnotations(++completion_string:
CXCompletionString) -> c_uint;
fn clang_getCompletionAnnotation(++completion_string: CXCompletionString,
++annotation_number: c_uint) -> CXString;
fn clang_getCompletionParent(++completion_string: CXCompletionString,
++kind: *Enum_CXCursorKind) -> CXString;
fn clang_getCursorCompletionString(++cursor: CXCursor) ->
CXCompletionString;
fn clang_defaultCodeCompleteOptions() -> c_uint;
fn clang_codeCompleteAt(++TU: CXTranslationUnit,
++complete_filename: *c_schar,
++complete_line: c_uint,
++complete_column: c_uint,
++unsaved_files: *Struct_CXUnsavedFile,
++num_unsaved_files: c_uint, ++options: c_uint) ->
*CXCodeCompleteResults;
fn clang_sortCodeCompletionResults(++Results: *CXCompletionResult,
++NumResults: c_uint);
fn clang_disposeCodeCompleteResults(++Results: *CXCodeCompleteResults);
fn clang_codeCompleteGetNumDiagnostics(++Results: *CXCodeCompleteResults)
-> c_uint;
fn clang_codeCompleteGetDiagnostic(++Results: *CXCodeCompleteResults,
++Index: c_uint) -> CXDiagnostic;
fn clang_codeCompleteGetContexts(++Results: *CXCodeCompleteResults) ->
c_ulonglong;
fn clang_codeCompleteGetContainerKind(++Results: *CXCodeCompleteResults,
++IsIncomplete: *c_uint) ->
Enum_CXCursorKind;
fn clang_codeCompleteGetContainerUSR(++Results: *CXCodeCompleteResults) ->
CXString;
fn clang_codeCompleteGetObjCSelector(++Results: *CXCodeCompleteResults) ->
CXString;
fn clang_getClangVersion() -> CXString;
fn clang_toggleCrashRecovery(++isEnabled: c_uint);
fn clang_getInclusions(++tu: CXTranslationUnit,
++visitor: CXInclusionVisitor,
++client_data: CXClientData);
fn clang_getRemappings(++path: *c_schar) -> CXRemapping;
fn clang_getRemappingsFromFileList(++filePaths: **c_schar,
++numFiles: c_uint) -> CXRemapping;
fn clang_remap_getNumFiles(++arg1: CXRemapping) -> c_uint;
fn clang_remap_getFilenames(++arg1: CXRemapping, ++index: c_uint,
++original: *CXString,
++transformed: *CXString);
fn clang_remap_dispose(++arg1: CXRemapping);
fn clang_findReferencesInFile(++cursor: CXCursor, ++file: CXFile,
++visitor: CXCursorAndRangeVisitor);
fn clang_index_isEntityObjCContainerKind(++arg1: CXIdxEntityKind) ->
c_int;
fn clang_index_getObjCContainerDeclInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxObjCContainerDeclInfo;
fn clang_index_getObjCInterfaceDeclInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxObjCInterfaceDeclInfo;
fn clang_index_getObjCCategoryDeclInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxObjCCategoryDeclInfo;
fn clang_index_getObjCProtocolRefListInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxObjCProtocolRefListInfo;
fn clang_index_getObjCPropertyDeclInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxObjCPropertyDeclInfo;
fn clang_index_getIBOutletCollectionAttrInfo(++arg1: *CXIdxAttrInfo) ->
*CXIdxIBOutletCollectionAttrInfo;
fn clang_index_getCXXClassDeclInfo(++arg1: *CXIdxDeclInfo) ->
*CXIdxCXXClassDeclInfo;
fn clang_index_getClientContainer(++arg1: *CXIdxContainerInfo) ->
CXIdxClientContainer;
fn clang_index_setClientContainer(++arg1: *CXIdxContainerInfo,
++arg2: CXIdxClientContainer);
fn clang_index_getClientEntity(++arg1: *CXIdxEntityInfo) ->
CXIdxClientEntity;
fn clang_index_setClientEntity(++arg1: *CXIdxEntityInfo,
++arg2: CXIdxClientEntity);
fn clang_IndexAction_create(++CIdx: CXIndex) -> CXIndexAction;
fn clang_IndexAction_dispose(++arg1: CXIndexAction);
fn clang_indexSourceFile(++arg1: CXIndexAction,
++client_data: CXClientData,
++index_callbacks: *IndexerCallbacks,
++index_callbacks_size: c_uint,
++index_options: c_uint,
++source_filename: *c_schar,
++command_line_args: **c_schar,
++num_command_line_args: c_int,
++unsaved_files: *Struct_CXUnsavedFile,
++num_unsaved_files: c_uint,
++out_TU: *CXTranslationUnit,
++TU_options: c_uint) -> c_int;
fn clang_indexTranslationUnit(++arg1: CXIndexAction,
++client_data: CXClientData,
++index_callbacks: *IndexerCallbacks,
++index_callbacks_size: c_uint,
++index_options: c_uint,
++arg2: CXTranslationUnit) -> c_int;
fn clang_indexLoc_getFileLocation(++loc: CXIdxLoc,
++indexFile: *CXIdxClientFile,
++file: *CXFile, ++line: *c_uint,
++column: *c_uint, ++offset: *c_uint);
fn clang_indexLoc_getCXSourceLocation(++loc: CXIdxLoc) ->
CXSourceLocation;
}