1/*-
2 * Copyright (c) 1982, 1993
3 *	The Regents of the University of California.  All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 *
7 *	@(#)objsym.rep	8.1 (Berkeley) 06/06/93
8 */
9
10/*
11 * This file contains the definition of the representation of symbolic
12 * information in the object file.  The difference from this and memory
13 * is that pointers are represented as short integers and line number
14 * information is stored relatively where the base is found in the
15 * file information.
16 */
17
18typedef struct {
19    short strindex;
20    char oclass;
21    char oblkno;
22    short typno;
23    short chno;
24    union {
25	int offset;     /* variable address */
26	long iconval;       /* integer constant value */
27	double fconval;     /* floating constant value */
28	struct {        /* range bounds */
29	    long lower;
30	    long upper;
31	} orangev;
32	struct {        /* address of function value, code */
33	    int offset;
34	    ADDRESS codeloc;
35	} ofuncv;
36	struct {        /* variant record info */
37	    int size;
38	    short vtorecno;
39	    short vtagno;
40	} ovarnt;
41    } osymvalue;
42} OBJSYM;
43
44typedef union {
45    long together;
46    struct {
47	short lineincr;
48	unsigned short addrincr;
49    } separate;
50} OBJLINE;
51