0
|
1 /*
|
|
2 * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved.
|
|
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
4 *
|
|
5 * This code is free software; you can redistribute it and/or modify it
|
|
6 * under the terms of the GNU General Public License version 2 only, as
|
|
7 * published by the Free Software Foundation.
|
|
8 *
|
|
9 * This code is distributed in the hope that it will be useful, but WITHOUT
|
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
12 * version 2 for more details (a copy is included in the LICENSE file that
|
|
13 * accompanied this code).
|
|
14 *
|
|
15 * You should have received a copy of the GNU General Public License version
|
|
16 * 2 along with this work; if not, write to the Free Software Foundation,
|
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
18 *
|
|
19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
|
20 * CA 95054 USA or visit www.sun.com if you need additional information or
|
|
21 * have any questions.
|
|
22 *
|
|
23 */
|
|
24
|
|
25 package sun.jvm.hotspot.debugger.win32.coff;
|
|
26
|
|
27 /** Models a segment descriptor in {@link
|
|
28 sun.jvm.hotspot.debugger.win32.coff.DebugVC50SSSegMap}. */
|
|
29
|
|
30 public interface DebugVC50SegDesc {
|
|
31 /** Descriptor flags bit field. See {@link
|
|
32 sun.jvm.hotspot.debugger.win32.coff.DebugVC50SegDescEnums}. */
|
|
33 public short getFlags();
|
|
34
|
|
35 /** The logical overlay number. */
|
|
36 public short getOverlayNum();
|
|
37
|
|
38 /** The group index into the descriptor array. The group index must
|
|
39 either be 0 or cSegLog <= group < cSeg. */
|
|
40 public short getGroup();
|
|
41
|
|
42 /** <p> This value has different meanings depending upon the values
|
|
43 of fAbs and fSel in the flags bit array and ovl: </p>
|
|
44
|
|
45 <p>
|
|
46 <table>
|
|
47 <tr> <td> fAbs <td> fSel <td> ovl <td> Operation
|
|
48 <tr> <td> 0 <td> 0 <td> 0 <td> Frame is added to PSP + 0x10 if not a .com file
|
|
49 <tr> <td> 0 <td> 0 <td> 0 <td> Frame is added to PSP if it is a .com file
|
|
50 <tr> <td> 0 <td> 0 <td> != 0 <td> Frame is added to current overlay base
|
|
51 <tr> <td> 1 <td> 0 <td> x <td> Frame is absolute address
|
|
52 <tr> <td> 0 <td> 1 <td> x <td> Frame contains a selector
|
|
53 </table>
|
|
54 </p>
|
|
55 */
|
|
56 public short getFrame();
|
|
57
|
|
58 /** The byte index of the segment or group name in the sstSegName
|
|
59 table. A value of 0xffff indicates there is no name. */
|
|
60 public short getName();
|
|
61
|
|
62 /** The byte index of the class name in the sstSegName table. A
|
|
63 value of 0xffff indicates there is no name. */
|
|
64 public short getClassName();
|
|
65
|
|
66 /** Byte offset of the logical segment within the specified physical
|
|
67 segment. If fGroup is set in flags, offset is the offset of the
|
|
68 group in the physical segment. Currently, all groups define
|
|
69 physical segments so offset will be zero for groups. */
|
|
70 public int getOffset();
|
|
71
|
|
72 /** Byte count of the logical segment or group. */
|
|
73 public int getSize();
|
|
74 }
|