asoundlib source code is fully available here: https://github.com/alsa-project/alsa-lib
So you can trace the functions you use from it down to actual syscalls it makes (ioctl).
Basically it means sending and receiving bunch of messages in a special structs using ioctl. I'm not sure if that is documented anywhere - so you will probably need to dive deep in alsa-lib source code or kernel code to understand the interface.
Here's alternative library called TinyALSA that interfaces with kernel using ioctl without help of alsa-lib: https://github.com/tinyalsa/tinyalsa
It has smaller amount of source code, so it might be easier to understand.
Here's somebody's project that shows how to use few of alsa's ioctl: https://github.com/takaswie/alsa-ioctl-test
It does not seem to actually show how to play PCM samples, but it might be a good starting point understanding the interface.