From rummaging through the CUDA documentation: The callback function needs be of type cudaHostFn_t, i.e. conform to a particular callback function prototype. This requires a callback function with the following interface:
void CUDART_CB myHostCallback (void *data);
So all of the data passed to the callback function is a single data object of an opaque data type, accessed via a void pointer.