/*
 * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 *
 */

package sun.jvm.hotspot.debugger.win32.coff;

Enumerates the types of symbols returned by the DebugVC50SymbolIterator. (Some of the descriptions are taken directly from Microsoft's documentation and are copyrighted by Microsoft.)

NOTE that these types are specified as integers rather than short integers; this is to make comparisons and switches simpler because of Java's automatic sign extension.

/** <P> Enumerates the types of symbols returned by the {@link sun.jvm.hotspot.debugger.win32.coff.DebugVC50SymbolIterator}. (Some of the descriptions are taken directly from Microsoft's documentation and are copyrighted by Microsoft.) </P> <P> NOTE that these types are specified as integers rather than short integers; this is to make comparisons and switches simpler because of Java's automatic sign extension. </P> */
public interface DebugVC50SymbolTypes {
Compile flags symbol
/** Compile flags symbol */
public static final int S_COMPILE = 0x0001;
Start search
/** Start search */
public static final int S_SSEARCH = 0x0005;
End block, procedure, with, or thunk
/** End block, procedure, with, or thunk */
public static final int S_END = 0x0006;
Reserve symbol space
/** Reserve symbol space */
public static final int S_SKIP = 0x0007;
Reserved for CodeView internal use
/** Reserved for CodeView internal use */
public static final int S_CVRESERVE = 0x0008;
Specify name of object file
/** Specify name of object file */
public static final int S_OBJNAME = 0x0009;
Specify end of arguments in function symbols
/** Specify end of arguments in function symbols */
public static final int S_ENDARG = 0x000a;
Microfocus COBOL user-defined type
/** Microfocus COBOL user-defined type */
public static final int S_COBOLUDT = 0x000b;
Many register symbol
/** Many register symbol */
public static final int S_MANYREG = 0x000c;
Function return description
/** Function return description */
public static final int S_RETURN = 0x000d;
Description of this pointer at entry
/** Description of this pointer at entry */
public static final int S_ENTRYTHIS = 0x000e;
Register variable
/** Register variable */
public static final int S_REGISTER = 0x1001;
Constant symbol
/** Constant symbol */
public static final int S_CONSTANT = 0x1002;
User-defined type
/** User-defined type */
public static final int S_UDT = 0x1003;
Microfocus COBOL User-defined type (#2)
/** Microfocus COBOL User-defined type (#2) */
public static final int S_COBOLUDT2 = 0x1004;
Many register symbol (#2)
/** Many register symbol (#2) */
public static final int S_MANYREG2 = 0x1005;
BP relative 16:32
/** BP relative 16:32 */
public static final int S_BPREL32 = 0x1006;
Local data 16:32
/** Local data 16:32 */
public static final int S_LDATA32 = 0x1007;
Global data 16:32
/** Global data 16:32 */
public static final int S_GDATA32 = 0x1008;
Public symbol 16:32
/** Public symbol 16:32 */
public static final int S_PUB32 = 0x1009;
Local procedure start 16:32
/** Local procedure start 16:32 */
public static final int S_LPROC32 = 0x100a;
Global procedure start 16:32
/** Global procedure start 16:32 */
public static final int S_GPROC32 = 0x100b;
Thunk start 16:32
/** Thunk start 16:32 */
public static final int S_THUNK32 = 0x0206;
Block start 16:32
/** Block start 16:32 */
public static final int S_BLOCK32 = 0x0207;
With start 16:32
/** With start 16:32 */
public static final int S_WITH32 = 0x0208;
Label 16:32
/** Label 16:32 */
public static final int S_LABEL32 = 0x0209;
Change execution model 16:32
/** Change execution model 16:32 */
public static final int S_CEXMODEL32 = 0x020a;
Virtual function table path descriptor 16:32
/** Virtual function table path descriptor 16:32 */
public static final int S_VFTTABLE32 = 0x100c;
16:32 offset relative to arbitrary register
/** 16:32 offset relative to arbitrary register */
public static final int S_REGREL32 = 0x100d;
Local Thread Storage data
/** Local Thread Storage data */
public static final int S_LTHREAD32 = 0x100e;
Global Thread Storage data
/** Global Thread Storage data */
public static final int S_GTHREAD32 = 0x100f;
Local procedure start MIPS
/** Local procedure start MIPS */
public static final int S_LPROCMIPS = 0x1010;
Global procedure start MIPS
/** Global procedure start MIPS */
public static final int S_GPROCMIPS = 0x1011;
Reference to a procedure
/** Reference to a procedure */
public static final int S_PROCREF = 0x0400;
Reference to data
/** Reference to data */
public static final int S_DATAREF = 0x0401;
Page align symbols
/** Page align symbols */
public static final int S_ALIGN = 0x0402; }