1: /* 2: * Copyright (c) 1984, 1985 Xerox Corp. 3: * 4: * stack.h -- elements of the RES stack. 5: */ 6: 7: 8: /* stack element types */ 9: #define type_number 1 10: #define type_string 2 11: #define type_vector 4 12: #define type_operator 8 13: #define type_color 16 14: #define type_pixelarray 32 15: #define type_transformation 64 16: #define type_integers 128 17: 18: /* number sub types */ 19: #define subtype_integer 1 20: #define subtype_rational 2 21: 22: /* string sub types */ 23: #define subtype_identifier 4 24: #define subtype_string 8 25: 26: /* vector sub types */ 27: #define subtype_general 16 28: #define subtype_integers 32 29: #define subtype_samples 64 30: 31: /* operator sub types */ 32: #define subtype_decompressop 128 33: #define subtype_colorop 256 34: #define subtype_colormodelop 512 35: 36: /* color sub types */ 37: #define subtype_value 1024 38: #define subtype_name 2048 39: #define subtype_operator 4096 40: 41: extern stackempty(); 42: extern unsigned char *pop(); 43: extern push(); 44: extern unsigned char *duplicate(); 45: extern gettype(); 46: extern getsubtype(); 47: extern getlength(); 48: extern checktype(); 49: extern char *gettypename(); 50: extern char *getsubtypename(); 51: extern unsigned char *makenumber(); 52: extern getnumlen(); 53: extern unsigned char *getnumber(); 54: extern getint(); 55: extern double getdouble(); 56: extern double getnumerator(); 57: extern double getdenominator(); 58: extern unsigned char *makestring(); 59: extern unsigned char *makeidentifier(); 60: extern char *getstring(); 61: extern unsigned char *makevector(); 62: extern unsigned char **getvector(); 63: extern getdepth(); 64: extern unsigned char *makeoperator(); 65: extern unsigned char **getoperator(); 66: extern unsigned char *makecolor(); 67: extern unsigned char **getcolor(); 68: extern unsigned char *makepixelarray(); 69: extern unsigned char *makeselect(); 70: extern unsigned char **getpixelarray(); 71: extern unsigned char *maketransformation(); 72: extern double *gettransformation(); 73: extern unsigned char *makeintegers(); 74: extern getbytesPerInteger(); 75: extern long getbytepos(); 76: extern long getbytelength(); 77: 78: 79: 80: /* Change Log 81: * 82: * K. Knox, 25-Mar-85 15:48:54, Created first version. 83: * 84: * 85: * 86: */