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