*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/stfd (3)              
Title
Content
Arch
Section
 

Contents


STFD(3X)							      STFD(3X)


NAME    [Toc]    [Back]

     stfd - routines that provide access to per	file descriptor	section	of the
     symbol table

SYNOPSIS    [Toc]    [Back]

     #include <syms.h>

     long st_currentifd(void);

     long st_ifdmax(void);

     void st_setfd(long	ifd);

     long st_fdadd(char	*filename);

     long st_symadd(long iss, long value, long st, long	sc, long freloc,
	       long index);

     long st_auxadd(AUXU aux);

     long st_stradd(char *cp);

     long st_lineadd(long line);

     long st_pdadd(long	isym);

     long st_ifd_pcfd(pCFDR pcfd1);

     pCFDR st_pcfd_ifd(long ifd);

     pSYMR st_psym_ifd_isym(long ifd; long isym);

     pAUXU st_paux_ifd_iaux(long ifd, long iaux);

     pAUXU st_paux_iaux(long iaux);

     char *st_str_iss(long iss);

     char *st_str_ifd_iss(long ifd, long iss);

     pPDR st_ppd_ifd_isym(long ifd, long isym);

     char *st_malloc(char *ptr,	long *size, long itemsize, long	baseitems);

DESCRIPTION    [Toc]    [Back]

     The stfd routines provide an interface to objects handled on a per	file
     descriptor	(or fd)	level (for example, local symbols, auxiliaries,	local
     strings, line numbers, optimization entries, procedure descriptor
     entries, and the file descriptors).  These	routines constitute a group
     because they deal with objects corresponding to fields in the FDR
     structure.




									Page 1






STFD(3X)							      STFD(3X)



     A fd can be activated by reading an existing one into memory or by
     creating a	new one.  The compilation unit routines	st_readbinary and
     st_readst read file descriptors and their constituent parts into memory
     from a symbol table on disk.

     St_fdadd adds a file descriptor to	the list of file descriptors. The lang
     field is initialized from a user specified	global st_lang that should be
     set to a constant designated for the language in <symconst.h>. The	fMerge
     field is initialized from the user	specified global st_merge that
     specifies whether the file	is to start with the attribute of being	able
     to	be merged with identical files at load time. The fBigendian field is
     initialized by the	gethostsex(3) routine, which determines	the permanent
     byte ordering for the auxiliary and line number entries for this file.

     St_fdadd adds the null string to the new files string table that is
     accessible	by the constant	issNull.  It also adds the filename to the
     string table and sets the rss field. Finally, the current file is set to
     the newly added file so that later	calls operate on that file.

     All routines for fd-level objects handle only the current file unless a
     file index	is specified. The current file can also	be set with st_setfd.

     Programs can find the current file	by calling st_currentifd, which
     returns the current index.	Programs can find the number of	files by
     calling st_ifdmax.	The fd routines	only require working with indices to
     do	most things.  They allow more in-depth manipulation by allowing	users
     to	get the	compile	time file descriptor (CFDR see <cmplrs/stsupport.h>)
     that contains memory pointers to the per file tables (rather than indices
     or	offsets	used in	disk files). Users can retrieve	a pointer to the CFDR
     by	calling	st_pcfd_ifd with the index to the desired file.	The inverse
     mapping st_ifd_pcfd exists, as well.

     Each of fd's constituent parts has	an add routine:	 st_symadd, st_stradd,
     st_lineadd, st_pdadd, and st_auxadd. The parameters of the	add routines
     correspond	to the fields of the added object (see <sym.h>). The pdadd
     routine lets users	fill in	the isym field only. Further information can
     be	added by directly accessing the	procedure descriptor entry.

     The add routines return an	index that can be used to retrieve a pointer
     to	part of	the desired object with	one of the following routines:
     st_psym_isym, st_str_iss, and st_paux_iaux. NOTE: These routines only
     return objects within the current file. The following routines allow for
     file specification:  st_psym_ifd_isym, st_aux_ifd_iaux, and
     st_str_ifd_iss.

     St_ppd_ifd_isym allows access to procedures through the file index	for
     the file where they occur and the isym field of the entry that points at
     the local symbol for that procedure.

     The return	index from st_symadd should be used to get a dense number (see
     stcu).  That number should	be the ucode block number for the object the
     symbol describes.



									Page 2






STFD(3X)							      STFD(3X)



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

SEE ALSO    [Toc]    [Back]

      
      
     stfe(3x), stcu(3x)

BUGS    [Toc]    [Back]

     The interface will	added to incrementally,	as needed.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
stfe IRIX routines that provide a high-level interface to basic functions needed to access and add to the symbol table
stcu Tru64 routines that provide a compilation unit symbol table interface
stcu IRIX routines that provide a compilation unit symbol table interface
stio Tru64 routines that provide a binary read/write interface to the symbol table
stio IRIX routines that provide a binary read/write interface to the MIPS symbol table
libst Tru64 symbol table and object file access library
libst_intro Tru64 symbol table and object file access library
ranhashinit Tru64 access routine for the symbol table definition file in archives
ranlookup Tru64 access routine for the symbol table definition file in archives
ranhash Tru64 access routine for the symbol table definition file in archives
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service