# Sanitizer_CallbackData Struct Reference
[Sanitizer Callback API]

Data passed into a runtime or driver API callback function. More...

## Data Fields
Sanitizer_ApiCallbackSite | callbackSite
CUcontext | context
const char * | functionName
const void * | functionParams
const void * | functionReturnValue
const char * | symbolName

## Detailed Description

Data passed into a runtime or driver API callback function as the `cbdata` argument to Sanitizer_CallbackFunc. The `cbdata` will be this type for `domain` equal to SANITIZER_CB_DOMAIN_DRIVER_API or SANITIZER_CB_DOMAIN_RUNTIME_API. The callback data is valid only within the invocation of the callback function that is passed the data. If you need to retain some data for use outside of the callback, you must make of a copy of that data. For example, if you make a shallow copy of Sanitizer_CallbackData within a callback, you cannot dereference `functionParams` outside of that callback to access the function parameters. `functionName` is an exception: the string pointed to by `functionName` is a global constant and so may be accessed outside of the callback.

## Field Documentation

Sanitizer_ApiCallbackSite Sanitizer_CallbackData::callbackSite

Point in the runtime or driver function from where the callback was issued.