Просишь void*, а потом кастуешь к uint32_t. Фраза про отдельный котел. void* (*get_buffer)(uint32_t size);