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