Linux C获取socket接收缓冲区使用量大小

因为网络实验要求,需要获取socket接受缓冲区已经占用的量。
目前尝试了使用ioctl获取,但是被告知用netlink访问内核的方法更好。
但是查询过程中发现内核代码很不熟悉,希望能获得一个代码进行参考。

可以查看:/proc/sys/net/ipv4/tcp_rmem (阅读)/proc/sys/net/ipv4/tcp_wmem (写)其中包含三个数字,分别是最小值,默认值和最大内存大小值(以字节为单位)。