ldlread(3) — Subroutines
Digital
NAME
ldlread, ldlinit, ldlitem − manipulate line number entries of a common object file function
SYNOPSIS
#include <stdio.h>
#include <filehdr.h>
#include <syms.h>
#include <ldfcn.h>
int ldlread (ldptr, fcnindx, linenum, linent)
LDFILE ∗ldptr;
long fcnindx;
unsigned short linenum;
LINER linent;
int ldlinit (ldptr, fcnindx)
LDFILE ∗ldptr;
long fcnindx;
int ldlitem (ldptr, linenum, linent)
LDFILE ∗ldptr;
unsigned short linenum;
LINER linent;
DESCRIPTION
Ldlread searches the line number entries of the common object file currently associated with ldptr. Ldlread begins its search with the line number entry for the beginning of a function and confines its search to the line numbers associated with a single function. The function is identified by fcnindx, which is the index of its local symbols entry in the object file symbol table. Ldlread reads the entry with the smallest line number equal to or greater than linenum into linent.
Ldlinit and ldlitem together do exactly the same function as ldlread. After an initial call to ldlread or ldlinit, ldlitem can be used to retrieve a series of line number entries associated with a single function. Ldlinit simply finds the line number entries for the function identified by fcnindx. Ldlitem finds and reads the entry with the smallest line number equal to or greater than linenum into linent.
Ldlread, ldlinit, and ldlitem each return either SUCCESS or FAILURE. If no line number entries exist in the object file, if fcnindx does not index a function entry in the symbol table, or if it finds no line number equal to or greater than linenum, ldlread fails. If no line number entries exist in the object file or if fcnindx does not index a function entry in the symbol table, ldlinit fails. If it finds no line number equal to or greater than linenum, ldlitem fails.
The programs must be loaded with the object file access routine library libmld.a.