clang 23.0.0git
Build system utilities

Typedefs

typedef struct CXVirtualFileOverlayImpl * CXVirtualFileOverlay
 Object encapsulating information about overlaying virtual file/directories over the real file system.
typedef struct CXModuleMapDescriptorImpl * CXModuleMapDescriptor
 Object encapsulating information about a module.modulemap file.

Functions

CINDEX_LINKAGE unsigned long long clang_getBuildSessionTimestamp (void)
 Return the timestamp for use with Clang's -fbuild-session-timestamp= option.
CINDEX_LINKAGE CXVirtualFileOverlay clang_VirtualFileOverlay_create (unsigned options)
 Create a CXVirtualFileOverlay object.
CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_addFileMapping (CXVirtualFileOverlay, const char *virtualPath, const char *realPath)
 Map an absolute virtual file path to an absolute real one.
CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_setCaseSensitivity (CXVirtualFileOverlay, int caseSensitive)
 Set the case sensitivity for the CXVirtualFileOverlay object.
CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_writeToBuffer (CXVirtualFileOverlay, unsigned options, char **out_buffer_ptr, unsigned *out_buffer_size)
 Write out the CXVirtualFileOverlay object to a char buffer.
CINDEX_LINKAGE void clang_free (void *buffer)
 free memory allocated by libclang, such as the buffer returned by CXVirtualFileOverlay() or clang_ModuleMapDescriptor_writeToBuffer().
CINDEX_LINKAGE void clang_VirtualFileOverlay_dispose (CXVirtualFileOverlay)
 Dispose a CXVirtualFileOverlay object.
CINDEX_LINKAGE CXModuleMapDescriptor clang_ModuleMapDescriptor_create (unsigned options)
 Create a CXModuleMapDescriptor object.
CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_setFrameworkModuleName (CXModuleMapDescriptor, const char *name)
 Sets the framework module name that the module.modulemap describes.
CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_setUmbrellaHeader (CXModuleMapDescriptor, const char *name)
 Sets the umbrella header name that the module.modulemap describes.
CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_writeToBuffer (CXModuleMapDescriptor, unsigned options, char **out_buffer_ptr, unsigned *out_buffer_size)
 Write out the CXModuleMapDescriptor object to a char buffer.
CINDEX_LINKAGE void clang_ModuleMapDescriptor_dispose (CXModuleMapDescriptor)
 Dispose a CXModuleMapDescriptor object.
CINDEX_LINKAGE void clang_ModuleCache_prune (const char *Path, time_t PruneInterval, time_t PruneAfter)
 Prune module files in the module cache directory that haven't been accessed in a long time.

Detailed Description

Typedef Documentation

◆ CXModuleMapDescriptor

typedef struct CXModuleMapDescriptorImpl* CXModuleMapDescriptor

Object encapsulating information about a module.modulemap file.

Definition at line 101 of file BuildSystem.h.

◆ CXVirtualFileOverlay

typedef struct CXVirtualFileOverlayImpl* CXVirtualFileOverlay

Object encapsulating information about overlaying virtual file/directories over the real file system.

Definition at line 40 of file BuildSystem.h.

Function Documentation

◆ clang_free()

CINDEX_LINKAGE void clang_free ( void * buffer)

free memory allocated by libclang, such as the buffer returned by CXVirtualFileOverlay() or clang_ModuleMapDescriptor_writeToBuffer().

Parameters
buffermemory pointer to free.

References CINDEX_LINKAGE.

◆ clang_getBuildSessionTimestamp()

CINDEX_LINKAGE unsigned long long clang_getBuildSessionTimestamp ( void )

Return the timestamp for use with Clang's -fbuild-session-timestamp= option.

References CINDEX_LINKAGE.

◆ clang_ModuleCache_prune()

CINDEX_LINKAGE void clang_ModuleCache_prune ( const char * Path,
time_t PruneInterval,
time_t PruneAfter )

Prune module files in the module cache directory that haven't been accessed in a long time.

Parameters
Paththe path to the module cache directory.
PruneIntervalthe minimum time in seconds between two prune operations. If the timestamp file is newer than this, pruning is skipped.
PruneAfterthe time in seconds after which unused module files are removed.

References CINDEX_LINKAGE, and LLVM_CLANG_C_EXTERN_C_END.

◆ clang_ModuleMapDescriptor_create()

CINDEX_LINKAGE CXModuleMapDescriptor clang_ModuleMapDescriptor_create ( unsigned options)

Create a CXModuleMapDescriptor object.

Must be disposed with clang_ModuleMapDescriptor_dispose().

Parameters
optionsis reserved, always pass 0.

References CINDEX_LINKAGE.

◆ clang_ModuleMapDescriptor_dispose()

CINDEX_LINKAGE void clang_ModuleMapDescriptor_dispose ( CXModuleMapDescriptor )

Dispose a CXModuleMapDescriptor object.

References CINDEX_LINKAGE.

◆ clang_ModuleMapDescriptor_setFrameworkModuleName()

CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_setFrameworkModuleName ( CXModuleMapDescriptor ,
const char * name )

Sets the framework module name that the module.modulemap describes.

Returns
0 for success, non-zero to indicate an error.

References CINDEX_LINKAGE.

◆ clang_ModuleMapDescriptor_setUmbrellaHeader()

CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_setUmbrellaHeader ( CXModuleMapDescriptor ,
const char * name )

Sets the umbrella header name that the module.modulemap describes.

Returns
0 for success, non-zero to indicate an error.

References CINDEX_LINKAGE.

◆ clang_ModuleMapDescriptor_writeToBuffer()

CINDEX_LINKAGE enum CXErrorCode clang_ModuleMapDescriptor_writeToBuffer ( CXModuleMapDescriptor ,
unsigned options,
char ** out_buffer_ptr,
unsigned * out_buffer_size )

Write out the CXModuleMapDescriptor object to a char buffer.

Parameters
optionsis reserved, always pass 0.
out_buffer_ptrpointer to receive the buffer pointer, which should be disposed using clang_free().
out_buffer_sizepointer to receive the buffer size.
Returns
0 for success, non-zero to indicate an error.

◆ clang_VirtualFileOverlay_addFileMapping()

CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_addFileMapping ( CXVirtualFileOverlay ,
const char * virtualPath,
const char * realPath )

Map an absolute virtual file path to an absolute real one.

The virtual path must be canonicalized (not contain "."/"..").

Returns
0 for success, non-zero to indicate an error.

References CINDEX_LINKAGE.

◆ clang_VirtualFileOverlay_create()

CINDEX_LINKAGE CXVirtualFileOverlay clang_VirtualFileOverlay_create ( unsigned options)

Create a CXVirtualFileOverlay object.

Must be disposed with clang_VirtualFileOverlay_dispose().

Parameters
optionsis reserved, always pass 0.

References CINDEX_LINKAGE.

◆ clang_VirtualFileOverlay_dispose()

CINDEX_LINKAGE void clang_VirtualFileOverlay_dispose ( CXVirtualFileOverlay )

Dispose a CXVirtualFileOverlay object.

References CINDEX_LINKAGE.

◆ clang_VirtualFileOverlay_setCaseSensitivity()

CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_setCaseSensitivity ( CXVirtualFileOverlay ,
int caseSensitive )

Set the case sensitivity for the CXVirtualFileOverlay object.

The CXVirtualFileOverlay object is case-sensitive by default, this option can be used to override the default.

Returns
0 for success, non-zero to indicate an error.

References CINDEX_LINKAGE.

◆ clang_VirtualFileOverlay_writeToBuffer()

CINDEX_LINKAGE enum CXErrorCode clang_VirtualFileOverlay_writeToBuffer ( CXVirtualFileOverlay ,
unsigned options,
char ** out_buffer_ptr,
unsigned * out_buffer_size )

Write out the CXVirtualFileOverlay object to a char buffer.

Parameters
optionsis reserved, always pass 0.
out_buffer_ptrpointer to receive the buffer pointer, which should be disposed using clang_free().
out_buffer_sizepointer to receive the buffer size.
Returns
0 for success, non-zero to indicate an error.