home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / kaffe-0.5p4-src.tgz / tar.out / contrib / kaffe / kaffeh / constants.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  1KB  |  56 lines

  1. /*
  2.  * constants.h
  3.  * Manage constants.
  4.  *
  5.  * Copyright (c) 1996 Systems Architecture Research Centre,
  6.  *           City University, London, UK.
  7.  *
  8.  * See the file "license.terms" for information on usage and redistribution
  9.  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  10.  *
  11.  * Written by Tim Wilkinson <tim@sarc.city.ac.uk>, February 1996.
  12.  */
  13.  
  14. #ifndef __constant_h
  15. #define __constant_h
  16.  
  17. /*
  18.  * Constant pool definitions.
  19.  */
  20. #define    CONSTANT_Class            7
  21. #define    CONSTANT_Fieldref        9
  22. #define    CONSTANT_Methodref        10
  23. #define    CONSTANT_InterfaceMethodref    11
  24. #define    CONSTANT_String            8
  25. #define    CONSTANT_Integer        3
  26. #define    CONSTANT_Float            4
  27. #define    CONSTANT_Long            5
  28. #define    CONSTANT_Double            6
  29. #define    CONSTANT_NameAndType        12
  30. #define    CONSTANT_Utf8            1
  31. #define    CONSTANT_Unicode        2
  32.  
  33. #define    CONSTANT_Unknown        0
  34. #define    CONSTANT_Chararray        128
  35.  
  36. typedef u2    constIndex;
  37.  
  38. typedef struct _constants {
  39.     u2    size;
  40.     u1*    tags;
  41.     u4*    data;
  42. } constants;
  43.  
  44. #define    STRHASHSZ        128
  45.  
  46. typedef struct _strconst {
  47.     struct _strconst*    next;
  48.     struct _stringClass*    string;
  49.     char            data[0];
  50. } strconst;
  51.  
  52. constants*    readConstantPool(FILE*);
  53. char*        addStringConstant(strconst*);
  54.  
  55. #endif
  56.