home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
VCAFE.3.0A
/
Main.bin
/
verify.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-09-15
|
3KB
|
101 lines
/*
* @(#)verify.h 1.11 98/07/01
*
* Copyright 1995-1998 by Sun Microsystems, Inc.,
* 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
* All rights reserved.
*
* This software is the confidential and proprietary information
* of Sun Microsystems, Inc. ("Confidential Information"). You
* shall not disclose such Confidential Information and shall use
* it only in accordance with the terms of the license agreement
* you entered into with Sun.
*/
#ifndef _VERIFY_
#define _VERIFY_
/*
* Limits. I have just picked some values for these, they
* probably should be more constraint.
*/
#define DEFAULTMAX (1 << 15)
#define MINCLASSSIZE sizeof(ClassClass)
#define MAXCLASSSIZE DEFAULTMAX
#define MINCONSTANTS 2
#define MAXCONSTANTS DEFAULTMAX
#define MININTERFACES 0
#define MAXINTERFACES DEFAULTMAX
#define MINFIELDS 0
#define MAXFIELDS DEFAULTMAX
#define MINMETHODS 0
#define MAXMETHODS DEFAULTMAX
#define MINATTR 0
#define MAXATTR DEFAULTMAX
#define MINATTRLEN 0
#define MAXATTRLEN DEFAULTMAX
#define MINCODELEN 1
#define MAXCODELEN DEFAULTMAX
#define MINEXCEPTIONS 0
#define MAXEXCEPTIONS DEFAULTMAX
#define MINLINENO 0
#define MAXLINENO DEFAULTMAX
#define MINLOCALVAR 0
#define MAXLOCALVAR 256
#define MINSTRING 0
#define MAXSTRING DEFAULTMAX
#define MINSTACK 0
#define MAXSTACK DEFAULTMAX
#define MINLOCALS 0
#define MAXLOCALS 256
#define MINMETHSIZE 1
#define MAXMETHSIZE DEFAULTMAX
#define MINARGSIZE 0
#define MAXARGSIZE 256
typedef unsigned char uchar;
/*
* data
*/
extern int verify_verbose;
extern int verify_errors;
extern char verify_error_message[];
extern char * const opnames[];
/*
* functions
*/
extern long get_ubyte(uchar *ptr);
extern long get_ushort(uchar *ptr);
extern long get_uint(uchar *ptr);
extern long get_byte(uchar *ptr);
extern long get_short(uchar *ptr);
extern long get_int(uchar *ptr);
extern long read_ubyte(uchar **pptr);
extern long read_ushort(uchar **pptr);
extern long read_uint(uchar **pptr);
extern long read_byte(uchar **pptr);
extern long read_short(uchar **pptr);
extern long read_int(uchar **pptr);
extern int verify_field_signature(char *sig, int len);
extern int verify_method_signature(char *sig, int len);
extern int verify_Asciz(int nconstants, uchar **cpool, uint n);
extern int verify_Class(int nconstants, uchar **cpool, uint n);
extern int verify_NameAndType(int nconstants, uchar **cpool, uint n);
extern int verify_Fieldref(int nconstants, uchar **cpool, uint n);
extern int verify_Methodref(int nconstants, uchar **cpool, uint n);
extern int verify_InterfaceMethodref(int nconstants, uchar **cpool, uint n);
extern void verify_error(char *fmt, ...);
extern int verify_data(uchar *data, int length);
extern int verify_code(int nconst, uchar **cpool, int name, int sig, uchar *data, int length);
#endif