The relationship between Device Group, CODs and PODs is described in Device Definition Hierarchy. The OSDI primarily views the world in terms of CODs. In other words, it is the COD identifier (defined by you in DFSETUP) that is passed to your OSDI code when your application utilises a POD. PODs can be distinguished in the OSDI because the parameter string that you defined in DFSETUP is also passed.
COD identifier '1' (31h) is reserved for your special initialisation COD (remember that DFSETUP insists that a Device Group always owns the initialisation COD '1'). This is automatically selected when the application chooses a Device Group, prior to producing output.
The OSDI provides user-modifiable functions to handle output, called:
Like input device functions, these are supplied as skeleton routines, which you modify according to the guidelines described for each function. These functions use various items declared in dip.h and described here.