R0LIB32 Library

Ring-3 application programs access the networking kernel through tcp32dll.dll and so32dll.dll. For the device drivers at Ring-0, the ring transitions to access the networking kernel (sockets.sys) are very costly, and hence the r0lib.lib interface provides a way to access the networking kernel through 16-bit API calls. Because the r0lib is a 16-bit interface and the TCP/IP stack version 4.21 and above is a 32-bit stack, version 4.21 provides a new library at Ring-0, called r0lib32.

This new library not only saves the thunking in the stack kernel, but also bypasses the thunking layer, which is required for the 32-bit device drivers to go through the existing r0lib. All 32-bit device drivers can now use the r0lib32 to get into the stack without any thunking or ring transition overheads.


[Back: Introduction to Networking Services]
[Next: Sockets Overview]