ldreadst(3X)

ldreadst - Reads symbol table information

As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.

NAME
     ldreadst - Reads symbol table information

SYNOPSIS
     #include <stdio.h>
     #include <filehdr.h>
     #include <syms.h>
     #include <ldfcn.h>

     int ldreadst(LDFILE * ldptr, int flags ");"

IMPLEMENTATION
     IRIX systems (o32 ABI only)

DESCRIPTION
     ldreadst reads in the portions of the symbol table implied by the
     flags argument.  A flags argument of -1 reads in the entire symbol
     table.  Since the other symbol table routines, for example, ldtbread,
     ensure that the relevant portions of the symbol table have been read
     in, you need not call ldreadst to use the other routines.
     ldreadst(ldptr,-1) would simply ensure the whole symbol table is read
     in at once, which is not necessary.

     ldreadst is useful, however.  You can test for the existence of symbol
     table information in a file in the following way:

          char *filename;
          LDFILE *ldptr;
          ldptr = ldopen(filename, (LDFILE *)0);
          if(ldptr == NULL) {
            /* No such file exists */
          } else {
            /* This is not the _only_ way one could test for
            ** the existence of the symbol table.
            */
            if(ldreadst(pchdr,-1) == FAILURE) {
               /* This binary has no symbol table */
            }
          }

     ldreadst returns SUCCESS if it has read in the symbol table
     successfully or FAILURE if it cannot.  If an symbol table has been
     truncated or damaged, there is a small probability that ldreadst will
     core dump rather than return FAILURE.

     The program must be loaded with the object file access routine library
     libmld.a.

SEE ALSO
     ldopen(3X), ldclose(3X)

     intro(4), ldfcn(4)

     This man page is available only online.