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