1#![allow(non_camel_case_types, non_snake_case, non_upper_case_globals)]
23#![cfg_attr(feature = "cargo-clippy", allow(clippy::unreadable_literal))]
24
25pub mod support;
26
27#[macro_use]
28mod link;
29
30use std::mem;
31
32use libc::*;
33
34pub type CXClientData = *mut c_void;
35pub type CXCursorVisitor = extern "C" fn(CXCursor, CXCursor, CXClientData) -> CXChildVisitResult;
36#[cfg(feature = "clang_3_7")]
37pub type CXFieldVisitor = extern "C" fn(CXCursor, CXClientData) -> CXVisitorResult;
38pub type CXInclusionVisitor = extern "C" fn(CXFile, *mut CXSourceLocation, c_uint, CXClientData);
39
40macro_rules! cenum {
46 (#[repr($ty:ty)] $(#[$meta:meta])* enum $name:ident {
47 $($(#[$vmeta:meta])* const $variant:ident = $value:expr), +,
48 }) => (
49 pub type $name = $ty;
50
51 $($(#[$vmeta])* pub const $variant: $name = $value;)+
52 );
53 (#[repr($ty:ty)] $(#[$meta:meta])* enum $name:ident {
54 $($(#[$vmeta:meta])* const $variant:ident = $value:expr); +;
55 }) => (
56 pub type $name = $ty;
57
58 $($(#[$vmeta])* pub const $variant: $name = $value;)+
59 );
60 ($(#[$meta:meta])* enum $name:ident {
61 $($(#[$vmeta:meta])* const $variant:ident = $value:expr), +,
62 }) => (
63 pub type $name = c_int;
64
65 $($(#[$vmeta])* pub const $variant: $name = $value;)+
66 );
67 ($(#[$meta:meta])* enum $name:ident {
68 $($(#[$vmeta:meta])* const $variant:ident = $value:expr); +;
69 }) => (
70 pub type $name = c_int;
71
72 $($(#[$vmeta])* pub const $variant: $name = $value;)+
73 );
74}
75
76macro_rules! default {
78 (#[$meta:meta] $ty:ty) => {
79 #[$meta]
80 impl Default for $ty {
81 fn default() -> $ty {
82 unsafe { mem::zeroed() }
83 }
84 }
85 };
86
87 ($ty:ty) => {
88 impl Default for $ty {
89 fn default() -> $ty {
90 unsafe { mem::zeroed() }
91 }
92 }
93 };
94}
95
96cenum! {
101 enum CXAvailabilityKind {
102 const CXAvailability_Available = 0,
103 const CXAvailability_Deprecated = 1,
104 const CXAvailability_NotAvailable = 2,
105 const CXAvailability_NotAccessible = 3,
106 }
107}
108
109cenum! {
110 #[cfg(feature = "clang_17_0")]
112 enum CXBinaryOperatorKind {
113 const CXBinaryOperator_Invalid = 0,
114 const CXBinaryOperator_PtrMemD = 1,
115 const CXBinaryOperator_PtrMemI = 2,
116 const CXBinaryOperator_Mul = 3,
117 const CXBinaryOperator_Div = 4,
118 const CXBinaryOperator_Rem = 5,
119 const CXBinaryOperator_Add = 6,
120 const CXBinaryOperator_Sub = 7,
121 const CXBinaryOperator_Shl = 8,
122 const CXBinaryOperator_Shr = 9,
123 const CXBinaryOperator_Cmp = 10,
124 const CXBinaryOperator_LT = 11,
125 const CXBinaryOperator_GT = 12,
126 const CXBinaryOperator_LE = 13,
127 const CXBinaryOperator_GE = 14,
128 const CXBinaryOperator_EQ = 15,
129 const CXBinaryOperator_NE = 16,
130 const CXBinaryOperator_And = 17,
131 const CXBinaryOperator_Xor = 18,
132 const CXBinaryOperator_Or = 19,
133 const CXBinaryOperator_LAnd = 20,
134 const CXBinaryOperator_LOr = 21,
135 const CXBinaryOperator_Assign = 22,
136 const CXBinaryOperator_MulAssign = 23,
137 const CXBinaryOperator_DivAssign = 24,
138 const CXBinaryOperator_RemAssign = 25,
139 const CXBinaryOperator_AddAssign = 26,
140 const CXBinaryOperator_SubAssign = 27,
141 const CXBinaryOperator_ShlAssign = 28,
142 const CXBinaryOperator_ShrAssign = 29,
143 const CXBinaryOperator_AndAssign = 30,
144 const CXBinaryOperator_XorAssign = 31,
145 const CXBinaryOperator_OrAssign = 32,
146 const CXBinaryOperator_Comma = 33,
147 }
148}
149
150cenum! {
151 enum CXCallingConv {
152 const CXCallingConv_Default = 0,
153 const CXCallingConv_C = 1,
154 const CXCallingConv_X86StdCall = 2,
155 const CXCallingConv_X86FastCall = 3,
156 const CXCallingConv_X86ThisCall = 4,
157 const CXCallingConv_X86Pascal = 5,
158 const CXCallingConv_AAPCS = 6,
159 const CXCallingConv_AAPCS_VFP = 7,
160 const CXCallingConv_X86RegCall = 8,
162 const CXCallingConv_IntelOclBicc = 9,
163 const CXCallingConv_Win64 = 10,
164 const CXCallingConv_X86_64Win64 = 10,
165 const CXCallingConv_X86_64SysV = 11,
166 const CXCallingConv_X86VectorCall = 12,
168 const CXCallingConv_Swift = 13,
170 const CXCallingConv_PreserveMost = 14,
172 const CXCallingConv_PreserveAll = 15,
174 const CXCallingConv_AArch64VectorCall = 16,
176 const CXCallingConv_Invalid = 100,
177 const CXCallingConv_Unexposed = 200,
178 const CXCallingConv_SwiftAsync = 17,
180 const CXCallingConv_AArch64SVEPCS = 18,
182 const CXCallingConv_M68kRTD = 19,
184 }
185}
186
187cenum! {
188 enum CXChildVisitResult {
189 const CXChildVisit_Break = 0,
190 const CXChildVisit_Continue = 1,
191 const CXChildVisit_Recurse = 2,
192 }
193}
194
195cenum! {
196 #[repr(c_uchar)]
197 #[cfg(feature = "clang_17_0")]
199 enum CXChoice {
200 const CXChoice_Default = 0,
201 const CXChoice_Enabled = 1,
202 const CXChoice_Disabled = 2,
203 }
204}
205
206cenum! {
207 enum CXCommentInlineCommandRenderKind {
208 const CXCommentInlineCommandRenderKind_Normal = 0,
209 const CXCommentInlineCommandRenderKind_Bold = 1,
210 const CXCommentInlineCommandRenderKind_Monospaced = 2,
211 const CXCommentInlineCommandRenderKind_Emphasized = 3,
212 }
213}
214
215cenum! {
216 enum CXCommentKind {
217 const CXComment_Null = 0,
218 const CXComment_Text = 1,
219 const CXComment_InlineCommand = 2,
220 const CXComment_HTMLStartTag = 3,
221 const CXComment_HTMLEndTag = 4,
222 const CXComment_Paragraph = 5,
223 const CXComment_BlockCommand = 6,
224 const CXComment_ParamCommand = 7,
225 const CXComment_TParamCommand = 8,
226 const CXComment_VerbatimBlockCommand = 9,
227 const CXComment_VerbatimBlockLine = 10,
228 const CXComment_VerbatimLine = 11,
229 const CXComment_FullComment = 12,
230 }
231}
232
233cenum! {
234 enum CXCommentParamPassDirection {
235 const CXCommentParamPassDirection_In = 0,
236 const CXCommentParamPassDirection_Out = 1,
237 const CXCommentParamPassDirection_InOut = 2,
238 }
239}
240
241cenum! {
242 enum CXCompilationDatabase_Error {
243 const CXCompilationDatabase_NoError = 0,
244 const CXCompilationDatabase_CanNotLoadDatabase = 1,
245 }
246}
247
248cenum! {
249 enum CXCompletionChunkKind {
250 const CXCompletionChunk_Optional = 0,
251 const CXCompletionChunk_TypedText = 1,
252 const CXCompletionChunk_Text = 2,
253 const CXCompletionChunk_Placeholder = 3,
254 const CXCompletionChunk_Informative = 4,
255 const CXCompletionChunk_CurrentParameter = 5,
256 const CXCompletionChunk_LeftParen = 6,
257 const CXCompletionChunk_RightParen = 7,
258 const CXCompletionChunk_LeftBracket = 8,
259 const CXCompletionChunk_RightBracket = 9,
260 const CXCompletionChunk_LeftBrace = 10,
261 const CXCompletionChunk_RightBrace = 11,
262 const CXCompletionChunk_LeftAngle = 12,
263 const CXCompletionChunk_RightAngle = 13,
264 const CXCompletionChunk_Comma = 14,
265 const CXCompletionChunk_ResultType = 15,
266 const CXCompletionChunk_Colon = 16,
267 const CXCompletionChunk_SemiColon = 17,
268 const CXCompletionChunk_Equal = 18,
269 const CXCompletionChunk_HorizontalSpace = 19,
270 const CXCompletionChunk_VerticalSpace = 20,
271 }
272}
273
274cenum! {
275 enum CXCursorKind {
276 const CXCursor_UnexposedDecl = 1,
277 const CXCursor_StructDecl = 2,
278 const CXCursor_UnionDecl = 3,
279 const CXCursor_ClassDecl = 4,
280 const CXCursor_EnumDecl = 5,
281 const CXCursor_FieldDecl = 6,
282 const CXCursor_EnumConstantDecl = 7,
283 const CXCursor_FunctionDecl = 8,
284 const CXCursor_VarDecl = 9,
285 const CXCursor_ParmDecl = 10,
286 const CXCursor_ObjCInterfaceDecl = 11,
287 const CXCursor_ObjCCategoryDecl = 12,
288 const CXCursor_ObjCProtocolDecl = 13,
289 const CXCursor_ObjCPropertyDecl = 14,
290 const CXCursor_ObjCIvarDecl = 15,
291 const CXCursor_ObjCInstanceMethodDecl = 16,
292 const CXCursor_ObjCClassMethodDecl = 17,
293 const CXCursor_ObjCImplementationDecl = 18,
294 const CXCursor_ObjCCategoryImplDecl = 19,
295 const CXCursor_TypedefDecl = 20,
296 const CXCursor_CXXMethod = 21,
297 const CXCursor_Namespace = 22,
298 const CXCursor_LinkageSpec = 23,
299 const CXCursor_Constructor = 24,
300 const CXCursor_Destructor = 25,
301 const CXCursor_ConversionFunction = 26,
302 const CXCursor_TemplateTypeParameter = 27,
303 const CXCursor_NonTypeTemplateParameter = 28,
304 const CXCursor_TemplateTemplateParameter = 29,
305 const CXCursor_FunctionTemplate = 30,
306 const CXCursor_ClassTemplate = 31,
307 const CXCursor_ClassTemplatePartialSpecialization = 32,
308 const CXCursor_NamespaceAlias = 33,
309 const CXCursor_UsingDirective = 34,
310 const CXCursor_UsingDeclaration = 35,
311 const CXCursor_TypeAliasDecl = 36,
312 const CXCursor_ObjCSynthesizeDecl = 37,
313 const CXCursor_ObjCDynamicDecl = 38,
314 const CXCursor_CXXAccessSpecifier = 39,
315 const CXCursor_ObjCSuperClassRef = 40,
316 const CXCursor_ObjCProtocolRef = 41,
317 const CXCursor_ObjCClassRef = 42,
318 const CXCursor_TypeRef = 43,
319 const CXCursor_CXXBaseSpecifier = 44,
320 const CXCursor_TemplateRef = 45,
321 const CXCursor_NamespaceRef = 46,
322 const CXCursor_MemberRef = 47,
323 const CXCursor_LabelRef = 48,
324 const CXCursor_OverloadedDeclRef = 49,
325 const CXCursor_VariableRef = 50,
326 const CXCursor_InvalidFile = 70,
327 const CXCursor_NoDeclFound = 71,
328 const CXCursor_NotImplemented = 72,
329 const CXCursor_InvalidCode = 73,
330 const CXCursor_UnexposedExpr = 100,
331 const CXCursor_DeclRefExpr = 101,
332 const CXCursor_MemberRefExpr = 102,
333 const CXCursor_CallExpr = 103,
334 const CXCursor_ObjCMessageExpr = 104,
335 const CXCursor_BlockExpr = 105,
336 const CXCursor_IntegerLiteral = 106,
337 const CXCursor_FloatingLiteral = 107,
338 const CXCursor_ImaginaryLiteral = 108,
339 const CXCursor_StringLiteral = 109,
340 const CXCursor_CharacterLiteral = 110,
341 const CXCursor_ParenExpr = 111,
342 const CXCursor_UnaryOperator = 112,
343 const CXCursor_ArraySubscriptExpr = 113,
344 const CXCursor_BinaryOperator = 114,
345 const CXCursor_CompoundAssignOperator = 115,
346 const CXCursor_ConditionalOperator = 116,
347 const CXCursor_CStyleCastExpr = 117,
348 const CXCursor_CompoundLiteralExpr = 118,
349 const CXCursor_InitListExpr = 119,
350 const CXCursor_AddrLabelExpr = 120,
351 const CXCursor_StmtExpr = 121,
352 const CXCursor_GenericSelectionExpr = 122,
353 const CXCursor_GNUNullExpr = 123,
354 const CXCursor_CXXStaticCastExpr = 124,
355 const CXCursor_CXXDynamicCastExpr = 125,
356 const CXCursor_CXXReinterpretCastExpr = 126,
357 const CXCursor_CXXConstCastExpr = 127,
358 const CXCursor_CXXFunctionalCastExpr = 128,
359 const CXCursor_CXXTypeidExpr = 129,
360 const CXCursor_CXXBoolLiteralExpr = 130,
361 const CXCursor_CXXNullPtrLiteralExpr = 131,
362 const CXCursor_CXXThisExpr = 132,
363 const CXCursor_CXXThrowExpr = 133,
364 const CXCursor_CXXNewExpr = 134,
365 const CXCursor_CXXDeleteExpr = 135,
366 const CXCursor_UnaryExpr = 136,
367 const CXCursor_ObjCStringLiteral = 137,
368 const CXCursor_ObjCEncodeExpr = 138,
369 const CXCursor_ObjCSelectorExpr = 139,
370 const CXCursor_ObjCProtocolExpr = 140,
371 const CXCursor_ObjCBridgedCastExpr = 141,
372 const CXCursor_PackExpansionExpr = 142,
373 const CXCursor_SizeOfPackExpr = 143,
374 const CXCursor_LambdaExpr = 144,
375 const CXCursor_ObjCBoolLiteralExpr = 145,
376 const CXCursor_ObjCSelfExpr = 146,
377 const CXCursor_OMPArraySectionExpr = 147,
379 const CXCursor_ObjCAvailabilityCheckExpr = 148,
381 const CXCursor_FixedPointLiteral = 149,
383 const CXCursor_OMPArrayShapingExpr = 150,
385 const CXCursor_OMPIteratorExpr = 151,
387 const CXCursor_CXXAddrspaceCastExpr = 152,
389 const CXCursor_ConceptSpecializationExpr = 153,
391 const CXCursor_RequiresExpr = 154,
393 const CXCursor_CXXParenListInitExpr = 155,
395 const CXCursor_UnexposedStmt = 200,
396 const CXCursor_LabelStmt = 201,
397 const CXCursor_CompoundStmt = 202,
398 const CXCursor_CaseStmt = 203,
399 const CXCursor_DefaultStmt = 204,
400 const CXCursor_IfStmt = 205,
401 const CXCursor_SwitchStmt = 206,
402 const CXCursor_WhileStmt = 207,
403 const CXCursor_DoStmt = 208,
404 const CXCursor_ForStmt = 209,
405 const CXCursor_GotoStmt = 210,
406 const CXCursor_IndirectGotoStmt = 211,
407 const CXCursor_ContinueStmt = 212,
408 const CXCursor_BreakStmt = 213,
409 const CXCursor_ReturnStmt = 214,
410 const CXCursor_AsmStmt = 215,
412 const CXCursor_ObjCAtTryStmt = 216,
413 const CXCursor_ObjCAtCatchStmt = 217,
414 const CXCursor_ObjCAtFinallyStmt = 218,
415 const CXCursor_ObjCAtThrowStmt = 219,
416 const CXCursor_ObjCAtSynchronizedStmt = 220,
417 const CXCursor_ObjCAutoreleasePoolStmt = 221,
418 const CXCursor_ObjCForCollectionStmt = 222,
419 const CXCursor_CXXCatchStmt = 223,
420 const CXCursor_CXXTryStmt = 224,
421 const CXCursor_CXXForRangeStmt = 225,
422 const CXCursor_SEHTryStmt = 226,
423 const CXCursor_SEHExceptStmt = 227,
424 const CXCursor_SEHFinallyStmt = 228,
425 const CXCursor_MSAsmStmt = 229,
426 const CXCursor_NullStmt = 230,
427 const CXCursor_DeclStmt = 231,
428 const CXCursor_OMPParallelDirective = 232,
429 const CXCursor_OMPSimdDirective = 233,
430 const CXCursor_OMPForDirective = 234,
431 const CXCursor_OMPSectionsDirective = 235,
432 const CXCursor_OMPSectionDirective = 236,
433 const CXCursor_OMPSingleDirective = 237,
434 const CXCursor_OMPParallelForDirective = 238,
435 const CXCursor_OMPParallelSectionsDirective = 239,
436 const CXCursor_OMPTaskDirective = 240,
437 const CXCursor_OMPMasterDirective = 241,
438 const CXCursor_OMPCriticalDirective = 242,
439 const CXCursor_OMPTaskyieldDirective = 243,
440 const CXCursor_OMPBarrierDirective = 244,
441 const CXCursor_OMPTaskwaitDirective = 245,
442 const CXCursor_OMPFlushDirective = 246,
443 const CXCursor_SEHLeaveStmt = 247,
444 const CXCursor_OMPOrderedDirective = 248,
446 const CXCursor_OMPAtomicDirective = 249,
448 const CXCursor_OMPForSimdDirective = 250,
450 const CXCursor_OMPParallelForSimdDirective = 251,
452 const CXCursor_OMPTargetDirective = 252,
454 const CXCursor_OMPTeamsDirective = 253,
456 const CXCursor_OMPTaskgroupDirective = 254,
458 const CXCursor_OMPCancellationPointDirective = 255,
460 const CXCursor_OMPCancelDirective = 256,
462 const CXCursor_OMPTargetDataDirective = 257,
464 const CXCursor_OMPTaskLoopDirective = 258,
466 const CXCursor_OMPTaskLoopSimdDirective = 259,
468 const CXCursor_OMPDistributeDirective = 260,
470 const CXCursor_OMPTargetEnterDataDirective = 261,
472 const CXCursor_OMPTargetExitDataDirective = 262,
474 const CXCursor_OMPTargetParallelDirective = 263,
476 const CXCursor_OMPTargetParallelForDirective = 264,
478 const CXCursor_OMPTargetUpdateDirective = 265,
480 const CXCursor_OMPDistributeParallelForDirective = 266,
482 const CXCursor_OMPDistributeParallelForSimdDirective = 267,
484 const CXCursor_OMPDistributeSimdDirective = 268,
486 const CXCursor_OMPTargetParallelForSimdDirective = 269,
488 const CXCursor_OMPTargetSimdDirective = 270,
490 const CXCursor_OMPTeamsDistributeDirective = 271,
492 const CXCursor_OMPTeamsDistributeSimdDirective = 272,
494 const CXCursor_OMPTeamsDistributeParallelForSimdDirective = 273,
496 const CXCursor_OMPTeamsDistributeParallelForDirective = 274,
498 const CXCursor_OMPTargetTeamsDirective = 275,
500 const CXCursor_OMPTargetTeamsDistributeDirective = 276,
502 const CXCursor_OMPTargetTeamsDistributeParallelForDirective = 277,
504 const CXCursor_OMPTargetTeamsDistributeParallelForSimdDirective = 278,
506 const CXCursor_OMPTargetTeamsDistributeSimdDirective = 279,
508 const CXCursor_BuiltinBitCastExpr = 280,
510 const CXCursor_OMPMasterTaskLoopDirective = 281,
512 const CXCursor_OMPParallelMasterTaskLoopDirective = 282,
514 const CXCursor_OMPMasterTaskLoopSimdDirective = 283,
516 const CXCursor_OMPParallelMasterTaskLoopSimdDirective = 284,
518 const CXCursor_OMPParallelMasterDirective = 285,
520 const CXCursor_OMPDepobjDirective = 286,
522 const CXCursor_OMPScanDirective = 287,
524 const CXCursor_OMPTileDirective = 288,
526 const CXCursor_OMPCanonicalLoop = 289,
528 const CXCursor_OMPInteropDirective = 290,
530 const CXCursor_OMPDispatchDirective = 291,
532 const CXCursor_OMPMaskedDirective = 292,
534 const CXCursor_OMPUnrollDirective = 293,
536 const CXCursor_OMPMetaDirective = 294,
538 const CXCursor_OMPGenericLoopDirective = 295,
540 const CXCursor_OMPTeamsGenericLoopDirective = 296,
542 const CXCursor_OMPTargetTeamsGenericLoopDirective = 297,
544 const CXCursor_OMPParallelGenericLoopDirective = 298,
546 const CXCursor_OMPTargetParallelGenericLoopDirective = 299,
548 const CXCursor_OMPParallelMaskedDirective = 300,
550 const CXCursor_OMPMaskedTaskLoopDirective = 301,
552 const CXCursor_OMPMaskedTaskLoopSimdDirective = 302,
554 const CXCursor_OMPParallelMaskedTaskLoopDirective = 303,
556 const CXCursor_OMPParallelMaskedTaskLoopSimdDirective = 304,
558 const CXCursor_OMPErrorDirective = 305,
560 const CXCursor_OMPScopeDirective = 306,
562 #[cfg(not(feature="clang_15_0"))]
563 const CXCursor_TranslationUnit = 300,
564 #[cfg(feature="clang_15_0")]
565 const CXCursor_TranslationUnit = 350,
566 const CXCursor_UnexposedAttr = 400,
567 const CXCursor_IBActionAttr = 401,
568 const CXCursor_IBOutletAttr = 402,
569 const CXCursor_IBOutletCollectionAttr = 403,
570 const CXCursor_CXXFinalAttr = 404,
571 const CXCursor_CXXOverrideAttr = 405,
572 const CXCursor_AnnotateAttr = 406,
573 const CXCursor_AsmLabelAttr = 407,
574 const CXCursor_PackedAttr = 408,
575 const CXCursor_PureAttr = 409,
576 const CXCursor_ConstAttr = 410,
577 const CXCursor_NoDuplicateAttr = 411,
578 const CXCursor_CUDAConstantAttr = 412,
579 const CXCursor_CUDADeviceAttr = 413,
580 const CXCursor_CUDAGlobalAttr = 414,
581 const CXCursor_CUDAHostAttr = 415,
582 const CXCursor_CUDASharedAttr = 416,
584 const CXCursor_VisibilityAttr = 417,
586 const CXCursor_DLLExport = 418,
588 const CXCursor_DLLImport = 419,
590 const CXCursor_NSReturnsRetained = 420,
592 const CXCursor_NSReturnsNotRetained = 421,
594 const CXCursor_NSReturnsAutoreleased = 422,
596 const CXCursor_NSConsumesSelf = 423,
598 const CXCursor_NSConsumed = 424,
600 const CXCursor_ObjCException = 425,
602 const CXCursor_ObjCNSObject = 426,
604 const CXCursor_ObjCIndependentClass = 427,
606 const CXCursor_ObjCPreciseLifetime = 428,
608 const CXCursor_ObjCReturnsInnerPointer = 429,
610 const CXCursor_ObjCRequiresSuper = 430,
612 const CXCursor_ObjCRootClass = 431,
614 const CXCursor_ObjCSubclassingRestricted = 432,
616 const CXCursor_ObjCExplicitProtocolImpl = 433,
618 const CXCursor_ObjCDesignatedInitializer = 434,
620 const CXCursor_ObjCRuntimeVisible = 435,
622 const CXCursor_ObjCBoxable = 436,
624 const CXCursor_FlagEnum = 437,
626 const CXCursor_ConvergentAttr = 438,
628 const CXCursor_WarnUnusedAttr = 439,
630 const CXCursor_WarnUnusedResultAttr = 440,
632 const CXCursor_AlignedAttr = 441,
634 const CXCursor_PreprocessingDirective = 500,
635 const CXCursor_MacroDefinition = 501,
636 const CXCursor_MacroExpansion = 502,
638 const CXCursor_InclusionDirective = 503,
639 const CXCursor_ModuleImportDecl = 600,
640 const CXCursor_TypeAliasTemplateDecl = 601,
642 const CXCursor_StaticAssert = 602,
644 const CXCursor_FriendDecl = 603,
646 const CXCursor_ConceptDecl = 604,
648 const CXCursor_OverloadCandidate = 700,
650 }
651}
652
653cenum! {
654 #[cfg(feature = "clang_5_0")]
656 enum CXCursor_ExceptionSpecificationKind {
657 const CXCursor_ExceptionSpecificationKind_None = 0,
658 const CXCursor_ExceptionSpecificationKind_DynamicNone = 1,
659 const CXCursor_ExceptionSpecificationKind_Dynamic = 2,
660 const CXCursor_ExceptionSpecificationKind_MSAny = 3,
661 const CXCursor_ExceptionSpecificationKind_BasicNoexcept = 4,
662 const CXCursor_ExceptionSpecificationKind_ComputedNoexcept = 5,
663 const CXCursor_ExceptionSpecificationKind_Unevaluated = 6,
664 const CXCursor_ExceptionSpecificationKind_Uninstantiated = 7,
665 const CXCursor_ExceptionSpecificationKind_Unparsed = 8,
666 #[cfg(feature = "clang_9_0")]
668 const CXCursor_ExceptionSpecificationKind_NoThrow = 9,
669 }
670}
671
672cenum! {
673 enum CXDiagnosticSeverity {
674 const CXDiagnostic_Ignored = 0,
675 const CXDiagnostic_Note = 1,
676 const CXDiagnostic_Warning = 2,
677 const CXDiagnostic_Error = 3,
678 const CXDiagnostic_Fatal = 4,
679 }
680}
681
682cenum! {
683 enum CXErrorCode {
684 const CXError_Success = 0,
685 const CXError_Failure = 1,
686 const CXError_Crashed = 2,
687 const CXError_InvalidArguments = 3,
688 const CXError_ASTReadError = 4,
689 }
690}
691
692cenum! {
693 enum CXEvalResultKind {
694 const CXEval_UnExposed = 0,
695 const CXEval_Int = 1 ,
696 const CXEval_Float = 2,
697 const CXEval_ObjCStrLiteral = 3,
698 const CXEval_StrLiteral = 4,
699 const CXEval_CFStr = 5,
700 const CXEval_Other = 6,
701 }
702}
703
704cenum! {
705 enum CXIdxAttrKind {
706 const CXIdxAttr_Unexposed = 0,
707 const CXIdxAttr_IBAction = 1,
708 const CXIdxAttr_IBOutlet = 2,
709 const CXIdxAttr_IBOutletCollection = 3,
710 }
711}
712
713cenum! {
714 enum CXIdxEntityCXXTemplateKind {
715 const CXIdxEntity_NonTemplate = 0,
716 const CXIdxEntity_Template = 1,
717 const CXIdxEntity_TemplatePartialSpecialization = 2,
718 const CXIdxEntity_TemplateSpecialization = 3,
719 }
720}
721
722cenum! {
723 enum CXIdxEntityKind {
724 const CXIdxEntity_Unexposed = 0,
725 const CXIdxEntity_Typedef = 1,
726 const CXIdxEntity_Function = 2,
727 const CXIdxEntity_Variable = 3,
728 const CXIdxEntity_Field = 4,
729 const CXIdxEntity_EnumConstant = 5,
730 const CXIdxEntity_ObjCClass = 6,
731 const CXIdxEntity_ObjCProtocol = 7,
732 const CXIdxEntity_ObjCCategory = 8,
733 const CXIdxEntity_ObjCInstanceMethod = 9,
734 const CXIdxEntity_ObjCClassMethod = 10,
735 const CXIdxEntity_ObjCProperty = 11,
736 const CXIdxEntity_ObjCIvar = 12,
737 const CXIdxEntity_Enum = 13,
738 const CXIdxEntity_Struct = 14,
739 const CXIdxEntity_Union = 15,
740 const CXIdxEntity_CXXClass = 16,
741 const CXIdxEntity_CXXNamespace = 17,
742 const CXIdxEntity_CXXNamespaceAlias = 18,
743 const CXIdxEntity_CXXStaticVariable = 19,
744 const CXIdxEntity_CXXStaticMethod = 20,
745 const CXIdxEntity_CXXInstanceMethod = 21,
746 const CXIdxEntity_CXXConstructor = 22,
747 const CXIdxEntity_CXXDestructor = 23,
748 const CXIdxEntity_CXXConversionFunction = 24,
749 const CXIdxEntity_CXXTypeAlias = 25,
750 const CXIdxEntity_CXXInterface = 26,
751 const CXIdxEntity_CXXConcept = 27,
753 }
754}
755
756cenum! {
757 enum CXIdxEntityLanguage {
758 const CXIdxEntityLang_None = 0,
759 const CXIdxEntityLang_C = 1,
760 const CXIdxEntityLang_ObjC = 2,
761 const CXIdxEntityLang_CXX = 3,
762 const CXIdxEntityLang_Swift = 4,
764 }
765}
766
767cenum! {
768 enum CXIdxEntityRefKind {
769 const CXIdxEntityRef_Direct = 1,
770 const CXIdxEntityRef_Implicit = 2,
771 }
772}
773
774cenum! {
775 enum CXIdxObjCContainerKind {
776 const CXIdxObjCContainer_ForwardRef = 0,
777 const CXIdxObjCContainer_Interface = 1,
778 const CXIdxObjCContainer_Implementation = 2,
779 }
780}
781
782cenum! {
783 enum CXLanguageKind {
784 const CXLanguage_Invalid = 0,
785 const CXLanguage_C = 1,
786 const CXLanguage_ObjC = 2,
787 const CXLanguage_CPlusPlus = 3,
788 }
789}
790
791cenum! {
792 enum CXLinkageKind {
793 const CXLinkage_Invalid = 0,
794 const CXLinkage_NoLinkage = 1,
795 const CXLinkage_Internal = 2,
796 const CXLinkage_UniqueExternal = 3,
797 const CXLinkage_External = 4,
798 }
799}
800
801cenum! {
802 enum CXLoadDiag_Error {
803 const CXLoadDiag_None = 0,
804 const CXLoadDiag_Unknown = 1,
805 const CXLoadDiag_CannotLoad = 2,
806 const CXLoadDiag_InvalidFile = 3,
807 }
808}
809
810cenum! {
811 #[cfg(feature = "clang_7_0")]
813 enum CXPrintingPolicyProperty {
814 const CXPrintingPolicy_Indentation = 0,
815 const CXPrintingPolicy_SuppressSpecifiers = 1,
816 const CXPrintingPolicy_SuppressTagKeyword = 2,
817 const CXPrintingPolicy_IncludeTagDefinition = 3,
818 const CXPrintingPolicy_SuppressScope = 4,
819 const CXPrintingPolicy_SuppressUnwrittenScope = 5,
820 const CXPrintingPolicy_SuppressInitializers = 6,
821 const CXPrintingPolicy_ConstantArraySizeAsWritten = 7,
822 const CXPrintingPolicy_AnonymousTagLocations = 8,
823 const CXPrintingPolicy_SuppressStrongLifetime = 9,
824 const CXPrintingPolicy_SuppressLifetimeQualifiers = 10,
825 const CXPrintingPolicy_SuppressTemplateArgsInCXXConstructors = 11,
826 const CXPrintingPolicy_Bool = 12,
827 const CXPrintingPolicy_Restrict = 13,
828 const CXPrintingPolicy_Alignof = 14,
829 const CXPrintingPolicy_UnderscoreAlignof = 15,
830 const CXPrintingPolicy_UseVoidForZeroParams = 16,
831 const CXPrintingPolicy_TerseOutput = 17,
832 const CXPrintingPolicy_PolishForDeclaration = 18,
833 const CXPrintingPolicy_Half = 19,
834 const CXPrintingPolicy_MSWChar = 20,
835 const CXPrintingPolicy_IncludeNewlines = 21,
836 const CXPrintingPolicy_MSVCFormatting = 22,
837 const CXPrintingPolicy_ConstantsAsWritten = 23,
838 const CXPrintingPolicy_SuppressImplicitBase = 24,
839 const CXPrintingPolicy_FullyQualifiedName = 25,
840 }
841}
842
843cenum! {
844 enum CXRefQualifierKind {
845 const CXRefQualifier_None = 0,
846 const CXRefQualifier_LValue = 1,
847 const CXRefQualifier_RValue = 2,
848 }
849}
850
851cenum! {
852 enum CXResult {
853 const CXResult_Success = 0,
854 const CXResult_Invalid = 1,
855 const CXResult_VisitBreak = 2,
856 }
857}
858
859cenum! {
860 enum CXSaveError {
861 const CXSaveError_None = 0,
862 const CXSaveError_Unknown = 1,
863 const CXSaveError_TranslationErrors = 2,
864 const CXSaveError_InvalidTU = 3,
865 }
866}
867
868cenum! {
869 #[cfg(feature = "clang_6_0")]
871 enum CXTLSKind {
872 const CXTLS_None = 0,
873 const CXTLS_Dynamic = 1,
874 const CXTLS_Static = 2,
875 }
876}
877
878cenum! {
879 enum CXTUResourceUsageKind {
880 const CXTUResourceUsage_AST = 1,
881 const CXTUResourceUsage_Identifiers = 2,
882 const CXTUResourceUsage_Selectors = 3,
883 const CXTUResourceUsage_GlobalCompletionResults = 4,
884 const CXTUResourceUsage_SourceManagerContentCache = 5,
885 const CXTUResourceUsage_AST_SideTables = 6,
886 const CXTUResourceUsage_SourceManager_Membuffer_Malloc = 7,
887 const CXTUResourceUsage_SourceManager_Membuffer_MMap = 8,
888 const CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc = 9,
889 const CXTUResourceUsage_ExternalASTSource_Membuffer_MMap = 10,
890 const CXTUResourceUsage_Preprocessor = 11,
891 const CXTUResourceUsage_PreprocessingRecord = 12,
892 const CXTUResourceUsage_SourceManager_DataStructures = 13,
893 const CXTUResourceUsage_Preprocessor_HeaderSearch = 14,
894 }
895}
896
897cenum! {
898 #[cfg(feature = "clang_3_6")]
900 enum CXTemplateArgumentKind {
901 const CXTemplateArgumentKind_Null = 0,
902 const CXTemplateArgumentKind_Type = 1,
903 const CXTemplateArgumentKind_Declaration = 2,
904 const CXTemplateArgumentKind_NullPtr = 3,
905 const CXTemplateArgumentKind_Integral = 4,
906 const CXTemplateArgumentKind_Template = 5,
907 const CXTemplateArgumentKind_TemplateExpansion = 6,
908 const CXTemplateArgumentKind_Expression = 7,
909 const CXTemplateArgumentKind_Pack = 8,
910 const CXTemplateArgumentKind_Invalid = 9,
911 }
912}
913
914cenum! {
915 enum CXTokenKind {
916 const CXToken_Punctuation = 0,
917 const CXToken_Keyword = 1,
918 const CXToken_Identifier = 2,
919 const CXToken_Literal = 3,
920 const CXToken_Comment = 4,
921 }
922}
923
924cenum! {
925 enum CXTypeKind {
926 const CXType_Invalid = 0,
927 const CXType_Unexposed = 1,
928 const CXType_Void = 2,
929 const CXType_Bool = 3,
930 const CXType_Char_U = 4,
931 const CXType_UChar = 5,
932 const CXType_Char16 = 6,
933 const CXType_Char32 = 7,
934 const CXType_UShort = 8,
935 const CXType_UInt = 9,
936 const CXType_ULong = 10,
937 const CXType_ULongLong = 11,
938 const CXType_UInt128 = 12,
939 const CXType_Char_S = 13,
940 const CXType_SChar = 14,
941 const CXType_WChar = 15,
942 const CXType_Short = 16,
943 const CXType_Int = 17,
944 const CXType_Long = 18,
945 const CXType_LongLong = 19,
946 const CXType_Int128 = 20,
947 const CXType_Float = 21,
948 const CXType_Double = 22,
949 const CXType_LongDouble = 23,
950 const CXType_NullPtr = 24,
951 const CXType_Overload = 25,
952 const CXType_Dependent = 26,
953 const CXType_ObjCId = 27,
954 const CXType_ObjCClass = 28,
955 const CXType_ObjCSel = 29,
956 const CXType_Float128 = 30,
958 const CXType_Half = 31,
960 const CXType_Float16 = 32,
962 const CXType_ShortAccum = 33,
964 const CXType_Accum = 34,
966 const CXType_LongAccum = 35,
968 const CXType_UShortAccum = 36,
970 const CXType_UAccum = 37,
972 const CXType_ULongAccum = 38,
974 const CXType_BFloat16 = 39,
976 const CXType_Ibm128 = 40,
978 const CXType_Complex = 100,
979 const CXType_Pointer = 101,
980 const CXType_BlockPointer = 102,
981 const CXType_LValueReference = 103,
982 const CXType_RValueReference = 104,
983 const CXType_Record = 105,
984 const CXType_Enum = 106,
985 const CXType_Typedef = 107,
986 const CXType_ObjCInterface = 108,
987 const CXType_ObjCObjectPointer = 109,
988 const CXType_FunctionNoProto = 110,
989 const CXType_FunctionProto = 111,
990 const CXType_ConstantArray = 112,
991 const CXType_Vector = 113,
992 const CXType_IncompleteArray = 114,
993 const CXType_VariableArray = 115,
994 const CXType_DependentSizedArray = 116,
995 const CXType_MemberPointer = 117,
996 const CXType_Auto = 118,
998 const CXType_Elaborated = 119,
1000 const CXType_Pipe = 120,
1002 const CXType_OCLImage1dRO = 121,
1004 const CXType_OCLImage1dArrayRO = 122,
1006 const CXType_OCLImage1dBufferRO = 123,
1008 const CXType_OCLImage2dRO = 124,
1010 const CXType_OCLImage2dArrayRO = 125,
1012 const CXType_OCLImage2dDepthRO = 126,
1014 const CXType_OCLImage2dArrayDepthRO = 127,
1016 const CXType_OCLImage2dMSAARO = 128,
1018 const CXType_OCLImage2dArrayMSAARO = 129,
1020 const CXType_OCLImage2dMSAADepthRO = 130,
1022 const CXType_OCLImage2dArrayMSAADepthRO = 131,
1024 const CXType_OCLImage3dRO = 132,
1026 const CXType_OCLImage1dWO = 133,
1028 const CXType_OCLImage1dArrayWO = 134,
1030 const CXType_OCLImage1dBufferWO = 135,
1032 const CXType_OCLImage2dWO = 136,
1034 const CXType_OCLImage2dArrayWO = 137,
1036 const CXType_OCLImage2dDepthWO = 138,
1038 const CXType_OCLImage2dArrayDepthWO = 139,
1040 const CXType_OCLImage2dMSAAWO = 140,
1042 const CXType_OCLImage2dArrayMSAAWO = 141,
1044 const CXType_OCLImage2dMSAADepthWO = 142,
1046 const CXType_OCLImage2dArrayMSAADepthWO = 143,
1048 const CXType_OCLImage3dWO = 144,
1050 const CXType_OCLImage1dRW = 145,
1052 const CXType_OCLImage1dArrayRW = 146,
1054 const CXType_OCLImage1dBufferRW = 147,
1056 const CXType_OCLImage2dRW = 148,
1058 const CXType_OCLImage2dArrayRW = 149,
1060 const CXType_OCLImage2dDepthRW = 150,
1062 const CXType_OCLImage2dArrayDepthRW = 151,
1064 const CXType_OCLImage2dMSAARW = 152,
1066 const CXType_OCLImage2dArrayMSAARW = 153,
1068 const CXType_OCLImage2dMSAADepthRW = 154,
1070 const CXType_OCLImage2dArrayMSAADepthRW = 155,
1072 const CXType_OCLImage3dRW = 156,
1074 const CXType_OCLSampler = 157,
1076 const CXType_OCLEvent = 158,
1078 const CXType_OCLQueue = 159,
1080 const CXType_OCLReserveID = 160,
1082 const CXType_ObjCObject = 161,
1084 const CXType_ObjCTypeParam = 162,
1086 const CXType_Attributed = 163,
1088 const CXType_OCLIntelSubgroupAVCMcePayload = 164,
1090 const CXType_OCLIntelSubgroupAVCImePayload = 165,
1092 const CXType_OCLIntelSubgroupAVCRefPayload = 166,
1094 const CXType_OCLIntelSubgroupAVCSicPayload = 167,
1096 const CXType_OCLIntelSubgroupAVCMceResult = 168,
1098 const CXType_OCLIntelSubgroupAVCImeResult = 169,
1100 const CXType_OCLIntelSubgroupAVCRefResult = 170,
1102 const CXType_OCLIntelSubgroupAVCSicResult = 171,
1104 const CXType_OCLIntelSubgroupAVCImeResultSingleRefStreamout = 172,
1106 const CXType_OCLIntelSubgroupAVCImeResultDualRefStreamout = 173,
1108 const CXType_OCLIntelSubgroupAVCImeSingleRefStreamin = 174,
1110 const CXType_OCLIntelSubgroupAVCImeDualRefStreamin = 175,
1112 const CXType_ExtVector = 176,
1114 const CXType_Atomic = 177,
1116 const CXType_BTFTagAttributed = 178,
1118 }
1119}
1120
1121cenum! {
1122 enum CXTypeLayoutError {
1123 const CXTypeLayoutError_Invalid = -1,
1124 const CXTypeLayoutError_Incomplete = -2,
1125 const CXTypeLayoutError_Dependent = -3,
1126 const CXTypeLayoutError_NotConstantSize = -4,
1127 const CXTypeLayoutError_InvalidFieldName = -5,
1128 const CXTypeLayoutError_Undeduced = -6,
1130 }
1131}
1132
1133cenum! {
1134 #[cfg(feature = "clang_3_8")]
1136 enum CXVisibilityKind {
1137 const CXVisibility_Invalid = 0,
1138 const CXVisibility_Hidden = 1,
1139 const CXVisibility_Protected = 2,
1140 const CXVisibility_Default = 3,
1141 }
1142}
1143
1144cenum! {
1145 #[cfg(feature = "clang_8_0")]
1147 enum CXTypeNullabilityKind {
1148 const CXTypeNullability_NonNull = 0,
1149 const CXTypeNullability_Nullable = 1,
1150 const CXTypeNullability_Unspecified = 2,
1151 const CXTypeNullability_Invalid = 3,
1152 const CXTypeNullability_NullableResult = 4,
1154 }
1155}
1156
1157cenum! {
1158 #[cfg(feature = "clang_17_0")]
1160 enum CXUnaryOperatorKind {
1161 const CXUnaryOperator_Invalid = 0,
1162 const CXUnaryOperator_PostInc = 1,
1163 const CXUnaryOperator_PostDec = 2,
1164 const CXUnaryOperator_PreInc = 3,
1165 const CXUnaryOperator_PreDec = 4,
1166 const CXUnaryOperator_AddrOf = 5,
1167 const CXUnaryOperator_Deref = 6,
1168 const CXUnaryOperator_Plus = 7,
1169 const CXUnaryOperator_Minus = 8,
1170 const CXUnaryOperator_Not = 9,
1171 const CXUnaryOperator_LNot = 10,
1172 const CXUnaryOperator_Real = 11,
1173 const CXUnaryOperator_Imag = 12,
1174 const CXUnaryOperator_Extension = 13,
1175 const CXUnaryOperator_Coawait = 14,
1176 }
1177}
1178
1179cenum! {
1180 enum CXVisitorResult {
1181 const CXVisit_Break = 0,
1182 const CXVisit_Continue = 1,
1183 }
1184}
1185
1186cenum! {
1187 enum CX_CXXAccessSpecifier {
1188 const CX_CXXInvalidAccessSpecifier = 0,
1189 const CX_CXXPublic = 1,
1190 const CX_CXXProtected = 2,
1191 const CX_CXXPrivate = 3,
1192 }
1193}
1194
1195cenum! {
1196 #[cfg(feature = "clang_3_6")]
1198 enum CX_StorageClass {
1199 const CX_SC_Invalid = 0,
1200 const CX_SC_None = 1,
1201 const CX_SC_Extern = 2,
1202 const CX_SC_Static = 3,
1203 const CX_SC_PrivateExtern = 4,
1204 const CX_SC_OpenCLWorkGroupLocal = 5,
1205 const CX_SC_Auto = 6,
1206 const CX_SC_Register = 7,
1207 }
1208}
1209
1210cenum! {
1215 enum CXCodeComplete_Flags {
1216 const CXCodeComplete_IncludeMacros = 1;
1217 const CXCodeComplete_IncludeCodePatterns = 2;
1218 const CXCodeComplete_IncludeBriefComments = 4;
1219 const CXCodeComplete_SkipPreamble = 8;
1220 const CXCodeComplete_IncludeCompletionsWithFixIts = 16;
1221 }
1222}
1223
1224cenum! {
1225 enum CXCompletionContext {
1226 const CXCompletionContext_Unexposed = 0;
1227 const CXCompletionContext_AnyType = 1;
1228 const CXCompletionContext_AnyValue = 2;
1229 const CXCompletionContext_ObjCObjectValue = 4;
1230 const CXCompletionContext_ObjCSelectorValue = 8;
1231 const CXCompletionContext_CXXClassTypeValue = 16;
1232 const CXCompletionContext_DotMemberAccess = 32;
1233 const CXCompletionContext_ArrowMemberAccess = 64;
1234 const CXCompletionContext_ObjCPropertyAccess = 128;
1235 const CXCompletionContext_EnumTag = 256;
1236 const CXCompletionContext_UnionTag = 512;
1237 const CXCompletionContext_StructTag = 1024;
1238 const CXCompletionContext_ClassTag = 2048;
1239 const CXCompletionContext_Namespace = 4096;
1240 const CXCompletionContext_NestedNameSpecifier = 8192;
1241 const CXCompletionContext_ObjCInterface = 16384;
1242 const CXCompletionContext_ObjCProtocol = 32768;
1243 const CXCompletionContext_ObjCCategory = 65536;
1244 const CXCompletionContext_ObjCInstanceMessage = 131072;
1245 const CXCompletionContext_ObjCClassMessage = 262144;
1246 const CXCompletionContext_ObjCSelectorName = 524288;
1247 const CXCompletionContext_MacroName = 1048576;
1248 const CXCompletionContext_NaturalLanguage = 2097152;
1249 const CXCompletionContext_IncludedFile = 4194304;
1250 const CXCompletionContext_Unknown = 8388607;
1251 }
1252}
1253
1254cenum! {
1255 enum CXDiagnosticDisplayOptions {
1256 const CXDiagnostic_DisplaySourceLocation = 1;
1257 const CXDiagnostic_DisplayColumn = 2;
1258 const CXDiagnostic_DisplaySourceRanges = 4;
1259 const CXDiagnostic_DisplayOption = 8;
1260 const CXDiagnostic_DisplayCategoryId = 16;
1261 const CXDiagnostic_DisplayCategoryName = 32;
1262 }
1263}
1264
1265cenum! {
1266 enum CXGlobalOptFlags {
1267 const CXGlobalOpt_None = 0;
1268 const CXGlobalOpt_ThreadBackgroundPriorityForIndexing = 1;
1269 const CXGlobalOpt_ThreadBackgroundPriorityForEditing = 2;
1270 const CXGlobalOpt_ThreadBackgroundPriorityForAll = 3;
1271 }
1272}
1273
1274cenum! {
1275 enum CXIdxDeclInfoFlags {
1276 const CXIdxDeclFlag_Skipped = 1;
1277 }
1278}
1279
1280cenum! {
1281 enum CXIndexOptFlags {
1282 const CXIndexOptNone = 0;
1283 const CXIndexOptSuppressRedundantRefs = 1;
1284 const CXIndexOptIndexFunctionLocalSymbols = 2;
1285 const CXIndexOptIndexImplicitTemplateInstantiations = 4;
1286 const CXIndexOptSuppressWarnings = 8;
1287 const CXIndexOptSkipParsedBodiesInSession = 16;
1288 }
1289}
1290
1291#[cfg(feature = "clang_17_0")]
1293#[cfg(not(target_os = "windows"))]
1294pub type CXIndexOptions_Flags = c_ushort;
1295
1296#[cfg(feature = "clang_17_0")]
1298#[cfg(target_os = "windows")]
1299pub type CXIndexOptions_Flags = c_uint;
1300
1301#[cfg(feature = "clang_17_0")]
1303pub const CXIndexOptions_ExcludeDeclarationsFromPCH: CXIndexOptions_Flags = 1;
1304
1305#[cfg(feature = "clang_17_0")]
1307pub const CXIndexOptions_DisplayDiagnostics: CXIndexOptions_Flags = 2;
1308
1309#[cfg(feature = "clang_17_0")]
1311pub const CXIndexOptions_StorePreamblesInMemory: CXIndexOptions_Flags = 4;
1312
1313cenum! {
1314 enum CXNameRefFlags {
1315 const CXNameRange_WantQualifier = 1;
1316 const CXNameRange_WantTemplateArgs = 2;
1317 const CXNameRange_WantSinglePiece = 4;
1318 }
1319}
1320
1321cenum! {
1322 enum CXObjCDeclQualifierKind {
1323 const CXObjCDeclQualifier_None = 0;
1324 const CXObjCDeclQualifier_In = 1;
1325 const CXObjCDeclQualifier_Inout = 2;
1326 const CXObjCDeclQualifier_Out = 4;
1327 const CXObjCDeclQualifier_Bycopy = 8;
1328 const CXObjCDeclQualifier_Byref = 16;
1329 const CXObjCDeclQualifier_Oneway = 32;
1330 }
1331}
1332
1333cenum! {
1334 enum CXObjCPropertyAttrKind {
1335 const CXObjCPropertyAttr_noattr = 0;
1336 const CXObjCPropertyAttr_readonly = 1;
1337 const CXObjCPropertyAttr_getter = 2;
1338 const CXObjCPropertyAttr_assign = 4;
1339 const CXObjCPropertyAttr_readwrite = 8;
1340 const CXObjCPropertyAttr_retain = 16;
1341 const CXObjCPropertyAttr_copy = 32;
1342 const CXObjCPropertyAttr_nonatomic = 64;
1343 const CXObjCPropertyAttr_setter = 128;
1344 const CXObjCPropertyAttr_atomic = 256;
1345 const CXObjCPropertyAttr_weak = 512;
1346 const CXObjCPropertyAttr_strong = 1024;
1347 const CXObjCPropertyAttr_unsafe_unretained = 2048;
1348 #[cfg(feature = "clang_3_9")]
1350 const CXObjCPropertyAttr_class = 4096;
1351 }
1352}
1353
1354cenum! {
1355 enum CXReparse_Flags {
1356 const CXReparse_None = 0;
1357 }
1358}
1359
1360cenum! {
1361 enum CXSaveTranslationUnit_Flags {
1362 const CXSaveTranslationUnit_None = 0;
1363 }
1364}
1365
1366cenum! {
1367 #[cfg(feature = "clang_7_0")]
1369 enum CXSymbolRole {
1370 const CXSymbolRole_None = 0;
1371 const CXSymbolRole_Declaration = 1;
1372 const CXSymbolRole_Definition = 2;
1373 const CXSymbolRole_Reference = 4;
1374 const CXSymbolRole_Read = 8;
1375 const CXSymbolRole_Write = 16;
1376 const CXSymbolRole_Call = 32;
1377 const CXSymbolRole_Dynamic = 64;
1378 const CXSymbolRole_AddressOf = 128;
1379 const CXSymbolRole_Implicit = 256;
1380 }
1381}
1382
1383cenum! {
1384 enum CXTranslationUnit_Flags {
1385 const CXTranslationUnit_None = 0;
1386 const CXTranslationUnit_DetailedPreprocessingRecord = 1;
1387 const CXTranslationUnit_Incomplete = 2;
1388 const CXTranslationUnit_PrecompiledPreamble = 4;
1389 const CXTranslationUnit_CacheCompletionResults = 8;
1390 const CXTranslationUnit_ForSerialization = 16;
1391 const CXTranslationUnit_CXXChainedPCH = 32;
1392 const CXTranslationUnit_SkipFunctionBodies = 64;
1393 const CXTranslationUnit_IncludeBriefCommentsInCodeCompletion = 128;
1394 #[cfg(feature = "clang_3_8")]
1396 const CXTranslationUnit_CreatePreambleOnFirstParse = 256;
1397 #[cfg(feature = "clang_3_9")]
1399 const CXTranslationUnit_KeepGoing = 512;
1400 #[cfg(feature = "clang_5_0")]
1402 const CXTranslationUnit_SingleFileParse = 1024;
1403 #[cfg(feature = "clang_7_0")]
1405 const CXTranslationUnit_LimitSkipFunctionBodiesToPreamble = 2048;
1406 #[cfg(feature = "clang_8_0")]
1408 const CXTranslationUnit_IncludeAttributedTypes = 4096;
1409 #[cfg(feature = "clang_8_0")]
1411 const CXTranslationUnit_VisitImplicitAttributes = 8192;
1412 #[cfg(feature = "clang_9_0")]
1414 const CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 16384;
1415 #[cfg(feature = "clang_10_0")]
1417 const CXTranslationUnit_RetainExcludedConditionalBlocks = 32768;
1418 }
1419}
1420
1421macro_rules! opaque {
1428 ($name:ident) => {
1429 pub type $name = *mut c_void;
1430 };
1431}
1432
1433opaque!(CXCompilationDatabase);
1434opaque!(CXCompileCommand);
1435opaque!(CXCompileCommands);
1436opaque!(CXCompletionString);
1437opaque!(CXCursorSet);
1438opaque!(CXDiagnostic);
1439opaque!(CXDiagnosticSet);
1440#[cfg(feature = "clang_3_9")]
1441opaque!(CXEvalResult);
1442opaque!(CXFile);
1443opaque!(CXIdxClientASTFile);
1444opaque!(CXIdxClientContainer);
1445opaque!(CXIdxClientEntity);
1446opaque!(CXIdxClientFile);
1447opaque!(CXIndex);
1448opaque!(CXIndexAction);
1449opaque!(CXModule);
1450#[cfg(feature = "clang_7_0")]
1451opaque!(CXPrintingPolicy);
1452opaque!(CXRemapping);
1453#[cfg(feature = "clang_5_0")]
1454opaque!(CXTargetInfo);
1455opaque!(CXTranslationUnit);
1456
1457#[derive(Copy, Clone, Debug)]
1460#[repr(C)]
1461pub struct CXCodeCompleteResults {
1462 pub Results: *mut CXCompletionResult,
1463 pub NumResults: c_uint,
1464}
1465
1466default!(CXCodeCompleteResults);
1467
1468#[derive(Copy, Clone, Debug)]
1469#[repr(C)]
1470pub struct CXComment {
1471 pub ASTNode: *const c_void,
1472 pub TranslationUnit: CXTranslationUnit,
1473}
1474
1475default!(CXComment);
1476
1477#[derive(Copy, Clone, Debug)]
1478#[repr(C)]
1479pub struct CXCompletionResult {
1480 pub CursorKind: CXCursorKind,
1481 pub CompletionString: CXCompletionString,
1482}
1483
1484default!(CXCompletionResult);
1485
1486#[derive(Copy, Clone, Debug)]
1487#[repr(C)]
1488pub struct CXCursor {
1489 pub kind: CXCursorKind,
1490 pub xdata: c_int,
1491 pub data: [*const c_void; 3],
1492}
1493
1494default!(CXCursor);
1495
1496#[derive(Copy, Clone, Debug)]
1497#[repr(C)]
1498pub struct CXCursorAndRangeVisitor {
1499 pub context: *mut c_void,
1500 pub visit: Option<extern "C" fn(*mut c_void, CXCursor, CXSourceRange) -> CXVisitorResult>,
1501}
1502
1503default!(CXCursorAndRangeVisitor);
1504
1505#[derive(Copy, Clone, Debug)]
1506#[repr(C)]
1507pub struct CXFileUniqueID {
1508 pub data: [c_ulonglong; 3],
1509}
1510
1511default!(CXFileUniqueID);
1512
1513#[derive(Copy, Clone, Debug)]
1514#[repr(C)]
1515pub struct CXIdxAttrInfo {
1516 pub kind: CXIdxAttrKind,
1517 pub cursor: CXCursor,
1518 pub loc: CXIdxLoc,
1519}
1520
1521default!(CXIdxAttrInfo);
1522
1523#[derive(Copy, Clone, Debug)]
1524#[repr(C)]
1525pub struct CXIdxBaseClassInfo {
1526 pub base: *const CXIdxEntityInfo,
1527 pub cursor: CXCursor,
1528 pub loc: CXIdxLoc,
1529}
1530
1531default!(CXIdxBaseClassInfo);
1532
1533#[derive(Copy, Clone, Debug)]
1534#[repr(C)]
1535pub struct CXIdxCXXClassDeclInfo {
1536 pub declInfo: *const CXIdxDeclInfo,
1537 pub bases: *const *const CXIdxBaseClassInfo,
1538 pub numBases: c_uint,
1539}
1540
1541default!(CXIdxCXXClassDeclInfo);
1542
1543#[derive(Copy, Clone, Debug)]
1544#[repr(C)]
1545pub struct CXIdxContainerInfo {
1546 pub cursor: CXCursor,
1547}
1548
1549default!(CXIdxContainerInfo);
1550
1551#[derive(Copy, Clone, Debug)]
1552#[repr(C)]
1553pub struct CXIdxDeclInfo {
1554 pub entityInfo: *const CXIdxEntityInfo,
1555 pub cursor: CXCursor,
1556 pub loc: CXIdxLoc,
1557 pub semanticContainer: *const CXIdxContainerInfo,
1558 pub lexicalContainer: *const CXIdxContainerInfo,
1559 pub isRedeclaration: c_int,
1560 pub isDefinition: c_int,
1561 pub isContainer: c_int,
1562 pub declAsContainer: *const CXIdxContainerInfo,
1563 pub isImplicit: c_int,
1564 pub attributes: *const *const CXIdxAttrInfo,
1565 pub numAttributes: c_uint,
1566 pub flags: c_uint,
1567}
1568
1569default!(CXIdxDeclInfo);
1570
1571#[derive(Copy, Clone, Debug)]
1572#[repr(C)]
1573pub struct CXIdxEntityInfo {
1574 pub kind: CXIdxEntityKind,
1575 pub templateKind: CXIdxEntityCXXTemplateKind,
1576 pub lang: CXIdxEntityLanguage,
1577 pub name: *const c_char,
1578 pub USR: *const c_char,
1579 pub cursor: CXCursor,
1580 pub attributes: *const *const CXIdxAttrInfo,
1581 pub numAttributes: c_uint,
1582}
1583
1584default!(CXIdxEntityInfo);
1585
1586#[derive(Copy, Clone, Debug)]
1587#[repr(C)]
1588pub struct CXIdxEntityRefInfo {
1589 pub kind: CXIdxEntityRefKind,
1590 pub cursor: CXCursor,
1591 pub loc: CXIdxLoc,
1592 pub referencedEntity: *const CXIdxEntityInfo,
1593 pub parentEntity: *const CXIdxEntityInfo,
1594 pub container: *const CXIdxContainerInfo,
1595 #[cfg(feature = "clang_7_0")]
1597 pub role: CXSymbolRole,
1598}
1599
1600default!(CXIdxEntityRefInfo);
1601
1602#[derive(Copy, Clone, Debug)]
1603#[repr(C)]
1604pub struct CXIdxIBOutletCollectionAttrInfo {
1605 pub attrInfo: *const CXIdxAttrInfo,
1606 pub objcClass: *const CXIdxEntityInfo,
1607 pub classCursor: CXCursor,
1608 pub classLoc: CXIdxLoc,
1609}
1610
1611default!(CXIdxIBOutletCollectionAttrInfo);
1612
1613#[derive(Copy, Clone, Debug)]
1614#[repr(C)]
1615pub struct CXIdxImportedASTFileInfo {
1616 pub file: CXFile,
1617 pub module: CXModule,
1618 pub loc: CXIdxLoc,
1619 pub isImplicit: c_int,
1620}
1621
1622default!(CXIdxImportedASTFileInfo);
1623
1624#[derive(Copy, Clone, Debug)]
1625#[repr(C)]
1626pub struct CXIdxIncludedFileInfo {
1627 pub hashLoc: CXIdxLoc,
1628 pub filename: *const c_char,
1629 pub file: CXFile,
1630 pub isImport: c_int,
1631 pub isAngled: c_int,
1632 pub isModuleImport: c_int,
1633}
1634
1635default!(CXIdxIncludedFileInfo);
1636
1637#[derive(Copy, Clone, Debug)]
1638#[repr(C)]
1639pub struct CXIdxLoc {
1640 pub ptr_data: [*mut c_void; 2],
1641 pub int_data: c_uint,
1642}
1643
1644default!(CXIdxLoc);
1645
1646#[derive(Copy, Clone, Debug)]
1647#[repr(C)]
1648pub struct CXIdxObjCCategoryDeclInfo {
1649 pub containerInfo: *const CXIdxObjCContainerDeclInfo,
1650 pub objcClass: *const CXIdxEntityInfo,
1651 pub classCursor: CXCursor,
1652 pub classLoc: CXIdxLoc,
1653 pub protocols: *const CXIdxObjCProtocolRefListInfo,
1654}
1655
1656default!(CXIdxObjCCategoryDeclInfo);
1657
1658#[derive(Copy, Clone, Debug)]
1659#[repr(C)]
1660pub struct CXIdxObjCContainerDeclInfo {
1661 pub declInfo: *const CXIdxDeclInfo,
1662 pub kind: CXIdxObjCContainerKind,
1663}
1664
1665default!(CXIdxObjCContainerDeclInfo);
1666
1667#[derive(Copy, Clone, Debug)]
1668#[repr(C)]
1669pub struct CXIdxObjCInterfaceDeclInfo {
1670 pub containerInfo: *const CXIdxObjCContainerDeclInfo,
1671 pub superInfo: *const CXIdxBaseClassInfo,
1672 pub protocols: *const CXIdxObjCProtocolRefListInfo,
1673}
1674
1675default!(CXIdxObjCInterfaceDeclInfo);
1676
1677#[derive(Copy, Clone, Debug)]
1678#[repr(C)]
1679pub struct CXIdxObjCPropertyDeclInfo {
1680 pub declInfo: *const CXIdxDeclInfo,
1681 pub getter: *const CXIdxEntityInfo,
1682 pub setter: *const CXIdxEntityInfo,
1683}
1684
1685default!(CXIdxObjCPropertyDeclInfo);
1686
1687#[derive(Copy, Clone, Debug)]
1688#[repr(C)]
1689pub struct CXIdxObjCProtocolRefInfo {
1690 pub protocol: *const CXIdxEntityInfo,
1691 pub cursor: CXCursor,
1692 pub loc: CXIdxLoc,
1693}
1694
1695default!(CXIdxObjCProtocolRefInfo);
1696
1697#[derive(Copy, Clone, Debug)]
1698#[repr(C)]
1699pub struct CXIdxObjCProtocolRefListInfo {
1700 pub protocols: *const *const CXIdxObjCProtocolRefInfo,
1701 pub numProtocols: c_uint,
1702}
1703
1704default!(CXIdxObjCProtocolRefListInfo);
1705
1706#[cfg(feature = "clang_17_0")]
1707#[derive(Copy, Clone, Debug)]
1708#[repr(C)]
1709pub struct CXIndexOptions {
1710 pub Size: c_uint,
1711 pub ThreadBackgroundPriorityForIndexing: CXChoice,
1712 pub ThreadBackgroundPriorityForEditing: CXChoice,
1713 pub flags: CXIndexOptions_Flags,
1714 pub PreambleStoragePath: *const c_char,
1715 pub InvocationEmissionPath: *const c_char,
1716}
1717
1718#[cfg(feature = "clang_17_0")]
1719default!(CXIndexOptions);
1720
1721#[derive(Copy, Clone, Debug)]
1722#[repr(C)]
1723pub struct CXPlatformAvailability {
1724 pub Platform: CXString,
1725 pub Introduced: CXVersion,
1726 pub Deprecated: CXVersion,
1727 pub Obsoleted: CXVersion,
1728 pub Unavailable: c_int,
1729 pub Message: CXString,
1730}
1731
1732default!(CXPlatformAvailability);
1733
1734#[derive(Copy, Clone, Debug)]
1735#[repr(C)]
1736pub struct CXSourceLocation {
1737 pub ptr_data: [*const c_void; 2],
1738 pub int_data: c_uint,
1739}
1740
1741default!(CXSourceLocation);
1742
1743#[derive(Copy, Clone, Debug)]
1744#[repr(C)]
1745pub struct CXSourceRange {
1746 pub ptr_data: [*const c_void; 2],
1747 pub begin_int_data: c_uint,
1748 pub end_int_data: c_uint,
1749}
1750
1751default!(CXSourceRange);
1752
1753#[derive(Copy, Clone, Debug)]
1754#[repr(C)]
1755pub struct CXSourceRangeList {
1756 pub count: c_uint,
1757 pub ranges: *mut CXSourceRange,
1758}
1759
1760default!(CXSourceRangeList);
1761
1762#[derive(Copy, Clone, Debug)]
1763#[repr(C)]
1764pub struct CXString {
1765 pub data: *const c_void,
1766 pub private_flags: c_uint,
1767}
1768
1769default!(CXString);
1770
1771#[cfg(feature = "clang_3_8")]
1772#[derive(Copy, Clone, Debug)]
1773#[repr(C)]
1774pub struct CXStringSet {
1775 pub Strings: *mut CXString,
1776 pub Count: c_uint,
1777}
1778
1779#[cfg(feature = "clang_3_8")]
1780default!(CXStringSet);
1781
1782#[derive(Copy, Clone, Debug)]
1783#[repr(C)]
1784pub struct CXTUResourceUsage {
1785 pub data: *mut c_void,
1786 pub numEntries: c_uint,
1787 pub entries: *mut CXTUResourceUsageEntry,
1788}
1789
1790default!(CXTUResourceUsage);
1791
1792#[derive(Copy, Clone, Debug)]
1793#[repr(C)]
1794pub struct CXTUResourceUsageEntry {
1795 pub kind: CXTUResourceUsageKind,
1796 pub amount: c_ulong,
1797}
1798
1799default!(CXTUResourceUsageEntry);
1800
1801#[derive(Copy, Clone, Debug)]
1802#[repr(C)]
1803pub struct CXToken {
1804 pub int_data: [c_uint; 4],
1805 pub ptr_data: *mut c_void,
1806}
1807
1808default!(CXToken);
1809
1810#[derive(Copy, Clone, Debug)]
1811#[repr(C)]
1812pub struct CXType {
1813 pub kind: CXTypeKind,
1814 pub data: [*mut c_void; 2],
1815}
1816
1817default!(CXType);
1818
1819#[derive(Copy, Clone, Debug)]
1820#[repr(C)]
1821pub struct CXUnsavedFile {
1822 pub Filename: *const c_char,
1823 pub Contents: *const c_char,
1824 pub Length: c_ulong,
1825}
1826
1827default!(CXUnsavedFile);
1828
1829#[derive(Copy, Clone, Debug)]
1830#[repr(C)]
1831pub struct CXVersion {
1832 pub Major: c_int,
1833 pub Minor: c_int,
1834 pub Subminor: c_int,
1835}
1836
1837default!(CXVersion);
1838
1839#[derive(Copy, Clone, Debug)]
1840#[repr(C)]
1841#[rustfmt::skip]
1842pub struct IndexerCallbacks {
1843 pub abortQuery: Option<extern "C" fn(CXClientData, *mut c_void) -> c_int>,
1844 pub diagnostic: Option<extern "C" fn(CXClientData, CXDiagnosticSet, *mut c_void)>,
1845 pub enteredMainFile: Option<extern "C" fn(CXClientData, CXFile, *mut c_void) -> CXIdxClientFile>,
1846 pub ppIncludedFile: Option<extern "C" fn(CXClientData, *const CXIdxIncludedFileInfo) -> CXIdxClientFile>,
1847 pub importedASTFile: Option<extern "C" fn(CXClientData, *const CXIdxImportedASTFileInfo) -> CXIdxClientASTFile>,
1848 pub startedTranslationUnit: Option<extern "C" fn(CXClientData, *mut c_void) -> CXIdxClientContainer>,
1849 pub indexDeclaration: Option<extern "C" fn(CXClientData, *const CXIdxDeclInfo)>,
1850 pub indexEntityReference: Option<extern "C" fn(CXClientData, *const CXIdxEntityRefInfo)>,
1851}
1852
1853default!(IndexerCallbacks);
1854
1855link! {
1860 pub fn clang_CXCursorSet_contains(set: CXCursorSet, cursor: CXCursor) -> c_uint;
1861 pub fn clang_CXCursorSet_insert(set: CXCursorSet, cursor: CXCursor) -> c_uint;
1862 pub fn clang_CXIndex_getGlobalOptions(index: CXIndex) -> CXGlobalOptFlags;
1863 pub fn clang_CXIndex_setGlobalOptions(index: CXIndex, flags: CXGlobalOptFlags);
1864 #[cfg(feature = "clang_6_0")]
1866 pub fn clang_CXIndex_setInvocationEmissionPathOption(index: CXIndex, path: *const c_char);
1867 #[cfg(feature = "clang_3_9")]
1869 pub fn clang_CXXConstructor_isConvertingConstructor(cursor: CXCursor) -> c_uint;
1870 #[cfg(feature = "clang_3_9")]
1872 pub fn clang_CXXConstructor_isCopyConstructor(cursor: CXCursor) -> c_uint;
1873 #[cfg(feature = "clang_3_9")]
1875 pub fn clang_CXXConstructor_isDefaultConstructor(cursor: CXCursor) -> c_uint;
1876 #[cfg(feature = "clang_3_9")]
1878 pub fn clang_CXXConstructor_isMoveConstructor(cursor: CXCursor) -> c_uint;
1879 #[cfg(feature = "clang_3_8")]
1881 pub fn clang_CXXField_isMutable(cursor: CXCursor) -> c_uint;
1882 pub fn clang_CXXMethod_isConst(cursor: CXCursor) -> c_uint;
1883 #[cfg(feature = "clang_16_0")]
1885 pub fn clang_CXXMethod_isCopyAssignmentOperator(cursor: CXCursor) -> c_uint;
1886 #[cfg(feature = "clang_3_9")]
1888 pub fn clang_CXXMethod_isDefaulted(cursor: CXCursor) -> c_uint;
1889 #[cfg(feature = "clang_16_0")]
1891 pub fn clang_CXXMethod_isDeleted(cursor: CXCursor) -> c_uint;
1892 #[cfg(feature = "clang_16_0")]
1894 pub fn clang_CXXMethod_isMoveAssignmentOperator(cursor: CXCursor) -> c_uint;
1895 pub fn clang_CXXMethod_isPureVirtual(cursor: CXCursor) -> c_uint;
1896 pub fn clang_CXXMethod_isStatic(cursor: CXCursor) -> c_uint;
1897 pub fn clang_CXXMethod_isVirtual(cursor: CXCursor) -> c_uint;
1898 #[cfg(feature = "clang_17_0")]
1900 pub fn clang_CXXMethod_isExplicit(cursor: CXCursor) -> c_uint;
1901 #[cfg(feature = "clang_6_0")]
1903 pub fn clang_CXXRecord_isAbstract(cursor: CXCursor) -> c_uint;
1904 pub fn clang_CompilationDatabase_dispose(database: CXCompilationDatabase);
1905 pub fn clang_CompilationDatabase_fromDirectory(directory: *const c_char, error: *mut CXCompilationDatabase_Error) -> CXCompilationDatabase;
1906 pub fn clang_CompilationDatabase_getAllCompileCommands(database: CXCompilationDatabase) -> CXCompileCommands;
1907 pub fn clang_CompilationDatabase_getCompileCommands(database: CXCompilationDatabase, filename: *const c_char) -> CXCompileCommands;
1908 pub fn clang_CompileCommand_getArg(command: CXCompileCommand, index: c_uint) -> CXString;
1909 pub fn clang_CompileCommand_getDirectory(command: CXCompileCommand) -> CXString;
1910 #[cfg(feature = "clang_3_8")]
1912 pub fn clang_CompileCommand_getFilename(command: CXCompileCommand) -> CXString;
1913 #[cfg(feature = "clang_3_8")]
1915 pub fn clang_CompileCommand_getMappedSourceContent(command: CXCompileCommand, index: c_uint) -> CXString;
1916 #[cfg(feature = "clang_3_8")]
1918 pub fn clang_CompileCommand_getMappedSourcePath(command: CXCompileCommand, index: c_uint) -> CXString;
1919 pub fn clang_CompileCommand_getNumArgs(command: CXCompileCommand) -> c_uint;
1920 pub fn clang_CompileCommand_getNumMappedSources(command: CXCompileCommand) -> c_uint;
1921 pub fn clang_CompileCommands_dispose(command: CXCompileCommands);
1922 pub fn clang_CompileCommands_getCommand(command: CXCompileCommands, index: c_uint) -> CXCompileCommand;
1923 pub fn clang_CompileCommands_getSize(command: CXCompileCommands) -> c_uint;
1924 #[cfg(feature = "clang_3_9")]
1926 pub fn clang_Cursor_Evaluate(cursor: CXCursor) -> CXEvalResult;
1927 pub fn clang_Cursor_getArgument(cursor: CXCursor, index: c_uint) -> CXCursor;
1928 pub fn clang_Cursor_getBriefCommentText(cursor: CXCursor) -> CXString;
1929 #[cfg(feature = "clang_3_8")]
1931 pub fn clang_Cursor_getCXXManglings(cursor: CXCursor) -> *mut CXStringSet;
1932 pub fn clang_Cursor_getCommentRange(cursor: CXCursor) -> CXSourceRange;
1933 #[cfg(feature = "clang_3_6")]
1935 pub fn clang_Cursor_getMangling(cursor: CXCursor) -> CXString;
1936 pub fn clang_Cursor_getModule(cursor: CXCursor) -> CXModule;
1937 pub fn clang_Cursor_getNumArguments(cursor: CXCursor) -> c_int;
1938 #[cfg(feature = "clang_3_6")]
1940 pub fn clang_Cursor_getNumTemplateArguments(cursor: CXCursor) -> c_int;
1941 pub fn clang_Cursor_getObjCDeclQualifiers(cursor: CXCursor) -> CXObjCDeclQualifierKind;
1942 #[cfg(feature = "clang_6_0")]
1944 pub fn clang_Cursor_getObjCManglings(cursor: CXCursor) -> *mut CXStringSet;
1945 pub fn clang_Cursor_getObjCPropertyAttributes(cursor: CXCursor, reserved: c_uint) -> CXObjCPropertyAttrKind;
1946 #[cfg(feature = "clang_8_0")]
1948 pub fn clang_Cursor_getObjCPropertyGetterName(cursor: CXCursor) -> CXString;
1949 #[cfg(feature = "clang_8_0")]
1951 pub fn clang_Cursor_getObjCPropertySetterName(cursor: CXCursor) -> CXString;
1952 pub fn clang_Cursor_getObjCSelectorIndex(cursor: CXCursor) -> c_int;
1953 #[cfg(feature = "clang_3_7")]
1955 pub fn clang_Cursor_getOffsetOfField(cursor: CXCursor) -> c_longlong;
1956 pub fn clang_Cursor_getRawCommentText(cursor: CXCursor) -> CXString;
1957 pub fn clang_Cursor_getReceiverType(cursor: CXCursor) -> CXType;
1958 pub fn clang_Cursor_getSpellingNameRange(cursor: CXCursor, index: c_uint, reserved: c_uint) -> CXSourceRange;
1959 #[cfg(feature = "clang_3_6")]
1961 pub fn clang_Cursor_getStorageClass(cursor: CXCursor) -> CX_StorageClass;
1962 #[cfg(feature = "clang_3_6")]
1964 pub fn clang_Cursor_getTemplateArgumentKind(cursor: CXCursor, index: c_uint) -> CXTemplateArgumentKind;
1965 #[cfg(feature = "clang_3_6")]
1967 pub fn clang_Cursor_getTemplateArgumentType(cursor: CXCursor, index: c_uint) -> CXType;
1968 #[cfg(feature = "clang_3_6")]
1970 pub fn clang_Cursor_getTemplateArgumentUnsignedValue(cursor: CXCursor, index: c_uint) -> c_ulonglong;
1971 #[cfg(feature = "clang_3_6")]
1973 pub fn clang_Cursor_getTemplateArgumentValue(cursor: CXCursor, index: c_uint) -> c_longlong;
1974 pub fn clang_Cursor_getTranslationUnit(cursor: CXCursor) -> CXTranslationUnit;
1975 #[cfg(feature = "clang_12_0")]
1977 pub fn clang_Cursor_getVarDeclInitializer(cursor: CXCursor) -> CXCursor;
1978 #[cfg(feature = "clang_3_9")]
1980 pub fn clang_Cursor_hasAttrs(cursor: CXCursor) -> c_uint;
1981 #[cfg(feature = "clang_12_0")]
1983 pub fn clang_Cursor_hasVarDeclGlobalStorage(cursor: CXCursor) -> c_uint;
1984 #[cfg(feature = "clang_12_0")]
1986 pub fn clang_Cursor_hasVarDeclExternalStorage(cursor: CXCursor) -> c_uint;
1987 #[cfg(feature = "clang_3_7")]
1989 pub fn clang_Cursor_isAnonymous(cursor: CXCursor) -> c_uint;
1990 #[cfg(feature = "clang_9_0")]
1992 pub fn clang_Cursor_isAnonymousRecordDecl(cursor: CXCursor) -> c_uint;
1993 pub fn clang_Cursor_isBitField(cursor: CXCursor) -> c_uint;
1994 pub fn clang_Cursor_isDynamicCall(cursor: CXCursor) -> c_int;
1995 #[cfg(feature = "clang_5_0")]
1997 pub fn clang_Cursor_isExternalSymbol(cursor: CXCursor, language: *mut CXString, from: *mut CXString, generated: *mut c_uint) -> c_uint;
1998 #[cfg(feature = "clang_3_9")]
2000 pub fn clang_Cursor_isFunctionInlined(cursor: CXCursor) -> c_uint;
2001 #[cfg(feature = "clang_9_0")]
2003 pub fn clang_Cursor_isInlineNamespace(cursor: CXCursor) -> c_uint;
2004 #[cfg(feature = "clang_3_9")]
2006 pub fn clang_Cursor_isMacroBuiltin(cursor: CXCursor) -> c_uint;
2007 #[cfg(feature = "clang_3_9")]
2009 pub fn clang_Cursor_isMacroFunctionLike(cursor: CXCursor) -> c_uint;
2010 pub fn clang_Cursor_isNull(cursor: CXCursor) -> c_int;
2011 pub fn clang_Cursor_isObjCOptional(cursor: CXCursor) -> c_uint;
2012 pub fn clang_Cursor_isVariadic(cursor: CXCursor) -> c_uint;
2013 #[cfg(feature = "clang_5_0")]
2015 pub fn clang_EnumDecl_isScoped(cursor: CXCursor) -> c_uint;
2016 #[cfg(feature = "clang_3_9")]
2018 pub fn clang_EvalResult_dispose(result: CXEvalResult);
2019 #[cfg(feature = "clang_3_9")]
2021 pub fn clang_EvalResult_getAsDouble(result: CXEvalResult) -> libc::c_double;
2022 #[cfg(feature = "clang_3_9")]
2024 pub fn clang_EvalResult_getAsInt(result: CXEvalResult) -> c_int;
2025 #[cfg(feature = "clang_4_0")]
2027 pub fn clang_EvalResult_getAsLongLong(result: CXEvalResult) -> c_longlong;
2028 #[cfg(feature = "clang_3_9")]
2030 pub fn clang_EvalResult_getAsStr(result: CXEvalResult) -> *const c_char;
2031 #[cfg(feature = "clang_4_0")]
2033 pub fn clang_EvalResult_getAsUnsigned(result: CXEvalResult) -> c_ulonglong;
2034 #[cfg(feature = "clang_3_9")]
2036 pub fn clang_EvalResult_getKind(result: CXEvalResult) -> CXEvalResultKind;
2037 #[cfg(feature = "clang_4_0")]
2039 pub fn clang_EvalResult_isUnsignedInt(result: CXEvalResult) -> c_uint;
2040 #[cfg(feature = "clang_3_6")]
2042 pub fn clang_File_isEqual(left: CXFile, right: CXFile) -> c_int;
2043 #[cfg(feature = "clang_7_0")]
2045 pub fn clang_File_tryGetRealPathName(file: CXFile) -> CXString;
2046 pub fn clang_IndexAction_create(index: CXIndex) -> CXIndexAction;
2047 pub fn clang_IndexAction_dispose(index: CXIndexAction);
2048 pub fn clang_Location_isFromMainFile(location: CXSourceLocation) -> c_int;
2049 pub fn clang_Location_isInSystemHeader(location: CXSourceLocation) -> c_int;
2050 pub fn clang_Module_getASTFile(module: CXModule) -> CXFile;
2051 pub fn clang_Module_getFullName(module: CXModule) -> CXString;
2052 pub fn clang_Module_getName(module: CXModule) -> CXString;
2053 pub fn clang_Module_getNumTopLevelHeaders(tu: CXTranslationUnit, module: CXModule) -> c_uint;
2054 pub fn clang_Module_getParent(module: CXModule) -> CXModule;
2055 pub fn clang_Module_getTopLevelHeader(tu: CXTranslationUnit, module: CXModule, index: c_uint) -> CXFile;
2056 pub fn clang_Module_isSystem(module: CXModule) -> c_int;
2057 #[cfg(feature = "clang_7_0")]
2059 pub fn clang_PrintingPolicy_dispose(policy: CXPrintingPolicy);
2060 #[cfg(feature = "clang_7_0")]
2062 pub fn clang_PrintingPolicy_getProperty(policy: CXPrintingPolicy, property: CXPrintingPolicyProperty) -> c_uint;
2063 #[cfg(feature = "clang_7_0")]
2065 pub fn clang_PrintingPolicy_setProperty(policy: CXPrintingPolicy, property: CXPrintingPolicyProperty, value: c_uint);
2066 pub fn clang_Range_isNull(range: CXSourceRange) -> c_int;
2067 #[cfg(feature = "clang_5_0")]
2069 pub fn clang_TargetInfo_dispose(info: CXTargetInfo);
2070 #[cfg(feature = "clang_5_0")]
2072 pub fn clang_TargetInfo_getPointerWidth(info: CXTargetInfo) -> c_int;
2073 #[cfg(feature = "clang_5_0")]
2075 pub fn clang_TargetInfo_getTriple(info: CXTargetInfo) -> CXString;
2076 pub fn clang_Type_getAlignOf(type_: CXType) -> c_longlong;
2077 pub fn clang_Type_getCXXRefQualifier(type_: CXType) -> CXRefQualifierKind;
2078 pub fn clang_Type_getClassType(type_: CXType) -> CXType;
2079 #[cfg(feature = "clang_8_0")]
2081 pub fn clang_Type_getModifiedType(type_: CXType) -> CXType;
2082 #[cfg(feature = "clang_3_9")]
2084 pub fn clang_Type_getNamedType(type_: CXType) -> CXType;
2085 #[cfg(feature = "clang_8_0")]
2087 pub fn clang_Type_getNullability(type_: CXType) -> CXTypeNullabilityKind;
2088 #[cfg(feature = "clang_8_0")]
2090 pub fn clang_Type_getNumObjCProtocolRefs(type_: CXType) -> c_uint;
2091 #[cfg(feature = "clang_8_0")]
2093 pub fn clang_Type_getNumObjCTypeArgs(type_: CXType) -> c_uint;
2094 pub fn clang_Type_getNumTemplateArguments(type_: CXType) -> c_int;
2095 #[cfg(feature = "clang_3_9")]
2097 pub fn clang_Type_getObjCEncoding(type_: CXType) -> CXString;
2098 #[cfg(feature = "clang_8_0")]
2100 pub fn clang_Type_getObjCObjectBaseType(type_: CXType) -> CXType;
2101 #[cfg(feature = "clang_8_0")]
2103 pub fn clang_Type_getObjCProtocolDecl(type_: CXType, index: c_uint) -> CXCursor;
2104 #[cfg(feature = "clang_8_0")]
2106 pub fn clang_Type_getObjCTypeArg(type_: CXType, index: c_uint) -> CXType;
2107 pub fn clang_Type_getOffsetOf(type_: CXType, field: *const c_char) -> c_longlong;
2108 pub fn clang_Type_getSizeOf(type_: CXType) -> c_longlong;
2109 pub fn clang_Type_getTemplateArgumentAsType(type_: CXType, index: c_uint) -> CXType;
2110 #[cfg(feature = "clang_11_0")]
2112 pub fn clang_Type_getValueType(type_: CXType) -> CXType;
2113 #[cfg(feature = "clang_5_0")]
2115 pub fn clang_Type_isTransparentTagTypedef(type_: CXType) -> c_uint;
2116 #[cfg(feature = "clang_3_7")]
2118 pub fn clang_Type_visitFields(type_: CXType, visitor: CXFieldVisitor, data: CXClientData) -> CXVisitorResult;
2119 pub fn clang_annotateTokens(tu: CXTranslationUnit, tokens: *mut CXToken, n_tokens: c_uint, cursors: *mut CXCursor);
2120 pub fn clang_codeCompleteAt(tu: CXTranslationUnit, file: *const c_char, line: c_uint, column: c_uint, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, flags: CXCodeComplete_Flags) -> *mut CXCodeCompleteResults;
2121 pub fn clang_codeCompleteGetContainerKind(results: *mut CXCodeCompleteResults, incomplete: *mut c_uint) -> CXCursorKind;
2122 pub fn clang_codeCompleteGetContainerUSR(results: *mut CXCodeCompleteResults) -> CXString;
2123 pub fn clang_codeCompleteGetContexts(results: *mut CXCodeCompleteResults) -> c_ulonglong;
2124 pub fn clang_codeCompleteGetDiagnostic(results: *mut CXCodeCompleteResults, index: c_uint) -> CXDiagnostic;
2125 pub fn clang_codeCompleteGetNumDiagnostics(results: *mut CXCodeCompleteResults) -> c_uint;
2126 pub fn clang_codeCompleteGetObjCSelector(results: *mut CXCodeCompleteResults) -> CXString;
2127 pub fn clang_constructUSR_ObjCCategory(class: *const c_char, category: *const c_char) -> CXString;
2128 pub fn clang_constructUSR_ObjCClass(class: *const c_char) -> CXString;
2129 pub fn clang_constructUSR_ObjCIvar(name: *const c_char, usr: CXString) -> CXString;
2130 pub fn clang_constructUSR_ObjCMethod(name: *const c_char, instance: c_uint, usr: CXString) -> CXString;
2131 pub fn clang_constructUSR_ObjCProperty(property: *const c_char, usr: CXString) -> CXString;
2132 pub fn clang_constructUSR_ObjCProtocol(protocol: *const c_char) -> CXString;
2133 pub fn clang_createCXCursorSet() -> CXCursorSet;
2134 pub fn clang_createIndex(exclude: c_int, display: c_int) -> CXIndex;
2135 #[cfg(feature = "clang_17_0")]
2137 pub fn clang_createIndexWithOptions(options: CXIndexOptions) -> CXIndex;
2138 pub fn clang_createTranslationUnit(index: CXIndex, file: *const c_char) -> CXTranslationUnit;
2139 pub fn clang_createTranslationUnit2(index: CXIndex, file: *const c_char, tu: *mut CXTranslationUnit) -> CXErrorCode;
2140 pub fn clang_createTranslationUnitFromSourceFile(index: CXIndex, file: *const c_char, n_arguments: c_int, arguments: *const *const c_char, n_unsaved: c_uint, unsaved: *mut CXUnsavedFile) -> CXTranslationUnit;
2141 pub fn clang_defaultCodeCompleteOptions() -> CXCodeComplete_Flags;
2142 pub fn clang_defaultDiagnosticDisplayOptions() -> CXDiagnosticDisplayOptions;
2143 pub fn clang_defaultEditingTranslationUnitOptions() -> CXTranslationUnit_Flags;
2144 pub fn clang_defaultReparseOptions(tu: CXTranslationUnit) -> CXReparse_Flags;
2145 pub fn clang_defaultSaveOptions(tu: CXTranslationUnit) -> CXSaveTranslationUnit_Flags;
2146 pub fn clang_disposeCXCursorSet(set: CXCursorSet);
2147 pub fn clang_disposeCXPlatformAvailability(availability: *mut CXPlatformAvailability);
2148 pub fn clang_disposeCXTUResourceUsage(usage: CXTUResourceUsage);
2149 pub fn clang_disposeCodeCompleteResults(results: *mut CXCodeCompleteResults);
2150 pub fn clang_disposeDiagnostic(diagnostic: CXDiagnostic);
2151 pub fn clang_disposeDiagnosticSet(diagnostic: CXDiagnosticSet);
2152 pub fn clang_disposeIndex(index: CXIndex);
2153 pub fn clang_disposeOverriddenCursors(cursors: *mut CXCursor);
2154 pub fn clang_disposeSourceRangeList(list: *mut CXSourceRangeList);
2155 pub fn clang_disposeString(string: CXString);
2156 #[cfg(feature = "clang_3_8")]
2158 pub fn clang_disposeStringSet(set: *mut CXStringSet);
2159 pub fn clang_disposeTokens(tu: CXTranslationUnit, tokens: *mut CXToken, n_tokens: c_uint);
2160 pub fn clang_disposeTranslationUnit(tu: CXTranslationUnit);
2161 pub fn clang_enableStackTraces();
2162 pub fn clang_equalCursors(left: CXCursor, right: CXCursor) -> c_uint;
2163 pub fn clang_equalLocations(left: CXSourceLocation, right: CXSourceLocation) -> c_uint;
2164 pub fn clang_equalRanges(left: CXSourceRange, right: CXSourceRange) -> c_uint;
2165 pub fn clang_equalTypes(left: CXType, right: CXType) -> c_uint;
2166 pub fn clang_executeOnThread(function: extern fn(*mut c_void), data: *mut c_void, stack: c_uint);
2167 pub fn clang_findIncludesInFile(tu: CXTranslationUnit, file: CXFile, cursor: CXCursorAndRangeVisitor) -> CXResult;
2168 pub fn clang_findReferencesInFile(cursor: CXCursor, file: CXFile, visitor: CXCursorAndRangeVisitor) -> CXResult;
2169 pub fn clang_formatDiagnostic(diagnostic: CXDiagnostic, flags: CXDiagnosticDisplayOptions) -> CXString;
2170 #[cfg(feature = "clang_3_7")]
2172 pub fn clang_free(buffer: *mut c_void);
2173 #[cfg(feature = "clang_5_0")]
2175 pub fn clang_getAddressSpace(type_: CXType) -> c_uint;
2176 #[cfg(feature = "clang_4_0")]
2178 pub fn clang_getAllSkippedRanges(tu: CXTranslationUnit) -> *mut CXSourceRangeList;
2179 pub fn clang_getArgType(type_: CXType, index: c_uint) -> CXType;
2180 pub fn clang_getArrayElementType(type_: CXType) -> CXType;
2181 pub fn clang_getArraySize(type_: CXType) -> c_longlong;
2182 #[cfg(feature = "clang_17_0")]
2184 pub fn clang_getBinaryOperatorKindSpelling(kind: CXBinaryOperatorKind) -> CXString;
2185 pub fn clang_getCString(string: CXString) -> *const c_char;
2186 pub fn clang_getCXTUResourceUsage(tu: CXTranslationUnit) -> CXTUResourceUsage;
2187 pub fn clang_getCXXAccessSpecifier(cursor: CXCursor) -> CX_CXXAccessSpecifier;
2188 pub fn clang_getCanonicalCursor(cursor: CXCursor) -> CXCursor;
2189 pub fn clang_getCanonicalType(type_: CXType) -> CXType;
2190 pub fn clang_getChildDiagnostics(diagnostic: CXDiagnostic) -> CXDiagnosticSet;
2191 pub fn clang_getClangVersion() -> CXString;
2192 pub fn clang_getCompletionAnnotation(string: CXCompletionString, index: c_uint) -> CXString;
2193 pub fn clang_getCompletionAvailability(string: CXCompletionString) -> CXAvailabilityKind;
2194 pub fn clang_getCompletionBriefComment(string: CXCompletionString) -> CXString;
2195 pub fn clang_getCompletionChunkCompletionString(string: CXCompletionString, index: c_uint) -> CXCompletionString;
2196 pub fn clang_getCompletionChunkKind(string: CXCompletionString, index: c_uint) -> CXCompletionChunkKind;
2197 pub fn clang_getCompletionChunkText(string: CXCompletionString, index: c_uint) -> CXString;
2198 #[cfg(feature = "clang_7_0")]
2200 pub fn clang_getCompletionFixIt(results: *mut CXCodeCompleteResults, completion_index: c_uint, fixit_index: c_uint, range: *mut CXSourceRange) -> CXString;
2201 pub fn clang_getCompletionNumAnnotations(string: CXCompletionString) -> c_uint;
2202 #[cfg(feature = "clang_7_0")]
2204 pub fn clang_getCompletionNumFixIts(results: *mut CXCodeCompleteResults, completion_index: c_uint) -> c_uint;
2205 pub fn clang_getCompletionParent(string: CXCompletionString, kind: *mut CXCursorKind) -> CXString;
2206 pub fn clang_getCompletionPriority(string: CXCompletionString) -> c_uint;
2207 pub fn clang_getCursor(tu: CXTranslationUnit, location: CXSourceLocation) -> CXCursor;
2208 pub fn clang_getCursorAvailability(cursor: CXCursor) -> CXAvailabilityKind;
2209 #[cfg(feature = "clang_17_0")]
2211 pub fn clang_getCursorBinaryOperatorKind(cursor: CXCursor) -> CXBinaryOperatorKind;
2212 pub fn clang_getCursorCompletionString(cursor: CXCursor) -> CXCompletionString;
2213 pub fn clang_getCursorDefinition(cursor: CXCursor) -> CXCursor;
2214 pub fn clang_getCursorDisplayName(cursor: CXCursor) -> CXString;
2215 #[cfg(feature = "clang_5_0")]
2217 pub fn clang_getCursorExceptionSpecificationType(cursor: CXCursor) -> CXCursor_ExceptionSpecificationKind;
2218 pub fn clang_getCursorExtent(cursor: CXCursor) -> CXSourceRange;
2219 pub fn clang_getCursorKind(cursor: CXCursor) -> CXCursorKind;
2220 pub fn clang_getCursorKindSpelling(kind: CXCursorKind) -> CXString;
2221 pub fn clang_getCursorLanguage(cursor: CXCursor) -> CXLanguageKind;
2222 pub fn clang_getCursorLexicalParent(cursor: CXCursor) -> CXCursor;
2223 pub fn clang_getCursorLinkage(cursor: CXCursor) -> CXLinkageKind;
2224 pub fn clang_getCursorLocation(cursor: CXCursor) -> CXSourceLocation;
2225 pub fn clang_getCursorPlatformAvailability(cursor: CXCursor, deprecated: *mut c_int, deprecated_message: *mut CXString, unavailable: *mut c_int, unavailable_message: *mut CXString, availability: *mut CXPlatformAvailability, n_availability: c_int) -> c_int;
2226 #[cfg(feature = "clang_7_0")]
2228 pub fn clang_getCursorPrettyPrinted(cursor: CXCursor, policy: CXPrintingPolicy) -> CXString;
2229 #[cfg(feature = "clang_7_0")]
2231 pub fn clang_getCursorPrintingPolicy(cursor: CXCursor) -> CXPrintingPolicy;
2232 pub fn clang_getCursorReferenceNameRange(cursor: CXCursor, flags: CXNameRefFlags, index: c_uint) -> CXSourceRange;
2233 pub fn clang_getCursorReferenced(cursor: CXCursor) -> CXCursor;
2234 pub fn clang_getCursorResultType(cursor: CXCursor) -> CXType;
2235 pub fn clang_getCursorSemanticParent(cursor: CXCursor) -> CXCursor;
2236 pub fn clang_getCursorSpelling(cursor: CXCursor) -> CXString;
2237 #[cfg(feature = "clang_6_0")]
2239 pub fn clang_getCursorTLSKind(cursor: CXCursor) -> CXTLSKind;
2240 pub fn clang_getCursorType(cursor: CXCursor) -> CXType;
2241 #[cfg(feature = "clang_17_0")]
2243 pub fn clang_getCursorUnaryOperatorKind(cursor: CXCursor) -> CXUnaryOperatorKind;
2244 pub fn clang_getCursorUSR(cursor: CXCursor) -> CXString;
2245 #[cfg(feature = "clang_3_8")]
2247 pub fn clang_getCursorVisibility(cursor: CXCursor) -> CXVisibilityKind;
2248 pub fn clang_getDeclObjCTypeEncoding(cursor: CXCursor) -> CXString;
2249 pub fn clang_getDefinitionSpellingAndExtent(cursor: CXCursor, start: *mut *const c_char, end: *mut *const c_char, start_line: *mut c_uint, start_column: *mut c_uint, end_line: *mut c_uint, end_column: *mut c_uint);
2250 pub fn clang_getDiagnostic(tu: CXTranslationUnit, index: c_uint) -> CXDiagnostic;
2251 pub fn clang_getDiagnosticCategory(diagnostic: CXDiagnostic) -> c_uint;
2252 pub fn clang_getDiagnosticCategoryName(category: c_uint) -> CXString;
2253 pub fn clang_getDiagnosticCategoryText(diagnostic: CXDiagnostic) -> CXString;
2254 pub fn clang_getDiagnosticFixIt(diagnostic: CXDiagnostic, index: c_uint, range: *mut CXSourceRange) -> CXString;
2255 pub fn clang_getDiagnosticInSet(diagnostic: CXDiagnosticSet, index: c_uint) -> CXDiagnostic;
2256 pub fn clang_getDiagnosticLocation(diagnostic: CXDiagnostic) -> CXSourceLocation;
2257 pub fn clang_getDiagnosticNumFixIts(diagnostic: CXDiagnostic) -> c_uint;
2258 pub fn clang_getDiagnosticNumRanges(diagnostic: CXDiagnostic) -> c_uint;
2259 pub fn clang_getDiagnosticOption(diagnostic: CXDiagnostic, option: *mut CXString) -> CXString;
2260 pub fn clang_getDiagnosticRange(diagnostic: CXDiagnostic, index: c_uint) -> CXSourceRange;
2261 pub fn clang_getDiagnosticSetFromTU(tu: CXTranslationUnit) -> CXDiagnosticSet;
2262 pub fn clang_getDiagnosticSeverity(diagnostic: CXDiagnostic) -> CXDiagnosticSeverity;
2263 pub fn clang_getDiagnosticSpelling(diagnostic: CXDiagnostic) -> CXString;
2264 pub fn clang_getElementType(type_: CXType) -> CXType;
2265 pub fn clang_getEnumConstantDeclUnsignedValue(cursor: CXCursor) -> c_ulonglong;
2266 pub fn clang_getEnumConstantDeclValue(cursor: CXCursor) -> c_longlong;
2267 pub fn clang_getEnumDeclIntegerType(cursor: CXCursor) -> CXType;
2268 #[cfg(feature = "clang_5_0")]
2270 pub fn clang_getExceptionSpecificationType(type_: CXType) -> CXCursor_ExceptionSpecificationKind;
2271 pub fn clang_getExpansionLocation(location: CXSourceLocation, file: *mut CXFile, line: *mut c_uint, column: *mut c_uint, offset: *mut c_uint);
2272 pub fn clang_getFieldDeclBitWidth(cursor: CXCursor) -> c_int;
2273 pub fn clang_getFile(tu: CXTranslationUnit, file: *const c_char) -> CXFile;
2274 #[cfg(feature = "clang_6_0")]
2276 pub fn clang_getFileContents(tu: CXTranslationUnit, file: CXFile, size: *mut size_t) -> *const c_char;
2277 pub fn clang_getFileLocation(location: CXSourceLocation, file: *mut CXFile, line: *mut c_uint, column: *mut c_uint, offset: *mut c_uint);
2278 pub fn clang_getFileName(file: CXFile) -> CXString;
2279 pub fn clang_getFileTime(file: CXFile) -> time_t;
2280 pub fn clang_getFileUniqueID(file: CXFile, id: *mut CXFileUniqueID) -> c_int;
2281 pub fn clang_getFunctionTypeCallingConv(type_: CXType) -> CXCallingConv;
2282 pub fn clang_getIBOutletCollectionType(cursor: CXCursor) -> CXType;
2283 pub fn clang_getIncludedFile(cursor: CXCursor) -> CXFile;
2284 pub fn clang_getInclusions(tu: CXTranslationUnit, visitor: CXInclusionVisitor, data: CXClientData);
2285 pub fn clang_getInstantiationLocation(location: CXSourceLocation, file: *mut CXFile, line: *mut c_uint, column: *mut c_uint, offset: *mut c_uint);
2286 pub fn clang_getLocation(tu: CXTranslationUnit, file: CXFile, line: c_uint, column: c_uint) -> CXSourceLocation;
2287 pub fn clang_getLocationForOffset(tu: CXTranslationUnit, file: CXFile, offset: c_uint) -> CXSourceLocation;
2288 pub fn clang_getModuleForFile(tu: CXTranslationUnit, file: CXFile) -> CXModule;
2289 #[cfg(feature = "clang_16_0")]
2291 pub fn clang_getNonReferenceType(type_: CXType) -> CXType;
2292 pub fn clang_getNullCursor() -> CXCursor;
2293 pub fn clang_getNullLocation() -> CXSourceLocation;
2294 pub fn clang_getNullRange() -> CXSourceRange;
2295 pub fn clang_getNumArgTypes(type_: CXType) -> c_int;
2296 pub fn clang_getNumCompletionChunks(string: CXCompletionString) -> c_uint;
2297 pub fn clang_getNumDiagnostics(tu: CXTranslationUnit) -> c_uint;
2298 pub fn clang_getNumDiagnosticsInSet(diagnostic: CXDiagnosticSet) -> c_uint;
2299 pub fn clang_getNumElements(type_: CXType) -> c_longlong;
2300 pub fn clang_getNumOverloadedDecls(cursor: CXCursor) -> c_uint;
2301 pub fn clang_getOverloadedDecl(cursor: CXCursor, index: c_uint) -> CXCursor;
2302 pub fn clang_getOverriddenCursors(cursor: CXCursor, cursors: *mut *mut CXCursor, n_cursors: *mut c_uint);
2303 pub fn clang_getPointeeType(type_: CXType) -> CXType;
2304 pub fn clang_getPresumedLocation(location: CXSourceLocation, file: *mut CXString, line: *mut c_uint, column: *mut c_uint);
2305 pub fn clang_getRange(start: CXSourceLocation, end: CXSourceLocation) -> CXSourceRange;
2306 pub fn clang_getRangeEnd(range: CXSourceRange) -> CXSourceLocation;
2307 pub fn clang_getRangeStart(range: CXSourceRange) -> CXSourceLocation;
2308 pub fn clang_getRemappings(file: *const c_char) -> CXRemapping;
2309 pub fn clang_getRemappingsFromFileList(files: *mut *const c_char, n_files: c_uint) -> CXRemapping;
2310 pub fn clang_getResultType(type_: CXType) -> CXType;
2311 pub fn clang_getSkippedRanges(tu: CXTranslationUnit, file: CXFile) -> *mut CXSourceRangeList;
2312 pub fn clang_getSpecializedCursorTemplate(cursor: CXCursor) -> CXCursor;
2313 pub fn clang_getSpellingLocation(location: CXSourceLocation, file: *mut CXFile, line: *mut c_uint, column: *mut c_uint, offset: *mut c_uint);
2314 pub fn clang_getTUResourceUsageName(kind: CXTUResourceUsageKind) -> *const c_char;
2315 pub fn clang_getTemplateCursorKind(cursor: CXCursor) -> CXCursorKind;
2316 pub fn clang_getToken(tu: CXTranslationUnit, location: CXSourceLocation) -> *mut CXToken;
2317 pub fn clang_getTokenExtent(tu: CXTranslationUnit, token: CXToken) -> CXSourceRange;
2318 pub fn clang_getTokenKind(token: CXToken) -> CXTokenKind;
2319 pub fn clang_getTokenLocation(tu: CXTranslationUnit, token: CXToken) -> CXSourceLocation;
2320 pub fn clang_getTokenSpelling(tu: CXTranslationUnit, token: CXToken) -> CXString;
2321 pub fn clang_getTranslationUnitCursor(tu: CXTranslationUnit) -> CXCursor;
2322 pub fn clang_getTranslationUnitSpelling(tu: CXTranslationUnit) -> CXString;
2323 #[cfg(feature = "clang_5_0")]
2325 pub fn clang_getTranslationUnitTargetInfo(tu: CXTranslationUnit) -> CXTargetInfo;
2326 #[cfg(feature = "clang_17_0")]
2328 pub fn clang_getUnaryOperatorKindSpelling(kind: CXUnaryOperatorKind) -> CXString;
2329 #[cfg(feature = "clang_16_0")]
2331 pub fn clang_getUnqualifiedType(type_: CXType) -> CXType;
2332 pub fn clang_getTypeDeclaration(type_: CXType) -> CXCursor;
2333 pub fn clang_getTypeKindSpelling(type_: CXTypeKind) -> CXString;
2334 pub fn clang_getTypeSpelling(type_: CXType) -> CXString;
2335 pub fn clang_getTypedefDeclUnderlyingType(cursor: CXCursor) -> CXType;
2336 #[cfg(feature = "clang_5_0")]
2338 pub fn clang_getTypedefName(type_: CXType) -> CXString;
2339 pub fn clang_hashCursor(cursor: CXCursor) -> c_uint;
2340 pub fn clang_indexLoc_getCXSourceLocation(location: CXIdxLoc) -> CXSourceLocation;
2341 pub fn clang_indexLoc_getFileLocation(location: CXIdxLoc, index_file: *mut CXIdxClientFile, file: *mut CXFile, line: *mut c_uint, column: *mut c_uint, offset: *mut c_uint);
2342 pub fn clang_indexSourceFile(index: CXIndexAction, data: CXClientData, callbacks: *mut IndexerCallbacks, n_callbacks: c_uint, index_flags: CXIndexOptFlags, file: *const c_char, arguments: *const *const c_char, n_arguments: c_int, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, tu: *mut CXTranslationUnit, tu_flags: CXTranslationUnit_Flags) -> CXErrorCode;
2343 #[cfg(feature = "clang_3_8")]
2345 pub fn clang_indexSourceFileFullArgv(index: CXIndexAction, data: CXClientData, callbacks: *mut IndexerCallbacks, n_callbacks: c_uint, index_flags: CXIndexOptFlags, file: *const c_char, arguments: *const *const c_char, n_arguments: c_int, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, tu: *mut CXTranslationUnit, tu_flags: CXTranslationUnit_Flags) -> CXErrorCode;
2346 pub fn clang_indexTranslationUnit(index: CXIndexAction, data: CXClientData, callbacks: *mut IndexerCallbacks, n_callbacks: c_uint, flags: CXIndexOptFlags, tu: CXTranslationUnit) -> c_int;
2347 pub fn clang_index_getCXXClassDeclInfo(info: *const CXIdxDeclInfo) -> *const CXIdxCXXClassDeclInfo;
2348 pub fn clang_index_getClientContainer(info: *const CXIdxContainerInfo) -> CXIdxClientContainer;
2349 pub fn clang_index_getClientEntity(info: *const CXIdxEntityInfo) -> CXIdxClientEntity;
2350 pub fn clang_index_getIBOutletCollectionAttrInfo(info: *const CXIdxAttrInfo) -> *const CXIdxIBOutletCollectionAttrInfo;
2351 pub fn clang_index_getObjCCategoryDeclInfo(info: *const CXIdxDeclInfo) -> *const CXIdxObjCCategoryDeclInfo;
2352 pub fn clang_index_getObjCContainerDeclInfo(info: *const CXIdxDeclInfo) -> *const CXIdxObjCContainerDeclInfo;
2353 pub fn clang_index_getObjCInterfaceDeclInfo(info: *const CXIdxDeclInfo) -> *const CXIdxObjCInterfaceDeclInfo;
2354 pub fn clang_index_getObjCPropertyDeclInfo(info: *const CXIdxDeclInfo) -> *const CXIdxObjCPropertyDeclInfo;
2355 pub fn clang_index_getObjCProtocolRefListInfo(info: *const CXIdxDeclInfo) -> *const CXIdxObjCProtocolRefListInfo;
2356 pub fn clang_index_isEntityObjCContainerKind(info: CXIdxEntityKind) -> c_int;
2357 pub fn clang_index_setClientContainer(info: *const CXIdxContainerInfo, container: CXIdxClientContainer);
2358 pub fn clang_index_setClientEntity(info: *const CXIdxEntityInfo, entity: CXIdxClientEntity);
2359 pub fn clang_isAttribute(kind: CXCursorKind) -> c_uint;
2360 pub fn clang_isConstQualifiedType(type_: CXType) -> c_uint;
2361 pub fn clang_isCursorDefinition(cursor: CXCursor) -> c_uint;
2362 pub fn clang_isDeclaration(kind: CXCursorKind) -> c_uint;
2363 pub fn clang_isExpression(kind: CXCursorKind) -> c_uint;
2364 pub fn clang_isFileMultipleIncludeGuarded(tu: CXTranslationUnit, file: CXFile) -> c_uint;
2365 pub fn clang_isFunctionTypeVariadic(type_: CXType) -> c_uint;
2366 pub fn clang_isInvalid(kind: CXCursorKind) -> c_uint;
2367 #[cfg(feature = "clang_7_0")]
2369 pub fn clang_isInvalidDeclaration(cursor: CXCursor) -> c_uint;
2370 pub fn clang_isPODType(type_: CXType) -> c_uint;
2371 pub fn clang_isPreprocessing(kind: CXCursorKind) -> c_uint;
2372 pub fn clang_isReference(kind: CXCursorKind) -> c_uint;
2373 pub fn clang_isRestrictQualifiedType(type_: CXType) -> c_uint;
2374 pub fn clang_isStatement(kind: CXCursorKind) -> c_uint;
2375 pub fn clang_isTranslationUnit(kind: CXCursorKind) -> c_uint;
2376 pub fn clang_isUnexposed(kind: CXCursorKind) -> c_uint;
2377 pub fn clang_isVirtualBase(cursor: CXCursor) -> c_uint;
2378 pub fn clang_isVolatileQualifiedType(type_: CXType) -> c_uint;
2379 pub fn clang_loadDiagnostics(file: *const c_char, error: *mut CXLoadDiag_Error, message: *mut CXString) -> CXDiagnosticSet;
2380 pub fn clang_parseTranslationUnit(index: CXIndex, file: *const c_char, arguments: *const *const c_char, n_arguments: c_int, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, flags: CXTranslationUnit_Flags) -> CXTranslationUnit;
2381 pub fn clang_parseTranslationUnit2(index: CXIndex, file: *const c_char, arguments: *const *const c_char, n_arguments: c_int, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, flags: CXTranslationUnit_Flags, tu: *mut CXTranslationUnit) -> CXErrorCode;
2382 #[cfg(feature = "clang_3_8")]
2384 pub fn clang_parseTranslationUnit2FullArgv(index: CXIndex, file: *const c_char, arguments: *const *const c_char, n_arguments: c_int, unsaved: *mut CXUnsavedFile, n_unsaved: c_uint, flags: CXTranslationUnit_Flags, tu: *mut CXTranslationUnit) -> CXErrorCode;
2385 pub fn clang_remap_dispose(remapping: CXRemapping);
2386 pub fn clang_remap_getFilenames(remapping: CXRemapping, index: c_uint, original: *mut CXString, transformed: *mut CXString);
2387 pub fn clang_remap_getNumFiles(remapping: CXRemapping) -> c_uint;
2388 pub fn clang_reparseTranslationUnit(tu: CXTranslationUnit, n_unsaved: c_uint, unsaved: *mut CXUnsavedFile, flags: CXReparse_Flags) -> CXErrorCode;
2389 pub fn clang_saveTranslationUnit(tu: CXTranslationUnit, file: *const c_char, options: CXSaveTranslationUnit_Flags) -> CXSaveError;
2390 pub fn clang_sortCodeCompletionResults(results: *mut CXCompletionResult, n_results: c_uint);
2391 #[cfg(feature = "clang_5_0")]
2393 pub fn clang_suspendTranslationUnit(tu: CXTranslationUnit) -> c_uint;
2394 pub fn clang_toggleCrashRecovery(recovery: c_uint);
2395 pub fn clang_tokenize(tu: CXTranslationUnit, range: CXSourceRange, tokens: *mut *mut CXToken, n_tokens: *mut c_uint);
2396 pub fn clang_visitChildren(cursor: CXCursor, visitor: CXCursorVisitor, data: CXClientData) -> c_uint;
2397
2398 pub fn clang_BlockCommandComment_getArgText(comment: CXComment, index: c_uint) -> CXString;
2400 pub fn clang_BlockCommandComment_getCommandName(comment: CXComment) -> CXString;
2401 pub fn clang_BlockCommandComment_getNumArgs(comment: CXComment) -> c_uint;
2402 pub fn clang_BlockCommandComment_getParagraph(comment: CXComment) -> CXComment;
2403 pub fn clang_Comment_getChild(comment: CXComment, index: c_uint) -> CXComment;
2404 pub fn clang_Comment_getKind(comment: CXComment) -> CXCommentKind;
2405 pub fn clang_Comment_getNumChildren(comment: CXComment) -> c_uint;
2406 pub fn clang_Comment_isWhitespace(comment: CXComment) -> c_uint;
2407 pub fn clang_Cursor_getParsedComment(C: CXCursor) -> CXComment;
2408 pub fn clang_FullComment_getAsHTML(comment: CXComment) -> CXString;
2409 pub fn clang_FullComment_getAsXML(comment: CXComment) -> CXString;
2410 pub fn clang_HTMLStartTag_getAttrName(comment: CXComment, index: c_uint) -> CXString;
2411 pub fn clang_HTMLStartTag_getAttrValue(comment: CXComment, index: c_uint) -> CXString;
2412 pub fn clang_HTMLStartTag_getNumAttrs(comment: CXComment) -> c_uint;
2413 pub fn clang_HTMLStartTagComment_isSelfClosing(comment: CXComment) -> c_uint;
2414 pub fn clang_HTMLTagComment_getAsString(comment: CXComment) -> CXString;
2415 pub fn clang_HTMLTagComment_getTagName(comment: CXComment) -> CXString;
2416 pub fn clang_InlineCommandComment_getArgText(comment: CXComment, index: c_uint) -> CXString;
2417 pub fn clang_InlineCommandComment_getCommandName(comment: CXComment) -> CXString;
2418 pub fn clang_InlineCommandComment_getNumArgs(comment: CXComment) -> c_uint;
2419 pub fn clang_InlineCommandComment_getRenderKind(comment: CXComment) -> CXCommentInlineCommandRenderKind;
2420 pub fn clang_InlineContentComment_hasTrailingNewline(comment: CXComment) -> c_uint;
2421 pub fn clang_ParamCommandComment_getDirection(comment: CXComment) -> CXCommentParamPassDirection;
2422 pub fn clang_ParamCommandComment_getParamIndex(comment: CXComment) -> c_uint;
2423 pub fn clang_ParamCommandComment_getParamName(comment: CXComment) -> CXString;
2424 pub fn clang_ParamCommandComment_isDirectionExplicit(comment: CXComment) -> c_uint;
2425 pub fn clang_ParamCommandComment_isParamIndexValid(comment: CXComment) -> c_uint;
2426 pub fn clang_TextComment_getText(comment: CXComment) -> CXString;
2427 pub fn clang_TParamCommandComment_getDepth(comment: CXComment) -> c_uint;
2428 pub fn clang_TParamCommandComment_getIndex(comment: CXComment, depth: c_uint) -> c_uint;
2429 pub fn clang_TParamCommandComment_getParamName(comment: CXComment) -> CXString;
2430 pub fn clang_TParamCommandComment_isParamPositionValid(comment: CXComment) -> c_uint;
2431 pub fn clang_VerbatimBlockLineComment_getText(comment: CXComment) -> CXString;
2432 pub fn clang_VerbatimLineComment_getText(comment: CXComment) -> CXString;
2433}