SYSTEM OVERVIEW
Product Data Exchange (PDX) Subsystem
The PDX subsystem contains functions for manipulating characteristics of the library which are common to all subsystems. Most of these functions pertain to integrating message tables into the system while others define platform portable utilties for eliminating certain compiler dependencies. For the most part, the only functions an application need call are pdx_Initialize, pdx_SetTable, and pdx_Terminate.
Note: If you will be reinitializing subsystems for re-entrancy or DLL processing, you must call pdx_Terminate and pdx_Initialize before making a second call to any subsystem Initialize routine. For example:
Okay:
{
pdx_Initialize(PDX_NOOPT);
iges_Initialize(IGES_NOOPT);
:
:
iges_Terminate(IGES_NOOPT);
pdx_Terminate(PDX_NOOPT);
pdx_Initialize(PDX_NOOPT);
iges_Initialize(IGES_NOOPT);
:
:
iges_Terminate(IGES_NOOPT);
pdx_Terminate(PDX_NOOPT);
}
Not Okay:
{
pdx_Initialize(PDX_NOOPT);
iges_Initialize(IGES_NOOPT);
:
:
iges_Terminate(IGES_NOOPT);
iges_Initialize(IGES_NOOPT); <- This initialize fails
:
}
EXCEPTIONS
The following non-subsystem specific exceptions are defined:
Raised whenever a low-level file I/O operation fails.
Raised whenever a maximum error value is reached.
Raised whenever a malloc, calloc or realloc fails.
ENVIRONMENT VARIABLES
Currently the only environment variable used is PDELIB_TMP which controls where temporary files are created. If this variables is not set then temporary files will be placed in the directory returned by the function tmpnam. See the ugn_intro man page for information on setting up environment variable aliases to allow an application to redefine the names of the variables.