When creating a DLL, the binder automatically creates a definition side-deck that describes the functions and the variables that can be imported by DLL applications. You must provide the generated definition side-deck to all users of the DLL. Any DLL application that implicitly loads the DLL must include the definition side-deck when they bind. For information about creating a side-deck, refer to "Binding z/OS XL C/C++ programs" in z/OS XL C/C++ User's Guide.
IMPORT CODE,BASICIO,'bopen'
IMPORT CODE,BASICIO,'bclose'
IMPORT CODE,BASICIO,'bread'
IMPORT CODE,BASICIO,'bwrite'
IMPORT DATA,BASICIO,'berror'
IMPORT CODE,TRIANGLE,'getarea__8triangleFv'
IMPORT CODE,TRIANGLE,'getperim__8triangleFv'
IMPORT CODE,TRIANGLE,'__ct__8triangleFv'
You can edit the definition side-deck to remove any functions and variables that you do not want to export. You must maintain the file as a binary file with fixed format and a record length of 80 bytes. Also, use proper binder continuation rules if the IMPORT statement spans multiple lines, and you change the length of the statement. In the above example, if you do not want to expose getperim(), remove the control statement IMPORT CODE,TRIANGLE,'getperim__8triangleFv' from the definition side-deck.
The definition side-deck contains mangled names of exported C++ functions, such as getarea__8triangleFv. To find the original function or variable name in your source module, review the compiler listing, the binder map, or use the CXXFILT utility, if you do not have access to the listings. This will permit you to see both the mangled and demangled names. For more information, see filter utility in z/OS XL C/C++ User's Guide.