Universal language interface (DSNULI)
The universal language interface (DSNULI) subcomponent determines the runtime environment and dynamically loads and branches to the appropriate language interface module.
The following figure shows the general structure of DSNULI and a program that uses it:



The Db2 load module, DSNULI, is the Universal Language Interface module. DSNULI has no aliases.
DSNULI has the following entry points:
- DSNALI
- For explicit Db2 Call Attach Facility connection service requests
- DSNRLI
- For explicit Db2 Resource Recovery Services Attach Facility connection service requests
- DSNCLI
- For link-editing with CICS®
- DSNHLI
- For generic SQL calls from applications that are designed to run in any environment.
- DSNHLI2
- For explicit SQL calls by way of the Call Attachment Facility
- DSNHLIR
- For explicit SQL calls by way of the Resource Recovery Services Attachment Facility
- DSNWLI
- For generic IFI calls from applications that are designed to run in any environment.
- DSNWLI2
- For explicit IFI calls by way of the Call Attachment Facility.
- DSNWLIR
- For explicit IFI call by way of the Resource Recovery Services Attachment Facility
PLITDLI
For PL/I specific IMS database access
DFSPLI
For PL/I specific IMS database access
CBLTDLI
For COBOL specific IMS database access
DFSCOBOL
For COBOL specific IMS database access
ASMTDLI
For assembler specific IMS database access
DFSASM
For assembler specific IMS database access
DSNULI dynamically loads and branches to the appropriate language interface module, which is based on the entry point name (for attachment-specific entry points), or based on the current environment (for the generic entry points DSNHLI and DSNWLI).