etc/services - sync with NetBSD-8
[minix.git] / external / bsd / llvm / dist / clang / include / clang-c / CXString.h
bloba649cdf82fc78004282e6cde7896050ed1fec2c3
1 /*===-- clang-c/CXString.h - C Index strings --------------------*- C -*-===*\
2 |* *|
3 |* The LLVM Compiler Infrastructure *|
4 |* *|
5 |* This file is distributed under the University of Illinois Open Source *|
6 |* License. See LICENSE.TXT for details. *|
7 |* *|
8 |*===----------------------------------------------------------------------===*|
9 |* *|
10 |* This header provides the interface to C Index strings. *|
11 |* *|
12 \*===----------------------------------------------------------------------===*/
14 #ifndef LLVM_CLANG_C_CXSTRING_H
15 #define LLVM_CLANG_C_CXSTRING_H
17 #include "clang-c/Platform.h"
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
23 /**
24 * \defgroup CINDEX_STRING String manipulation routines
25 * \ingroup CINDEX
27 * @{
30 /**
31 * \brief A character string.
33 * The \c CXString type is used to return strings from the interface when
34 * the ownership of that string might differ from one call to the next.
35 * Use \c clang_getCString() to retrieve the string data and, once finished
36 * with the string data, call \c clang_disposeString() to free the string.
38 typedef struct {
39 const void *data;
40 unsigned private_flags;
41 } CXString;
43 /**
44 * \brief Retrieve the character data associated with the given string.
46 CINDEX_LINKAGE const char *clang_getCString(CXString string);
48 /**
49 * \brief Free the given string.
51 CINDEX_LINKAGE void clang_disposeString(CXString string);
53 /**
54 * @}
57 #ifdef __cplusplus
59 #endif
60 #endif