Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ nlist(3C) — DG/UX R4.11MU05

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

a.out(4)



nlist(3C)                      DG/UX R4.11MU05                     nlist(3C)


NAME
       nlist - get entries from name list

SYNOPSIS
       #include <nlist.h>

       int nlist (const char *filename, struct nlist *nl);

DESCRIPTION
       Nlist examines the name list in the executable file whose name is
       pointed to by filename, and selectively extracts a list of values and
       puts them in the array of nlist structures pointed to by nl.  The
       name list nl consists of an array of structures containing names of
       variables, types, and values.  The list is terminated with a null
       name, that is, a null string is in the name position of the
       structure.

       Each variable name is looked up in the name list of the file.  If the
       name is found, the type, value, storage class, and section number of
       the name are inserted in the other fields.  The type field may be set
       to 0 if the file was not compiled with the -g option.  Nlist will
       always return the information for an external symbol of a given name
       if the name exists in the file.  If an external symbol does not
       exist, and there is more than one symbol with the specified name in
       the file (such as static symbols defined in separate files), the
       values returned will be for the last occurrence of that name in the
       file.  If the name is not found, all fields in the structure except
       nname are set to 0.  See a.out(4) for a discussion of the symbol
       table structure.

       This function is useful for examining the system name list kept in
       the file /dgux.  In this way programs can obtain system addresses
       that are up to date.

NOTES
       In an ELF environment, nlist must be accessed through libelf:

         cc [flag ...] file ... -lelf [library ...]

       In a COFF environment, the <nlist.h> header file is automatically
       included by <a.out.h> for compatibility.  However, if the only
       information needed from <a.out.h> is for use of nlist, then including
       <a.out.h> is discouraged.  If <a.out.h> is included, the line #undef
       nname may need to follow it.

DIAGNOSTICS
       All value entries are set to 0 if the file cannot be read or if it
       does not contain a valid name list.

       Nlist returns 0 on success, -1 on error.

SEE ALSO
       a.out(4).


Licensed material--property of copyright holder(s)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026