148097Sbostic/*-
2*62141Sbostic * Copyright (c) 1982, 1993
3*62141Sbostic *	The Regents of the University of California.  All rights reserved.
422782Smckusick *
548097Sbostic * %sccs.include.redist.c%
648097Sbostic *
7*62141Sbostic *	@(#)objsym.rep	8.1 (Berkeley) 06/06/93
822768Smckusick */
95499Slinton
105499Slinton/*
115740Slinton * This file contains the definition of the representation of symbolic
125740Slinton * information in the object file.  The difference from this and memory
135740Slinton * is that pointers are represented as short integers and line number
145740Slinton * information is stored relatively where the base is found in the
155740Slinton * file information.
165499Slinton */
175499Slinton
185499Slintontypedef struct {
195740Slinton    short strindex;
205740Slinton    char oclass;
215740Slinton    char oblkno;
225740Slinton    short typno;
235740Slinton    short chno;
245740Slinton    union {
255740Slinton	int offset;     /* variable address */
265740Slinton	long iconval;       /* integer constant value */
275740Slinton	double fconval;     /* floating constant value */
285740Slinton	struct {        /* range bounds */
295740Slinton	    long lower;
305740Slinton	    long upper;
315740Slinton	} orangev;
325740Slinton	struct {        /* address of function value, code */
335740Slinton	    int offset;
345740Slinton	    ADDRESS codeloc;
355740Slinton	} ofuncv;
365740Slinton	struct {        /* variant record info */
375740Slinton	    int size;
385740Slinton	    short vtorecno;
395740Slinton	    short vtagno;
405740Slinton	} ovarnt;
415740Slinton    } osymvalue;
425499Slinton} OBJSYM;
435740Slinton
445740Slintontypedef union {
455740Slinton    long together;
465740Slinton    struct {
475740Slinton	short lineincr;
485740Slinton	unsigned short addrincr;
495740Slinton    } separate;
505740Slinton} OBJLINE;
51