#include <stdio.h> #include <filehdr.h> #include <sym.h> #include <ldfcn.h>
long ldgetpd (ldptr, ipd, ppd ) LDFILE ldptr ; long ipd ; pPDR ipd ;
The ldgetpd routine returns a SUCCESS or FAILURE depending on whether the procedure descriptor with index ipd can be accessed. If it can be accessed, the structure pointed to by ppd is filled with the contents of the corresponding procedure descriptor. The isym, iline, and iopt fields of the procedure descriptor are updated to be used in further LD routine calls. The adr field is updated from the symbol referenced by the isym field.
The PDR cannot be retrieved when: The procedure descriptor table cannot be found. The ipd offset into the procedure descriptor table is beyond the end of the table. The file descriptor that the ipd offset falls into cannot be found.
Typically, ldgetpd is called while traversing the table that runs from 0 to SYMHEADER(ldptr).ipdMax - 1.
The program must be loaded with the object file access routine library libmld.a.
ldclose(3), ldopen(3), ldtbseek(3), ldtbread(3), ldfcn(4). delim off