mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-05-09 11:00:40 +00:00
58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
/*
|
|
* NVIDIA_COPYRIGHT_BEGIN
|
|
*
|
|
* Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* NVIDIA_COPYRIGHT_END
|
|
*/
|
|
|
|
/*
|
|
nv_decode.h -- API for the CUDA C++ name demangler.
|
|
*/
|
|
|
|
/* Avoid including these declarations more than once: */
|
|
#ifndef DECODE_H
|
|
#define DECODE_H 1
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Cuda C++ demangling API.
|
|
|
|
Parameters:
|
|
id: Input mangled string
|
|
output_buffer: Pointer to where the demangled buffer will
|
|
be stored. This memory must be allocated with malloc.
|
|
If output-buffer is NULL, memory will be malloc'd to
|
|
store the demangled name and returned through the
|
|
function return value.
|
|
If the output-buffer is too small, it is expanded using
|
|
realloc.
|
|
length: It is necessary to provide the size of the output buffer if the user
|
|
is providing pre-allocated memory. This is needed by the demangler
|
|
in case the size needs to be reallocated.
|
|
If the length is non-null, the length of the demangled buffer
|
|
is placed in length.
|
|
status: *status is set to one of the following values. 0 - The
|
|
demangling operation succeeded; -1 - A memory allocation
|
|
failure occurred. -2 - Not a valid mangled id. -3 - An
|
|
input validation failure has occurred (one or more
|
|
arguments are invalid).
|
|
|
|
Return Value: A pointer to the start of the NUL-terminated demangled name,
|
|
or NULL if the demangling fails. The caller is responsible for
|
|
deallocating this memory using free.
|
|
|
|
Note: This function is thread-safe.
|
|
*/
|
|
|
|
char* __cu_demangle(const char *id,
|
|
char *output_buffer,
|
|
size_t *length,
|
|
int *status);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif /* ifndef DECODE_H */
|