By default, when you include the snmp_dpi.h include file, you will be exposed to the DPI 2.0 API. For a list of the functions provided, see The snmp_dpi.h Include File. This is the recommended use of the SNMP DPI API. When you link-edit your object code into an executable file, you must use the new DPI functions as provided in the DPI20DLL.LIB and DPI20DLL.DLL files.
Waiting for a DPI packet also depends on the platform and how the chosen transport protocol is exactly implemented. In addition, some subagents want to control sending of and waiting for packets themselves, because they may need to be driven by other interrupts as well.
There is a set of DPI transport-related functions that are implemented on all platforms to hide the platform dependent issues for those subagents that do not need detailed control about the transport themselves.