Not sure If I understood clearly.
But I assume, you have character pointer pointing to mapped memory and you are trying to write data after certain offset.
char * ptr_to_memory = m_pP[channel];
//buf is array of character pointer, so you need to know the "index" as well as "size" of the data you need to write.
char * data_to_write = buf[index];
memcpy( ptr_to_memory + offset, data_to_write, size );
Remember to do some sanity check, whether ( ptr + offset ) is within the mapped region.