Get information about the channels owned by the specified process.
Call this the first time with an argument of NULL to get the number of channels:
devctl(fd, DCMD_PROC_CHANNELS, NULL, 0, &n);
Next, allocate a buffer that's large enough to hold a procfs_channel structure (see debug_channel_t in <sys/debug.h>) for each channel, and pass it to another devctl() call:
my_buffer = (procfs_channel *) malloc( sizeof(procfs_channel) * n ); if ( my_buffer == NULL ) { /* Not enough memory. */ } devctl( fd, DCMD_PROC_CHANNELS, my_buffer, sizeof(procfs_channel) * n, &dummy);