[gnu.gcc.bug] Sun 4 Optimizer Problem GCC Version 1.34 & 1.36

schaefer@asc.slb.com (10/14/89)

I have found a bug in gcc 1.36 Sun OS 4.0.3 (also in 1.34 Sun OS 4.0.1) with -O switch on
a Sun 4-110 workstation .

When setting up the function call with a code sequence like:
    
    int (*foo)();
    int baz;

     ...

    if (setjmp(jmpbuf) == 0) {
	baz = (*foo) (x, y, z);
    }

the optimizer corrupts the first argument to the called routine.


Enclosed Find:
    
    1) Commands Used to create  Preprocessed C file, And Assembly File
    2) Extract of Original C File illustrating where the problem is.
    3) Same Section for Preprocesses C File.
    4) Extract from Assembly file showing error.
    5) The complete Preprocessed C file so that you can duplicate the problem.


Happy Hunting,
  Richard T. Schaefer
  Schlumberger Well Services




==========================================================================================================================
Command lines for compiling program 


ti[~/csl]2# gcc -v -E -c -w -traditional -DGCC -DSUN -DSUN4 -DUNIX -Dsparc -I/uhe0/schaefer/csl -I/uto1/sms/client/sun4 -o tee_widget_complete.c  /uhe0/schaefer/csl/tsutil/tee_widget.c
gcc version 1.36
 /usr/local/lib/gcc-cpp -v -DGCC -DSUN -DSUN4 -DUNIX -Dsparc -I/uhe0/schaefer/csl -I/uto1/sms/client/sun4 -undef -D__GNUC__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -traditional /uhe0/schaefer/csl/tsutil/tee_widget.c -o tee_widget_complete.c
GNU CPP version 1.36


ti[~/csl]3# gcc -w -v -g -O -c -S -traditional -o tsutil/tee_widget.o /uhe0/schaefer/csl/tee_widget_complete.c
gcc version 1.36
 /usr/local/lib/gcc-cpp -v -undef -D__GNUC__ -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__OPTIMIZE__ -traditional /uhe0/schaefer/csl/tee_widget_complete.c /usr/tmp/cca17558.cpp
GNU CPP version 1.36
 /usr/local/lib/gcc-cc1 /usr/tmp/cca17558.cpp -quiet -dumpbase /uhe0/schaefer/csl/tee_widget_complete.c -g -O -w -traditional -version -o tsutil/tee_widget.o
GNU C version 1.36 (sparc) compiled by GNU C version 1.36.
default target switches: -mfpu -mepilogue

==========================================================================================================================
Subroutine Extracted From Original Source
Problem Line marked with ">>>>>>" in right margin.

T_DATUM tee_RemapResource(WgtInstance,ParentWgt,Res,ResTranslators)
T_OBJECT WgtInstance;
Widget ParentWgt;
TEE_DWT_ARG Res;
TEE_DWT_ARG_L ResTranslators;
  {
    FAST TEE_DWT_ARG ResTrans;
    FAST T_ATOM ResName = Res->Name;

    t_ForEachDatum(ResTrans,ResTranslators)
      if(ResName == ResTrans->Name)
        {
          if (ResTrans->Arg->Value && T_FUNCTIONP(ResTrans->Arg->ValueType))
            {
              FUNCTION Func;
	      T_DATUM func_result;
                   
              Func = t_FunctionLocation((T_FUNCTION_ID)ResTrans->Arg->Value);

              if(Func)
                {
                  tee_ExcResTransWgtInstance = WgtInstance; 
                  tee_ExcResTransName = ResTrans->Name; 
                  tee_ExcResTransFuncId = ResTrans->Arg->Value; 

                  EXC_BEGIN(tee_ExcResTrans)

                  /* Call function */
>>>>>>            func_result = (T_DATUM)((*Func)(WgtInstance,ParentWgt,Res));

                  EXC_END
		  return(func_result);
                }
             }
        }
    t_EndForEach

    return(Res->Arg->Value);
                
  }
  


==========================================================================================================================
Subroutine Extracted From Preprocessed Source
Problem Line marked with ">>>>>>" in right margin.

T_DATUM tee_RemapResource(WgtInstance,ParentWgt,Res,ResTranslators)
T_OBJECT WgtInstance;
Widget ParentWgt;
TEE_DWT_ARG Res;
TEE_DWT_ARG_L ResTranslators;
  {
      register TEE_DWT_ARG ResTrans;
      register T_ATOM ResName = Res->Name;

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  ResTranslators) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    ResTrans = * for_each_i;
      if(ResName == ResTrans->Name)
        {
          if (ResTrans->Arg->Value &&  ((ResTrans->Arg->ValueType) && ((ResTrans->Arg->ValueType)->class == T_CLASS_FUNCTION) ?     1 :    0))
            {
              FUNCTION Func;
	      T_DATUM func_result;
                   
              Func = ((T_FUNCTION_ID)ResTrans->Arg->Value)->location;

              if(Func)
                {
                  tee_ExcResTransWgtInstance = WgtInstance; 
                  tee_ExcResTransName = ResTrans->Name; 
                  tee_ExcResTransFuncId = ResTrans->Arg->Value; 

                  {	INTEGER tee_ExcResTrans();	INTEGER env;	INTEGER level;	env = exc_push_ctxt(tee_ExcResTrans, &level);	if (setjmp(env) == 0) {

                  
 >>>>>>           func_result = (T_DATUM)((*Func)(WgtInstance,ParentWgt,Res));

                  }	exc_pop_ctxt(level);	}
		  return(func_result);
                }
             }
        }
    }  }  } 

    return(Res->Arg->Value);
                
  }

==========================================================================================================================

Extracted From Assemble File

.stabn 68,0,1061,LM429
LM429:
	mov %l0,%o0			<== Set up Call Arguments
	mov %l2,%o1			
	mov %l1,%o2
	ld [%fp-28],%o0			<== Writes over first Call Argument
	call %o0,0
	nop
	st %o0,[%fp-36]


=========================================================================================================================
The following is the original Preproceed C file. Should be able to recompile it yourself
=========================================================================================================================
# 1 "/uhe0/schaefer/csl/tsutil/tee_widget.c"
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








# 1 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  












# 1 "/uhe0/schaefer/csl/tsutil/tee.h" 1
  
  
  
  
  
  












# 1 "/uhe0/schaefer/csl/package/configure.h" 1
  
  
  




# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  






























































typedef char BOOLEAN;
typedef char CHARACTER;
typedef char *STRING;
typedef unsigned char BYTE;
typedef unsigned char *BYTE_POINTER;


typedef short int SHORT;
typedef short unsigned NOMINAL;
typedef short unsigned WORD;
typedef short unsigned *WORD_POINTER;


typedef int INTEGER;
typedef int LONG;
typedef unsigned int BITS;
typedef unsigned int FLAGS;
typedef unsigned int ADDRESS;
typedef unsigned int COUNT;
typedef unsigned int LONGWORD;
typedef unsigned int *POINTER;


typedef float FLOAT;


typedef double DOUBLE;



typedef INTEGER (*FUNCTION)();
typedef INTEGER (*FUNCTION_ARRAY[])();
typedef INTEGER (**FUNCTION_LIST)();



typedef enum{dtBYTE, dtSHORT, dtWORD, dtLONGWORD, dtINTEGER, 
             dtPOINTER, dtFLOAT, dtSTRING, dtDOUBLE} GENERIC_TYPE;

typedef union {
        BYTE         data$byte;
        SHORT        data$short;
        WORD         data$word;
        LONGWORD     data$longword;
        INTEGER      data$integer;
        POINTER      data$pointer;
        FLOAT        data$float;
        DOUBLE       data$double;
        STRING       data$string;
} GENERIC_STRUCT, *GENERIC;

typedef union {
            unsigned data$memlongword;
            struct {
                    short unsigned data$low;
                    short unsigned data$high;
            } data$memword;
            struct {
                    char data$one;
                    char data$two;
                    char data$three;
                    char data$four;
            } data$membyte;
} *MEMORY;




























    





    

typedef struct {
    STRING Name;
    FUNCTION Address;
    } XCallStruct;













    









# 8 "/uhe0/schaefer/csl/package/configure.h" 2








typedef struct {
    FUNCTION	Function;
    INTEGER	ID;
    BOOLEAN	Flag;
} ALStruct;


    
# 33 "/uhe0/schaefer/csl/package/configure.h"














typedef struct {
    ALStruct	*p;
    INTEGER	dummy;
} ALSp;
# 74 "/uhe0/schaefer/csl/package/configure.h"












typedef struct {
    POINTER	Item;
    INTEGER	ID;
    BOOLEAN	Flag;
} ILStruct;


    
# 103 "/uhe0/schaefer/csl/package/configure.h"



typedef struct {
    ILStruct	*p;
    INTEGER	dummy;
} ILSp;
# 127 "/uhe0/schaefer/csl/package/configure.h"








typedef struct IMAGELISTS {
    struct IMAGELISTS *flink;
    INTEGER	    Size;
    STRING	    Name;
    ALSp	    *ALHead;
    ALSp	    *ALTail;
    ILSp	    *ILHead; 
    ILSp	    *ILTail; 

    long	    dummy; 

} IMAGEHEADER;







# 171 "/uhe0/schaefer/csl/package/configure.h"



# 184 "/uhe0/schaefer/csl/package/configure.h"













































































 extern IMAGEHEADER *ImageListHead;




INTEGER executeaction();		
INTEGER mapitem();
INTEGER activateimage();
INTEGER dynamicactivateimage();
INTEGER find_image_symbol();




# 19 "/uhe0/schaefer/csl/tsutil/tee.h" 2

# 1 "/uhe0/schaefer/csl/tks/definitions.h" 1
  
  
  
  
  
  
  
  
  
  
  






# 1 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 1















































# 1 "/usr/include/string.h" 1


extern char
	*strcpy(),
	*strncpy(),
	*strcat(),
	*strncat(),
	*strchr(),
	*strrchr(),
	*strpbrk(),
	*strtok(),
	*strdup();
extern int
	strcmp(),
	strncmp(),
	strlen(),
	strspn(),
	strcspn();
# 48 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 2

# 1 "/usr/include/ctype.h" 1











extern	char	_ctype_[];
















# 49 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 2








# 1 "/usr/include/X11/Xlib.h" 1

































# 1 "/usr/include/sys/types.h" 1















# 1 "/usr/include/sys/sysmacros.h" 1


















# 16 "/usr/include/sys/types.h" 2


typedef	unsigned char	u_char;
typedef	unsigned short	u_short;
typedef	unsigned int	u_int;
typedef	unsigned long	u_long;
typedef	unsigned short	ushort;		
typedef	unsigned int	uint;		














typedef struct  _physadr { int r[1]; } *physadr;
typedef struct label_t {
	int     val[2];
} label_t;







typedef	struct	_quad { long val[2]; } quad;
typedef	long	daddr_t;
typedef	char *	caddr_t;
typedef	u_long	ino_t;
typedef	long	swblk_t;
typedef	int	size_t;
typedef	long	time_t;
typedef	short	dev_t;
typedef	long	off_t;
typedef	u_short	uid_t;
typedef	u_short	gid_t;
typedef	long	key_t;












typedef	long	fd_mask;









typedef	struct fd_set {
	fd_mask	fds_bits[(((256)+(( (sizeof(fd_mask) * 8		)	)-1))/( (sizeof(fd_mask) * 8		)	))];
} fd_set;

typedef	char *	addr_t;






# 107 "/usr/include/sys/types.h"



# 34 "/usr/include/X11/Xlib.h" 2



# 1 "/usr/include/X11/X.h" 1





































typedef unsigned long XID;

typedef XID Window;
typedef XID Drawable;
typedef XID Font;
typedef XID Pixmap;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;

typedef unsigned long Mask;

typedef unsigned long Atom;

typedef unsigned long VisualID;

typedef unsigned long Time;

typedef unsigned char KeyCode;

































































































































































		       



















































































# 311 "/usr/include/X11/X.h"





























































































































































































































































































































































# 37 "/usr/include/X11/Xlib.h" 2




































































typedef struct _XExtData {
	int number;		
	struct _XExtData *next;	
	int (*free_private)();	
	char *private_data;	
} XExtData;




typedef struct {		
	int extension;		
	int major_opcode;	
	int first_event;	
	int first_error;	
} XExtCodes;




typedef struct _XExten {	
	struct _XExten *next;	
	XExtCodes codes;	
	int (*create_GC)();	
	int (*copy_GC)();	
	int (*flush_GC)();	
	int (*free_GC)();	
	int (*create_Font)();	
	int (*free_Font)();	
	int (*close_display)();	
	int (*error)();		
	int (*error_string)();  
} _XExtension;




typedef struct {
	int function;		
	unsigned long plane_mask;
	unsigned long foreground;
	unsigned long background;
	int line_width;		
	int line_style;	 	
	int cap_style;	  	

	int join_style;	 	
	int fill_style;	 	

	int fill_rule;	  	
	int arc_mode;		
	Pixmap tile;		
	Pixmap stipple;		
	int ts_x_origin;	
	int ts_y_origin;
        Font font;	        
	int subwindow_mode;     
	int graphics_exposures;
	int clip_x_origin;	
	int clip_y_origin;
	Pixmap clip_mask;	
	int dash_offset;	
	char dashes;
} XGCValues;








typedef struct _XGC {
    XExtData *ext_data;	
    GContext gid;	
    int rects;		
    int dashes;	
    unsigned long dirty;
    XGCValues values;	
} *GC;





typedef struct {
	XExtData *ext_data;	
	VisualID visualid;	
	int class;		
	unsigned long red_mask, green_mask, blue_mask;	
	int bits_per_rgb;	
	int map_entries;	
} Visual;



	
typedef struct {
	int depth;		
	int nvisuals;		
	Visual *visuals;	
} Depth;




typedef struct {
	XExtData *ext_data;	
	struct _XDisplay *display;
	Window root;		
	int width, height;	
	int mwidth, mheight;	
	int ndepths;		
	Depth *depths;		
	int root_depth;		
	Visual *root_visual;	
	GC default_gc;		
	Colormap cmap;		
	unsigned long white_pixel;
	unsigned long black_pixel;	
	int max_maps, min_maps;	
	int backing_store;	
	int save_unders;	
	long root_input_mask;	
} Screen;




typedef struct {
	XExtData *ext_data;	
	int depth;		
	int bits_per_pixel;	
	int scanline_pad;	
} ScreenFormat;





typedef struct {
    Pixmap background_pixmap;	
    unsigned long background_pixel;	
    Pixmap border_pixmap;	
    unsigned long border_pixel;	
    int bit_gravity;		
    int win_gravity;		
    int backing_store;		
    unsigned long backing_planes;
    unsigned long backing_pixel;
    int save_under;		
    long event_mask;		
    long do_not_propagate_mask;	
    int override_redirect;	
    Colormap colormap;		
    Cursor cursor;		
} XSetWindowAttributes;

typedef struct {
    int x, y;			
    int width, height;		
    int border_width;		
    int depth;          	
    Visual *visual;		
    Window root;        	
    int class;			
    int bit_gravity;		
    int win_gravity;		
    int backing_store;		
    unsigned long backing_planes;
    unsigned long backing_pixel;
    int save_under;		
    Colormap colormap;		
    int map_installed;		
    int map_state;		
    long all_event_masks;	
    long your_event_mask;	
    long do_not_propagate_mask; 
    int override_redirect;	
    Screen *screen;		
} XWindowAttributes;






typedef struct {
	int family;		
	int length;		
	char *address;		
} XHostAddress;




typedef struct _XImage {
    int width, height;		
    int xoffset;		
    int format;			
    char *data;			
    int byte_order;		
    int bitmap_unit;		
    int bitmap_bit_order;	
    int bitmap_pad;		
    int depth;			
    int bytes_per_line;		
    int bits_per_pixel;		
    unsigned long red_mask;	
    unsigned long green_mask;
    unsigned long blue_mask;
    char *obdata;		
    struct funcs {		
	struct _XImage *(*create_image)();
	int (*destroy_image)();
	unsigned long (*get_pixel)();
	int (*put_pixel)();
	struct _XImage *(*sub_image)();
	int (*add_pixel)();
	} f;
} XImage;




typedef struct {
    int x, y;
    int width, height;
    int border_width;
    Window sibling;
    int stack_mode;
} XWindowChanges;




typedef struct {
	unsigned long pixel;
	unsigned short red, green, blue;
	char flags;  
	char pad;
} XColor;






typedef struct {
    short x1, y1, x2, y2;
} XSegment;

typedef struct {
    short x, y;
} XPoint;
    
typedef struct {
    short x, y;
    unsigned short width, height;
} XRectangle;
    
typedef struct {
    short x, y;
    unsigned short width, height;
    short angle1, angle2;
} XArc;




typedef struct {
        int key_click_percent;
        int bell_percent;
        int bell_pitch;
        int bell_duration;
        int led;
        int led_mode;
        int key;
        int auto_repeat_mode;   
} XKeyboardControl;



typedef struct {
        int key_click_percent;
	int bell_percent;
	unsigned int bell_pitch, bell_duration;
	unsigned long led_mask;
	int global_auto_repeat;
	char auto_repeats[32];
} XKeyboardState;



typedef struct {
        Time time;
	short x, y;
} XTimeCoord;



typedef struct {
 	int max_keypermod;	
 	KeyCode *modifiermap;	
} XModifierKeymap;

XModifierKeymap *XNewModifiermap(),
		*XGetModifierMapping(),
		*XDeleteModifiermapEntry(),
		*XInsertModifiermapEntry();





typedef struct _XDisplay {
	XExtData *ext_data;	
	struct _XDisplay *next; 
	int fd;			
	int lock;		
	int proto_major_version;
	int proto_minor_version;
	char *vendor;		
        long resource_base;	
	long resource_mask;	
	long resource_id;	
	int resource_shift;	
	XID (*resource_alloc)(); 
	int byte_order;		
	int bitmap_unit;	
	int bitmap_pad;		
	int bitmap_bit_order;	
	int nformats;		
	ScreenFormat *pixmap_format;	
	int vnumber;		
	int release;		
	struct _XSQEvent *head, *tail;	
	int qlen;		
	unsigned long last_request_read; 
	unsigned long request;	
	char *last_req;		
	char *buffer;		
	char *bufptr;		
	char *bufmax;		
	unsigned max_request_size; 
	struct _XrmHashBucketRec *db;
	int (*synchandler)();	
	char *display_name;	
	int default_screen;	
	int nscreens;		
	Screen *screens;	
	unsigned long motion_buffer;	
	Window current;		
	int min_keycode;	
	int max_keycode;	
	KeySym *keysyms;	
	XModifierKeymap *modifiermap;	
	int keysyms_per_keycode;
	char *xdefaults;	
	char *scratch_buffer;	
	unsigned long scratch_length;	
	int ext_number;		
	_XExtension *ext_procs;	
	







	int (*event_vec[128])();  
	int (*wire_vec[128])(); 
	KeySym lock_meaning;	   
	struct XKeytrans *key_bindings; 
	Font cursor_font;	   
} Display;

















typedef struct {
	int type;		
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;	        
	Window root;	        
	Window subwindow;	
	Time time;		
	int x, y;		
	int x_root, y_root;	
	unsigned int state;	
	unsigned int keycode;	
	int same_screen;	
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;

typedef struct {
	int type;		
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;	        
	Window root;	        
	Window subwindow;	
	Time time;		
	int x, y;		
	int x_root, y_root;	
	unsigned int state;	
	unsigned int button;	
	int same_screen;	
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;

typedef struct {
	int type;		
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;	        
	Window root;	        
	Window subwindow;	
	Time time;		
	int x, y;		
	int x_root, y_root;	
	unsigned int state;	
	char is_hint;		
	int same_screen;	
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;

typedef struct {
	int type;		
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;	        
	Window root;	        
	Window subwindow;	
	Time time;		
	int x, y;		
	int x_root, y_root;	
	int mode;		
	int detail;
	



	int same_screen;	
	int focus;		
	unsigned int state;	
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;

typedef struct {
	int type;		
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;		
	int mode;		
	int detail;
	




} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;


typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	char key_vector[32];
} XKeymapEvent;	

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	int x, y;
	int width, height;
	int count;		
} XExposeEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Drawable drawable;
	int x, y;
	int width, height;
	int count;		
	int major_code;		
	int minor_code;		
} XGraphicsExposeEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Drawable drawable;
	int major_code;		
	int minor_code;		
} XNoExposeEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	int state;		
} XVisibilityEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window parent;		
	Window window;		
	int x, y;		
	int width, height;	
	int border_width;	
	int override_redirect;	
} XCreateWindowEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
} XDestroyWindowEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	int from_configure;
} XUnmapEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	int override_redirect;	
} XMapEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window parent;
	Window window;
} XMapRequestEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	Window parent;
	int x, y;
	int override_redirect;
} XReparentEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	int x, y;
	int width, height;
	int border_width;
	Window above;
	int override_redirect;
} XConfigureEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	int x, y;
} XGravityEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	int width, height;
} XResizeRequestEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window parent;
	Window window;
	int x, y;
	int width, height;
	int border_width;
	Window above;
	int detail;		
	unsigned long value_mask;
} XConfigureRequestEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window event;
	Window window;
	int place;		
} XCirculateEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window parent;
	Window window;
	int place;		
} XCirculateRequestEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	Atom atom;
	Time time;
	int state;		
} XPropertyEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	Atom selection;
	Time time;
} XSelectionClearEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window owner;
	Window requestor;
	Atom selection;
	Atom target;
	Atom property;
	Time time;
} XSelectionRequestEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window requestor;
	Atom selection;
	Atom target;
	Atom property;		
	Time time;
} XSelectionEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	Colormap colormap;	
	int new;
	int state;		
} XColormapEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;
	Atom message_type;
	int format;
	union {
		char b[20];
		short s[10];
		long l[5];
		} data;
} XClientMessageEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;	
	Window window;		
	int request;		

	int first_keycode;	
	int count;		
} XMappingEvent;

typedef struct {
	int type;
	Display *display;	
	XID resourceid;		
	unsigned long serial;	
	unsigned char error_code;	
	unsigned char request_code;	
	unsigned char minor_code;	
} XErrorEvent;

typedef struct {
	int type;
	unsigned long serial;	
	int send_event;	
	Display *display;
	Window window;	
} XAnyEvent;





typedef union _XEvent {
        int type;		
	XAnyEvent xany;
	XKeyEvent xkey;
	XButtonEvent xbutton;
	XMotionEvent xmotion;
	XCrossingEvent xcrossing;
	XFocusChangeEvent xfocus;
	XExposeEvent xexpose;
	XGraphicsExposeEvent xgraphicsexpose;
	XNoExposeEvent xnoexpose;
	XVisibilityEvent xvisibility;
	XCreateWindowEvent xcreatewindow;
	XDestroyWindowEvent xdestroywindow;
	XUnmapEvent xunmap;
	XMapEvent xmap;
	XMapRequestEvent xmaprequest;
	XReparentEvent xreparent;
	XConfigureEvent xconfigure;
	XGravityEvent xgravity;
	XResizeRequestEvent xresizerequest;
	XConfigureRequestEvent xconfigurerequest;
	XCirculateEvent xcirculate;
	XCirculateRequestEvent xcirculaterequest;
	XPropertyEvent xproperty;
	XSelectionClearEvent xselectionclear;
	XSelectionRequestEvent xselectionrequest;
	XSelectionEvent xselection;
	XColormapEvent xcolormap;
	XClientMessageEvent xclient;
	XMappingEvent xmapping;
	XErrorEvent xerror;
	XKeymapEvent xkeymap;
	long pad[24];
} XEvent;



typedef struct _XSQEvent {
    struct _XSQEvent *next;
    XEvent event;
} _XQEvent;







typedef struct {
    short	lbearing;	
    short	rbearing;	
    short	width;		
    short	ascent;		
    short	descent;	
    unsigned short attributes;	
} XCharStruct;





typedef struct {
    Atom name;
    unsigned long card32;
} XFontProp;

typedef struct {
    XExtData	*ext_data;	
    Font        fid;            
    unsigned	direction;	
    unsigned	min_char_or_byte2;
    unsigned	max_char_or_byte2;
    unsigned	min_byte1;	
    unsigned	max_byte1;	
    int	all_chars_exist;
    unsigned	default_char;	
    int         n_properties;   
    XFontProp	*properties;	
    XCharStruct	min_bounds;	
    XCharStruct	max_bounds;	
    XCharStruct	*per_char;	
    int		ascent;		
    int		descent;	
} XFontStruct;




typedef struct {
    char *chars;		
    int nchars;			
    int delta;			
    Font font;			
} XTextItem;

typedef struct {		
    unsigned char byte1;
    unsigned char byte2;
} XChar2b;

typedef struct {
    XChar2b *chars;		
    int nchars;			
    int delta;			
    Font font;			
} XTextItem16;


XFontStruct *XLoadQueryFont(), *XQueryFont();

XTimeCoord *XGetMotionEvents();

typedef union { Display *display;
		GC gc;
		Visual *visual;
		Screen *screen;
		ScreenFormat *pixmap_format;
		XFontStruct *font; } XEDataObject;




Display *XOpenDisplay();

char *XFetchBytes();
char *XFetchBuffer();
char *XGetAtomName();
char *XGetDefault();
char *XDisplayName();
char *XKeysymToString();

int (*XSynchronize())();
int (*XSetAfterFunction())();
Atom XInternAtom();
Colormap XCopyColormapAndFree(), XCreateColormap();
Cursor XCreatePixmapCursor(), XCreateGlyphCursor(), XCreateFontCursor();
Font XLoadFont();
GC XCreateGC();
GContext XGContextFromGC();
Pixmap XCreatePixmap();
Pixmap XCreateBitmapFromData(), XCreatePixmapFromBitmapData();
Window XCreateSimpleWindow(), XGetSelectionOwner();
Window XCreateWindow(); 
Colormap *XListInstalledColormaps();
char **XListFonts(), **XListFontsWithInfo(), **XGetFontPath();
char **XListExtensions();
Atom *XListProperties();
XImage *XCreateImage(), *XGetImage(), *XGetSubImage();
XHostAddress *XListHosts();
KeySym XKeycodeToKeysym(), XLookupKeysym(), *XGetKeyboardMapping();
KeySym XStringToKeysym();
long XMaxRequestSize();
char *XResourceManagerString();
unsigned long XDisplayMotionBufferSize();
VisualID XVisualIDFromVisual();


XExtCodes *XInitExtension();
int (*XESetCreateGC())(), (*XESetCopyGC())(), (*XESetFlushGC())(),
    (*XESetFreeGC())(), (*XESetCreateFont())(), (*XESetFreeFont())(), 
    (*XESetCloseDisplay())(),
    (*XESetError())(), (*XESetErrorString())();
int (*XESetWireToEvent())();
int (*XESetEventToWire())();
XExtCodes *XAddExtension();
XExtData *XFindOnExtensionList();
XExtData **XEHeadOfExtensionList();


Window XRootWindow(), XDefaultRootWindow(), XRootWindowOfScreen();
Visual *XDefaultVisual(), *XDefaultVisualOfScreen();
GC XDefaultGC(), XDefaultGCOfScreen();
unsigned long XBlackPixel(), XWhitePixel(), XAllPlanes();
unsigned long XBlackPixelOfScreen(), XWhitePixelOfScreen();
unsigned long XNextRequest(), XLastKnownRequestProcessed();
char *XServerVendor(), *XDisplayString();
Colormap XDefaultColormap(), XDefaultColormapOfScreen();
Display *XDisplayOfScreen();
Screen *XScreenOfDisplay(), *XDefaultScreenOfDisplay();
long XEventMaskOfScreen();

# 57 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 2

# 1 "/uhe0/schaefer/csl/X11/Intrinsic.h" 1




















































# 1 "/usr/include/X11/Xlib.h" 1
























# 1064 "/usr/include/X11/Xlib.h"

# 53 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/usr/include/X11/Xutil.h" 1










































typedef struct {
    	long flags;	
	int x, y;
	int width, height;
	int min_width, min_height;
	int max_width, max_height;
    	int width_inc, height_inc;
	struct {
		int x;	
		int y;	
	} min_aspect, max_aspect;
} XSizeHints;


















typedef struct {
	long flags;	
	int input;	

	int initial_state;	
	Pixmap icon_pixmap;	
	Window icon_window; 	
	int icon_x, icon_y; 	
	Pixmap icon_mask;	
	XID window_group;	
	
} XWMHints;























typedef struct {
	int min_width, min_height;
	int max_width, max_height;
	int width_inc, height_inc;
} XIconSize;

typedef struct {
	char *res_name;
	char *res_class;
} XClassHint;



















typedef struct _XComposeStatus {
    char *compose_ptr;		
    int chars_matched;		
} XComposeStatus;

























typedef struct _XRegion *Region; 


 



 






typedef struct {
  Visual *visual;
  VisualID visualid;
  int screen;
  int depth;
  int class;
  unsigned long red_mask;
  unsigned long green_mask;
  unsigned long blue_mask;
  int colormap_size;
  int bits_per_rgb;
} XVisualInfo;


















typedef struct {
	Colormap colormap;
	unsigned long red_max;
	unsigned long red_mult;
	unsigned long green_max;
	unsigned long green_mult;
	unsigned long blue_max;
	unsigned long blue_mult;
	unsigned long base_pixel;
} XStandardColormap;

























typedef int XContext;




extern int XSaveContext(); 
    
    
    

extern int XFindContext(); 
    
    
    
    

extern int XDeleteContext(); 
    
    


XWMHints *XGetWMHints();
Region XCreateRegion(), XPolygonRegion();
XImage *XCreateImage();

XVisualInfo *XGetVisualInfo();

# 54 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/usr/include/X11/Xresource.h" 1





















































# 1 "/usr/include/sys/types.h" 1








# 109 "/usr/include/sys/types.h"

# 54 "/usr/include/X11/Xresource.h" 2













extern char *Xpermalloc();
    







typedef int     XrmQuark, *XrmQuarkList;


typedef char *XrmString;



extern XrmQuark XrmStringToQuark(); 
    


extern XrmString XrmQuarkToString(); 
    

extern XrmQuark XrmUniqueQuark();










extern void XrmStringToQuarkList();
    
      

extern void XrmStringToBindingQuarkList();
    
      
      








typedef XrmQuark     XrmName;
typedef XrmQuarkList XrmNameList;




typedef XrmQuark     XrmClass;
typedef XrmQuarkList XrmClassList;












typedef XrmQuark     XrmRepresentation;



typedef struct {
    unsigned int    size;
    caddr_t	    addr;
} XrmValue, *XrmValuePtr;








typedef enum {XrmBindTightly, XrmBindLoosely} XrmBinding, *XrmBindingList;

typedef struct _XrmHashBucketRec *XrmHashBucket;
typedef XrmHashBucket *XrmHashTable;
typedef XrmHashTable XrmSearchList[];
typedef struct _XrmHashBucketRec *XrmDatabase;


extern void XrmInitialize();

extern void XrmQPutResource();
    
    
    
    
    

extern void XrmPutResource();
    
    
    
    

extern void XrmQPutStringResource();
    
    
    
    

extern void XrmPutStringResource();
    
    
    

extern void XrmPutLineResource();
    
    

extern  XrmQGetResource();
    
    
    
      
      

extern int XrmGetResource();
    
    
    
      
      

extern int XrmQGetSearchList();
    
    
    
      
    

extern int XrmQGetSearchResource();
    
    
    
      
      







extern XrmDatabase XrmGetFileDatabase();
    

extern XrmDatabase XrmGetStringDatabase();
      

extern void XrmPutFileDatabase();
    
    

extern void XrmMergeDatabases();
    
      










typedef enum {
    XrmoptionNoArg,	
    XrmoptionIsArg,     
    XrmoptionStickyArg, 
    XrmoptionSepArg,    
    XrmoptionResArg,	
    XrmoptionSkipArg,   
    XrmoptionSkipLine   
} XrmOptionKind;

typedef struct {
    char	    *option;	    
    char	    *specifier;     
    XrmOptionKind   argKind;	    
    caddr_t	    value;	    
} XrmOptionDescRec, *XrmOptionDescList;

extern void XrmParseCommand();
    
    
    
    
    
    





# 55 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2


# 1 "/usr/include/sys/types.h" 1








# 109 "/usr/include/sys/types.h"

# 57 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2





# 70 "/uhe0/schaefer/csl/X11/Intrinsic.h"






















typedef char *String;
typedef struct _WidgetRec *Widget;

typedef struct _ObjectRec *Object;

typedef struct _RectObjRec *RectObj;
typedef struct _WindowObjRec *WindowObj;
typedef Widget *WidgetList;
typedef struct _ObjectClassRec *ObjectClass;
typedef struct _RectObjClassRec *RectObjClass;
typedef struct _WindowObjClassRec *WindowObjClass;
typedef struct _WidgetClassRec *WidgetClass;
typedef struct _CompositeRec *CompositeWidget;
typedef struct _XtActionsRec *XtActionList;
typedef struct _XtEventRec *XtEventTable;
typedef struct _XtBoundAccActionRec *XtBoundAccActions;
typedef unsigned int   Cardinal;
typedef unsigned short  ShortCard;
typedef char	Boolean;
typedef unsigned long	*Opaque;
typedef struct _XtAppStruct *XtAppContext;
typedef unsigned long   XtValueMask;
typedef unsigned long   XtIntervalId;
typedef unsigned long   XtInputId;
typedef unsigned long	XtWorkProcId;
typedef unsigned int    XtGeometryMask;
typedef unsigned long   XtGCMask;   
typedef unsigned long   Pixel;	    
typedef short		Position;   
typedef ShortCard	Dimension;  




















typedef long XtArgVal;

# 166 "/uhe0/schaefer/csl/X11/Intrinsic.h"

# 1 "/uhe0/schaefer/csl/X11/Object.h" 1



















































extern ObjectClass objectClass;



# 167 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/RectObj.h" 1



















































extern RectObjClass rectObjClass;



# 168 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/WindowObj.h" 1



















































extern WindowObjClass windowObjClass;



# 169 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Core.h" 1
























































extern WidgetClass widgetClass;




# 170 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Composite.h" 1























































typedef struct _CompositeClassRec *CompositeWidgetClass;

extern void XtManageChildren ();
    
    

extern void XtManageChild ();
    

extern void XtUnmanageChildren ();
    
    

extern void XtUnmanageChild ();
    



extern WidgetClass compositeWidgetClass;




# 171 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/CompObj.h" 1

















































typedef struct _CompositeObjectClassRec *CompositeObjectClass;
typedef struct _CompositeObjRec *CompositeObject;


extern WidgetClass compositeObjectClass;


# 172 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Constraint.h" 1























































typedef struct _ConstraintClassRec *ConstraintWidgetClass;


extern WidgetClass constraintWidgetClass;




# 173 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Convert.h" 1





















































extern void _XtConvertInitialize();







extern void XtStringConversionWarning();
      
      

typedef void (*XtConverter)();
    
    
    
    

typedef enum {


    XtAddress,      	
    XtBaseOffset,   	
    XtImmediate,    	
    XtResourceString,	
    XtResourceQuark	
} XtAddressMode;

typedef struct {
    XtAddressMode   address_mode;
    caddr_t	    address_id;
    Cardinal	    size;
} XtConvertArgRec, *XtConvertArgList;









extern void XtAppAddConverter();
    
    
    
    
    
    


extern void XtAddConverter();
    
    
    
    
    

extern void XtConvert();
    
    
    
    
      


extern void XtDirectConvert();
    
    
    
    
      




# 174 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Translate.h" 1

















































typedef struct _TranslationData *XtTranslations;
typedef struct _TranslationData *XtAccelerators;
typedef unsigned int Modifiers;







typedef void (*XtActionProc)();
    
    
    
    

typedef XtActionProc* XtBoundActions;

typedef struct _XtActionsRec{
    char    *string;
    XtActionProc proc;
} XtActionsRec;

extern XtTranslations XtParseTranslationTable(); 
    


extern XtAccelerators XtParseAcceleratorTable();
   

extern void XtOverrideTranslations(); 
    
    

extern void XtAugmentTranslations(); 
    
    

extern void XtInstallAccelerators();
   

extern void XtInstallAllAccelerators();
  

extern void XtUninstallTranslations();
   

extern void XtAddActions(); 
   
   


extern void XtAppAddActions(); 
   
   
   








typedef void (*XtKeyProc)();









extern void XtTranslateKeycode();








extern void XtTranslateKey();









extern void XtSetKeyTranslator();




typedef void (*XtCaseProc)();






extern void XtRegisterCaseConverter();






extern void XtConvertCase();







# 175 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2

# 1 "/uhe0/schaefer/csl/X11/Event.h" 1























































typedef void (*XtEventHandler)(); 
    
    
    

typedef void (*XtAsyncHandler)(); 
    

typedef unsigned long EventMask;


extern void XtAddEventHandler(); 
    
    
    
    
    


extern void XtRemoveEventHandler(); 
    
    
    
    
    


extern void XtAddRawEventHandler(); 
    
    
    
    
    


extern void XtRemoveRawEventHandler(); 
    
    
    
    
    

extern EventMask XtBuildEventMask(); 
    

extern void XtAddGrab();
    
    
    

extern void XtRemoveGrab();
    

extern void XtDispatchEvent(); 
    

extern void XtProcessEvent();
    

extern void XtAppProcessEvent();
    
    

extern void XtMainLoop();

extern void XtAppMainLoop();
    

extern void XtAddExposureToRegion();
    
    

extern void XtSetAsyncEventHandler(); 
    
    

extern void XtMakeToolkitAsync();







typedef unsigned long	XtInputMask;






typedef void (*XtTimerCallbackProc)();
    
    

extern XtIntervalId XtAddTimeOut();
    
    
    

extern XtIntervalId XtAppAddTimeOut();
    
    
    
    

extern void XtRemoveTimeOut();
    

typedef void (* XtInputCallbackProc)();
    
    
    

extern XtInputId XtAddInput(); 
    
    
    
    

extern XtInputId XtAppAddInput(); 
    
    
    
    
    

extern void XtRemoveInput(); 
    

extern void XtNextEvent(); 
    

extern void XtAppNextEvent();
    
    

extern Boolean XtPeekEvent(); 
    

extern Boolean XtAppPeekEvent();
    
    






extern XtInputMask XtPending ();

extern XtInputMask XtAppPending();
    


extern void XtSetKeyboardFocus();
    


# 176 "/uhe0/schaefer/csl/X11/Intrinsic.h" 2













extern Boolean XtIsSubclass ();
    
    











extern void XtRealizeWidget ();
    

void XtUnrealizeWidget (); 
    

extern void XtDestroyWidget ();
    

extern void XtSetSensitive ();
    
    

extern void XtSetMappedWhenManaged ();
    
    

extern Widget XtNameToWidget(); 
    
    

extern Widget XtWindowToWidget(); 
    
    


extern Boolean XtCallAcceptFocus(); 
    
    








typedef struct {
    String	name;
    XtArgVal	value;
} Arg, *ArgList;




extern ArgList XtMergeArgLists(); 
    
    
    
    











extern Display *XtDisplay();
    

extern Screen *XtScreen();
    

extern Window XtWindow();
    

extern WidgetClass XtSuperclass();
    

extern WidgetClass XtClass();
    

extern Boolean XtIsManaged();
    

extern Boolean XtIsRealized ();
    

extern Boolean XtIsSensitive();
    

extern Widget XtParent();
    









typedef struct _XtCallbackRec*    XtCallbackList;

typedef void (*XtCallbackProc)();
    
    
    

typedef struct _XtCallbackRec {
    XtCallbackProc  callback;
    caddr_t         closure;
} XtCallbackRec;

extern void XtAddCallback ();
    
    
    
    

extern void XtRemoveCallback ();
    
    
    
    

extern void XtAddCallbacks ();
    
    
    

extern void XtRemoveCallbacks ();
    
    
    

extern void XtRemoveAllCallbacks ();
    
    


extern void XtCallCallbacks ();
    
    
    




extern void DwtOverrideCallback(); 
    
    
    


extern void XtOverrideCallback(); 
    
    
    

typedef enum {
        XtCallbackNoList,
        XtCallbackHasNone,
        XtCallbackHasSome
} XtCallbackStatus;

extern XtCallbackStatus XtHasCallbacks(); 
    
    

















typedef struct {
    XtGeometryMask request_mode;
    Position x, y;
    Dimension width, height, border_width;
    Widget sibling;
    int stack_mode;    
} XtWidgetGeometry;

typedef enum  {
    XtGeometryYes,        
    XtGeometryNo,         
    XtGeometryAlmost,     
    XtGeometryDone        
} XtGeometryResult;

extern XtGeometryResult XtMakeGeometryRequest();
    
    
    
    

extern XtGeometryResult XtMakeResizeRequest ();
    
    
    

extern void XtTransformCoords();
    
    
    

extern XtGeometryResult XtQueryGeometry();
    
    
    


extern Widget XtCreatePopupShell();

    
    
    
    
    

typedef enum {XtGrabNone, XtGrabNonexclusive, XtGrabExclusive} XtGrabKind;

extern void XtPopup();
    
    

extern void XtCallbackNone();
    
    
    

extern void XtCallbackNonexclusive();
    
    
    

extern void XtCallbackExclusive();
    
    
    

extern void XtPopdown();
    

typedef struct {
    Widget  shell_widget;
    Widget  enable_widget;
} XtPopdownIDRec, *XtPopdownID;

extern void XtCallbackPopdown();
    
    
    


extern Widget XtCreateWidget ();
    
    
    
    
    

extern Widget XtCreateManagedWidget ();
    
    
    
    
    

extern Widget XtCreateApplicationShell ();
    
    
    
    

extern Widget XtAppCreateShell ();
    
    
    
    
    








extern void XtToolkitInitialize();

extern void XtDisplayInitialize();
    
    
    
    
    
     
    

extern Widget XtInitialize();
    
    
    
    
     
    

extern Display *XtOpenDisplay();        
   
   
   
   
   
   

extern XtAppContext XtCreateApplicationContext();

extern void XtDestroyApplicationContext();
    

extern XtAppContext XtWidgetToApplicationContext();
    

extern XrmDatabase XtDatabase();
    

extern void XtCloseDisplay();           
    


typedef struct {
    XrmQuark	xrm_name;	  
    XrmQuark	xrm_class;	  
    XrmQuark	xrm_type;	  
    Cardinal	xrm_size;	  
    long int	xrm_offset;	  
    XrmQuark	xrm_default_type; 
    caddr_t	xrm_default_addr; 
} XrmResource, *XrmResourceList;

extern void XtCopyFromParent();

extern void XtCopyDefaultDepth();

extern void XtCopyDefaultColormap();

extern void XtCopyAncestorSensitive();

extern void XtCopyScreen();

typedef struct _XtResource *XtResourceList;

extern void XrmCompileResourceList(); 
    
    


extern void XtGetSubresources();
    
    
    
    
    
    
    
    

extern void XtSetValues();
    
    
    

extern void XtGetValues();
    
    
    

extern void XtSetSubvalues();
    
    
    
    
    

extern void XtGetSubvalues();
    
    
    
    
    

extern void XtGetResourceList();
    
    
    

typedef struct _XtResource {
    String     resource_name;   
    String     resource_class;  
    String     resource_type;   
    Cardinal    resource_size;  
    Cardinal    resource_offset;
    String     default_type;    
    caddr_t     default_addr;   
} XtResource;


















typedef void (*XtErrorMsgHandler)();






extern void XtAppSetErrorMsgHandler();
    
    


extern void XtSetErrorMsgHandler();
    


extern void XtAppSetWarningMsgHandler();
    
    


extern void XtSetWarningMsgHandler();
    


extern void XtAppErrorMsg();
    






extern void XtErrorMsg();






extern void XtAppWarningMsg();
    






extern void XtWarningMsg();





typedef void (*XtErrorHandler)();




extern void XtAppSetErrorHandler();
    
    


extern void XtSetErrorHandler();
    


extern void XtAppSetWarningHandler();
    
    


extern void XtSetWarningHandler();
    


extern void XtAppError();
    




extern void XtError();




extern void XtAppWarning();
    




extern void XtWarning();




extern XrmDatabase *XtAppGetErrorDatabase();
    


extern XrmDatabase *XtGetErrorDatabase();



extern void XtAppGetErrorDatabaseText();
    








extern void XtGetErrorDatabaseText();
















# 785 "/uhe0/schaefer/csl/X11/Intrinsic.h"


extern char *XtMalloc(); 
    

extern char *XtCalloc(); 
    

extern char *XtRealloc(); 
    
    

extern void XtFree(); 
        








typedef Boolean (*XtWorkProc)();
    
    

extern XtWorkProcId XtAddWorkProc();
    
    

extern XtWorkProcId XtAppAddWorkProc();
    
    
    

extern void  XtRemoveWorkProc();
    







extern GC XtGetGC(); 
    
    
    

extern void XtDestroyGC (); 
    
    




extern void XtReleaseGC (); 
    
    





# 58 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 2

# 1 "/uhe0/schaefer/csl/X11/Shell.h" 1









































































 































































typedef struct _ShellClassRec *ShellWidgetClass;
typedef struct _OverrideShellClassRec *OverrideShellWidgetClass;
typedef struct _WMShellClassRec *WMShellWidgetClass;
typedef struct _TransientShellClassRec *TransientShellWidgetClass;
typedef struct _TopLevelShellClassRec *TopLevelShellWidgetClass;
typedef struct _ApplicationShellClassRec *ApplicationShellWidgetClass;


extern WidgetClass shellWidgetClass;
extern WidgetClass overrideShellWidgetClass;
extern WidgetClass wmShellWidgetClass;
extern WidgetClass transientShellWidgetClass;
extern WidgetClass topLevelShellWidgetClass;
extern WidgetClass applicationShellWidgetClass;




# 59 "/uhe0/schaefer/csl/X11/DECwDwtApplProg.h" 2










typedef struct _DwtTextSourceRec *DwtTextSource;




























































































































































































































































































































































































































































































































































































































































































































































































typedef void (*VoidProc) ();
typedef char *DwtCompString;
typedef long DwtTextPosition;










typedef struct 
{
    VoidProc	proc;
    int		tag;
}
    DwtCallback, *DwtCallbackPtr;




typedef struct {
    int DataId;
    int PrivateId;
} DwtClipboardPendingRec, *DwtClipboardPendingList;
 




typedef struct {
 
  char *cs;
  long offset;
 
} DwtCompStringContext;
 



typedef struct _Font_Item {

        XFontStruct  *font;
        long    char_set_id;

} DwtFontRec, *DwtFontList;

 



typedef struct _rendmask {
  long mask[4];
}  *DwtRendMask;









typedef struct				    
{                                           
    int     reason;
    XEvent  *event;
} DwtAnyCallbackStruct;


typedef struct				    
{
    int     reason;
    XEvent  *event;
    Widget  s_widget;
    char    *s_tag;
    char    *s_callbackstruct;
} DwtMenuCallbackStruct;


typedef struct				    
{    
    int reason;
    XEvent  *event;
    int value;
    int pixel;
} DwtScrollBarCallbackStruct;


typedef struct				    
{
    int reason;
    XEvent  *event;
    int value;
} DwtTogglebuttonCallbackStruct;

typedef struct
{
    int          reason;
    XExposeEvent *event;
    Window	 w;
} DwtWindowCallbackStruct;                 

typedef struct				    
{
    int reason;
    XEvent  *event;
    int value;
} DwtScaleCallbackStruct;

typedef struct				    
{
    int  	   reason;
    XEvent  *event;
    DwtCompString item;
    int  	   item_length;
    int  	   item_number;
} DwtListBoxCallbackStruct;

typedef struct {
    int     reason;
    XEvent  *event;
    Widget  s_widget;
    char    *s_tag;
    char    *s_callbackstruct;
} DwtRadioBoxCallbackStruct;

 typedef struct                                   
{
    int 	   reason;
    XEvent  *event;
    DwtCompString value;
    int   	   value_len;
} DwtSelectionCallbackStruct;

 typedef struct                                   
{
    int 	   reason;
    XEvent  *event;
    DwtCompString value;
    int  	   value_len;
    DwtCompString dirmask;
    int  	   dirmask_len;
} DwtFileSelectionCallbackStruct;

typedef struct                                   
{
    int reason;
    XEvent  *event;
    int length;
    char * value;
} DwtCommandWindowCallbackStruct;

typedef enum _DwtAttachmentType {
    DwtAttachNone,		
    DwtAttachAdb,		
    DwtAttachWidget,		
    DwtAttachPosition,		
    DwtAttachSelf,		
    DwtAttachOppWidget,		
    DwtAttachOppAdb,		
} DwtAttachmentType;












extern int DwtBeginCopyToClipboard();
extern int DwtCopyToClipboard();
extern int DwtEndCopyToClipboard();
extern void DwtCancelCopyToClipboard();
extern int DwtReCopyToClipboard();
extern int DwtUndoCopyToClipboard();
extern int DwtClipboardLock();
extern int DwtClipboardUnlock();
extern int DwtCopyFromClipboard();
extern int DwtInquireNextPasteCount();
extern int DwtInquireNextPasteFormat();
extern int DwtInquireNextPasteLength();
extern int DwtListPendingItems();





extern Widget DwtLabel(); 
extern Widget DwtLabelCreate(); 





extern Widget DwtLabelGadgetCreate(); 





extern Widget DwtPushButton(); 
extern Widget DwtPushButtonCreate(); 





extern Widget DwtPushButtonGadgetCreate(); 





extern Widget DwtToggleButton(); 
extern Widget DwtToggleButtonCreate(); 
extern unsigned int DwtToggleButtonGetState(); 
extern void DwtToggleButtonSetState(); 





extern Widget DwtToggleButtonGadgetCreate(); 





extern Widget DwtRadioBox(); 
extern Widget DwtRadioBoxCreate(); 





extern Widget DwtDialogBox(); 
extern Widget DwtDialogBoxCreate(); 





extern Widget DwtDialogBoxPopupCreate(); 





extern Widget DwtMenu(); 
extern Widget DwtMenuCreate(); 





extern Widget DwtMenuBar(); 
extern Widget DwtMenuBarCreate(); 





extern Widget DwtMenuPopupCreate(); 





extern Widget DwtPullDownMenuEntry(); 
extern Widget DwtPullDownMenuEntryCreate(); 





extern Widget DwtScrollBar(); 
extern Widget DwtScrollBarCreate(); 
extern void DwtScrollBarGetSlider(); 
extern void DwtScrollBarSetSlider(); 





extern Widget DwtListBox(); 
extern Widget DwtListBoxCreate(); 
extern void DwtListBoxAddItem(); 
extern void DwtListBoxSelectItem(); 
extern void DwtListBoxSelectPos(); 
extern void DwtListBoxDeselectItem(); 
extern void DwtListBoxDeselectPos(); 
extern void DwtListBoxDeselectAllItems(); 
extern void DwtListBoxDeleteItem(); 
extern void DwtListBoxDeletePos(); 
extern void DwtListBoxSetItem(); 
extern void DwtListBoxSetPos(); 
extern void DwtListBoxSetHorizPos(); 
extern int  DwtListBoxItemExists(); 





extern Widget DwtMainWindow(); 
extern Widget DwtMainWindowCreate(); 
extern void DwtMainSetAreas(); 





extern Widget DwtCommandWindow(); 
extern Widget DwtCommandWindowCreate(); 
extern void DwtCommandSet(); 
extern void DwtCommandAppend(); 
extern void DwtCommandErrorMessage(); 





extern Widget DwtMessageBox(); 
extern Widget DwtMessageBoxCreate(); 





extern Widget DwtSelection(); 
extern Widget DwtSelectionCreate(); 





extern Widget DwtFileSelection(); 
extern void DwtFileSelectionDoSearch();
extern Widget DwtFileSelectionCreate(); 





extern Widget DwtCautionBox(); 
extern Widget DwtCautionBoxCreate(); 





extern Widget DwtScale(); 
extern Widget DwtScaleCreate(); 
extern int DwtGetSlider(); 
extern void DwtSetSlider(); 





extern Widget DwtWorkBox(); 
extern Widget DwtWorkBoxCreate(); 





extern Widget DwtSeparator(); 
extern Widget DwtSeparatorCreate(); 





extern Widget DwtSeparatorGadgetCreate(); 





extern Widget DwtOptionMenu(); 
extern Widget DwtOptionMenuCreate(); 





extern Widget DwtSText(); 
extern Widget DwtSTextCreate(); 
extern char *DwtSTextGetString(); 
extern void DwtSTextSetString(); 
extern void DwtSTextReplace(); 
extern unsigned int DwtSTextGetEditable(); 
extern void DwtSTextSetEditable(); 
extern int DwtSTextGetMaxLength(); 
extern void DwtSTextSetMaxLength(); 
extern char *DwtSTextGetSelection(); 
extern void DwtSTextSetSelection(); 





extern Widget DwtTextCreate();  
extern DwtTextPosition DwtTextGetTopPosition();
extern void DwtTextSetTopPosition(); 
extern DwtTextPosition DwtTextGetInsertionPosition(); 
extern void DwtTextSetInsertionPosition(); 
extern DwtTextSource DwtTextGetSource();
extern void DwtTextSetSource(); 
extern void DwtTextShowPosition(); 
extern void DwtTextScroll();	
extern void DwtTextDisableRedisplay(); 
extern void DwtTextEnableRedisplay(); 






extern Widget DwtWindow();
extern Widget DwtWindowCreate();





extern Widget DwtScrollWindow();
extern Widget DwtScrollWindowCreate();
extern void DwtScrollWindowSetAreas();





extern Widget DwtHelp();
extern Widget DwtHelpCreate();




extern DwtCompString  DwtCSString();
extern DwtCompString  DwtString();
extern DwtCompString  DwtLatin1String();
extern int  	      DwtCStrlen();
extern DwtCompString  DwtCStrcat();
extern DwtCompString  DwtCStrncat();
extern DwtCompString  DwtCStrcpy();
extern DwtCompString  DwtCStrnpy();
extern int	      DwtCSbytecmp();
extern int	      DwtCSempty();
extern int	      DwtInitGetSegment();
extern int	      DwtGetNextSegment();
extern DwtFontList    DwtCreateFontList();
extern DwtFontList    DwtAddFontList();




extern Widget DwtAttachedDB();
extern Widget DwtAttachedDBCreate();
extern Widget DwtAttachedDBPopupCreate();


































































































































































typedef	short int	DRMCode ;	
typedef	char		DRMSCode ;	
typedef	short int	DRMOffset ;	
typedef	short int	DRMType ;	
typedef	short int	DRMSize ;	
typedef	short int	DRMCount ;	
typedef	unsigned char	DRMFlag ;	
typedef	long int	DRMResource_id ;	
typedef	short int	DRMGroup ;	













typedef struct {
	unsigned	validation ;	

	char		*data_buffer ;	
	DRMSize		buffer_size ;	
	DRMSize		resource_size ;	
	DRMGroup	group ;		
	DRMType		type ;		
	DRMCode		access ;	
	DRMCode		lock ;		
	char		*((*alloc_func) ()) ;	
	void		(*free_func) () ;	
	DRMCode		err_report ;	

	DRMCode		err_code ;	
	String		err_stg ;	
} DRMResourceContext, *DRMResourceContextPtr ;




































































typedef	short int	IDBRecordNumber ;






typedef	short int	IDBResourceIndex ;
typedef union {
	unsigned		external_id ;	
	struct {
	  IDBResourceIndex	map_index ;	
	  IDBResourceIndex	res_index ;	
	}			internal_id ;	
} IDBridDesc ;




typedef	unsigned	IDBResource ;		












typedef struct {
	unsigned	validation ;		

	int		get_count ;		
	int		put_count ;		
	DRMCode		access ;		

	unsigned int	lowlevel_id ;		

	IDBRecordNumber	index_root ;		
	DRMCount	num_indexed ;		
	DRMCount	num_RID ;		
	IDBridDesc	next_RID ;		
	IDBRecordNumber	last_record ;		
	IDBRecordNumber	last_data_record ;	

	DRMCount	RID_maps_count ;	

	IDBRecordNumber	*RID_maps ;		

	DRMCount	group_counts[	5		+1	] ;
						

	DRMCount	rt_counts[	6] ;
						

	unsigned long	timer ;			
} IDBOpenFile, *IDBFile ;








typedef struct	{



	Cardinal		version; 



	char			*default_fname;	




	union {
	    unsigned long	related_nam; 
	    Boolean		clobber_flg; 
	} nam_flg;

} IDBOSOpenParam, *IDBOSOpenParamPtr ;
















typedef struct {
	unsigned	validation ;		
	DRMCount	num_file ;		
	IDBFile		*file_list ;		
	DRMCount	grp_num[	5		+1	] ;	

	IDBFile		*grp_ids[	5		+1	] ;	

} DRMHierarchyDesc, *DRMHierarchy ;













typedef struct {
	String		name ;		
	caddr_t		value ;		
} DRMRegisterArg, *DRMRegisterArglist ;


















typedef union {
	  caddr_t	pointer ;	
	  struct {
	    DRMType	rep_type ;	
	    DRMOffset	offset ;	
	} text_item ;			
} RGMTextEntry, *RGMTextEntryPtr ;








typedef struct {
	unsigned	validation ;	
	DRMCount	count ;		
	RGMTextEntry	item[1] ;	


} RGMTextVector, *RGMTextVectorPtr ;






extern void DwtInitializeDRM () ;
extern Cardinal DwtOpenHierarchy () ;
extern Cardinal DwtCloseHierarchy () ;
extern Cardinal DwtRegisterClass () ;
extern Cardinal DwtRegisterDRMCallbacks () ;
extern Cardinal DwtRegisterDRMNames () ;
extern Cardinal DwtFetchInterfaceModule () ;
extern Cardinal DwtFetchWidget () ;
extern Cardinal DwtFetchWidgetOverride () ;
extern Cardinal DwtFetchSetValues () ;
extern Cardinal DwtDrm__OpenHierarchy () ;




extern Cardinal DwtDrmHGetIndexedLiteral () ;
extern Cardinal DwtDrmGetIndexedLiteral () ;




extern Cardinal DwtDrmGetResourceContext () ;
extern Cardinal DwtDrmResizeResourceContext () ;
extern Cardinal DwtDrmFreeResourceContext () ;


















































typedef struct _DwtPartResource {
    String     resource_name;	
    String     resource_class;	
    String     resource_type;	
    Cardinal   resource_size;	



    short      resource_part;	
    short      resource_offset;	

    String     default_type;	
    caddr_t    default_addr;   	
} DwtPartResource;

typedef long DwtOffset;
typedef DwtOffset *DwtOffsetPtr;

















void DwtResolvePartOffsets();
	
	


# 18 "/uhe0/schaefer/csl/tks/definitions.h" 2











    
























   extern	    Display	    *TKS_DISPLAY;
   extern	    int		    TKS_SCREEN;
   extern	    Window	    TKS_ROOTWINDOW;
   extern	    Widget	    TKS_ROOTSHELL;
   extern	    int		    TKS_WIDTH;
   extern	    int		    TKS_HEIGHT;
   extern	    int		    TKS_DEPTH;
   extern	    unsigned long   TKS_COLOR_TABLE[];
   extern      XFontStruct     *StwFont;
   extern      XFontStruct     *WorksheetCellFont;

# 1 "/uhe0/schaefer/csl/tks/colors.h" 1
  
  
  
































































































# 65 "/uhe0/schaefer/csl/tks/definitions.h" 2



Boolean
TksInitialize(	char	*display,
		char	*application,
		char	*class);







typedef struct
    {
	FUNCTION	user_function;
	caddr_t		user_tag;
    }  OVM_X_TAG, *OVM_X_TAG_PTR;








typedef union
	{
	    DwtAnyCallbackStruct	    any;
	    DwtMenuCallbackStruct	    menu;
	    DwtScrollBarCallbackStruct	    scrollbar;
	    DwtTogglebuttonCallbackStruct   toggle;
	    DwtWindowCallbackStruct	    window;
	    DwtScaleCallbackStruct	    scale;
	    DwtListBoxCallbackStruct	    listbox;
	    DwtRadioBoxCallbackStruct	    radiobox;
	    DwtSelectionCallbackStruct	    selection;
	    DwtFileSelectionCallbackStruct  fileselection;
	    DwtCommandWindowCallbackStruct  command;
	}	DECW_CALLBACK_STRUCT;

void OPX_GrabEvents();
void OPX_ReleaseEvents();
void OVM_XFlush();
void OVM_XtMainLoop();

void AllocStndColors(Display	*dpy);
Boolean OVM_TksInitialize(  char    *display,
			    char    *application,
			    char    *class);


void	OPXDispatcher(	Widget			widget_id,
			caddr_t			dispatch_tag,
			DECW_CALLBACK_STRUCT	*callback_info);
			
DwtCallback TksCreateOVMCallback(   void	(*user_proc)(),
				    caddr_t	user_tag);
# 132 "/uhe0/schaefer/csl/tks/definitions.h"


# 1 "/uhe0/schaefer/csl/tks/tools.h" 1
  
  
  
  
  
  
  
  
  
  
  
  





# 1 "/uhe0/schaefer/csl/tks/printwidget.h" 1
  
  
  
  




# 1 "/usr/include/stdio.h" 1





extern	struct	_iobuf {
	int	_cnt;
	unsigned char *_ptr;
	unsigned char *_base;
	int	_bufsiz;
	short	_flag;
	char	_file;		
} _iob[];







































extern struct _iobuf	*fopen();
extern struct _iobuf	*fdopen();
extern struct _iobuf	*freopen();
extern struct _iobuf	*popen();
extern struct _iobuf	*tmpfile();
extern long	ftell();
extern char	*fgets();
extern char	*gets();



extern char	*ctermid();
extern char	*cuserid();
extern char	*tempnam();
extern char	*tmpnam();






# 9 "/uhe0/schaefer/csl/tks/printwidget.h" 2





void TksPrintWidget(Widget	w,
		    struct _iobuf	*f,
		    String	parent,
		    int		*level);
# 26 "/uhe0/schaefer/csl/tks/printwidget.h"




# 18 "/uhe0/schaefer/csl/tks/tools.h" 2

# 1 "/uhe0/schaefer/csl/tks/hlmenu.h" 1
  
  
  
  






typedef struct
	{
	    char	*label;
	    VoidProc	proc;
	    int		tag;
	} TksMenuCallbackData;


Widget TksPDMenu(   Widget		parent,
		    char		*name,
		    Arg			pd_arg[],
		    int			pd_ac,
		    TksMenuCallbackData	cb_data[],
		    int			cb_cnt);

Widget	TksOptionMenu(	Widget		parent,
			char		*name,
			Arg		opt_arg[],
			int		opt_ac,
			char		*label,
			String		choices[],
			int		num_choices,
			int		start_choice);

Widget TksPulldownWithEntry(Widget		parent,
			    char		*pd_name,
			    Arg			pd_arg[],
			    int			pd_ac,
			    TksMenuCallbackData	cb_data[],
			    int			cb_cnt,
			    char		*entry_name,
			    char		*entry_label);

Widget	TksOptionMenuValue( Widget  option_menu,
			    char    *current_option);











# 19 "/uhe0/schaefer/csl/tks/tools.h" 2



void
TksGetWidgetVal(Widget	w, 
		char	*what, 
		char	*where );

void
TksSetWidgetVal(Widget	    w, 
		char	    *which, 
		char	    *what);

char *StringFromCompString(DwtCompString    comp_str);







typedef	enum
	{
	    TksCautionUnknown, 
	    TksCautionYes, 
	    TksCautionNo, 
	    TksCautionCancel
	}	TksCautionReturn;


Widget TksCreateStw (
                        Widget  parent,
                        String  name,  
                        int     ht,    
                        int     wd,  
                        caddr_t not_used,
                        Boolean input_allowed);


void TksStwPuts(
                Widget wid,
                String text
               );

void TksDestroyStw( Widget wid );

String TksStwGets(
                  Widget wid,
                  int    timeout
                  );

String TksStwPrompts(  
                     Widget  wid,
                     int     timeout,
                     String  text
                     );

void TksSetStwHandler(  Widget   wid,
                        caddr_t  function,
                        caddr_t  parameter
                     );


Widget
TksCautionBox(	Widget		parent,
		unsigned char   style,
		char		*text,
		char		*name,
		char		*yes_label,
		char		*no_label,
		char		*cancel_label);

TksCautionReturn
TksPopupCautionBox(Widget cautionBox);

void
TksDestroyCautionBox(Widget cautionBox);

TksCautionReturn
TksDoCaution(	Widget	parent,
		char	*text);



Widget
TksMessageBox(	Widget		parent,
		unsigned char	style,
		char		*msg,
		char		*name,
		char		*btn_label);


void 
TksBell();

void
TksPopupMessageBox(Widget msgBox);

void
TksDestroyMessageBox(Widget msgBox);

void
TksDoMessage(	Widget	parent,
		char	*msg);

int TksPopMenu( Widget parent,
                String title,
                String *labels,
                int    x,
                int    y);




Widget 
TksWorkBox( Widget	    parent,
	    unsigned char   style,
	    char	    *text,
	    char	    *name);

void
TksPopupWorkBox( Widget	work_box );

void
TksPopdownWorkBox( Widget work_box );

void
TksDestroyWorkBox( Widget   work_box );

Widget 
TksOpenWorkBox( Widget	    parent,
		char	    *msg);

void
TksCloseWorkBox( Widget   work_box );



Widget
TksViewport(Widget	parent,
	    char	*name,
	    ArgList	args,
	    Cardinal	num_args);

void
TksSetViewportSubWidget(Widget	    viewport,
			Widget	    sub_widget);

Widget
TksMainViewport(Widget	    parent,
		char	    *name,
		ArgList	    args,
		Cardinal    num_args);

void
TksSetMainViewportSubWidget(Widget	    viewport,
			    Widget	    sub_widget);


Widget    TksParent(Widget w);
Dimension TksHeight(Widget w);
Dimension TksWidth(Widget w);
Position  TksX(Widget w);
Position  TksY(Widget w); 
Dimension TksBorderWidth(Widget w);
Pixel     TksBackground(Widget  w);
Boolean   TksSensitive(Widget   w);

void	TksIconify(Widget   w);
void	TksUniconify(Widget w);
Widget	TksFindShell(Widget w);

# 232 "/uhe0/schaefer/csl/tks/tools.h"







# 134 "/uhe0/schaefer/csl/tks/definitions.h" 2




# 20 "/uhe0/schaefer/csl/tsutil/tee.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  






# 74 "/uhe0/schaefer/csl/tstrobe/strobe.h"










# 1 "/uhe0/schaefer/csl/csuf_h/limits.h" 1
  
  
  

































# 84 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 106 "/uhe0/schaefer/csl/tstrobe/strobe.h"


# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 108 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/csuf_h/stdlimits.h" 1
  
  
  
  


































# 109 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm.h" 1
  
  
  
  
  
  
  
  






















# 1 "/uhe0/schaefer/csl/csutil/csutil.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  





















# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 65 "/uhe0/schaefer/csl/csutil/csutil.h" 2
















# 1 "/uhe0/schaefer/csl/csutil/msg_utility.h" 1
  
  
  
  



# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 8 "/uhe0/schaefer/csl/csutil/msg_utility.h" 2
















typedef struct errormsg {
    INTEGER	code;
    STRING	shortname;
    STRING	longname;
} ERRORMSG;

typedef struct errormsghead {
    struct errormsghead *link;
    STRING	facility;
    STRING	prefix;
    ERRORMSG	*table;
} ERRORMSGHEAD;



STRING msg_code_to_smsg(INTEGER);
STRING msg_code_to_msg(INTEGER);
void msg_register_codes(ERRORMSGHEAD *);
void msg_exam_all(void);











# 81 "/uhe0/schaefer/csl/csutil/csutil.h" 2



































# 1 "/uhe0/schaefer/csl/csutil/utl_memory.h" 1
  
  
  
  
  
  
  







# 1 "/uhe0/schaefer/csl/csutil/utl_memory_struct.h" 1
  
  
  
  


typedef struct utl_mem_debug {
    struct utl_mem_debug    *flink;
    struct utl_mem_debug    *blink;
    LONGWORD		    check;
    LONGWORD		    pc;
} *UTL_MEM_DEBUG;

typedef struct utl_mem_header {
    BYTE		    heap_id;
    BYTE		    debug;
    SHORT		    refcount;
    LONGWORD		    length;
} *UTL_MEM_HEADER;

typedef	enum {UTL_MEM_BYTE_ALIGNMENT = 0, UTL_MEM_WORD_ALIGNMENT = 1,
	UTL_MEM_LONGWORD_ALIGNMENT = 3, UTL_MEM_QUADWORD_ALIGNMENT = 7
} UTL_MEM_ALIGNMENT;

typedef enum {UTL_MEM_HEAP_TYPE = 0, UTL_MEM_CACHE_TYPE = 1, 
	UTL_MEM_GLOBAL_HEAP_TYPE = 2, UTL_MEM_GLOBAL_CACHE_TYPE = 3
} UTL_MEM_TYPE;

typedef struct utl_heap {
    STRING	        name;		
    INTEGER		heap_id;	
    UTL_MEM_ALIGNMENT	align;		
    UTL_MEM_TYPE	type;		
    INTEGER		overhead;
    INTEGER		allocs;		
    INTEGER		frees;		
    LONGWORD		outstanding;	
    UTL_MEM_DEBUG	alloc_flink;	    
    UTL_MEM_DEBUG	alloc_blink;	    
    BOOLEAN		alloc_queue;	    
    BOOLEAN		debug;		
    BOOLEAN		global;		
    BOOLEAN		delete_pending; 
} *UTL_HEAP;
 







typedef struct utl_heap_table_entry {
    FUNCTION		alloc;
    FUNCTION		free;
    INTEGER		param;
    UTL_HEAP		heap;
    FUNCTION		heap_delete;
} UTL_HEAP_TABLE_ENTRY;







typedef struct utl_cahce {
    struct utl_cache	*flink;
    struct utl_cahce	*blink;
    INTEGER		size;
    INTEGER		entries;
    INTEGER		min_entries;
    INTEGER		max_entries;
    INTEGER		exp_entries;
    INTEGER		high_water;
    INTEGER		heap_id;
    INTEGER		exp_heap_id;
} *UTL_CACHE;

typedef struct global_heap_association {
    STRING		name;
    BYTE		heap_id;
    struct global_heap_association *next;
} *GLOBAL_HEAP_ASSOCIATION;


# 15 "/uhe0/schaefer/csl/csutil/utl_memory.h" 2



















INTEGER		utl_add_ref(POINTER, INTEGER);
POINTER		utl_alloc_block(INTEGER);
POINTER		utl_alloc_heap_block(INTEGER, UTL_HEAP);
POINTER		utl_calloc_block(INTEGER);
POINTER		utl_calloc_heap_block(INTEGER, UTL_HEAP);
STRING		utl_copy(STRING, STRING, INTEGER);
UTL_HEAP	utl_create_global_heap(ADDRESS, ADDRESS, INTEGER, FUNCTION, 
			    FUNCTION, POINTER, INTEGER, STRING, INTEGER, 
			    UTL_MEM_ALIGNMENT);
UTL_HEAP	utl_create_cache_heap(INTEGER, INTEGER, STRING, INTEGER, 
			    INTEGER, UTL_HEAP);
UTL_HEAP	utl_create_default_heap(STRING);
UTL_HEAP	utl_create_heap(FUNCTION, FUNCTION, FUNCTION, INTEGER, 
			    STRING, UTL_MEM_ALIGNMENT);
void		utl_debug_heap(UTL_HEAP, BOOLEAN, BOOLEAN);
INTEGER		utl_delete_heap(UTL_HEAP);
INTEGER		utl_delete_heap_now(UTL_HEAP);
void		utl_exam_allocs(void);
void		utl_exam_counts(void);
void		utl_exam_heap(UTL_HEAP);
void		utl_exam_mem_block(BYTE *);
INTEGER		utl_exam_mem_free_queue(void);
INTEGER    	utl_fill_block(POINTER, BYTE);
INTEGER		utl_free_block(POINTER);
void		utl_memory_init(void);
POINTER		utl_ralloc_block(POINTER, INTEGER);
STRING		utl_save(STRING);
UTL_HEAP	utl_set_default_heap(UTL_HEAP);

# 90 "/uhe0/schaefer/csl/csutil/utl_memory.h"


 extern UTL_HEAP utl_default_heap;
 extern GLOBAL_HEAP_ASSOCIATION utl_global_heap_association;
 extern UTL_HEAP_TABLE_ENTRY utl_heap_table[			256];

# 114 "/uhe0/schaefer/csl/csutil/utl_memory.h"


# 1 "/uhe0/schaefer/csl/csutil/utl_mem_msg.msg_h" 1















# 116 "/uhe0/schaefer/csl/csutil/utl_memory.h" 2





# 116 "/uhe0/schaefer/csl/csutil/csutil.h" 2

# 1 "/uhe0/schaefer/csl/csutil/utl_exc.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 19 "/uhe0/schaefer/csl/csutil/utl_exc.h" 2




# 1 "/usr/include/setjmp.h" 1




   



# 1 "/usr/include/machine/setjmp.h" 1











extern int sigsetjmp(), setjmp(), _setjmp();
extern void siglongjmp(), longjmp(), _longjmp();







#pragma unknown_control_flow(sigsetjmp, setjmp, _setjmp)

typedef int jmp_buf[9];




typedef	int sigjmp_buf[9+1];


# 9 "/usr/include/setjmp.h" 2


# 34 "/usr/include/setjmp.h"







# 23 "/uhe0/schaefer/csl/csutil/utl_exc.h" 2




































































typedef struct jmpbuf {
    INTEGER	    max;
    INTEGER	    current;
    INTEGER	    depth;
    INTEGER	    recursive;
    FUNCTION	    handlers[    20];
    jmp_buf	    env[    20];
} EXC_BUF, *EXC_BUF_P, **EXC_BUF_P_P;



INTEGER exc_push_ctxt(FUNCTION, INTEGER *);
void exc_pop_ctxt(INTEGER);
void exc_set_ctxt_current(INTEGER);
INTEGER	exc_raise(INTEGER);










 extern  EXC_BUF_P_P (*exc_get_ctxt_p)();






























































































































































# 117 "/uhe0/schaefer/csl/csutil/csutil.h" 2

# 1 "/uhe0/schaefer/csl/csutil/hash.h" 1
  
  
  
  
  
  
  
  
  
  
  
  












typedef struct {
  POINTER  flink;
  POINTER  hentry;
  BYTE keylength;
  CHARACTER key;
} HASHITEM_STRUCT, *HASHITEM;

typedef struct {
  STRING    name;
  POINTER   heap;
  LONGWORD  tsize;
  POINTER   links;
  LONGWORD  keylength;
  LONGWORD  entries;
  LONGWORD  removes;
  LONGWORD  locates;
} HASHTABLE_STRUCT, *HASHTABLE;

typedef struct {
  LONGWORD hashindex;
  LONGWORD keylength;
} HASHINFO_STRUCT, *HASHINFO;











































HASHTABLE utl_fasthashinit(LONGWORD,STRING,UTL_HEAP,LONGWORD);
HASHITEM utl_fasthashlocate_C(HASHTABLE,STRING,HASHINFO);



POINTER utl_fasthashenter(HASHTABLE,STRING,POINTER,HASHINFO);
POINTER utl_fasthashremove(HASHTABLE,STRING,HASHINFO);
POINTER utl_fasthashlookup(HASHTABLE,STRING,HASHINFO);
BOOLEAN utl_fasthashupdate(HASHTABLE,STRING,POINTER,HASHINFO);
HASHITEM utl_fasthashnext(HASHTABLE,HASHITEM,STRING *,POINTER *);
void utl_fasthashdelete(HASHTABLE);
void utl_fasthashdump(HASHTABLE);
STRING index_hashlocate(HASHTABLE,LONGWORD);
LONGWORD index_hashenter(HASHTABLE,STRING,POINTER,LONGWORD);
LONGWORD index_hashnext(HASHTABLE,LONGWORD,STRING *,POINTER *);

# 124 "/uhe0/schaefer/csl/csutil/hash.h"




# 118 "/uhe0/schaefer/csl/csutil/csutil.h" 2


typedef INTEGER TIME;			







typedef char NAME_STRING[    128	];




STRING		utl_append(STRING, STRING, ... );
void		utl_ascii_dump(STRING, INTEGER);
long	utl_calls(FUNCTION, POINTER, INTEGER);



BOOLEAN		utl_casefree_strequ(STRING, STRING);

BOOLEAN		utl_casefree_strnequ(STRING, STRING, INTEGER);
STRING		utl_combine(STRING, ...);
void		utl_dump(STRING, INTEGER);
long	utl_failure_log(long);
long	utl_failure(long);
void	    	utl_fatal_error(STRING, STRING);
INTEGER		utl_index(STRING, STRING);
void		utl_nonfatal_error(STRING, STRING);
long	utl_success_log(long);
long	utl_success(long);
TIME		utl_time(void);

# 171 "/uhe0/schaefer/csl/csutil/csutil.h"












# 31 "/uhe0/schaefer/csl/ovm/ovm.h" 2




# 1 "/uhe0/schaefer/csl/ovm/ovm_struct.h" 1
  
  
  
  
  



 









struct OBJ_MASK {
    unsigned OBJ_V_ASYNC : 1;
    unsigned OBJ_V_INTERRUPT : 1;
    unsigned OBJ_V_REAL_TIME : 1;
    unsigned OBJ_V_CONTROL : 1;
    unsigned OBJ_V_DATAFLOW : 1;
    unsigned OBJ_V_BACKGROUND : 1;
    unsigned OBJ_V_PROCESS : 1;
    unsigned OBJ_V_CONTEXT : 1;
    unsigned OBJ_V_STACK : 1;
    unsigned OBJ_V_EVENT : 1;
    unsigned OBJ_V_LOCK : 1;
    unsigned OBJ_V_QUEUE : 1;
    unsigned OBJ_V_QENTRY : 1;
    unsigned OBJ_V_DIST : 1;
    unsigned OBJ_V_MESSAGE : 1;
    unsigned OBJ_V_IMAGE : 1;
    unsigned OBJ_V_TIMER_QUEUE : 1;
    unsigned OBJ_V_DEAD_QUEUE : 1;
    unsigned OBJ_V_EVENT_QUEUE : 1;
    unsigned OBJ_V_LOCK_QUEUE : 1;
    unsigned OBJ_V_WAIT_QUEUE : 1;
    unsigned OBJ_V_PAD : 11;
    } ;






















































struct OVM_RT_FLAGS {
    unsigned RT_V_BULLET_PROOF : 1;
    unsigned RT_V_DROPPING_BEANS : 1;
    unsigned RT_V_TRANSITION_LOG : 1;
    unsigned RT_V_FILL_STACK: 1;
    unsigned RT_V_PAD : 28;
    } ;
















struct ovm_object {
    int *flink;
    int *blink;
    unsigned short int size;            
    unsigned char type;                 
    unsigned char subtype;              
    int *dump_block;                    
    } ;




struct ovm_async {
    int *async_a_flink;                 
    int *async_a_blink;
    int *async_a_function;              
    unsigned long int async_l_arg;      
    } ;




struct ovm_context {
    int *context_a_flink;               
    int *context_a_blink;
    unsigned short int context_w_size;  
    unsigned char context_b_type;       
    unsigned char context_b_subtype;    
    unsigned long int context_l_fp;     
    unsigned long int context_l_sp;     
    unsigned long int context_l_ap;     
    unsigned long int context_l_regs [16]; 
    unsigned long int context_l_arg;    
    int *context_a_stack;               
    int *context_a_stack_top;           
    int *context_a_stack_base;          
    unsigned char context_b_page_prot;  
    } ;



struct ovm_process {
    int *proc_a_flink;                  
    int *proc_a_blink;
    unsigned short int proc_w_size;     
    unsigned char proc_b_type;          
    unsigned char proc_b_subtype;       
    int *proc_a_join_flink;             
    int *proc_a_join_blink;
    unsigned short int proc_w_join_size;
    unsigned char proc_b_join_type;
    unsigned char proc_b_join_subtype;
    int *proc_a_run_flink;              
    int *proc_a_run_blink;
    unsigned short int proc_w_run_size;
    unsigned char proc_b_run_type;
    unsigned char proc_b_run_subtype;
    int *proc_a_timer_flink;            
    int *proc_a_timer_blink;
    unsigned short int proc_w_timer_size;
    unsigned char proc_b_timer_type;
    unsigned char proc_b_timer_subtype;
    int *proc_a_remote_flink;           
    int *proc_a_remote_blink;
    struct  {                           
        unsigned proc_v_timing : 1;     
        unsigned proc_v_exception : 1;  
        unsigned proc_v_finished : 1;   
        unsigned proc_v_save : 1;       
        unsigned proc_v_suspend_pend : 1; 
        unsigned proc_v_pad : 27;
        } proc_r_flags;
    int *proc_a_context;                
    unsigned short int proc_w_priority; 
    short int proc_w_join_count;        
    unsigned long int proc_l_hw_process; 
    int *proc_a_environment;            
    int *proc_a_exit_handler;           
    int *proc_a_exit_arg;               
    int *proc_a_wakeup;                 
    unsigned long int proc_l_wake_reason; 
    unsigned int proc_q_timeout [2];    
    unsigned long int proc_l_final_status; 
    unsigned long int proc_l_times_run; 
    unsigned long int proc_l_clock_time; 
    unsigned long int proc_l_epoch;     
    int *proc_a_exception;              
    int *proc_a_user_strobe;            
    int *proc_a_message_queue;          
    int *proc_a_mail_basket;            
    char proc_t_name [40];              
    unsigned char proc_b_dummy;
    } ;









struct ovm_event {
    int *event_a_flink;                 
    int *event_a_blink;
    unsigned short int event_w_size;    
    unsigned char event_b_type;         
    unsigned char event_b_subtype;      
    int *event_a_wait_flink;            
    int *event_a_wait_blink;
    unsigned short int event_w_wait_size;
    unsigned char event_b_wait_type;
    unsigned char event_b_wait_subtype;
    int *event_a_join_flink;            
    int *event_a_join_blink;
    unsigned short int event_w_join_size;
    unsigned char event_b_join_type;
    unsigned char event_b_join_subtype;
    unsigned long int event_l_hw_process; 
    int *event_a_queue;                 
    int *event_a_notifier;              
    short int event_w_join_count;       
    unsigned long int event_l_notified_count; 
    unsigned long int event_l_wait_count; 
    struct  {                           
        unsigned event_v_wakeup_pend : 1; 
        unsigned event_v_delete_pend : 1; 
        unsigned event_v_pad : 30;
        } event_r_flags;
    char event_t_name [40];             
    unsigned char event_b_dummy;
    } ;


struct ovm_lock {
    int *lock_a_flink;                  
    int *lock_a_blink;
    unsigned short int lock_w_size;     
    unsigned char lock_b_type;          
    unsigned char lock_b_subtype;       
    int *lock_a_wait_flink;             
    int *lock_a_wait_blink;
    unsigned short int lock_w_wait_size;
    unsigned char lock_b_wait_type;
    unsigned char lock_b_wait_subtype;
    int *lock_a_owner;                  
    unsigned long int lock_l_hw_process; 
    unsigned long int lock_l_request_count; 
    unsigned long int lock_l_contention_count; 

    struct  {
        unsigned lock_v_granted : 1;    
        unsigned lock_v_process_queued : 1; 
        unsigned lock_v_delete_pend : 1; 
        unsigned lock_v_pad : 29;
        } lock_r_flags;
    char lock_t_name [40];              
    unsigned char lock_b_dummy;
    } ;



struct ovm_qentry {
    int *qentry_a_flink;
    int *qentry_a_blink;
    unsigned short int qentry_w_size;   
    unsigned char qentry_b_type;        
    unsigned char qentry_b_subtype;     
    int *qentry_a_pointer;              
    } ;
struct ovm_queue {
    int *queue_a_flink;
    int *queue_a_blink;
    unsigned short int queue_w_size;    
    unsigned char queue_b_type;         
    unsigned char queue_b_subtype;      
    int *queue_a_pointer;               
    int *queue_a_link_flink;            
    int *queue_a_link_blink;
    unsigned short int queue_w_link_size;
    unsigned char queue_b_link_type;
    unsigned char queue_b_link_subtype;
    int *queue_a_event;                 
    int *queue_a_lock;                  
    int *queue_a_function;              
    unsigned long int queue_l_hw_process; 
    int *queue_a_heap;                  
    unsigned long int queue_l_enqueue_count; 
    unsigned long int queue_l_dequeue_count; 
    struct  {                           
        unsigned queue_v_waiting : 1;   
        unsigned queue_v_unsol : 1;     
        unsigned queue_v_lock : 1;      
        unsigned queue_v_event : 1;     
        unsigned queue_v_pad : 28;
        } queue_r_flags;
    } ;




# 35 "/uhe0/schaefer/csl/ovm/ovm.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_external.h" 1
  
  
  
  
  
  









typedef struct ovm_queue OVM_QBLOCK, *OVM_QUEUE;
typedef struct ovm_qentry OVM_QENTRY;
typedef struct ovm_context OVM_CTXBLOCK, *OVM_CONTEXT;
typedef struct ovm_process OVM_PCBLOCK, *OVM_PROCESS;
typedef struct ovm_event OVM_EBLOCK, *OVM_EVENT; 
typedef struct ovm_lock OVM_LBLOCK, *OVM_LOCK;
typedef struct ovm_object OVM_OBJBLOCK, *OVM_OBJECT;
typedef struct ovm_async  OVM_ASYBLOCK, *OVM_ASYNC;




































void	    ovm_init_processes(void);
LONG	    ovm_get_pid(void);
void	    			ovm_set_flags(LONGWORD);
void	    ovm_exit_cleanup(void);


































OVM_PROCESS ovm_create_process(FUNCTION, STRING, INTEGER, INTEGER, INTEGER);
OVM_PROCESS ovm_find_process(STRING, ...);
BOOLEAN	    ovm_process_exists(OVM_PROCESS);
void	    ovm_kill_process(OVM_PROCESS, INTEGER);
void	    ovm_process_wait(OVM_PROCESS, INTEGER);
void	    ovm_dismiss(void);
void	    ovm_wake_process(OVM_PROCESS, INTEGER);
INTEGER	    ovm_suspend(OVM_PROCESS);
void	    ovm_join(OVM_PROCESS, ...);
void	    ovm_set_priority(OVM_PROCESS, INTEGER);
void	    ovm_map_processes(FUNCTION, ...);
STRING	    ovm_process_name(OVM_PROCESS);
OVM_PROCESS ovm_get_proc_id(void);
OVM_PROCESS ovm_get_running_process(void);
void	    ovm_schedule_ast(FUNCTION, LONGWORD);
void	    ovm_remote_call(OVM_PROCESS, FUNCTION, LONGWORD);

# 134 "/uhe0/schaefer/csl/ovm/ovm_external.h"














void	    ovm_set_env(OVM_PROCESS, STRING, INTEGER);
LONG	    ovm_get_env(OVM_PROCESS, STRING);
LONG	    *ovm_get_env_ptr(OVM_PROCESS, STRING);
void	    ovm_show_env(OVM_PROCESS);
void	    ovm_inherit_env(OVM_PROCESS, OVM_PROCESS);

# 162 "/uhe0/schaefer/csl/ovm/ovm_external.h"




















OVM_EVENT   ovm_create_event(STRING);
OVM_EVENT   ovm_find_event(STRING, ...);
BOOLEAN	    ovm_event_exists(OVM_EVENT);
long    ovm_delete_event(OVM_EVENT, INTEGER);
void	    ovm_ast_notify_event(OVM_EVENT);
void	    ovm_notify_event(OVM_EVENT);
long    ovm_await_event(OVM_EVENT, INTEGER);
long    ovm_event_schedule(OVM_EVENT, TIME, BOOLEAN);
void	    ovm_event_and(OVM_EVENT, ...);
void	    ovm_event_or(OVM_EVENT, ...);

# 206 "/uhe0/schaefer/csl/ovm/ovm_external.h"















OVM_LOCK    ovm_create_lock(STRING);
OVM_LOCK    ovm_find_lock(STRING, ...);
BOOLEAN	    ovm_lock_exists(OVM_LOCK);
long    ovm_delete_lock(OVM_LOCK);
void	    ovm_obtain_lock(OVM_LOCK);
void	    ovm_release_lock(OVM_LOCK, OVM_PROCESS);

# 237 "/uhe0/schaefer/csl/ovm/ovm_external.h"





























OVM_QUEUE   ovm_create_queue(STRING, POINTER);
OVM_QUEUE   ovm_find_queue(STRING, ...);
BOOLEAN	    ovm_queue_exists(OVM_QUEUE);
long    ovm_delete_queue(OVM_QUEUE);
POINTER	    ovm_enqueue(OVM_QUEUE, POINTER);
void	    ovm_enqueue_block(OVM_QUEUE, OVM_QENTRY *);
void	    ovm_ast_enqueue(OVM_QUEUE, POINTER);
POINTER	    ovm_dequeue(OVM_QUEUE);
OVM_QENTRY  *ovm_dequeue_block(OVM_QUEUE);
POINTER	    ovm_wait_for_queue(OVM_QUEUE, INTEGER);
OVM_QENTRY  *ovm_wait_for_queue_block(OVM_QUEUE, INTEGER);
BOOLEAN	    ovm_queue_empty(OVM_QUEUE);
INTEGER	    ovm_queue_length(OVM_QUEUE);
FUNCTION    ovm_queue_function(OVM_QUEUE, FUNCTION);
void	    ovm_enable_queue_event(OVM_QUEUE);
void	    ovm_disable_queue_event(OVM_QUEUE);
INTEGER	    ovm_queue_map(OVM_QUEUE, FUNCTION, LONGWORD);
void	    ovm_purge_from_queue(OVM_QUEUE, POINTER);
OVM_QENTRY  *ovm_remove_from_queue(OVM_QUEUE, OVM_QENTRY *);
void	    ovm_free_queue_entry(OVM_QUEUE);

# 310 "/uhe0/schaefer/csl/ovm/ovm_external.h"










LONG	    ovm_time(void);
















void ovm_run_periodic(FUNCTION, POINTER, INTEGER);
void v_exam_periodic(void);
void ovm_kill_periodic(FUNCTION, POINTER, INTEGER);






















void	    ovm_process_status(void);
void	    ovm_browser(void);
void	    ovm_exam(OVM_OBJECT);
void	    ovm_exam_linked(OVM_OBJECT);
void	    ovm_exam_index(OVM_OBJECT);
void	    ovm_help(void);

# 378 "/uhe0/schaefer/csl/ovm/ovm_external.h"






int	    ovm_exception();

















# 36 "/uhe0/schaefer/csl/ovm/ovm.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_link_list.h" 1
  
  
  
















typedef OVM_QUEUE LIST_HEAD;


LIST_HEAD create_list_head( );






POINTER add_to_list( );











POINTER find_object( );














POINTER add_to_named_list( );


































 



































void unlink_list( );













POINTER remove_from_list( );











void free_dangling_queue_entries( );









# 37 "/uhe0/schaefer/csl/ovm/ovm.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_global.h" 1
  
  
  
  
  
  
  



# 39 "/uhe0/schaefer/csl/ovm/ovm_global.h"

# 1 "/uhe0/schaefer/csl/ovm/ovm_error.msg_h" 1


























# 40 "/uhe0/schaefer/csl/ovm/ovm_global.h" 2



 extern	OVM_PROCESS running_process;
 extern	INTEGER	    sched_count;
 extern	STRING	    ovm_domain_name;
 extern	FUNCTION    ovm_user_context_change;
 extern	FUNCTION    ovm_user_context_create;
 extern	FUNCTION    ovm_user_context_delete;
 extern	FUNCTION    ovm_user_process_caller;
 extern    BOOLEAN     ovm_browse_state;



 extern	LONG ovm_script_on;


# 38 "/uhe0/schaefer/csl/ovm/ovm.h" 2





# 110 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_message.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 1 "/uhe0/schaefer/csl/csi/csi.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
























# 1 "/uhe0/schaefer/csl/ovm/ovm.h" 1
  
  
  
  
  
  
  
  
# 42 "/uhe0/schaefer/csl/ovm/ovm.h"

# 62 "/uhe0/schaefer/csl/csi/csi.h" 2








typedef enum CHANNEL_OP {
    CHANNEL_READ = 20,				
    CHANNEL_WRITE,				
    CHANNEL_CONNECT,				
    CHANNEL_CONNECT_LISTEN_READ_1,		
    CHANNEL_CONNECT_LISTEN_WRITE_1,
    CHANNEL_CONNECT_LISTEN_READ_2,
    CHANNEL_CONNECT_TALK_WRITE_1,
    CHANNEL_CONNECT_TALK_READ_1,
    CHANNEL_CONNECT_TALK_WRITE_2,
    CHANNEL_DISCONNECT_WRITE,			
    CHANNEL_DISCONNECT_READ,			
    CHANNEL_COMPLETE,				
    CHANNEL_REJECT 				
} CHANNEL_OP;

typedef enum AST_BLOCK_STATE {
    AST_BLOCK$UNDEFINED = 0,			
    AST_BLOCK$FREE,				
    AST_BLOCK$BUSY				
} AST_BLOCK_STATE;


typedef enum CHANNEL_STATE {
    STATE$UNDEFINED = 0,
    STATE$OPEN_IN_PROGRESS,
    STATE$OPENED,
    STATE$CONNECT_IN_PROGRESS,

    STATE$CONNECT_LISTEN_READ_1,		
    STATE$CONNECT_LISTEN_WRITE_1,
    STATE$CONNECT_LISTEN_READ_2,
    STATE$CONNECT_TALK_WRITE_1,
    STATE$CONNECT_TALK_READ_1,
    STATE$CONNECT_TALK_WRITE_2,

    STATE$CONNECT_FAILED,
    STATE$DISCONNECT_IN_PROGRESS,
    STATE$DISCONNECT_INITIATED,			
    STATE$DISCONNECT_RECEIVED,			
    STATE$CLOSE_IN_PROGRESS,
    STATE$CLOSED,
				    
				    
				    
    STATE$CONNECTED,
    STATE$END_OF_FILE_PENDING,			
    STATE$END_OF_FILE,
    STATE$FAILED				
} CHANNEL_STATE;

typedef enum CSI_MESSAGE_TYPE {
    MESSAGE$UNDEFINED = 0,			
    MESSAGE$CONNECT,				
    MESSAGE$CONNECT_ACKNOWLEDGE,		
    MESSAGE$DATA ,				
    MESSAGE$DISCONNECT_INITIATE,		
    MESSAGE$DISCONNECT_ACKNOWLEDGE,		
    MESSAGE$LARGE_MESSAGE,			
    MESSAGE$CONNECT_RESET,			
    MESSAGE$DUMMY				
} CSI_MESSAGE_TYPE;

typedef struct ast_block {
  struct ast_block *flink;  
  struct ast_block *blink;  
  struct channel_object	*channel_object;    	
  struct message_object	*message_object;	
  FUNCTION 		client_routine;		
  LONGWORD		client_parameter;  	
  LONGWORD		acm_extension1;		
  LONGWORD		acm_extension2;		
  OVM_PROCESS		csi_blocked_writer_process; 
  AST_BLOCK_STATE	ast_block_state;	
  CHANNEL_OP		op;		    	
} *AST_BLOCK;

typedef struct message_object {
  LONGWORD	status;				
  STRING	pStructure;			
  BOOLEAN	structure_created;		
  LONG		Structure_Size;			
  LONG	 	Data_Count;			
  LONG	 	Write_Count;			
  LONG		flags;				
  BOOLEAN	read_direct_flag;		
						
						
  BOOLEAN	write_direct_flag;		
						
						
  CSI_MESSAGE_TYPE message_type;		
  WORD		send_packet_sequence;		
  OVM_PROCESS	csi_ovm_process_id;		
} *MESSAGE_OBJECT;

typedef struct {
    LONGWORD		csi_message_length;	    
    LONGWORD	        csi_channel_id;		    
    LONGWORD		csi_process_id;		    
    OVM_PROCESS		csi_ovm_process_id;	    
    WORD		csi_message_type;	    
    WORD		csi_packet_sequence;	    
						    
} CSI_MESSAGE_TRAILER;









# 1 "/uhe0/schaefer/csl/csi/csi_unix_io.h" 1
  
  
  
# 1 "/usr/include/sys/types.h" 1








# 109 "/usr/include/sys/types.h"

# 4 "/uhe0/schaefer/csl/csi/csi_unix_io.h" 2

# 1 "/usr/include/errno.h" 1






# 1 "/usr/include/sys/errno.h" 1

















































	













	













	










































# 7 "/usr/include/errno.h" 2

extern int errno;
# 5 "/uhe0/schaefer/csl/csi/csi_unix_io.h" 2

# 1 "/usr/include/fcntl.h" 1





# 1 "/usr/include/sys/fcntlcom.h" 1





























































struct flock {
        short   l_type;		
        short   l_whence;	
        long    l_start;	
        long    l_len;          
        short   l_pid;		
        short   l_xxx;		
};


# 6 "/usr/include/fcntl.h" 2





# 6 "/uhe0/schaefer/csl/csi/csi_unix_io.h" 2

# 1 "/usr/include/sys/socket.h" 1

























































struct	linger {
	int	l_onoff;		
	int	l_linger;		
};









































struct sockaddr {
	u_short	sa_family;		
	char	sa_data[14];		
};





struct sockproto {
	u_short	sp_family;		
	u_short	sp_protocol;		
};






































struct msghdr {
	caddr_t	msg_name;		
	int	msg_namelen;		
	struct	iovec *msg_iov;		
	int	msg_iovlen;		
	caddr_t	msg_accrights;		
	int	msg_accrightslen;
};








# 7 "/uhe0/schaefer/csl/csi/csi_unix_io.h" 2


typedef struct {
    INTEGER	desc;
    INTEGER	errno;
    STRING	pStructureR; 
    LONG	Data_CountR; 
    LONG	TransferR;
    STRING	pStructureW; 
    LONG	Data_CountW; 
    LONG	TransferW;
    BYTE	SizeFieldW;
    BYTE	SizeFieldR;
    BOOLEAN	SimulateDataGram;
    BOOLEAN	ExactSizeRead;
} GENERIC_UNIX_IO;

typedef struct {
    GENERIC_UNIX_IO	io;
    INTEGER		socket;
    OVM_EVENT		connect;
    INTEGER		socket_addr_size;
    struct sockaddr	socket_addr;
} GENERIC_CHANNEL;

typedef struct {
    AST_BLOCK flink;
    AST_BLOCK blink;
} SELECT_LIST;

extern fd_set select_mask;
extern SELECT_LIST select_list;

void csi_init_unix_io(); 

INTEGER gen_connection();
INTEGER gen_write();
INTEGER gen_write_complete();
INTEGER gen_read();
INTEGER gen_read_complete();
INTEGER gen_connect();





# 184 "/uhe0/schaefer/csl/csi/csi.h" 2











# 1 "/uhe0/schaefer/csl/csi/csi_file.h" 1
  
  
  
typedef struct {
    GENERIC_UNIX_IO	io;
    INTEGER		seek;
    INTEGER		flags;
    INTEGER		mode;
} FILE_CHANNEL;

# 195 "/uhe0/schaefer/csl/csi/csi.h" 2

# 1 "/uhe0/schaefer/csl/csi/csi_unx.h" 1
  
  
  
# 1 "/usr/include/sys/un.h" 1











struct	sockaddr_un {
	short	sun_family;		
	char	sun_path[108];		
};




# 4 "/uhe0/schaefer/csl/csi/csi_unx.h" 2


typedef struct {
    GENERIC_UNIX_IO	io;
    INTEGER		socket;
    OVM_EVENT		connect;
    INTEGER		socket_addr_size;
    struct sockaddr_un	socket_addr;
} UNX_CHANNEL;
# 196 "/uhe0/schaefer/csl/csi/csi.h" 2

# 1 "/uhe0/schaefer/csl/csi/csi_internet.h" 1
  
  
  
# 1 "/usr/include/netinet/in.h" 1































































































struct in_addr {
	union {
		struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;
		struct { u_short s_w1,s_w2; } S_un_w;
		u_long S_addr;
	} S_un;






};












































struct sockaddr_in {
	short	sin_family;
	u_short	sin_port;
	struct	in_addr sin_addr;
	char	sin_zero[8];
};





























# 4 "/uhe0/schaefer/csl/csi/csi_internet.h" 2

# 1 "/usr/include/netdb.h" 1






















struct	hostent {
	char	*h_name;	
	char	**h_aliases;	
	int	h_addrtype;	
	int	h_length;	
	char	**h_addr_list;	

};





struct	netent {
	char		*n_name;	
	char		**n_aliases;	
	int		n_addrtype;	
	unsigned long	n_net;		
};

struct	servent {
	char	*s_name;	
	char	**s_aliases;	
	int	s_port;		
	char	*s_proto;	
};

struct	protoent {
	char	*p_name;	
	char	**p_aliases;	
	int	p_proto;	
};

struct rpcent {
	char	*r_name;	
	char	**r_aliases;	
	int	r_number;	
};

struct hostent	*gethostbyname(), *gethostbyaddr(), *gethostent();
struct netent	*getnetbyname(), *getnetbyaddr(), *getnetent();
struct servent	*getservbyname(), *getservbyport(), *getservent();
struct protoent	*getprotobyname(), *getprotobynumber(), *getprotoent();
struct rpcent	*getrpcbyname(), *getrpcbynumber(), *getrpcent();






extern  int h_errno;	






# 5 "/uhe0/schaefer/csl/csi/csi_internet.h" 2


typedef struct {
    GENERIC_UNIX_IO	io;
    INTEGER		socket;
    OVM_EVENT		connect;
    INTEGER		socket_addr_size;
    struct sockaddr_in	socket_addr;
    STRING		dest_host;
    INTEGER		dest_port;
    INTEGER		src_port;
    struct hostent	*hp;
} INTERNET_CHANNEL;
# 197 "/uhe0/schaefer/csl/csi/csi.h" 2


# 1 "/uhe0/schaefer/csl/csi/csi_queue.h" 1
  
  
  
  
  
  
  
  






















typedef struct {
    struct channel_object   *partner_channel;	
    OVM_LOCK		    io_completion_lock;	
} QUEUE_CHANNEL;




typedef struct DIRECTORY_ENTRY	{
    LONGWORD	num_chan;
    OVM_EVENT	queue_connect_complete;
    OVM_EVENT	queue_disconnect_complete;	
    struct channel_object *channel_object[2];
} DIRECTORY_ENTRY;


# 199 "/uhe0/schaefer/csl/csi/csi.h" 2























typedef enum ACCESS_METHOD {
    ACM$FILE = 0,
    ACM$UNX,
    ACM$INET,
    ACM$QUEUE
} ACCESS_METHOD;













typedef union {
    FILE_CHANNEL	file;
    UNX_CHANNEL		unx;
    INTERNET_CHANNEL	inet;
    GENERIC_CHANNEL	gen;		 
    QUEUE_CHANNEL	queue;
} CHANNEL_UNION;





























typedef struct access_methods {
    STRING	    type;
    ACCESS_METHOD   access_method;
    FUNCTION	    parse;
    FUNCTION	    create_channel;
    FUNCTION	    create_message;
    FUNCTION	    connection;
    FUNCTION	    close;
    FUNCTION	    write;
    FUNCTION	    write_complete;
    FUNCTION	    read;
    FUNCTION	    read_complete;
    FUNCTION	    seek;
    FUNCTION	    connect;
    FUNCTION	    reject;
    FUNCTION	    release;
} *ACCESS_METHODS;

typedef struct channel_object {
  LONGWORD		status;			
  STRING 		name;			
  STRING 		namestring;		
  LONG	  		flags;			
  LONG			timeout;		
  ACCESS_METHOD		access_method;		
  CHANNEL_STATE		state;			
  LONG			message_count;		
  LONG			start_trace;		
  LONG			stop_trace;		
  LONG			skip_trace;		
  LONG			length_trace;		
  struct channel_object *copy_channel;		
  struct channel_object *parent_channel;	
  OVM_EVENT		connect_complete;	
						
  OVM_EVENT		read_complete;		
  OVM_EVENT		write_complete;		
  OVM_PROCESS		connect_process;	
  OVM_QUEUE		clone_queue;		
  INTEGER		pending_read_queue_length;  
  INTEGER		pending_read_queue_limit;   
  AST_BLOCK		pending_read_queue_flink;   
  AST_BLOCK		pending_read_queue_blink;
  INTEGER		pending_write_queue_length; 
  INTEGER		pending_write_queue_limit;  
  AST_BLOCK		pending_write_queue_flink;  
  AST_BLOCK		pending_write_queue_blink;
  WORD			send_packet_sequence;	    
  WORD			receive_packet_sequence;    
  LONGWORD		channel_id;		    
						    
    
  BOOLEAN		skip_connect_flag;	    
  BOOLEAN		permanent_flag;		    
  BOOLEAN		permanent_enqueued;	    
  BOOLEAN		large_message_flag;	    
  BOOLEAN		listen_flag;		    
  BOOLEAN		trace;			    

  BOOLEAN		ascii_trace;		    
  BOOLEAN		brief_trace;		    
  BOOLEAN		read_auto_flag;		    
  BOOLEAN		message_trailer_flag;	    
  BOOLEAN		template;		    
  BOOLEAN		successful_connect_flag;    
  CHANNEL_UNION		acm;
} *CHANNEL_OBJECT;

















 extern struct access_methods csi_file_table;
 extern struct access_methods csi_unx_table;
 extern struct access_methods csi_inet_table;

 extern struct access_methods csi_queue_table;





























long	    v_create_channel(CHANNEL_OBJECT*, STRING, LONGWORD);
ACCESS_METHOD	    v_access_method(CHANNEL_OBJECT);
long	    v_create_message(MESSAGE_OBJECT*, STRING*, LONG, LONG, LONGWORD, CHANNEL_OBJECT);
long	    v_bind_message(MESSAGE_OBJECT*, STRING, LONG, LONG, LONGWORD);
long	    csi_connect(CHANNEL_OBJECT, INTEGER, CHANNEL_OBJECT*);
long	    v_aconnect(CHANNEL_OBJECT, FUNCTION, LONGWORD);
long	    v_wait_for_connect(CHANNEL_OBJECT, LONG);
long	    v_open(CHANNEL_OBJECT*, STRING, LONGWORD, LONG);
long	    v_aopen(CHANNEL_OBJECT*, STRING, LONGWORD, FUNCTION, LONGWORD);
long	    v_release(CHANNEL_OBJECT);
long	    v_close(CHANNEL_OBJECT);
long	    v_eof(CHANNEL_OBJECT);
long	    v_write(CHANNEL_OBJECT, MESSAGE_OBJECT, LONG);
long	    v_awrite(CHANNEL_OBJECT, MESSAGE_OBJECT, LONG, FUNCTION, LONGWORD);
long	    v_write_direct(CHANNEL_OBJECT, MESSAGE_OBJECT, LONG);
long	    v_awrite_direct(CHANNEL_OBJECT, MESSAGE_OBJECT, LONG, FUNCTION, LONGWORD);
long	    v_read(CHANNEL_OBJECT, MESSAGE_OBJECT);
long	    v_aread(CHANNEL_OBJECT, MESSAGE_OBJECT, FUNCTION, LONGWORD);
long	    v_read_direct(CHANNEL_OBJECT, MESSAGE_OBJECT*);
long	    v_aread_direct(CHANNEL_OBJECT, FUNCTION, LONGWORD);
long	    v_aread_direct_auto(CHANNEL_OBJECT, FUNCTION, LONGWORD);
long	    v_status();
long	    v_set_size(MESSAGE_OBJECT, LONG);
LONG		    v_size(MESSAGE_OBJECT);
long	    v_change_message(MESSAGE_OBJECT, STRING, LONG, LONG, LONGWORD);
STRING		    v_structure(MESSAGE_OBJECT);
long	    v_trace(CHANNEL_OBJECT, BOOLEAN);
long	    v_seek(CHANNEL_OBJECT, LONGWORD);
long	    v_dispose(MESSAGE_OBJECT);
void		    v_init_csi(void);
void		    v_exam_channel(CHANNEL_OBJECT);
void		    csi_io_completion_ast(AST_BLOCK);
INTEGER		    csi_parse_value(STRING *, INTEGER, STRING, STRING *, INTEGER *, STRING *);

# 465 "/uhe0/schaefer/csl/csi/csi.h"














# 489 "/uhe0/schaefer/csl/csi/csi.h"







# 515 "/uhe0/schaefer/csl/csi/csi.h"


# 1 "/uhe0/schaefer/csl/csi/csi_msg.msg_h" 1


















# 517 "/uhe0/schaefer/csl/csi/csi.h" 2





 extern BOOLEAN csi_debug;
 extern UTL_HEAP ast_block_cache;
 extern BOOLEAN csi_enable_object_numbers;







# 34 "/uhe0/schaefer/csl/ovm/ovm_message.h" 2











# 1 "/uhe0/schaefer/csl/ovm/ovm_msg_globals.h" 1
  
  
  
  
  
  
  
  
  
  



# 29 "/uhe0/schaefer/csl/ovm/ovm_msg_globals.h"


# 1 "/uhe0/schaefer/csl/ovm/ovm_msg_err.msg_h" 1














# 31 "/uhe0/schaefer/csl/ovm/ovm_msg_globals.h" 2





# 45 "/uhe0/schaefer/csl/ovm/ovm_message.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_msg_mfc.h" 1
  
  
  
  
  
  











typedef struct {
    INTEGER type;		
    FUNCTION handler;		
    } OVM_MSG_HANDLER_STRUCT;



# 46 "/uhe0/schaefer/csl/ovm/ovm_message.h" 2

# 1 "/uhe0/schaefer/csl/ovm/ovm_image_ids.h" 1
  
  
  
  
  











enum OVM_IMAGE_ID {
    TAO_IMAGE = 1,
    HI_IMAGE,
    HOST_IMAGE,
    ACQ_IMAGE,
    GEN_IMAGE,       
    LQMS_IMAGE,
    DP2_IMAGE,
    DP1_IMAGE,
    GP_IMAGE,
    FM_IMAGE,       
    FOOA_IMAGE,     
    RA_IMAGE,
    PRS2_IMAGE,    
    PRS1_IMAGE,    
    SE_IMAGE,       
    FOOB_IMAGE,
    FOOC_IMAGE,
    FOOD_IMAGE,
    FOOE_IMAGE,
    FOOF_IMAGE,      
    BARA_IMAGE,
    BARB_IMAGE,
    BARC_IMAGE,
    BARD_IMAGE,
    BARE_IMAGE,      
    BARF_IMAGE,
    ZOPA_IMAGE,
    ZOPB_IMAGE,
    ZOPC_IMAGE,
    ZOPD_IMAGE,      
    ZOPE_IMAGE,
};


# 47 "/uhe0/schaefer/csl/ovm/ovm_message.h" 2


typedef char *MSG_CSI_HOST;
typedef char *BYTE_STREAM;










enum ASYN_FLAG {
    SYN = 0,
    ASYN = 1
};



































typedef INTEGER OVM_IMAGE_ID;






enum PARSE_STATE {
    S0 = 0, 
    S1,	    
    S2,	    
    S3,	    
    S4,	    
    S5	    
};



enum INPUT_INDEX {
    OTHER_CHAR = 0,
    PLUS,
    SLASH,
    END_STRING
};


enum {
    INPUT_SIZE = 4,
    STATE_SIZE= 6
};


enum OUTPUT_FUCTION {
    CONTINUE = 0,
    RCV_ERROR,
    RCV_PROCESS,
    RCV_IMAGE,
    RCV_LAST_PROCESS
};







enum OVM_MSG_SERVER {
	NOT_A_SERVER = -1,
	AGENT_ID = 1,	           
	APX_MSG_SERVER = 2,	   
	USER_SERVER = 10,	   
	SERVER_SIZE = 200	   
};






enum {
	MSG_REQ_REPLY = 001, 	    
	MSG_SYS_ERROR,
	MSG_CONCATENATION,

	CHANGE_GLB_PROC = 051,
	REQUEST_GLB_PROC,
	UNREGISTER_GLB_PROC,
	DEFINE_GLB_PROC,
	CHECK_APX_DIST,
	CREATE_REM_STM,
	DELETE_REM_STM
};








enum {
    MSG_CSI_WRITE_FAIL =    -1,		
    MSG_WRONG_IMAGE =       -2,		
    MSG_BAD_PROC =          -3		
};




enum {
    GOOD_REPLY	= 0,
    GLOBAL_NOT_FOUND = -1,
    GLOBAL_NOT_KEPT = -2,
    UNKNOWN_REQUEST = -3
};




enum {
    	    PROCESS_BEING_REQUESTED =	     0,
	    PROCESS_NOT_EXISTENT =	    -1,
	    PROCESS_NOT_KEPT =              -2
};





typedef struct REG_PROC {
    OVM_PROCESS		process;
    enum OVM_MSG_SERVER server;
    OVM_IMAGE_ID 	image;
    char		received;   
} REG_PROC_STRUCT, *REG_PROC_PTR;



typedef struct PROC_DEF { 
    REG_PROC_STRUCT	proc_rec;
} PROC_DEF_STRUCT, *PROC_DEF_PTR;



typedef struct REQ_PROC { 
    OVM_IMAGE_ID 	image_id;
} REQ_PROC_STRUCT, *REQ_PROC_PTR;



typedef struct REPLY_PROC {
    int			reply_status;
    REG_PROC_STRUCT	proc_rec;
} REPLY_PROC_STRUCT, *REPLY_PROC_PTR;



typedef struct MSG_PROC {
    REG_PROC_STRUCT	proc_rec;
    OVM_EVENT		wait_for_def;
    OVM_QUEUE		dist_queue;
} MSG_PROC_STRUCT, *MSG_PROC_PTR;


 
typedef struct  G_PROC {
    REG_PROC_STRUCT	proc_rec;
    BOOLEAN		image_list[32];
} GLB_PROC_STRUCT, *GLB_PROC_PTR;



typedef struct MSG_SOCKET {
    OVM_IMAGE_ID	image_id;		
    STRING		image_name;		
    MSG_CSI_HOST	host;			
    CHANNEL_OBJECT	chan;			
    OVM_EVENT		image_wait_event;	
} MSG_SOCKET_STRUCT , *MSG_SOCKET_PTR;

typedef struct PROC_QUEUE {
    struct PROC_QUEUE   *proc_queue_flink, *proc_queue_blink;		    
    REG_PROC_STRUCT     proc_desc;					    
} PROC_QUEUE_STRUCT, *PROC_QUEUE_PTR;

typedef struct IMG_QUEUE {
    struct IMG_QUEUE	*image_queue_flink, *image_queue_blink;
    OVM_IMAGE_ID	image_id;		
    PROC_QUEUE_PTR	process_queue;		
    int			process_count;		
} IMAGE_QUEUE_STRUCT, *IMG_QUEUE_PTR;


enum MSG_DIST_STATUS { 
    MSG_DIST_FAILURE = -1, 
    MSG_DIST_TYPE_K_DIST = (100 + 13),
    MSG_DIST_CREATED,
    MSG_DIST_WAITING,
    MSG_DIST_DISPOSED
    };

typedef struct MSG_DIST {
    enum MSG_DIST_STATUS valid;			
    char		*mail_address;		
    char		*dist_name;		
    IMG_QUEUE_PTR	image_queue;		
    int			process_count;		
    OVM_EVENT		wait_process;		
    OVM_EVENT		wait_dist;	        
    OVM_EVENT		wait_image;		
    STRING		wait_image_name;	
    int			undefined_proc;         
    OVM_QUEUE		all_process;		
} MSG_DIST_STRUCT, *MSG_DIST_PTR;

enum MSG_TEXT_VALID { MESSAGE_TEXT_TYPE_K_MESSAGE = (100 + 14) };

typedef struct MSG_HEADER {
    REG_PROC_STRUCT	src_addr;		
    int			type;			
    int			sub_type;               
    enum MSG_TEXT_VALID valid;			
    unsigned  int	flag;			
    int			length;			
    int			max_length;             
    int			seq_no;			
    int			sub_msg_count;          
    struct  MSG_TEXT	*share_concat_msg;	
} MSG_HEADER_STRUCT, *MSG_HEADER_PTR;

typedef MSG_HEADER_PTR *MSG_PTR_ARRAY;

typedef struct GLOBAL_MSG_HEADER {
    int			pattern;		
    OVM_IMAGE_ID	source_image;		
    int			proc_num;		
    int			global_length;		
} GLOBAL_MSG_HEADER_STRUCT, *GLOBAL_MSG_HEADER_PTR; 

typedef  struct NAME_ADDR {
    MSG_DIST_PTR	dist_obj_ptr;
    enum ASYN_FLAG	asyn_flag;
    int			time_out;
} NAME_ADDR_STRUCT, *NAME_ADDR_PTR;

typedef struct OVM_CONNECTION_MSG {
  OVM_IMAGE_ID		image_id;
  NAME_STRING		image_name;
} OVM_CONNECTION_MSG_STRUCT, *OVM_CONNECTION_MSG_PTR;






BYTE_POINTER    ovm_alloc_sub_message(MSG_HEADER_PTR,INTEGER);
long        ovm_concat_message(BYTE*, INTEGER, MSG_HEADER_PTR, INTEGER, INTEGER);
long        ovm_concat_msg_struct(STRING, BYTE*, MSG_HEADER_PTR, INTEGER, INTEGER);
MSG_HEADER_PTR	ovm_alloc_message(INTEGER, INTEGER);
MSG_HEADER_PTR	ovm_duplicate_message(MSG_HEADER_PTR, INTEGER);
MSG_DIST_PTR	ovm_create_dist(STRING, STRING, INTEGER, INTEGER);
long	ovm_dispose_dist(MSG_DIST_PTR);
long        ovm_dispose_array(MSG_PTR_ARRAY);
long        ovm_init_message(INTEGER, STRING, INTEGER);
long	ovm_reply_message(MSG_HEADER_PTR, MSG_HEADER_PTR, INTEGER);
long	ovm_register_process(STRING, OVM_PROCESS, INTEGER);
long        ovm_unregister_process(STRING);            
long	ovm_change_process(STRING, OVM_PROCESS);
long        ovm_create_connection(OVM_IMAGE_ID, char*);
long        ovm_delete_connection(OVM_IMAGE_ID);
MSG_DIST_PTR	ovm_find_dist(STRING);
OVM_PROCESS	ovm_find_proc(STRING);
INTEGER		ovm_rcv_message(MSG_PTR_ARRAY*, INTEGER, MSG_DIST_PTR, INTEGER, INTEGER, INTEGER, INTEGER);
INTEGER		ovm_send_message(MSG_HEADER_PTR, MSG_DIST_PTR, INTEGER, INTEGER, INTEGER, LONGWORD);
INTEGER         ovm_send_msg_struct(STRING, BYTE_POINTER, MSG_DIST_PTR, INTEGER, INTEGER, LONGWORD);
void		ovm_start_connection_listener(STRING name,INTEGER object_number);
STRING		ovm_get_domain_prefix(void);
STRING		ovm_get_domain_name(void);
OVM_IMAGE_ID 	host_to_image(STRING); 
OVM_IMAGE_ID	wait_for_image(STRING);
BOOLEAN		ovm_wait_dist(MSG_DIST_PTR, INTEGER);
long        ovm_send_mfc(MSG_HEADER_PTR, INTEGER, INTEGER, INTEGER, INTEGER);
long        ovm_send_mfc_struct(STRING, BYTE*, INTEGER, INTEGER, INTEGER);
long        ovm_pack_mfc(BYTE*, INTEGER, INTEGER, INTEGER, INTEGER);
long        ovm_pack_mfc_struct(STRING, BYTE*, INTEGER, INTEGER, INTEGER);
INTEGER         ovm_exch_mfc(MSG_HEADER_PTR, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER);
INTEGER         ovm_exch_mfc_struct(STRING, BYTE*, INTEGER, INTEGER, INTEGER, INTEGER);
void            ovm_flush_mfc_buffer(INTEGER);
void            ovm_add_mfc_handler(OVM_MSG_HANDLER_STRUCT*);          

# 407 "/uhe0/schaefer/csl/ovm/ovm_message.h"





 extern 	MSG_SOCKET_PTR  active_socket[]; 
 extern 	INTEGER         Traffic_Out[]; 
 extern 	INTEGER         Traffic_In[]; 
 extern	STRING	    image_name_upper[];
 extern    INTEGER	    local_image_ID; 
 extern    MSG_DIST_PTR  proc_agent_array[];
 extern 	STRING	    Rmsg_dist_name[];  
 extern 	STRING	    Rmsg_svr_addr[]; 
 extern	STRING	    Rmsg_svr_name[];  
 extern	STRING	    stm_aqueduct_dist_name[];  
 extern	STRING	    stm_aqueduct_addr[];  
 extern	STRING	    stm_aqueduct_name[];  
 extern	STRING	    apx_msg_dist_name[];  
 extern	STRING	    apx_msg_svr_addr[];  
 extern	STRING	    apx_msg_svr_name[];  
 extern    FUNCTION    rem_stm_function[];



























# 111 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/csutil/csutil.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  


















# 182 "/uhe0/schaefer/csl/csutil/csutil.h"

# 112 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2




# 1 "/uhe0/schaefer/csl/tstrobe/valuetype.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








typedef enum {T_CLASS_PRIMITIVE=1, T_CLASS_LIST, T_CLASS_POINTER,
	      T_CLASS_AGGREGATE, T_CLASS_FUNCTION} T_VT_CLASS;






typedef struct t_vt_struct {
    T_VT_CLASS		class;		
    STRING		name;		
    COUNT		size;		
}T_VALUE_TYPE_STRUCT, *T_VALUE_TYPE;












typedef struct t_primitive_vt_struct {
    T_VT_CLASS		class;		
    STRING		name;		
    COUNT		size;		
    COUNT		element_size;	
    BOOLEAN		dynamic;	
    void    (*create)();    
    INTEGER   (*add_ref)();   
    void	    (*free)();	    
    void	    (*input)();	    
    void    (*output)();    
    void    (*unpack)();    
    void	    (*pack)();	    
    BOOLEAN	    (*scan)();	    
    void 	    (*print)();	    
}T_VT_PRIMITIVE_STRUCT, *T_VT_PRIMITIVE;

typedef struct t_vt_list {
    T_VT_CLASS		class;		
    STRING		name;		
    COUNT		size;		
    COUNT		increment;	
    T_VALUE_TYPE	component;	
}T_VT_LIST_STRUCT, *T_VT_LIST;
    
typedef struct t_vt_pointer {
    T_VT_CLASS		class;		
    STRING		name;		 
    COUNT		size;		
    T_VALUE_TYPE	component;	
}T_VT_POINTER_STRUCT, *T_VT_POINTER;

typedef struct t_vt_aggregate {
    T_VT_CLASS		class;		
    STRING		name;		
    COUNT		size;		
    T_VALUE_TYPE	*components;	
}T_VT_AGGREGATE_STRUCT, *T_VT_AGGREGATE;

typedef struct t_vt_function {
    T_VT_CLASS		class;		
    STRING		name;		 
    COUNT		size;		
    T_VALUE_TYPE	component;	
}T_VT_FUNCTION_STRUCT, *T_VT_FUNCTION;





 extern T_VT_PRIMITIVE	    t_vtVOID; 
 extern T_VT_PRIMITIVE_STRUCT  t_vtsVOID; 
 extern T_VT_FUNCTION	    t_vtVOID_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsVOID_F;
 extern T_VT_PRIMITIVE	    t_vtATOM;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsATOM;
 extern T_VT_LIST		    t_vtATOM_L;
 extern T_VT_LIST_STRUCT	    t_vtsATOM_L;
 extern T_VT_FUNCTION	    t_vtATOM_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsATOM_F;
 extern T_VT_PRIMITIVE	    t_vtBOOLEAN;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsBOOLEAN;
 extern T_VT_LIST		    t_vtBOOLEAN_L;
 extern T_VT_LIST_STRUCT	    t_vtsBOOLEAN_L;
 extern T_VT_FUNCTION	    t_vtBOOLEAN_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsBOOLEAN_F;
 extern T_VT_FUNCTION	    t_vtBOOLEAN_F_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsBOOLEAN_F_F;
 extern T_VT_PRIMITIVE	    t_vtBYTE;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsBYTE;
 extern T_VT_FUNCTION	    t_vtBYTE_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsBYTE_F;
 extern T_VT_LIST		    t_vtBYTE_L;
 extern T_VT_LIST_STRUCT	    t_vtsBYTE_L;
 extern T_VT_PRIMITIVE	    t_vtFUNCTION_ID; 
 extern T_VT_PRIMITIVE_STRUCT  t_vtsFUNCTION_ID; 
 extern T_VT_LIST		    t_vtFUNCTION_ID_L; 
 extern T_VT_LIST_STRUCT	    t_vtsFUNCTION_ID_L; 
 extern T_VT_FUNCTION	    t_vtFUNCTION_ID_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsFUNCTION_ID_F;
 extern T_VT_PRIMITIVE	    t_vtINTEGER;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsINTEGER;
 extern T_VT_LIST		    t_vtINTEGER_L;
 extern T_VT_LIST_STRUCT	    t_vtsINTEGER_L;
 extern T_VT_FUNCTION	    t_vtINTEGER_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsINTEGER_F;
 extern T_VT_PRIMITIVE	    t_vtFLOAT;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsFLOAT;
 extern T_VT_LIST		    t_vtFLOAT_L;
 extern T_VT_LIST_STRUCT	    t_vtsFLOAT_L;
 extern T_VT_FUNCTION	    t_vtFLOAT_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsFLOAT_F;
 extern T_VT_PRIMITIVE	    t_vtKB;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsKB;
 extern T_VT_LIST	    	    t_vtKB_L;
 extern T_VT_LIST_STRUCT	    t_vtsKB_L;
 extern T_VT_FUNCTION	    t_vtKB_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsKB_F;
 extern T_VT_PRIMITIVE	    t_vtOBJECT;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsOBJECT;
 extern T_VT_LIST		    t_vtOBJECT_L;
 extern T_VT_LIST_STRUCT	    t_vtsOBJECT_L;
 extern T_VT_FUNCTION	    t_vtOBJECT_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsOBJECT_F;
 extern T_VT_FUNCTION	    t_vtOBJECT_F_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsOBJECT_F_F;
 extern T_VT_PRIMITIVE	    t_vtSYS_OBJECTPTR;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSYS_OBJECTPTR;
 extern T_VT_PRIMITIVE	    t_vtSYS_SLOT;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSYS_SLOT;
 extern T_VT_LIST		    t_vtSYS_SLOT_L;
 extern T_VT_LIST_STRUCT	    t_vtsSYS_SLOT_L;
 extern T_VT_PRIMITIVE	    t_vtSYS_FACET;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSYS_FACET;
 extern T_VT_LIST		    t_vtSYS_FACET_L;
 extern T_VT_LIST_STRUCT	    t_vtsSYS_FACET_L;
 extern T_VT_PRIMITIVE	    t_vtSYS_KBGROUP_TABLE;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSYS_KBGROUP_TABLE;
 extern T_VT_PRIMITIVE	    t_vtLONG;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsLONG;
 extern T_VT_LIST		    t_vtLONG_L;
 extern T_VT_LIST_STRUCT	    t_vtsLONG_L;
 extern T_VT_FUNCTION	    t_vtLONG_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsLONG_F;
 extern T_VT_PRIMITIVE	    t_vtSHORT;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSHORT;
 extern T_VT_FUNCTION	    t_vtSHORT_F;
 extern T_VT_LIST		    t_vtSHORT_L;
 extern T_VT_LIST_STRUCT	    t_vtsSHORT_L;
 extern T_VT_FUNCTION_STRUCT   t_vtsSHORT_F;
 extern T_VT_PRIMITIVE	    t_vtSTRING;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsSTRING;
 extern T_VT_LIST		    t_vtSTRING_L;
 extern T_VT_LIST_STRUCT	    t_vtsSTRING_L;
 extern T_VT_FUNCTION	    t_vtSTRING_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsSTRING_F;
 extern T_VT_PRIMITIVE	    t_vtVALUE_TYPE;
 extern T_VT_PRIMITIVE_STRUCT  t_vtsVALUE_TYPE;
 extern T_VT_LIST		    t_vtVALUE_TYPE_L;
 extern T_VT_LIST_STRUCT	    t_vtsVALUE_TYPE_L;
 extern T_VT_FUNCTION	    t_vtVALUE_TYPE_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsVALUE_TYPE_F;
 extern T_VT_FUNCTION	    t_vtVALUE_TYPE_F_F;
 extern T_VT_FUNCTION_STRUCT   t_vtsVALUE_TYPE_F_F;
 extern T_VT_AGGREGATE	    t_vtEVENT_FUNCTION_ID_A;
 extern T_VT_AGGREGATE_STRUCT  t_vtsEVENT_FUNCTION_ID_A;
 extern T_VT_LIST		    t_vtEVENT_FUNCTION_ID_A_L;
 extern T_VT_LIST_STRUCT	    t_vtsEVENT_FUNCTION_ID_A_L;
 extern T_VT_AGGREGATE	    t_vtEVENT_F_A;
 extern T_VT_AGGREGATE_STRUCT  t_vtsEVENT_F_A;


















































































































# 116 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/datum.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  






















































typedef	STRING T_ATOM;






typedef unsigned long	T_DATUM;










typedef T_DATUM   (*T_DATUM_F)();


typedef long    (*T_ADD_REF_FUNCTION)(void *, COUNT);
typedef long    (*T_FREE_FUNCTION)(void *);






typedef enum t_value_state { t_vsNOVALUE, t_vsVALUE } T_VALUE_STATE;

typedef struct {
       T_DATUM       value;
       T_VALUE_TYPE  value_type;    
       T_VALUE_STATE value_state;   
} T_VALUE_STRUCT, *T_VALUE;

typedef struct {
    T_ATOM		name;
    T_VALUE_TYPE	return_type;
    T_DATUM_F	location;
} 
T_FUNCTION_ID_STRUCT, *T_FUNCTION_ID;


# 117 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/error.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








 extern INTEGER t_ErrorNumber;
 extern T_ATOM t_ErrorHost;
 extern T_ATOM t_ErrorKnowledgeBase;
 extern T_ATOM t_ErrorObject;
 extern T_ATOM t_ErrorSlot;
 extern T_ATOM t_ErrorFacet;




# 96 "/uhe0/schaefer/csl/tstrobe/error.h"


# 1 "/uhe0/schaefer/csl/tstrobe/errormsg.msg_h" 1





















































# 98 "/uhe0/schaefer/csl/tstrobe/error.h" 2







# 118 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/list.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  














# 57 "/uhe0/schaefer/csl/tstrobe/list.h"




















































                                                          































# 152 "/uhe0/schaefer/csl/tstrobe/list.h"































































                                                          






      
typedef BYTE T_LIST_INCREMENT;
typedef SHORT T_LIST_LENGTH;





typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  BYTE    *avail;	  BYTE    elements[1];  } T_BYTE_L_STRUCT, *T_BYTE_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_BYTE_L    *avail;	  T_BYTE_L    elements[1];  } T_BYTE_L_L_STRUCT, *T_BYTE_L_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  INTEGER    *avail;	  INTEGER    elements[1];  } T_INTEGER_L_STRUCT, *T_INTEGER_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_INTEGER_L    *avail;	  T_INTEGER_L    elements[1];  } T_INTEGER_L_L_STRUCT, *T_INTEGER_L_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_ATOM    *avail;	  T_ATOM    elements[1];  } T_ATOM_L_STRUCT, *T_ATOM_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_ATOM_L    *avail;	  T_ATOM_L    elements[1];  } T_ATOM_L_L_STRUCT, *T_ATOM_L_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  } T_DATUM_L_STRUCT, *T_DATUM_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM_L    *avail;	  T_DATUM_L    elements[1];  } T_DATUM_L_L_STRUCT, *T_DATUM_L_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_FUNCTION_ID    *avail;	  T_FUNCTION_ID    elements[1];  } T_FUNC_ID_LIST_STRUCT, *T_FUNCTION_ID_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  FUNCTION    *avail;	  FUNCTION    elements[1];  } T_FUNCTION_LIST_STRUCT, *T_FUNCTION_LIST;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM_F    *avail;	  T_DATUM_F    elements[1];  } T_DATUM_F_L_STRT, *T_DATUM_F_L;
typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_VALUE_TYPE    *avail;	  T_VALUE_TYPE    elements[1];  } T_VALUE_TYPE_L_STRUCT, *T_VALUE_TYPE_L;























                         
# 119 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/facet.h" 1
  
  
  
  
  
  
  










typedef struct {
    T_ATOM		name;
    T_VALUE_STRUCT	contents;
} 
T_FACET_STRUCT, *T_FACET;

typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_FACET_STRUCT    *avail;	  T_FACET_STRUCT    elements[1];  } T_FACET_L_STRUCT, *T_FACET_L;

typedef struct {
    T_FUNCTION_ID   function_id;
    T_VALUE_TYPE    return_type;
} T_EVENT_FUNCTION_ID_STRUCT, *T_EVENT_FUNCTION_ID;

typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_EVENT_FUNCTION_ID    *avail;	  T_EVENT_FUNCTION_ID    elements[1];  } T_EVENT_FUNCTION_ID_L_STRUCT,
    *T_EVENT_FUNCTION_ID_L;






typedef struct {
    T_EVENT_FUNCTION_ID_L	before;
    T_EVENT_FUNCTION_ID_L	after;
} T_EVENT_FUNCTION_STRUCT, *T_EVENT_FUNCTION;



# 120 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/slot.h" 1
  
  
  
  
  
  
  


























typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  struct t_slot *    *avail;	  struct t_slot *    elements[1];  } T_SLOT_L_STRUCT, *T_SLOT_L;

typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  struct t_handle *    *avail;	  struct t_handle *    elements[1];  } T_OBJECT_L_STRUCT, *T_OBJECT_L;




typedef struct t_slot {
    struct t_handle	*handle;
    T_ATOM		name;
    struct t_handle	*datatype;
    struct t_handle	*links_up;
    T_OBJECT_L	links_down;
    T_VALUE_STRUCT	contents;
    T_FACET_L	facets;
} 
T_SLOT_STRUCT, *T_SLOT;


# 121 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/group.h" 1
  
  
  
  
  
  
  
  


































typedef T_ATOM   T_GROUP;
typedef T_ATOM_L   T_GROUP_L;


# 122 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/object.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








typedef char T_LOCK_STATE;































































typedef unsigned char	T_OBJECT_TYPE;










typedef struct t_handle {
    struct {
	unsigned	ref_bit	    : 1;	
	unsigned	alloc	    : 1;	
	unsigned	local	    : 1;	
	unsigned  store_w_new_version  : 1; 
	unsigned  store_handle_only_w_new_version : 1; 
	unsigned	dummy	    : 1;
	unsigned	in_memory   : 1;	
	unsigned	locked	    : 1;	
    } flags;
    struct t_handle	    *link; 
    T_ATOM name;    
    union {
	struct	t_object    *ptr;	
	SHORT	            rfa[3];	
    } location;
} T_OBJECT_STRUCT, *T_OBJECT;

typedef struct t_object {
    T_ATOM		name;
    T_OBJECT_TYPE	type; 
    T_SLOT_L		slots;
    T_OBJECT_L	generalizations;
    T_OBJECT_L	specializations;
    T_GROUP_L	groups;
    SHORT		rfa[3];		    
    struct {
	unsigned	ref_bit	    : 1;
	unsigned	dummy	    : 6;
	unsigned	modified    : 1;    


	} flags;
} 
T_OBJECTPTR_STRUCT, *T_OBJECTPTR;

typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_OBJECTPTR    *avail;	  T_OBJECTPTR    elements[1];  } T_OBJECTPTR_L_STRUCT, *T_OBJECTPTR_L;





 extern T_LIST_LENGTH t_InitialObjectSize;
 extern COUNT t_DefaultObjectsInMemory;




# 123 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/remote.h" 1
  
  
  
  
  
  
  
  
  
  












typedef INTEGER		T_MSG_ID;

typedef enum {T_PROTO_OVM = 1, T_PROTO_PUP, T_PROTO_RPC} T_PROTOCOL;

typedef enum {T_TYPE_REQUEST = 1, T_TYPE_RESPONSE} T_OVM_MSG_TYPE;

typedef enum {T_TYPE_RMESSAGE = 1, T_TYPE_NOTICE, 
	      T_TYPE_GETFACETP, T_TYPE_PUTFACET} T_MSG_TYPE;

typedef struct {
    T_PROTOCOL		protocol;
    STRING		host_name;
    MSG_DIST_PTR	dist;
    MSG_HEADER_PTR		concat_msg;
    INTEGER		msg_size;
    BOOLEAN		remote_sync;
    BOOLEAN		sync_state;
    BOOLEAN		async_msg;
}T_MSG_INFO_STRUCT, *T_MSG_INFO;

 extern INTEGER t_InRMessageCount;
 extern INTEGER t_OutRMessageCount;



# 124 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/valuetypebinder.h" 1
  
  
  






typedef struct T_ADT {
    INTEGER Size;
    POINTER (*Table)[];
}
T_ADT_STRUCT, *T_ADT;


# 125 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/kb.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  






# 1 "/uhe0/schaefer/csl/csutil/hash.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
# 127 "/uhe0/schaefer/csl/csutil/hash.h"

# 24 "/uhe0/schaefer/csl/tstrobe/kb.h" 2







typedef HASHITEM_STRUCT T_KB_GROUP_ELEMENT_STRUCT;
typedef HASHITEM	T_KB_GROUP_ELEMENT;

typedef HASHTABLE_STRUCT    T_KB_GROUP_L_STRUCT;
typedef HASHTABLE	    T_KB_GROUP_L;

typedef INTEGER T_KB_VERSION;





typedef unsigned char T_PACK_ACTION;









typedef struct {
    T_OBJECT    handle;
    SHORT	rfa[3];
    BOOLEAN	initial;
    } T_ARG_DESC_STRUCT, *T_ARG_DESCRIPTOR;

typedef struct {
    BYTE_POINTER	beginning_of_buffer_addr;
    BYTE_POINTER	end_of_buffer_addr;
    BYTE_POINTER	current_buffer_addr;
    BYTE_POINTER	channel_desc;
    FUNCTION		overflow_routine;
    FUNCTION		underflow_routine;
    HASHTABLE		atom_index_table;
    BYTE_POINTER	arguments;
    T_PACK_ACTION	verb;   
    BYTE_POINTER	scratch_buffer;
    BYTE_POINTER	end_of_scratch_buffer;
    } T_PACK_DESC_STRUCT, *T_PACK_DESCRIPTOR;





































typedef struct t_kb {
    T_ATOM	    name;
    HASHTABLE	    objects; 
    T_OBJECT	    object_handle_table;
    T_OBJECT	    avail_handle;
    T_OBJECT	    next_victim;
    COUNT	    objects_in_memory;
    COUNT	    maximum_objects_in_memory;
    T_KB_GROUP_L    groups;
    FUNCTION	    user_error_handler;
    STRING	    object_filename;    
    T_PACK_DESCRIPTOR 
		    pack_descriptor;	
    SHORT	    *context_rfa,	
		    *previous_context;  
    SHORT	    record_count;	
    STRING	    location;	    
    T_MSG_INFO	    msg_info;		
    T_KB_VERSION     version;   
    struct {
	T_OBJECT	root;
	T_OBJECT	datatype;
	T_OBJECT	expr;
	T_OBJECT	object;
	T_OBJECT	kb_parameters;
    } system_handles;
    struct {
	FLAGS	object_creation_procedures : 1;
	FLAGS	object_deletion_procedures : 1;
	FLAGS	slot_creation_procedures : 1;
	FLAGS	slot_deletion_procedures : 1;
	FLAGS	access_procedures : 1;
	FLAGS	alteration_procedures : 1;
	FLAGS	breadth_first_search : 1;
	FLAGS	circular_inheritance_check : 1;
	FLAGS	error_exception : 1;
	FLAGS	pseudo_exception : 1;
	FLAGS	suppress_object_warnings: 1;
	FLAGS	ever_stored : 1;
    } flags;
} 
T_KB_STRUCT, *T_KB;



 
 extern COUNT t_MaximumGroupsPerKB;
 extern COUNT t_MaximumObjectsPerKB;
 extern HASHTABLE t_SysKnowledgeBaseTable;



# 126 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/version.h" 1
  
  
  













typedef struct HandleEntry
{
	T_OBJECT handle;
	SHORT    rfa[3];
	struct   HandleEntry *next;
} *T_HANDLE_ENTRY;

 extern T_OBJECT_STRUCT t_ObsContextHandle;
 extern T_PACK_DESCRIPTOR t_ObsPackDescriptor;




# 127 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/globals.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  








# 1 "/usr/include/stdio.h" 1


# 73 "/usr/include/stdio.h"

# 81 "/uhe0/schaefer/csl/tstrobe/globals.h" 2






extern T_ATOM t_BindAtom(STRING);
extern FLOAT t_DatumToFloat(T_DATUM);

extern T_DATUM t_FloatToDatum(DOUBLE);



extern T_FUNCTION_ID t_FunctionLookUp(T_ATOM);
extern T_ATOM t_NthAtom(T_ATOM_L, T_LIST_LENGTH);
extern T_ATOM t_StaticBindAtom(STRING);
extern T_FUNCTION_ID t_StaticBindFunction(STRING, T_DATUM_F, T_VALUE_TYPE);




extern T_FUNCTION_ID t_AddEventDrivenProcedure(T_OBJECT, T_ATOM, T_ATOM, T_ATOM,
					       T_FUNCTION_ID, T_VALUE_TYPE);
extern void t_ClearFacet(T_OBJECT, T_ATOM, T_ATOM);
extern void t_CreateFacet(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE, T_DATUM);
extern BOOLEAN t_DatatypeP(T_OBJECT, T_ATOM, T_OBJECT);
extern BOOLEAN t_DeleteFacet(T_OBJECT, T_ATOM, T_ATOM, BOOLEAN);
extern T_ATOM t_FacetP(T_OBJECT, T_ATOM, T_ATOM, BOOLEAN);
extern T_DATUM t_GetActualFacet(T_OBJECT, T_ATOM, T_ATOM);
extern BOOLEAN t_GetActualFacetP(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE *,
                                 T_DATUM *, BOOLEAN *);
extern T_DATUM t_GetActualValue(T_OBJECT, T_ATOM);
extern BOOLEAN t_GetActualValueP(T_OBJECT, T_ATOM, T_VALUE_TYPE *, T_DATUM *,
			         BOOLEAN *);
extern T_OBJECT t_GetDatatype(T_OBJECT, T_ATOM);
extern T_DATUM t_GetFacet(T_OBJECT, T_ATOM, T_ATOM);
extern BOOLEAN t_GetFacetP(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE *, T_DATUM *, 
			   BOOLEAN *);
extern T_ATOM_L t_ListFacets(T_OBJECT, T_ATOM, BOOLEAN);
extern T_ATOM_L t_ListFacetsStar(T_OBJECT, T_ATOM, BOOLEAN);
extern void t_PutDatatype(T_OBJECT, T_ATOM, T_OBJECT);
extern void t_PutFacet(T_OBJECT, T_ATOM, T_ATOM, T_DATUM);
extern void t_PutFacetAndType(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE, T_DATUM);
extern T_FUNCTION_ID t_RemoveEventDrivenProcedure(T_OBJECT, T_ATOM, T_ATOM, T_ATOM, T_FUNCTION_ID);




extern void t_AddToGroup(T_OBJECT, T_GROUP);
extern T_GROUP_L t_AllGroups(T_KB);
extern T_GROUP t_CreateGroup(T_ATOM, T_OBJECT_L);
extern void t_DeleteGroup(T_GROUP);
extern T_GROUP_L t_GroupMember(T_OBJECT, T_GROUP_L);
extern BOOLEAN t_GroupMemberP(T_OBJECT, T_GROUP);
extern BOOLEAN t_GroupP(T_GROUP);
extern T_OBJECT_L t_ListGroup(T_GROUP);
extern BOOLEAN t_RemoveFromGroup(T_OBJECT, T_GROUP);
extern BOOLEAN t_RemoveFromGroups(T_OBJECT, T_GROUP_L);




extern void t_AddGeneralizations(T_OBJECT, T_OBJECT_L);
extern BOOLEAN t_AncestryP(T_OBJECT, T_GROUP_L);
extern BOOLEAN t_DescendantP(T_OBJECT, T_OBJECT);
extern T_OBJECT t_DGeneralization(T_OBJECT);
extern BOOLEAN t_GeneralizationP(T_OBJECT, T_OBJECT);
extern T_OBJECT_L t_Generalizations(T_OBJECT, T_GROUP_L);
extern T_OBJECT_L t_GeneralizationsStar(T_OBJECT, T_GROUP_L);
extern void t_GeneralizationsStarInList(T_OBJECT, T_GROUP_L, T_OBJECT_L);
extern BOOLEAN t_InstanceP(T_OBJECT, T_OBJECT);
extern T_OBJECT_L t_Instances(T_OBJECT, T_GROUP_L);
extern T_OBJECT_L t_InstancesStar(T_OBJECT, T_GROUP_L);
extern BOOLEAN t_InstancesStarP(T_OBJECT, T_OBJECT);
extern T_OBJECT_L t_Progeny(T_OBJECT, T_GROUP_L);
extern BOOLEAN t_ProgenyP(T_OBJECT, T_GROUP_L);
extern T_OBJECT_L t_ProgenyStar(T_OBJECT, T_GROUP_L);
extern void t_RemoveGeneralization(T_OBJECT, T_OBJECT);
extern void t_RemoveGeneralizations(T_OBJECT, T_OBJECT_L);




extern T_KB t_CreateKnowledgeBase(T_ATOM, ...);
extern T_ATOM t_DeleteKnowledgeBase(T_KB);
extern T_ATOM t_KnowledgeBaseName(T_KB);
extern T_KB t_KnowledgeBase(T_ATOM, BOOLEAN);
extern T_KB t_KnowledgeBaseP(STRING);
extern T_ATOM_L t_KnowledgeBaseNames();
extern T_OBJECT_L t_ListAllObjects(T_KB);
extern T_KB t_ResetKnowledgeBase(T_KB);
extern T_KB_VERSION t_KnowledgeBaseVersion();
extern STRING t_CurrentKnowledgeBaseName();




extern T_ATOM_L t_AddToAtomList(T_ATOM_L, T_ATOM);
extern T_GROUP_L t_AddToGroupList(T_GROUP_L, T_GROUP);
extern T_DATUM_L t_AddToList(T_DATUM_L, T_DATUM);
extern T_OBJECT_L t_AddToObjectList(T_OBJECT_L, T_OBJECT);
extern T_SLOT_L t_AddToSlotList(T_SLOT_L, T_SLOT);
extern T_DATUM_L t_Append(T_DATUM_L, T_DATUM_L);
extern T_DATUM_L t_CopyList(T_DATUM_L);
extern T_OBJECT_L t_CopyObjectList(T_OBJECT_L);
extern T_SLOT_L t_CopySlotList(T_SLOT_L);
extern T_ATOM_L t_CreateAtomList(T_LIST_LENGTH);
extern T_DATUM_L t_CreateList(T_VALUE_TYPE, T_LIST_LENGTH);
extern T_OBJECT_L t_CreateObjectList(T_LIST_LENGTH);
extern T_SLOT_L t_CreateSlotList(T_LIST_LENGTH);
extern long t_DeleteList(T_DATUM_L);
extern T_DATUM_L t_Insert(T_DATUM_L, T_LIST_LENGTH, T_DATUM);
extern T_OBJECT_L t_IntersectObjectLists(T_OBJECT_L, T_OBJECT_L);
extern T_LIST_LENGTH t_LengthList(T_DATUM_L);
extern T_DATUM_L t_List(T_VALUE_TYPE, T_LIST_LENGTH, ...);
extern T_LIST_LENGTH t_Member(T_DATUM_L, T_DATUM);
extern T_LIST_LENGTH t_MemberAtomList(T_ATOM_L, T_ATOM);
extern T_LIST_LENGTH t_MemberObjectList(T_OBJECT_L, T_OBJECT);
extern T_LIST_LENGTH t_MemberGroupList(T_GROUP_L, T_GROUP);
extern INTEGER t_NthInteger(T_INTEGER_L, T_LIST_LENGTH);
extern T_DATUM_L t_NthList(T_DATUM_L, T_LIST_LENGTH);
extern T_OBJECT t_NthObject(T_OBJECT_L, T_LIST_LENGTH);
extern T_DATUM_L t_Remove(T_DATUM_L, T_DATUM);
extern T_OBJECT_L t_RemoveFromObjectList(T_OBJECT_L, T_OBJECT);
extern T_SLOT_L t_RemoveFromSlotList(T_SLOT_L, T_SLOT);
extern T_DATUM_L t_RemoveNth(T_DATUM_L, T_LIST_LENGTH);
extern T_DATUM_L t_Reverse(T_DATUM_L);
extern T_DATUM t_SetNth(T_DATUM_L, T_LIST_LENGTH, T_DATUM);
extern T_DATUM_L t_SortList(T_DATUM_L, FUNCTION);
extern BOOLEAN t_SubsetList(T_DATUM_L, T_DATUM_L);
extern T_OBJECT_L t_UnionObjectLists(T_OBJECT_L, T_OBJECT_L);
extern INTEGER t_ObjectNameCompareFn(T_OBJECT *, T_OBJECT *);
extern INTEGER t_AtomCompareFn(T_ATOM *, T_ATOM *);
extern INTEGER t_IntegerCompareFn(INTEGER *, INTEGER *);
extern INTEGER t_FloatCompareFn(T_DATUM *, T_DATUM *);




extern STRING t_StoreObjects(T_OBJECT_L, STRING);
extern T_OBJECT_L t_LoadObjects(STRING, BOOLEAN);
extern T_KB t_LoadKnowledgeBase(T_ATOM, STRING, ...);
extern STRING t_StoreKnowledgeBase(T_KB, STRING, BOOLEAN);
extern void t_SweepObjects();
extern void t_RefObjects(T_OBJECT_L);




extern T_DATUM *t_SysOutputByValueType(T_PACK_DESCRIPTOR, T_DATUM *, T_VALUE_TYPE);
extern T_DATUM *t_SysInputByValueType(T_PACK_DESCRIPTOR, T_DATUM *, T_VALUE_TYPE);





extern T_DATUM t_Message(T_OBJECT, T_ATOM, T_ATOM, ...);
extern BOOLEAN t_MessageP(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE *,
			  T_DATUM *, BOOLEAN *, ...);
extern T_DATUM t_MessageReceiver(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE *);
extern BOOLEAN t_MessageReceiverP(T_OBJECT, T_ATOM, T_ATOM, T_VALUE_TYPE *,
				  T_DATUM *, BOOLEAN *);




extern T_DATUM t_DefaultFunction(T_OBJECT, T_ATOM, T_ATOM);
extern T_DATUM t_GenericGet(T_OBJECT, T_ATOM);
extern T_DATUM t_GenericPrint(T_OBJECT, T_ATOM, T_ATOM, struct _iobuf *);
extern T_DATUM t_GenericPut(T_OBJECT, T_ATOM, T_ATOM, T_DATUM);




extern T_OBJECT_TYPE t_ChangeObjectType(T_OBJECT, T_OBJECT_TYPE);
extern T_OBJECT t_CreateObject(T_ATOM, T_OBJECT_TYPE, T_OBJECT, T_GROUP_L);
extern T_ATOM t_CreateObjectName(T_ATOM, BOOLEAN);
extern T_ATOM t_DeleteObject(T_OBJECT, BOOLEAN);
extern T_OBJECT t_Instantiate(T_OBJECT, T_ATOM, T_GROUP_L, T_OBJECT_TYPE);
extern BOOLEAN t_ObjectTypeP(T_OBJECT, T_OBJECT_TYPE);
extern T_ATOM t_ObjectTypeString(T_OBJECT);
extern T_ATOM t_RenameObject(T_OBJECT, T_ATOM, BOOLEAN, T_GROUP_L);
extern T_OBJECT_L t_SourceObjectStar(T_OBJECT, T_ATOM, T_ATOM);




extern void t_NewLine(struct _iobuf *);
extern void  t_PrintAtom(T_ATOM, struct _iobuf *);
extern void  t_PrintAtomList(T_ATOM_L, struct _iobuf *);
extern void  t_PrintBoolean(BOOLEAN, struct _iobuf *);
extern void  t_PrintByte(BYTE, struct _iobuf *);
extern T_DATUM *t_PrintByValueType(T_DATUM *, T_VALUE_TYPE, struct _iobuf *);
extern void  t_PrintAggregate(T_DATUM *, T_VT_AGGREGATE, struct _iobuf *);
extern void  t_PrintFacet(T_FACET, struct _iobuf *);
extern void  t_PrintFloat(T_DATUM, struct _iobuf *);
extern void  t_PrintFunction_id(T_FUNCTION_ID, struct _iobuf *);
extern void  t_PrintHandle(T_OBJECT, struct _iobuf *);
extern void  t_PrintInteger(INTEGER, struct _iobuf *);
extern void  t_PrintKb(T_KB, struct _iobuf *);
extern void t_PrintKnowledgeBase(T_KB, STRING);
extern void  t_PrintLong(LONG, struct _iobuf *);
extern void t_PrintObject(T_OBJECT, BOOLEAN, struct _iobuf *, BOOLEAN);
extern void t_PrintObjectList(T_OBJECT_L, struct _iobuf *);
extern void  t_PrintPointer(POINTER, struct _iobuf *);
extern void  t_PrintShort(SHORT, struct _iobuf *);
extern void t_PrintSlot(T_OBJECT, T_ATOM, BOOLEAN, struct _iobuf *, BOOLEAN);
extern void t_PrintSlotList(T_SLOT_L, struct _iobuf *);
extern void t_PrintSlotPointer(T_SLOT, struct _iobuf *);
extern void t_PrintSlots(T_OBJECT, BOOLEAN, struct _iobuf *, BOOLEAN);
extern void  t_PrintString(STRING, struct _iobuf *);
extern void  t_PrintList(T_DATUM_L, struct _iobuf *);
extern void  t_PrintValueType(T_VALUE_TYPE, struct _iobuf *);
extern void  t_PrintVoid(T_DATUM,struct _iobuf *);
extern void  t_NoPrintHandler(T_DATUM,struct _iobuf *);





extern void t_RemoteServerInit(INTEGER);
extern T_DATUM t_RMessage(T_KB, T_ATOM, T_ATOM, T_ATOM, ...);
extern BOOLEAN t_RMessageP(T_KB, T_ATOM, T_ATOM, T_ATOM, T_VALUE_TYPE *,
			   T_DATUM *, BOOLEAN *, ...);
extern T_DATUM t_RemoteMessage(T_KB, T_ATOM, T_ATOM, T_ATOM, ...);
extern BOOLEAN t_RemoteMessageP(T_KB, T_ATOM, T_ATOM, T_ATOM, T_VALUE_TYPE *,
			   T_DATUM *, BOOLEAN *, ...);
extern BOOLEAN t_ARMessage(T_KB, T_ATOM, T_ATOM, T_ATOM, ...);
extern BOOLEAN t_RMessageResponse(T_KB, T_MSG_ID, INTEGER, T_VALUE_STRUCT *);
extern T_MSG_ID t_FlushRMessage(T_KB);
extern T_KB t_NoticeRemoteKnowledgeBase(T_ATOM, STRING, T_ATOM, BOOLEAN, BOOLEAN);





extern T_OBJECT_L t_AddObjectValue(T_OBJECT, T_ATOM, T_OBJECT);
extern T_DATUM_L t_AddValue(T_OBJECT, T_ATOM, T_DATUM);
extern void t_ClearValue(T_OBJECT, T_ATOM);
extern T_ATOM t_CreateSlot(T_OBJECT, T_ATOM, T_OBJECT, T_VALUE_TYPE, T_DATUM);
extern T_ATOM t_CreateSlotName(T_OBJECT, T_ATOM);
extern T_ATOM t_DeleteSlot(T_OBJECT, T_ATOM, BOOLEAN);
extern T_DATUM t_GetValue(T_OBJECT, T_ATOM);
extern BOOLEAN t_GetValueP(T_OBJECT, T_ATOM, T_VALUE_TYPE *, T_DATUM *,
			   BOOLEAN *);
extern T_OBJECT t_LinkSlot(T_OBJECT, T_ATOM, T_OBJECT);
extern void t_MakeSlotLinksTaxonomic(T_OBJECT, T_ATOM, BOOLEAN);
extern T_ATOM_L t_ListSlots(T_OBJECT, T_ATOM);
extern T_ATOM_L t_ListSlotsStar(T_OBJECT, T_ATOM);
extern void t_ListSlotsInList(T_OBJECT, T_ATOM, T_ATOM_L);
extern void t_ListSlotsStarInList(T_OBJECT, T_ATOM, T_ATOM_L);
extern T_ATOM_L t_ListSlotsWithDatatype(T_OBJECT, T_OBJECT);
extern T_ATOM_L t_ListSlotsWithValue(T_OBJECT, T_ATOM, T_DATUM);
extern T_ATOM_L t_ListSlotsStarWithDatatype(T_OBJECT, T_OBJECT);
extern T_ATOM_L t_ListSlotsStarWithValue(T_OBJECT, T_ATOM, T_DATUM);
extern T_DATUM t_PutValue(T_OBJECT, T_ATOM, T_DATUM);
extern T_DATUM t_PutValueAndType(T_OBJECT, T_ATOM, T_VALUE_TYPE, T_DATUM);
extern T_DATUM_L t_RemoveValue(T_OBJECT, T_ATOM, T_DATUM);
extern BOOLEAN t_TopLevelSlotP(T_OBJECT, T_ATOM);
extern T_OBJECT t_UnLinkSlot(T_OBJECT, T_ATOM);
extern void	t_DeleteLinksDown(T_OBJECT, T_ATOM);
extern T_OBJECT t_SlotLinksUp(T_OBJECT, T_ATOM);




extern void t_StrobeInit();





extern INTEGER t_SizeofAggregate(T_VT_AGGREGATE);
extern T_DATUM *t_AddRefByValueType(T_DATUM *, COUNT, T_VALUE_TYPE);
extern T_DATUM *t_FreeByValueType(T_DATUM *, T_VALUE_TYPE);
extern void t_FreeAggregate(T_DATUM *, T_VT_AGGREGATE);
extern T_VALUE_TYPE t_GetValueType(STRING, BOOLEAN);
extern T_VALUE_TYPE t_StaticRegisterValueType(STRING, T_VALUE_TYPE);





extern void t_PackInteger(T_PACK_DESCRIPTOR, T_DATUM *);
extern INTEGER t_FetchInteger(T_PACK_DESCRIPTOR);
extern void t_PackByte(T_PACK_DESCRIPTOR, T_DATUM *);
extern BYTE t_FetchByte(T_PACK_DESCRIPTOR);
extern void t_PackBoolean(T_PACK_DESCRIPTOR, T_DATUM *);
extern BYTE t_FetchBoolean(T_PACK_DESCRIPTOR);
extern void t_PackString(T_PACK_DESCRIPTOR, STRING *); 
extern void t_UnpackString(T_PACK_DESCRIPTOR, STRING *);
extern void t_UnpackAtom(T_PACK_DESCRIPTOR, T_ATOM *);
extern STRING t_FetchString(T_PACK_DESCRIPTOR); 
extern T_VALUE_TYPE t_UnpackValuetype(T_PACK_DESCRIPTOR);
extern void t_PackFunction_id(T_PACK_DESCRIPTOR, T_FUNCTION_ID *);
extern void t_UnpackFunction_id(T_PACK_DESCRIPTOR, T_FUNCTION_ID *);
extern void t_PackHandle(T_PACK_DESCRIPTOR, T_OBJECT *);
extern void t_UnpackHandle(T_PACK_DESCRIPTOR, T_OBJECT *);
extern T_OBJECT t_FetchHandle(T_PACK_DESCRIPTOR); 
extern void t_PackKb(T_PACK_DESCRIPTOR, T_KB *);
extern void t_UnpackKb(T_PACK_DESCRIPTOR, T_KB *);
extern T_KB t_FetchKb(T_PACK_DESCRIPTOR);
extern T_DATUM *t_UnpackByValueType(T_PACK_DESCRIPTOR, T_DATUM *, T_VALUE_TYPE);
extern T_DATUM *t_PackByValueType(T_PACK_DESCRIPTOR, T_DATUM *, T_VALUE_TYPE);
extern void t_PackAggregate(T_PACK_DESCRIPTOR, T_DATUM *, T_VT_AGGREGATE);
extern void t_UnpackAggregate(T_PACK_DESCRIPTOR, T_DATUM *, T_VT_AGGREGATE);




extern void t_StoreKnowledgeBaseVersion(T_KB, BOOLEAN);
extern void t_LoadKnowledgeBaseVersion(INTEGER, T_ATOM, STRING, BOOLEAN);
extern void t_StoreObjectsVersion(T_OBJECT_L, STRING);
extern BOOLEAN t_LoadObjectsVersion(STRING, BOOLEAN);
extern void t_ConvertKnowledgeBaseVersion(STRING);
extern void t_ConvertObjectsVersion(STRING);
extern void t_MarkObjectStorableVersion(T_OBJECT_L);





extern void t_BindAnAtomDictionary(T_ADT);
 



extern long t_SysAddRefToElements(T_DATUM_L, COUNT);
extern void t_SysException(INTEGER, ...);
extern long t_SysFreeElementsInList(T_DATUM_L);
extern POINTER t_SysListException(T_VALUE_TYPE);
extern T_OBJECT t_SysGetObjectHandle(T_KB, T_ATOM, BOOLEAN);
extern T_SLOT t_SysGetSlot(T_KB, T_OBJECT, T_ATOM, BOOLEAN, BOOLEAN);
extern void t_SysSwapObject(T_KB, T_OBJECT);

# 733 "/uhe0/schaefer/csl/tstrobe/globals.h"





# 128 "/uhe0/schaefer/csl/tstrobe/strobe.h" 2





# 151 "/uhe0/schaefer/csl/tstrobe/strobe.h"


# 173 "/uhe0/schaefer/csl/tstrobe/strobe.h"




















 extern HASHTABLE t_SysAtomTable;
 extern COUNT t_MaximumValueTypes;
 extern HASHTABLE t_SysValueTypeTable;





 extern UTL_HEAP t_Aggregate_Heap;
 extern UTL_HEAP t_ATOM_Heap;
 extern UTL_HEAP t_Function_ID_Heap;
 extern UTL_HEAP t_General_Heap;
 extern UTL_HEAP t_List_Heap;
 extern UTL_HEAP t_LoadStore_Heap;
 extern UTL_HEAP t_OBJECT_Heap;
 extern UTL_HEAP t_OBJECTPTR_Heap;
 extern UTL_HEAP t_RMessage_Heap;
 extern UTL_HEAP t_SLOT_Heap;


 extern INTEGER t_PageInCount;
 extern INTEGER t_PageOutCount;
 extern INTEGER t_PageWriteCount;

 extern T_ATOM qKB_SYSTEM_PARAMETER;
 extern T_ATOM qFUNCTION;
 extern T_ATOM qVALUE_TYPE;
 extern T_ATOM qVALUE_TYPE_F;
 extern T_ATOM qBOOLEAN_F;
 extern T_ATOM qOBJECT_F;
 extern T_ATOM qOBJECT;
 extern T_ATOM qKB_PARAMETERS;
 extern T_ATOM qNOVALUE;
 extern T_ATOM qFAIL;
 extern T_ATOM qOBJECT_CREATION_PROCEDURES;
 extern T_ATOM qOBJECT_DELETION_PROCEDURES;
 extern T_ATOM qSLOT_CREATION_PROCEDURES;
 extern T_ATOM qSLOT_DELETION_PROCEDURES;
 extern T_ATOM qACCESS_PROCEDURES;
 extern T_ATOM qALTERATION_PROCEDURES;
 extern T_ATOM qBREADTH_FIRST_SEARCH;
 extern T_ATOM qOBJECT_CREATION_PROC_PARM;
 extern T_ATOM qOBJECT_DELETION_PROC_PARM;
 extern T_ATOM qSLOT_CREATION_PROC_PARM;
 extern T_ATOM qSLOT_DELETION_PROC_PARM;
 extern T_ATOM qSUPPRESS_OBJECT_WARNINGS;
 extern T_ATOM qPLACEHOLDERS;
 extern T_ATOM qACCESS_PROC_PARM;
 extern T_ATOM qALTERATION_PROC_PARM;
 extern T_ATOM qBREADTH_FIRST_SEARCH_PARM;
 extern T_ATOM qDESCRIPTION;
 extern T_ATOM qINDEFINITE;
 extern T_ATOM qGENERALIZATIONS; 
 extern T_ATOM qSPECIALIZATIONS;
 extern T_ATOM qVALUE;
 extern T_ATOM qOBJECTS_OUT;
 extern T_ATOM qOBJECTS_IN;
 extern T_ATOM qTIME;
 extern T_ATOM qOBJECTFILE;
 extern T_ATOM qOBJECTS;
 extern T_ATOM qGROUPS;
 extern T_ATOM qCACHEFN;
 extern T_ATOM qIOFLG;
 extern T_ATOM qTIMESTAMPFLG;
 extern T_ATOM qUSER_ERROR_HANDLER;
 extern T_ATOM qLOCATION;
 extern T_ATOM qBEFORE;
 extern T_ATOM qAFTER;
 extern T_ATOM qFUNCTION;
 extern T_ATOM qLISP;
 extern T_ATOM qOBJECT;
 extern T_ATOM qEXPR;
 extern T_ATOM qDATATYPE;
 extern T_ATOM qROOT;
 extern T_ATOM qTEXT;
 extern T_ATOM qLINKS_UP;
 extern T_ATOM qLINKS_DOWN;
 extern T_ATOM qNAME;
 extern T_ATOM qSLOT;
 extern T_ATOM qSLOTS;
 extern T_ATOM qUSER_DEFINED_FACETS;
 extern T_ATOM qCLASS;
 extern T_ATOM qINDIVIDUAL;
 extern T_ATOM qDOCUMENTATION;
 extern T_ATOM qSYS_MGETVALUE;
 extern T_ATOM qSYS_MPUTVALUE;
 extern T_ATOM qSYS_PRINTBITMAP;
 extern T_ATOM qSYS_PRINTEXPR;
 extern T_ATOM qSYS_PRINTLISP;
 extern T_ATOM qSYS_PRINTOBJECT;
 extern T_ATOM qSYS_PRINTTEXT; 
 extern T_ATOM qSYS_PRINTARRAY;
 extern T_ATOM qINHERIT;
 extern T_ATOM qWHEN_LOADED;
 extern T_ATOM qWHEN_STORED;
 extern T_ATOM qSCRATCH;
 extern T_ATOM qPRINT;
 extern T_ATOM qGET;
 extern T_ATOM qPUT;
 extern T_ATOM qAUTHOR;
 extern T_ATOM qEDITED;
 extern T_ATOM qBITMAP;
 extern T_ATOM qSTOP;
 extern T_ATOM qTYPE;
 extern T_ATOM qLAMBDA;
 extern T_ATOM qNil;
 extern T_ATOM qEQUAL;
 extern T_ATOM qEQ;
 extern T_ATOM qACPFLG;
 extern T_ATOM qACPTFLG;
 extern T_ATOM qALPFLG;
 extern T_ATOM qBFSFLG;
 extern T_ATOM qCIRCULARFLG;
 extern T_ATOM qERROR_BREAK_FLG;
 extern T_ATOM qOCPFLG;
 extern T_ATOM qODPFLG;
 extern T_ATOM qPSEUDO_ERROR_FLG;
 extern T_ATOM qSCPFLG;
 extern T_ATOM qSDPFLG;
 extern T_ATOM qDEFAULT_OBJECT_SIZE;
 extern T_ATOM qSYSTEM;
 extern T_ATOM qDATUM_GET;
 extern T_ATOM qDATUM_PUT;
 extern T_ATOM qDATUM_EDIT;
 extern T_ATOM qDATUM_PRINT;
 extern T_ATOM qARRAY;
 extern T_ATOM qLIST;

 extern T_FUNCTION_ID t_GenericGet_id;
 extern T_FUNCTION_ID t_GenericPut_id;
 extern T_FUNCTION_ID t_GenericPrint_id;
 extern T_FUNCTION_ID t_DefaultFunction_id;



# 21 "/uhe0/schaefer/csl/tsutil/tee.h" 2

# 1 "/uhe0/schaefer/csl/tsutil/tee_vt.h" 1
  
  
  
  
  
  
  
  











# 1 "/uhe0/schaefer/csl/tstrobe/value_vt.h" 1
  
  
  
# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 327 "/uhe0/schaefer/csl/tstrobe/strobe.h"

# 4 "/uhe0/schaefer/csl/tstrobe/value_vt.h" 2




 extern T_VT_PRIMITIVE_STRUCT t_vtsVALUE;
 extern T_VT_PRIMITIVE t_vtVALUE;

 extern T_VT_LIST t_vtVALUE_L;  extern T_VT_LIST_STRUCT t_vtsVALUE_L; ;		    
 extern T_VT_LIST t_vtVALUE_L_L;  extern T_VT_LIST_STRUCT t_vtsVALUE_L_L; ;		    
 extern T_VT_POINTER t_vtVALUE_P;  extern T_VT_POINTER_STRUCT t_vtsVALUE_P; ;	    
 extern T_VT_FUNCTION t_vtVALUE_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_F; ;	    
 extern T_VT_FUNCTION t_vtVALUE_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_L_F; ;	    


# 20 "/uhe0/schaefer/csl/tsutil/tee_vt.h" 2




typedef struct tee_ValueStruct
  {
    T_DATUM Value;
    T_VALUE_TYPE ValueType;
  } *TEE_VALUE, TEE_VALUE_STRUCT;



typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_VALUE    *avail;	  TEE_VALUE    elements[1];  } TEE_VALUE_L_STRUCT,*TEE_VALUE_L;

 extern T_VT_AGGREGATE t_vtTEE_SLOT_INIT;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_SLOT_INIT; ;
 extern T_VT_LIST t_vtTEE_SLOT_INIT_L;  extern T_VT_LIST_STRUCT t_vtsTEE_SLOT_INIT_L; ;
 extern T_VT_FUNCTION t_vtTEE_SLOT_INIT_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_SLOT_INIT_F; ;
 extern T_VT_FUNCTION t_vtTEE_SLOT_INIT_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_SLOT_INIT_L_F; ;

typedef struct tee_SlotInitStruct
  {
    T_ATOM Slot;
    TEE_VALUE Value;
  } *TEE_SLOT_INIT, TEE_SLOT_INIT_STRUCT;



typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_SLOT_INIT    *avail;	  TEE_SLOT_INIT    elements[1];  } TEE_SLOT_INIT_L_STRUCT,*TEE_SLOT_INIT_L;







typedef struct tee_EditeeCoreStruct
  {
    void (*DeleteFn)();
    BOOLEAN (*EqualFn)();
    T_DATUM (*CopyFn)();
  } *TEE_EDITEE_CORE, TEE_EDITEE_CORE_STRUCT;
  
typedef struct tee_MetaEditeeStruct
  {
    TEE_EDITEE_CORE Core;
  } *TEE_META_EDITEE,TEE_META_EDITEE_STRUCT;
  


typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_META_EDITEE    *avail;	  TEE_META_EDITEE    elements[1];  } TEE_META_EDITEE_L_STRUCT,*TEE_META_EDITEE_L;

 extern T_VT_AGGREGATE t_vtTEE_META_EDITEE;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_META_EDITEE; ;
 extern T_VT_LIST t_vtTEE_META_EDITEE_L;  extern T_VT_LIST_STRUCT t_vtsTEE_META_EDITEE_L; ;
 extern T_VT_FUNCTION t_vtTEE_META_EDITEE_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_META_EDITEE_F; ;
 extern T_VT_FUNCTION t_vtTEE_META_EDITEE_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_META_EDITEE_L_F; ;

typedef struct tee_EditeeStruct
  {
    TEE_EDITEE_CORE Core;
    T_VALUE_TYPE EditeeValueType;
    T_DATUM Value;
    T_VALUE_TYPE ValueType;
    T_ATOM Datatype;
    BOOLEAN NoV;
    BOOLEAN Void;
    T_KB KB;
    T_ATOM Object;
    T_ATOM Slot;
    T_ATOM Facet;
    T_ATOM_L Groups;
    LONGWORD Widget;
    T_ATOM Attribute;
  } *TEE_EDITEE, TEE_EDITEE_STRUCT;



typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_EDITEE    *avail;	  TEE_EDITEE    elements[1];  } TEE_EDITEE_L_STRUCT,*TEE_EDITEE_L;

 extern T_VT_AGGREGATE t_vtTEE_EDITEE;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_EDITEE; ;
 extern T_VT_LIST t_vtTEE_EDITEE_L;  extern T_VT_LIST_STRUCT t_vtsTEE_EDITEE_L; ;
 extern T_VT_FUNCTION t_vtTEE_EDITEE_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_EDITEE_F; ;
 extern T_VT_FUNCTION t_vtTEE_EDITEE_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_EDITEE_L_F; ;

typedef struct tee_CallbackParamStruct
  {
     FUNCTION CallbackFn;
     LONG CallbackParameter;
     LONG Dummy1;
     LONG Dummy2;
  } *TEE_CB_PARAM, TEE_CB_PARAM_STRUCT;

 extern T_VT_AGGREGATE t_vtTEE_CB_PARAM;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_CB_PARAM; ;
 extern T_VT_LIST t_vtTEE_CB_PARAM_L;  extern T_VT_LIST_STRUCT t_vtsTEE_CB_PARAM_L; ;
 extern T_VT_FUNCTION t_vtTEE_CB_PARAM_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_CB_PARAM_F; ;
 extern T_VT_FUNCTION t_vtTEE_CB_PARAM_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_CB_PARAM_L_F; ;

typedef struct TeeDwtArg
  {
    T_ATOM    Name;
    TEE_VALUE Arg;
  } *TEE_DWT_ARG, TEE_DWT_ARG_STRUCT;

 extern T_VT_AGGREGATE t_vtTEE_DWT_ARG;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_DWT_ARG; ;
 extern T_VT_LIST t_vtTEE_DWT_ARG_L;  extern T_VT_LIST_STRUCT t_vtsTEE_DWT_ARG_L; ;
 extern T_VT_FUNCTION t_vtTEE_DWT_ARG_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_DWT_ARG_F; ;
 extern T_VT_FUNCTION t_vtTEE_DWT_ARG_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_DWT_ARG_L_F; ;



typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_DWT_ARG    *avail;	  TEE_DWT_ARG    elements[1];  } TEE_DWT_ARG_L_STRUCT,*TEE_DWT_ARG_L;

typedef struct TeeEditorWindowData
  {
    WORD  ExtentX;
    WORD  ExtentY;
    SHORT LastAttributePosX;
    SHORT LastAttributePosY;
    WORD  LastAttributeWidth;
    WORD  LastAttributeHeight;
  } *TEE_EWDATA, TEE_EWDATA_STRUCT;

 extern T_VT_AGGREGATE t_vtTEE_EWDATA;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_EWDATA; ;
 extern T_VT_LIST t_vtTEE_EWDATA_L;  extern T_VT_LIST_STRUCT t_vtsTEE_EWDATA_L; ;
 extern T_VT_FUNCTION t_vtTEE_EWDATA_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_EWDATA_F; ;
 extern T_VT_FUNCTION t_vtTEE_EWDATA_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_EWDATA_L_F; ;

typedef struct TeeAttachment
  {
    T_ATOM TypeName;
    T_ATOM WidgetLocation;
    SHORT Offset;
    SHORT Position;
  } *TEE_ATTACHMENT, TEE_ATTACHMENT_STRUCT;

 extern T_VT_AGGREGATE t_vtTEE_ATTACHMENT;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_ATTACHMENT; ;
 extern T_VT_LIST t_vtTEE_ATTACHMENT_L;  extern T_VT_LIST_STRUCT t_vtsTEE_ATTACHMENT_L; ;
 extern T_VT_FUNCTION t_vtTEE_ATTACHMENT_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_ATTACHMENT_F; ;
 extern T_VT_FUNCTION t_vtTEE_ATTACHMENT_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_ATTACHMENT_L_F; ;

typedef struct TeeDwtAttach
  {
    DwtAttachmentType Attachment;
    Widget Wgt;
    SHORT Offset;
    SHORT Position;
  } *TEE_DWT_ATTACH, TEE_DWT_ATTACH_STRUCT;

 extern T_VT_AGGREGATE t_vtTEE_DWT_ATTACH;  extern T_VT_AGGREGATE_STRUCT t_vtsTEE_DWT_ATTACH; ;
 extern T_VT_LIST t_vtTEE_DWT_ATTACH_L;  extern T_VT_LIST_STRUCT t_vtsTEE_DWT_ATTACH_L; ;
 extern T_VT_FUNCTION t_vtTEE_DWT_ATTACH_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_DWT_ATTACH_F; ;
 extern T_VT_FUNCTION t_vtTEE_DWT_ATTACH_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsTEE_DWT_ATTACH_L_F; ;



# 22 "/uhe0/schaefer/csl/tsutil/tee.h" 2






T_OBJECT Tee();

void TeeProcess(BOOLEAN);
OVM_EVENT tee_GetExitEvent(T_OBJECT);








# 40 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tsutil/tee_memory.h" 1
  
  
  
  
  
# 1 "/uhe0/schaefer/csl/tstrobe/libvmdef.h" 1
  
  
  




 
 















# 6 "/uhe0/schaefer/csl/tsutil/tee_memory.h" 2





typedef struct {
    UTL_HEAP *heap;
    STRING  name;
    INTEGER algorithm;
    INTEGER algorithm_arg;
    INTEGER flags;
    INTEGER extend_size;
    INTEGER cache_size;
    INTEGER element_size;
} TEE_HEAP_DESC_STRUCT, *TEE_HEAP_DESC;










# 41 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/op_datum_dictionary.atom_h" 1

































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































 extern STRING op_datum_dictionary_atoms [1460];


# 42 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tsutil/std_valuetypes.h" 1
  
  
  
# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 327 "/uhe0/schaefer/csl/tstrobe/strobe.h"

# 4 "/uhe0/schaefer/csl/tsutil/std_valuetypes.h" 2





















































 















 extern T_VT_LIST t_vtATOM_L_L;  extern T_VT_LIST_STRUCT t_vtsATOM_L_L; ;		    
 extern T_VT_LIST t_vtBOOLEAN_L_L;  extern T_VT_LIST_STRUCT t_vtsBOOLEAN_L_L; ;	     
 extern T_VT_LIST t_vtBYTE_L_L;  extern T_VT_LIST_STRUCT t_vtsBYTE_L_L; ;		    
 extern T_VT_LIST t_vtFUNCTION_ID_L_L;  extern T_VT_LIST_STRUCT t_vtsFUNCTION_ID_L_L; ;	    
 extern T_VT_LIST t_vtFLOAT_L_L;  extern T_VT_LIST_STRUCT t_vtsFLOAT_L_L; ;		    
 extern T_VT_LIST t_vtINTEGER_L_L;  extern T_VT_LIST_STRUCT t_vtsINTEGER_L_L; ;	    
 extern T_VT_LIST t_vtLONG_L_L;  extern T_VT_LIST_STRUCT t_vtsLONG_L_L; ;		    
 extern T_VT_LIST t_vtKB_L_L;  extern T_VT_LIST_STRUCT t_vtsKB_L_L; ;		    
 extern T_VT_LIST t_vtOBJECT_L_L;  extern T_VT_LIST_STRUCT t_vtsOBJECT_L_L; ;	    
 extern T_VT_LIST t_vtSHORT_L_L;  extern T_VT_LIST_STRUCT t_vtsSHORT_L_L; ;		    
 extern T_VT_LIST t_vtSTRING_L_L;  extern T_VT_LIST_STRUCT t_vtsSTRING_L_L; ;	    
 extern T_VT_LIST t_vtVALUE_TYPE_L_L;  extern T_VT_LIST_STRUCT t_vtsVALUE_TYPE_L_L; ;	    







 extern T_VT_LIST t_vtINTEGER_L_L_L;  extern T_VT_LIST_STRUCT t_vtsINTEGER_L_L_L; ;		    








 


















 extern T_VT_LIST t_vtVOID_F_L;  extern T_VT_LIST_STRUCT t_vtsVOID_F_L; ;		    







 extern T_VT_FUNCTION t_vtVOID_F_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsVOID_F_L_F; ;	    





 extern T_VT_FUNCTION t_vtATOM_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_F_F; ;	    
				     
 extern T_VT_FUNCTION t_vtBYTE_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_F_F; ;	    
 extern T_VT_FUNCTION t_vtFUNCTION_ID_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_F_F; ;   
 extern T_VT_FUNCTION t_vtFLOAT_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_F_F; ;	    
 extern T_VT_FUNCTION t_vtINTEGER_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_F_F; ;	    
 extern T_VT_FUNCTION t_vtLONG_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_F_F; ;	    
 extern T_VT_FUNCTION t_vtKB_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_F_F; ;	    
				    
 extern T_VT_FUNCTION t_vtSHORT_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_F_F; ;	    
 extern T_VT_FUNCTION t_vtSTRING_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_F_F; ;	    
				    
 extern T_VT_FUNCTION t_vtVOID_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsVOID_F_F; ;	    





 extern T_VT_FUNCTION t_vtATOM_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_L_F; ;	    
 extern T_VT_FUNCTION t_vtBOOLEAN_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsBOOLEAN_L_F; ;	     
 extern T_VT_FUNCTION t_vtBYTE_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_L_F; ;	    
 extern T_VT_FUNCTION t_vtFUNCTION_ID_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_L_F; ;   
 extern T_VT_FUNCTION t_vtFLOAT_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_L_F; ;	    
 extern T_VT_FUNCTION t_vtINTEGER_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_L_F; ;	    
 extern T_VT_FUNCTION t_vtLONG_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_L_F; ;	    
 extern T_VT_FUNCTION t_vtKB_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_L_F; ;	    
 extern T_VT_FUNCTION t_vtOBJECT_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsOBJECT_L_F; ;	    
 extern T_VT_FUNCTION t_vtSHORT_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_L_F; ;	    
 extern T_VT_FUNCTION t_vtSTRING_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_L_F; ;	    
 extern T_VT_FUNCTION t_vtVALUE_TYPE_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_TYPE_L_F; ;    





 extern T_VT_FUNCTION t_vtATOM_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtBOOLEAN_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsBOOLEAN_L_F_F; ;	     
 extern T_VT_FUNCTION t_vtBYTE_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtFUNCTION_ID_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_L_F_F; ; 
 extern T_VT_FUNCTION t_vtFLOAT_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtINTEGER_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtLONG_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtKB_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtOBJECT_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsOBJECT_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtSHORT_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtSTRING_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_L_F_F; ;	    
 extern T_VT_FUNCTION t_vtVALUE_TYPE_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_TYPE_L_F_F; ;  





 extern T_VT_FUNCTION t_vtATOM_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtBOOLEAN_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsBOOLEAN_L_L_F; ;	     
 extern T_VT_FUNCTION t_vtBYTE_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtFUNCTION_ID_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_L_L_F; ; 
 extern T_VT_FUNCTION t_vtFLOAT_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtINTEGER_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtLONG_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtKB_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtOBJECT_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsOBJECT_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtSHORT_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtSTRING_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_L_L_F; ;	    
 extern T_VT_FUNCTION t_vtVALUE_TYPE_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_TYPE_L_L_F; ;  







 extern T_VT_FUNCTION t_vtINTEGER_L_L_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_L_L_L_F; ;	    





 extern T_VT_FUNCTION t_vtATOM_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtBOOLEAN_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsBOOLEAN_L_L_F_F; ;      
 extern T_VT_FUNCTION t_vtBYTE_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtFUNCTION_ID_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_L_L_F_F; ; 
 extern T_VT_FUNCTION t_vtFLOAT_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtINTEGER_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_L_L_F_F; ;     
 extern T_VT_FUNCTION t_vtLONG_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtKB_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtOBJECT_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsOBJECT_L_L_F_F; ;      
 extern T_VT_FUNCTION t_vtSHORT_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_L_L_F_F; ;	      
 extern T_VT_FUNCTION t_vtSTRING_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_L_L_F_F; ;      
 extern T_VT_FUNCTION t_vtVALUE_TYPE_L_L_F_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_TYPE_L_L_F_F; ;  





 extern T_VT_POINTER t_vtATOM_P;  extern T_VT_POINTER_STRUCT t_vtsATOM_P; ;		    
 extern T_VT_POINTER t_vtBOOLEAN_P;  extern T_VT_POINTER_STRUCT t_vtsBOOLEAN_P; ;	     
 extern T_VT_POINTER t_vtBYTE_P;  extern T_VT_POINTER_STRUCT t_vtsBYTE_P; ;		    
 extern T_VT_POINTER t_vtFUNCTION_ID_P;  extern T_VT_POINTER_STRUCT t_vtsFUNCTION_ID_P; ;	    
 extern T_VT_POINTER t_vtFLOAT_P;  extern T_VT_POINTER_STRUCT t_vtsFLOAT_P; ;	    
 extern T_VT_POINTER t_vtINTEGER_P;  extern T_VT_POINTER_STRUCT t_vtsINTEGER_P; ;	    
 extern T_VT_POINTER t_vtLONG_P;  extern T_VT_POINTER_STRUCT t_vtsLONG_P; ;		    
 extern T_VT_POINTER t_vtKB_P;  extern T_VT_POINTER_STRUCT t_vtsKB_P; ;		    
 extern T_VT_POINTER t_vtOBJECT_P;  extern T_VT_POINTER_STRUCT t_vtsOBJECT_P; ;	    
 extern T_VT_POINTER t_vtSHORT_P;  extern T_VT_POINTER_STRUCT t_vtsSHORT_P; ;	    
 extern T_VT_POINTER t_vtSTRING_P;  extern T_VT_POINTER_STRUCT t_vtsSTRING_P; ;	    
 extern T_VT_POINTER t_vtVALUE_TYPE_P;  extern T_VT_POINTER_STRUCT t_vtsVALUE_TYPE_P; ;	    





 extern T_VT_FUNCTION t_vtATOM_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsATOM_P_F; ;	    
 extern T_VT_FUNCTION t_vtBOOLEAN_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsBOOLEAN_P_F; ;	     
 extern T_VT_FUNCTION t_vtBYTE_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsBYTE_P_F; ;	    
 extern T_VT_FUNCTION t_vtFUNCTION_ID_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsFUNCTION_ID_P_F; ;   
 extern T_VT_FUNCTION t_vtFLOAT_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsFLOAT_P_F; ;	    
 extern T_VT_FUNCTION t_vtINTEGER_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsINTEGER_P_F; ;	    
 extern T_VT_FUNCTION t_vtLONG_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsLONG_P_F; ;	    
 extern T_VT_FUNCTION t_vtKB_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsKB_P_F; ;	    
 extern T_VT_FUNCTION t_vtOBJECT_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsOBJECT_P_F; ;	    
 extern T_VT_FUNCTION t_vtSHORT_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsSHORT_P_F; ;	    
 extern T_VT_FUNCTION t_vtSTRING_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsSTRING_P_F; ;	    
 extern T_VT_FUNCTION t_vtVALUE_TYPE_P_F;  extern T_VT_FUNCTION_STRUCT t_vtsVALUE_TYPE_P_F; ;    


# 43 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tks/pm_vt.h" 1
  
  
  
# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 327 "/uhe0/schaefer/csl/tstrobe/strobe.h"

# 4 "/uhe0/schaefer/csl/tks/pm_vt.h" 2

# 1 "/uhe0/schaefer/csl/tks/pixmap.h" 1
  
  
  

# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 5 "/uhe0/schaefer/csl/tks/pixmap.h" 2




typedef struct {
    CHARACTER	 name[32];  
    INTEGER 	width;	    
    INTEGER 	height;	    
    INTEGER 	depth;	    
    INTEGER     length;	    
    INTEGER	x_hot;	    
    INTEGER	y_hot;	    
    INTEGER     type;	    
    INTEGER 	maptype;    
    INTEGER 	maplength;  

    
    

    INTEGER	pixmap;	    
    POINTER	colormap;   

    POINTER	image;	    
} EXTERNAL_PIXMAP;





















void WritePMFile(STRING File, EXTERNAL_PIXMAP *BM);
EXTERNAL_PIXMAP *ReadPMFile(STRING File);

void WritePML(STRING Library, EXTERNAL_PIXMAP *BM);
EXTERNAL_PIXMAP *ReadPML(STRING Library, STRING Name);



EXTERNAL_PIXMAP	*GetExternalPixmap(STRING    PMname);

EXTERNAL_PIXMAP	*GetNamedPixmap(STRING    PMname,
				INTEGER	  *pm);

EXTERNAL_PIXMAP *GetNamedDepthPixmap(STRING  PMname,
				     INTEGER *pmap,
				     INTEGER foreground,
				     INTEGER background);

BOOLEAN RegisterPixmap(EXTERNAL_PIXMAP	*EP);

# 83 "/uhe0/schaefer/csl/tks/pixmap.h"


# 5 "/uhe0/schaefer/csl/tks/pm_vt.h" 2




 extern T_VT_PRIMITIVE_STRUCT t_vtsPIXMAP;
 extern T_VT_PRIMITIVE t_vtPIXMAP;


typedef EXTERNAL_PIXMAP *T_PIXMAP, T_PIXMAP_STRUCT;

 extern T_VT_LIST t_vtPIXMAP_L;  extern T_VT_LIST_STRUCT t_vtsPIXMAP_L; ;		    
 extern T_VT_POINTER t_vtPIXMAP_P;  extern T_VT_POINTER_STRUCT t_vtsPIXMAP_P; ;	    
 extern T_VT_FUNCTION t_vtPIXMAP_F;  extern T_VT_FUNCTION_STRUCT t_vtsPIXMAP_F; ;	    
 extern T_VT_FUNCTION t_vtPIXMAP_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsPIXMAP_L_F; ;	    



# 44 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tks/color_vt.h" 1
  
  
  
# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 327 "/uhe0/schaefer/csl/tstrobe/strobe.h"

# 4 "/uhe0/schaefer/csl/tks/color_vt.h" 2




# 1 "/usr/include/X11/Xlib.h" 1
























# 1064 "/usr/include/X11/Xlib.h"

# 8 "/uhe0/schaefer/csl/tks/color_vt.h" 2










 extern T_VT_PRIMITIVE_STRUCT t_vtsCOLOR;
 extern T_VT_PRIMITIVE t_vtCOLOR;

typedef XColor *T_COLOR, T_COLOR_STRUCT;

 extern T_VT_LIST t_vtCOLOR_L;  extern T_VT_LIST_STRUCT t_vtsCOLOR_L; ;		    
 extern T_VT_POINTER t_vtCOLOR_P;  extern T_VT_POINTER_STRUCT t_vtsCOLOR_P; ;	    
 extern T_VT_FUNCTION t_vtCOLOR_F;  extern T_VT_FUNCTION_STRUCT t_vtsCOLOR_F; ;	    
 extern T_VT_FUNCTION t_vtCOLOR_L_F;  extern T_VT_FUNCTION_STRUCT t_vtsCOLOR_L_F; ;	    




# 45 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/evt.h" 1
  
  
  
  
  
  
  
  
  
  
  

# 1 "/uhe0/schaefer/csl/csuf_h/std.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
# 200 "/uhe0/schaefer/csl/csuf_h/std.h"




# 13 "/uhe0/schaefer/csl/tstrobe/evt.h" 2

# 1 "/uhe0/schaefer/csl/tstrobe/strobe.h" 1
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  



# 327 "/uhe0/schaefer/csl/tstrobe/strobe.h"

# 14 "/uhe0/schaefer/csl/tstrobe/evt.h" 2




typedef enum
  {
    EVT_TOKEN_TABLE_OVERFLOW = -3, 
    EVT_NULL_VALUE_TYPE = -2, 
    EVT_SYNTAX_ERROR    = -1, 
    EVT_REDUCE_ERROR    =  1
  } EVT_ERROR;

typedef enum 
  {
    EVT_LITERAL = 1, EVT_ATOM, EVT_DECIMAL, EVT_HEX, EVT_OCTAL, EVT_FLOAT, 
    EVT_BEGIN_LIST, EVT_END_LIST, EVT_BEGIN_AGGREGATE, EVT_END_AGGREGATE,
    EVT_ADDRESS, EVT_BOOLEAN, EVT_NULL
  } EVT_TOKEN_TYPE;

typedef struct 
          {
            EVT_TOKEN_TYPE     type;
            T_DATUM            value;
          } EVT_TABLE_ENTRY;

 extern EVT_TABLE_ENTRY *evt_CurrentToken;
 extern EVT_TABLE_ENTRY *evt_TokenTableTop;
 extern BOOLEAN          evt_ForwardRefFlag;

 extern CHARACTER        evt_ErrorMsg[];

extern T_DATUM evt_Convert();
extern void evt_ReportReduceError();
extern BOOLEAN evt_ApplyScan();



























extern void evt_TokenToString();
extern void evt_InitScanHandlers();
# 46 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2




# 1 "/uhe0/schaefer/csl/tsutil/tee_atoms.atom_h" 1





















































































































































































































































































































































































































































































































































 extern STRING tee_atoms_atoms [176];


# 50 "/uhe0/schaefer/csl/tsutil/tee_sys.h" 2
























typedef	struct
	{
	    T_OBJECT	obj;
	    T_ATOM	slot;
	    T_ATOM	facet;
	}	TEE_TMP_ARG_LIST_STRUCT, *TEE_TMP_ARG_LIST;

typedef	struct
	{
	    T_OBJECT	obj;
	    T_ATOM	slot;
	    T_ATOM	facet;
            T_VALUE_TYPE *value_type;
            T_DATUM     *value;
            BOOLEAN     *no_value;
	}	TEE_TMP_ARG_LIST2_STRUCT,*TEE_TMP_ARG_LIST2;





























































                                



























































































 extern T_ATOM_L tee_DynamicGroups;
 extern T_KB tee_SystemKb;
 extern BOOLEAN tee_DebugTrace;
 extern UTL_HEAP tee_Editee_Heap;
 extern UTL_HEAP tee_SlotInit_Heap;
 extern UTL_HEAP tee_TeeValue_Heap;
 extern UTL_HEAP tee_DwtCallback_Heap;
 extern UTL_HEAP tee_EWData_Heap;
 extern UTL_HEAP tee_CallbackParam_Heap;
 extern T_DATUM_L tee_xxxTempList;
 extern T_DATUM_L tee_yyyTempList;
 extern TEE_HEAP_DESC_STRUCT tee_HeapDescTable[];








BOOLEAN tee_Initialize();

INTEGER tee_ExcHandler();
INTEGER tee_ExcNullHandler();
void tee_Trace();

T_OBJECT_TYPE tee_ToObjectType(T_ATOM);
BOOLEAN tee_StringMatch(STRING,STRING,CHARACTER);
T_OBJECT_L tee_AtomListToObjectList(T_ATOM_L);
T_ATOM_L tee_ObjectListToAtomList(T_OBJECT_L);

BOOLEAN tee_MetaEditeeEqual(TEE_META_EDITEE,TEE_META_EDITEE);
TEE_META_EDITEE tee_MetaEditeeCopy(TEE_META_EDITEE);
void tee_MetaEditeeDelete(TEE_META_EDITEE);

TEE_EDITEE tee_CreateEditee();
TEE_EDITEE tee_DumpEditee(TEE_EDITEE);

T_OBJECT tee_ObjectHandle(T_KB,T_ATOM,BOOLEAN);
BOOLEAN tee_SlotP(T_KB,T_OBJECT,T_ATOM,BOOLEAN,BOOLEAN);
T_ATOM tee_FacetP(T_KB,T_OBJECT,T_ATOM,T_ATOM,BOOLEAN);

T_OBJECT tee_Parameters(T_OBJECT);
BOOLEAN tee_DeveloperMode(T_OBJECT);
BOOLEAN tee_DebuggerP();
T_ATOM_L tee_CollectAttrHandles_Util(T_OBJECT,T_OBJECT,T_ATOM);
T_ATOM tee_AddAttr_Util(T_OBJECT,T_OBJECT,T_OBJECT,TEE_EDITEE);
T_ATOM tee_AddSlot_Util(T_OBJECT,TEE_EDITEE,T_ATOM);
T_ATOM tee_AddFacet_Util(T_OBJECT,T_ATOM,TEE_EDITEE,T_ATOM);

void tee_SeekAndDestroy(T_OBJECT);
T_OBJECT tee_ValidateObject(T_OBJECT);
T_OBJECT tee_PopUpEditor(T_OBJECT,TEE_EDITEE,T_OBJECT);
T_OBJECT tee_PopUpDefaultTopLevelEditor(T_OBJECT);
T_OBJECT tee_PopUpDefaultKbEditor(T_KB,T_OBJECT);
T_OBJECT tee_PopUpDefaultGroupEditor(T_KB,T_ATOM_L,T_OBJECT);
T_OBJECT tee_PopUpDefaultObjectEditor(T_KB,T_OBJECT,T_OBJECT);
T_OBJECT tee_PopUpDefaultParameterEditor(T_KB,T_OBJECT,T_OBJECT);
T_OBJECT tee_PopUpDefaultSlotEditor(T_KB,T_OBJECT,T_ATOM,T_OBJECT);
T_OBJECT tee_PopUpDefaultListEditor(T_KB,T_OBJECT,T_ATOM,T_ATOM,
                                    T_DATUM_L,T_VALUE_TYPE,T_OBJECT);
T_OBJECT tee_PopUpDefaultGenGraphEditor(T_KB,T_OBJECT,T_ATOM_L,T_OBJECT);
T_OBJECT tee_PopUpDefaultSpecGraphEditor(T_KB,T_OBJECT,T_ATOM_L,T_OBJECT);
T_OBJECT tee_PopUpDefaultCompGraphEditor(T_KB,T_OBJECT,T_ATOM,T_ATOM,T_OBJECT);
T_OBJECT tee_InquireDefaultListEditor(T_KB,T_OBJECT,T_ATOM,T_ATOM,
                                      T_DATUM_L,T_VALUE_TYPE,
                                      T_DATUM_L *,T_OBJECT);

T_OBJECT tee_PopUpDefaultPixmapEditor(EXTERNAL_PIXMAP*, T_OBJECT);
BOOLEAN  tee_InquireDefaultPixmapEditor(EXTERNAL_PIXMAP*, EXTERNAL_PIXMAP**, T_OBJECT);

T_DATUM tee_KOFetchObject(T_OBJECT,STRING,BOOLEAN);
T_DATUM tee_FetchObject(T_OBJECT,STRING,BOOLEAN,T_OBJECT_L);
T_DATUM tee_FetchValueType(T_OBJECT,STRING,BOOLEAN,T_DATUM_L);
T_DATUM tee_FetchGroup(T_OBJECT,STRING,BOOLEAN,T_ATOM_L);
T_DATUM tee_FetchAtom(T_OBJECT,STRING,BOOLEAN,T_ATOM_L);
T_DATUM tee_FetchGeneralization(T_OBJECT,STRING,BOOLEAN,T_OBJECT_L);
T_DATUM tee_FetchSpecialization(T_OBJECT,STRING,BOOLEAN,T_OBJECT_L);
STRING tee_FetchText(T_OBJECT,STRING);
STRING tee_FetchFilename(T_OBJECT,STRING,STRING,STRING,STRING,BOOLEAN);

BOOLEAN tee_BinaryChoice(T_OBJECT,T_ATOM,T_ATOM);
BOOLEAN tee_YesNo(T_OBJECT,STRING);
BOOLEAN tee_ContinueCancel(T_OBJECT,STRING);

T_DATUM tee_SelectItem(T_OBJECT,T_DATUM_L,T_VALUE_TYPE,STRING,BOOLEAN);

BOOLEAN tee_IsSubClassP(T_OBJECT,T_ATOM);
T_OBJECT_TYPE tee_ObjectType(T_OBJECT);
BOOLEAN tee_ObjectTypeP(T_OBJECT,T_OBJECT_TYPE);

T_VALUE_TYPE tee_StringToValueType(STRING);

T_ATOM_L tee_ListAtomsP(STRING);

INTEGER tee_ValueTypeCompareFn(T_VALUE_TYPE *,T_VALUE_TYPE *);
T_OBJECT_L tee_WellKnownDatatypes(T_KB);
T_DATUM_L tee_ListValueTypes(STRING);
T_DATUM_L tee_ListValueTypesP(STRING);
T_DATUM_L tee_WellKnownValueTypes();
T_VALUE_TYPE tee_DetermineValueType(T_OBJECT,T_OBJECT,T_ATOM,
                                    T_ATOM,T_OBJECT,T_VALUE_TYPE *); 

BOOLEAN tee_EvalExpr(T_OBJECT,STRING,T_DATUM *,T_VALUE_TYPE,BOOLEAN);
void tee_ReportEvtError(T_OBJECT,EVT_ERROR,STRING,STRING,T_VALUE_TYPE);

TEE_SLOT_INIT tee_CreateSlotInit(T_ATOM,T_DATUM,T_VALUE_TYPE);

BOOLEAN tee_ListEqual(T_DATUM_L,T_DATUM_L,BOOLEAN);
T_DATUM_L tee_Unique(T_DATUM_L);
T_DATUM_L tee_Intersect(T_DATUM_L,T_DATUM_L);
T_DATUM_L tee_Union(T_DATUM_L,T_DATUM_L);

TEE_VALUE tee_PackTEE_VALUE(T_DATUM,T_VALUE_TYPE);
T_DATUM tee_UnpackTEE_VALUE(TEE_VALUE,T_VALUE_TYPE *);
TEE_VALUE tee_CreateTEE_VALUE(T_DATUM,T_VALUE_TYPE);

T_DATUM tee_GetTEE_VALUEP(T_OBJECT,T_ATOM,T_VALUE_TYPE *);

T_DATUM tee_GetP(T_OBJECT,T_ATOM,T_VALUE_TYPE *);
T_DATUM tee_FGetP(T_OBJECT,T_ATOM,T_ATOM,T_VALUE_TYPE *);

T_DATUM tee_FetchDialogComp(T_OBJECT,T_ATOM);
T_DATUM tee_FetchDialogCompResult(T_OBJECT,T_ATOM,T_VALUE_TYPE *);
T_OBJECT tee_FetchDialogSibling(T_OBJECT,T_ATOM);
T_OBJECT tee_FetchDialog(T_OBJECT,T_ATOM);



void tee_MarkComplexAsDeletable(T_OBJECT);

STRING tee_GetCompString(DwtCompString,STRING);



Widget tee_CreateTextPBWidget();



void tee_Message(T_OBJECT,STRING);
TksCautionReturn tee_Caution(T_OBJECT,STRING,STRING,STRING,STRING,STRING,STRING);
BOOLEAN tee_WaitingCursor(T_OBJECT);
BOOLEAN tee_NormalCursor(T_OBJECT);
DwtFontList tee_QueryFontList(Widget,T_ATOM);
Position tee_GetWidgetXPosition(Widget);
Position tee_GetWidgetYPosition(Widget);
Dimension tee_GetWidgetWidth(Widget);
Dimension tee_GetWidgetHeight(Widget);
void tee_GetWidgetWidthHeight(Widget,Dimension *,Dimension *);
void tee_GetWidgetXYPosition(Widget,Position *,Position *);
void tee_SetWidgetXYLabel(Widget,Position,Position,DwtCompString);
void tee_DeactivatePB(Widget);
void tee_ActivatePB(Widget);



BOOLEAN tee_MessagePComponent(T_OBJECT,T_ATOM,T_ATOM,T_VALUE_TYPE*,T_DATUM*,BOOLEAN*);
T_DATUM tee_MessageComponent(T_OBJECT, T_ATOM, T_ATOM);



T_DATUM tee_PrintByValueType(T_DATUM *,T_VALUE_TYPE,STRING); 
BOOLEAN tee_ValueTypeToString(STRING,T_DATUM,T_VALUE_TYPE,INTEGER);



T_OBJECT tee_ComponentADD_InterD(T_OBJECT,T_ATOM,T_ATOM,T_OBJECT,BOOLEAN);
T_OBJECT tee_ComponentREMOVE_InterD(T_OBJECT,T_ATOM,T_ATOM,T_OBJECT);


# 543 "/uhe0/schaefer/csl/tsutil/tee_sys.h"




# 29 "/uhe0/schaefer/csl/tsutil/tee_widget.c" 2











Widget tee_ParentShell(ShellInstance)
T_OBJECT ShellInstance;
  {
    Widget Wgt = 0;
    T_OBJECT WInstance = t_Message(ShellInstance,                    tee_atoms_atoms [157],qVALUE);

    if(WInstance == ShellInstance) 
      { 
        T_OBJECT EInstance = 
          tee_GetP(t_Message(ShellInstance,                    tee_atoms_atoms [153],qVALUE),                          tee_atoms_atoms [150],0);
           
        WInstance = tee_GetP(EInstance,                    tee_atoms_atoms [157],0);
      }

    if(WInstance)
      Wgt = tee_GetP(WInstance,t_StaticBindAtom("ShellWidget"),0);

    return(Wgt);
  }

SHORT tee_Nx_Shell (ShellInstance,Slot,Facet,Editee,ParentInstance)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt = tee_GetP(ParentInstance,t_StaticBindAtom("ShellWidget"),0);
    Position PosX;

    if(!Wgt)
      Wgt = tee_ParentShell(ShellInstance);
      
    if (Wgt)
      {
        TksGetWidgetVal(Wgt,	 	"x",&PosX);
        PosX += 20;
      }
    else
      PosX = 200;

    return(PosX);
  }
  
SHORT tee_Ny_Shell (ShellInstance,Slot,Facet,Editee,ParentInstance)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt = tee_GetP(ParentInstance,t_StaticBindAtom("ShellWidget"),0);
    Position PosY;

    if(!Wgt)
      Wgt = tee_ParentShell(ShellInstance);

    if (Wgt)
      {
        TksGetWidgetVal(Wgt,		"y",&PosY);
        PosY += 20;
      }
    else
      PosY = 200;

    return(PosY);
  }
  
BOOLEAN tee_RefInitialize_Widget(WgtInstance,Slot,Facet,Editee)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_EDITEE Editee;
  {
    t_Message(WgtInstance,         tee_atoms_atoms [139],qVALUE,Editee,0);

    if((BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("RefetchReset"),qVALUE))
      return(t_Message(WgtInstance,                          op_datum_dictionary_atoms [1081],qVALUE));
    else 
      return(    1);
  }

BOOLEAN tee_ReuseInitialize_Widget(WgtInstance,Slot,Facet,Editee,SlotInitList)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_EDITEE Editee;
TEE_SLOT_INIT_L SlotInitList;
  {
    t_Message(WgtInstance,t_StaticBindAtom("ReuseInitializeSlots"),qVALUE,
              Editee,SlotInitList);

    if((BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("ReuseReset"),qVALUE))
      return(t_Message(WgtInstance,                          op_datum_dictionary_atoms [1081],qVALUE));
    else 
      return(    1);
  }

T_ATOM tee_NiconName_Shell(ShellInstance,Slot,Facet,Editee,EditorInstance)
T_OBJECT ShellInstance;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT EditorInstance;
  {
    return(t_Message(ShellInstance,t_StaticBindAtom("Ntitle"),Facet,Editee,EditorInstance));
  }

LONG tee_ParentWidget_ApplShell(ShellInstance,Slot,Facet,
                                Editee,ParentInstance)
T_OBJECT ShellInstance;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt;
    Arg Args[20];
    INTEGER ArgsC = 0;
    Position DPosition[2];

    if(Wgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE))
      return(Wgt);

    t_Message(ShellInstance,t_StaticBindAtom("ShellWidgetResources"),qVALUE,
              Args,&ArgsC);

    Wgt = XtAppCreateShell( "TEE Application Shell",
                            "TEE Application Shell",
                             applicationShellWidgetClass,
                             TKS_DISPLAY,
                             Args,
                             ArgsC);

    t_PutValue(ShellInstance,t_StaticBindAtom("ShellWidget"),Wgt);

    return(Wgt);
  }

LONG tee_ParentWidget_PopupShell(ShellInstance,Slot,Facet,
                                 Editee,ParentInstance)
T_OBJECT ShellInstance;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt, ParentWgt = tee_GetP(ParentInstance,                         tee_atoms_atoms [169],0);
    Arg Args[20];
    INTEGER ArgsC = 0;
    Position DPosition[2];

    if(Wgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE))
      return(Wgt);

    if(!ParentWgt)
      ParentWgt = tee_GetP(t_Message(ShellInstance,                    tee_atoms_atoms [157],qVALUE),                         tee_atoms_atoms [169],0);

    if(!ParentWgt)
      {

        if(tee_DeveloperMode(ShellInstance))
          printf("TEE-E-NOPARENT, No parent widget for shell object \"%s\"\n",
                 ((ShellInstance)->name)                       );

        return(0);
      }

    t_Message(ShellInstance,t_StaticBindAtom("ShellWidgetResources"),qVALUE,
              Args,&ArgsC);

    Wgt = XtCreatePopupShell( "TEE Popup Shell",
                              transientShellWidgetClass,
                              ParentWgt,
                              Args,
                              ArgsC);

    t_PutValue(ShellInstance,t_StaticBindAtom("ShellWidget"),Wgt);

    return(Wgt);
  }

BOOLEAN tee_PreOpenManage_Shell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    return(t_Message(ShellInstance,t_StaticBindAtom("PostInstantiateManage"),qVALUE));
  }
  
BOOLEAN tee_Open_Shell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    Widget ShellWgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE);
    TEE_EDITEE Editee = t_Message(ShellInstance,                    tee_atoms_atoms [152],qVALUE);
    T_OBJECT ParentInstance = t_Message(ShellInstance,                          tee_atoms_atoms [150],qVALUE);

    t_Message(ShellInstance,t_StaticBindAtom("OpenResources"),qVALUE);

    t_Message(ShellInstance,t_StaticBindAtom("ShellOpenResources"),qVALUE);

    tee_MetaEditeeDelete((TEE_META_EDITEE)Editee);

    
    if(ShellWgt)
      {
        t_Message(ShellInstance,t_StaticBindAtom("PreOpenManage"),qVALUE);
        XtRealizeWidget(ShellWgt);
        (XtDisplay(ShellWgt) && XtWindow(ShellWgt) ? (XMapWindow(XtDisplay(ShellWgt), XtWindow(ShellWgt)),     1) :    0);
        t_Message(ShellInstance,                          tee_atoms_atoms [132],qVALUE);
      }

    return(    1);
  }

BOOLEAN tee_Open_PopupShell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    Widget ShellWgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE);
    TEE_EDITEE Editee = t_Message(ShellInstance,                    tee_atoms_atoms [152],qVALUE);
    T_OBJECT ParentInstance = t_Message(ShellInstance,                          tee_atoms_atoms [150],qVALUE);

    t_Message(ShellInstance,t_StaticBindAtom("ShellOpenResources"),qVALUE);

    tee_MetaEditeeDelete((TEE_META_EDITEE)Editee);

    t_Message(ShellInstance,t_StaticBindAtom("PreOpenManage"),qVALUE);

    return(t_Message(ShellInstance,t_StaticBindAtom("Popup"),qVALUE));
  }

BOOLEAN tee_Open_Popup(PopupInstance,Slot,Facet)
T_OBJECT PopupInstance;
T_ATOM Slot, Facet;
  {
    t_Message(PopupInstance,t_StaticBindAtom("PreOpenManage"),qVALUE);

    return(t_Message(PopupInstance,t_StaticBindAtom("Popup"),qVALUE));
  }

BOOLEAN tee_Close_Popup(PopupInstance,Slot,Facet)
T_OBJECT PopupInstance;
T_ATOM Slot, Facet;
  {
    return(t_Message(PopupInstance,t_StaticBindAtom("Popdown"),qVALUE));
  }

BOOLEAN tee_Close_Shell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    Widget ShellWgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE);

    

    if(ShellWgt)
      (XtDisplay(ShellWgt) && XtWindow(ShellWgt) ? (XUnmapWindow(XtDisplay(ShellWgt), XtWindow(ShellWgt)),     1) :    0);
            
    return(    1);
  }

BOOLEAN tee_Close_PopupShell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    return(t_Message(ShellInstance,t_StaticBindAtom("Popdown"),qVALUE));
  }






 static XtGrabKind tee_BindGrabKind(Kind)
T_ATOM Kind;
  {
    if(Kind ==         t_StaticBindAtom("GrabNone"))
      return(XtGrabNone);
    else if(Kind == t_StaticBindAtom("GrabNonexclusive"))
      return(XtGrabNonexclusive);
    else if(Kind ==    t_StaticBindAtom("GrabExclusive"))
      return(XtGrabExclusive);

    return(XtGrabNonexclusive);
  }
  
BOOLEAN tee_Popup_PopupShell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    Widget ShellWgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE);

    if(ShellWgt)
      {
        XtPopup(ShellWgt,
                tee_BindGrabKind(t_Message(ShellInstance,        t_StaticBindAtom("GrabKind"),qVALUE)));
      }
                  
    return(    1);
  }

BOOLEAN tee_Popdown_PopupShell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    Widget ShellWgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE);

    if(ShellWgt)
      XtPopdown(ShellWgt);
            
    return(    1);
  }

BOOLEAN tee_Popup_Popup(PopupInstance,Slot,Facet)
T_OBJECT PopupInstance;
T_ATOM Slot, Facet;
  {
    Widget PopupWgt = t_Message(PopupInstance,                         tee_atoms_atoms [169],qVALUE);

    if(PopupWgt)
      XtManageChild(PopupWgt);
            
    return(    1);
  }

BOOLEAN tee_Popdown_Popup(PopupInstance,Slot,Facet)
T_OBJECT PopupInstance;
T_ATOM Slot, Facet;
  {
    Widget PopupWgt = t_Message(PopupInstance,                         tee_atoms_atoms [169],qVALUE);

    if(PopupWgt)
      XtUnmanageChild(PopupWgt);
            
    return(    1);
  }

BOOLEAN tee_Raise_Shell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot,Facet;
  {
    Widget Wgt = t_Message(ShellInstance,                         tee_atoms_atoms [169],qVALUE);

    XRaiseWindow(XtDisplay(Wgt),XtWindow(Wgt));

    return(    1);
  }

BOOLEAN tee_Delete_Shell(ShellInstance,Slot,Facet,Dynamic,Sender)
T_OBJECT ShellInstance;
T_ATOM Slot,Facet;
BOOLEAN Dynamic;
T_OBJECT Sender;
  {
    OVM_EVENT ExitEvent;
    Widget Wgt = 0;
    BOOLEAN DontDelete = t_Message(ShellInstance,                     tee_atoms_atoms [35],qVALUE);
    
    t_Message(ShellInstance,t_StaticBindAtom("Close"),qVALUE);

    if(!DontDelete)
      {
        if(Dynamic)
          t_Message(ShellInstance,                 tee_atoms_atoms [59],                         tee_atoms_atoms [28],Sender);
      }
      
    if(t_Message(ShellInstance,t_StaticBindAtom("ExitEvent"),t_StaticBindAtom("NOTIFY")))
      {
        			ovm_dismiss(); 
      }

    if(!DontDelete)  
      t_Message(ShellInstance,                  tee_atoms_atoms [145],                         tee_atoms_atoms [28],Sender);

    t_Message(ShellInstance,t_StaticBindAtom("DynamicClassMember"),t_StaticBindAtom("REQUEST"),
              0,                         tee_atoms_atoms [141],Sender);

    t_Message(ShellInstance,t_StaticBindAtom("StaticClassMember"),t_StaticBindAtom("REQUEST"),
              0,                         tee_atoms_atoms [141],Sender);

    if(DontDelete)
      t_PutValue(ShellInstance,t_StaticBindAtom("InUse"),   0);
    else
      {
        if(Wgt = t_Message(ShellInstance,t_StaticBindAtom("ShellWidget"),qVALUE))
          {
            XtDestroyWidget(Wgt);
            t_PutValue(ShellInstance,t_StaticBindAtom("ShellWidget"),0);
            t_PutValue(ShellInstance,                         tee_atoms_atoms [169],0);
          }
        else
          t_Message(ShellInstance,                         tee_atoms_atoms [169],                         tee_atoms_atoms [28]);

        (t_GroupMember(ShellInstance,tee_DynamicGroups) ? (t_DeleteObject(ShellInstance,   0),    1) :    0);
      }
      
    return(!DontDelete);
  }

BOOLEAN tee_Delete_Popup(PopupInstance,Slot,Facet,Dynamic,Sender)
T_OBJECT PopupInstance;
T_ATOM Slot,Facet;
BOOLEAN Dynamic;
T_OBJECT Sender;
  {
    OVM_EVENT ExitEvent;
    Widget Wgt = 0;
    BOOLEAN DontDelete = t_Message(PopupInstance,                     tee_atoms_atoms [35],qVALUE);
    
    t_Message(PopupInstance,t_StaticBindAtom("Close"),qVALUE);

    if(!DontDelete)
      {
        if(Dynamic)
          t_Message(PopupInstance,                 tee_atoms_atoms [59],                         tee_atoms_atoms [28],Sender);
      }
      
    if(t_Message(PopupInstance,t_StaticBindAtom("ExitEvent"),t_StaticBindAtom("NOTIFY")))
      {
        			ovm_dismiss(); 
      }

    if(!DontDelete)  
      t_Message(PopupInstance,                  tee_atoms_atoms [145],                         tee_atoms_atoms [28],Sender);

    t_Message(PopupInstance,t_StaticBindAtom("DynamicClassMember"),t_StaticBindAtom("REQUEST"),
              0,                         tee_atoms_atoms [141],Sender);

    t_Message(PopupInstance,t_StaticBindAtom("StaticClassMember"),t_StaticBindAtom("REQUEST"),
              0,                         tee_atoms_atoms [141],Sender);

    if(DontDelete)
      t_PutValue(PopupInstance,t_StaticBindAtom("InUse"),   0);
    else
      {
        if(Wgt = t_Message(PopupInstance,                         tee_atoms_atoms [169],qVALUE))
          {
            XtDestroyWidget(Wgt);
            t_PutValue(PopupInstance,                         tee_atoms_atoms [169],0);
          }
        else
          t_Message(PopupInstance,                         tee_atoms_atoms [169],                         tee_atoms_atoms [28]);

        (t_GroupMember(PopupInstance,tee_DynamicGroups) ? (t_DeleteObject(PopupInstance,   0),    1) :    0);
      }
      
    return(!DontDelete);
  }

TEE_VALUE tee_Result_WgtCompD(DialogInstance,Slot,Facet)
T_OBJECT DialogInstance;
T_ATOM Slot,Facet;
  {
    T_OBJECT WgtInstance = t_Message(DialogInstance,Slot,qVALUE);

    return(WgtInstance ? 
	(T_OBJECT) t_Message(WgtInstance,Facet,qVALUE) : 
	(T_OBJECT) 0);
  }
  
T_OBJECT tee_WgtCompADD_WgtCompD(ParentInstance,Slot,Facet,Component,Dynamic)
T_OBJECT ParentInstance;
T_ATOM Slot;
T_ATOM Facet;
T_OBJECT Component;
BOOLEAN Dynamic;
  {
    Widget Wgt = t_Message(Component,                         tee_atoms_atoms [169],qVALUE);
    T_OBJECT WindowInstance = tee_GetP(ParentInstance,                  tee_atoms_atoms [158],0);
    Position Pos[2];
    Dimension Dims[2];

    
    if(WindowInstance && t_SysGetSlot(   ((T_KB) (((running_process)->proc_a_user_strobe))), (WindowInstance), (                    tee_atoms_atoms [30]), (   0), !(   0)))
      {
        t_Message(Component,                       tee_atoms_atoms [127],qVALUE,&Pos);
    
        t_Message(Component,t_StaticBindAtom("Dimensions"),qVALUE,&Dims);
    
        return(t_Message(WindowInstance,                    tee_atoms_atoms [30],                            tee_atoms_atoms [1],
                         Component,0,Pos,Dims));
      }
    else
      return(Component);
  }
  
BOOLEAN tee_PostInstManage_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    T_OBJECT Comp;
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);
    T_OBJECT_L Components = t_Message(WgtInstance,                     tee_atoms_atoms [22],qVALUE);

    if(!Wgt)
      return(   0);

    if(t_Message(WgtInstance,t_StaticBindAtom("ManageAfterCreate"),qVALUE))
      XtManageChild(Wgt);
    
    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_OBJECT    *avail;	  T_OBJECT    elements[1];  }	*T_LTYPE_T_OBJECT; register T_LTYPE_T_OBJECT for_each_list; register T_OBJECT *for_each_i; register T_OBJECT *for_each_last; if ( for_each_list = (T_LTYPE_T_OBJECT)(  Components) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    Comp = * for_each_i;
      t_Message(Comp,Slot,qVALUE);
    }  t_DeleteList(for_each_list); }  } 

    return(    1);
  }

void tee_EarlySlotInit(Instance,Slot,SlotInitList)
T_OBJECT Instance;
T_ATOM Slot;
TEE_SLOT_INIT_L SlotInitList;
  {
    TEE_SLOT_INIT SlotInit;

    
    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  TEE_SLOT_INIT    *avail;	  TEE_SLOT_INIT    elements[1];  }	*T_LTYPE_TEE_SLOT_INIT; register T_LTYPE_TEE_SLOT_INIT for_each_list; register TEE_SLOT_INIT *for_each_i; register TEE_SLOT_INIT *for_each_last; if ( for_each_list = (T_LTYPE_TEE_SLOT_INIT)(  SlotInitList) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    SlotInit = * for_each_i;
      if(!Slot || (Slot == SlotInit->Slot))
        t_PutValueAndType(Instance,
                          SlotInit->Slot,
                          SlotInit->Value->ValueType,
                          SlotInit->Value->Value);
    }  }  } 
  }

T_OBJECT tee_Instantiate_Widget(DialogClass,Slot,Facet,
                                Editee,EditorInstance,ParentInstance,
                                SlotInitList,Dynamic)
T_OBJECT DialogClass;
T_ATOM Slot, Facet;
TEE_EDITEE Editee;
T_OBJECT EditorInstance,ParentInstance;
TEE_SLOT_INIT_L SlotInitList; 
BOOLEAN Dynamic;
  {
    T_OBJECT MatchedInstance;
    T_OBJECT DialogInstance;

    if(DialogInstance = 
       MatchedInstance = t_Message(DialogClass,                          tee_atoms_atoms [102],qVALUE,Editee,0))
      {
        t_PutValue(MatchedInstance,t_StaticBindAtom("InUse"),    1);
      }
    else 
      {
        DialogInstance = t_Message(DialogClass,                         op_datum_dictionary_atoms [251],qVALUE);
      }

    if(Dynamic)
      {
        tee_EarlySlotInit(DialogInstance,t_StaticBindAtom("DynamicClassMember"),SlotInitList);
        t_Message(DialogInstance,t_StaticBindAtom("DynamicClassMember"),t_StaticBindAtom("REQUEST"),
                  ParentInstance,t_StaticBindAtom("LINK"),Dynamic);
      }
    else
      {
        tee_EarlySlotInit(DialogInstance,t_StaticBindAtom("StaticClassMember"),SlotInitList);
        t_Message(DialogInstance,t_StaticBindAtom("StaticClassMember"),t_StaticBindAtom("REQUEST"),
                  ParentInstance,t_StaticBindAtom("LINK"),Dynamic);
      }

    if(MatchedInstance)
      { 
        
        t_Message(MatchedInstance,t_StaticBindAtom("ReuseInitialize"),qVALUE,
                  Editee,SlotInitList);
      }
    else
      {
        
        t_Message(DialogInstance,                     tee_atoms_atoms [82],qVALUE,Editee,SlotInitList);

        t_Message(DialogInstance,                         tee_atoms_atoms [169],                         tee_atoms_atoms [25],Editee,ParentInstance);

        
        t_Message(DialogInstance,          tee_atoms_atoms [90],qVALUE,
                  Editee,EditorInstance,DialogClass);
      }
            
    if(Dynamic)
      t_Message(DialogInstance,t_StaticBindAtom("DynamicClassMember"),t_StaticBindAtom("REQUEST"),
                ParentInstance,t_StaticBindAtom("ADD"),Dynamic);
    else
      t_Message(DialogInstance,t_StaticBindAtom("StaticClassMember"),t_StaticBindAtom("REQUEST"),
                ParentInstance,t_StaticBindAtom("ADD"),Dynamic);
  
    return(DialogInstance);
  }

BOOLEAN tee_Lock_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE); 
    
    if (Wgt)
      TksSetWidgetVal(Wgt,	"sensitive",    1);
      
    return(Wgt ?     1 :    0);
  }
  
BOOLEAN tee_Unlock_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE); 
    
    if (Wgt)
      TksSetWidgetVal(Wgt,	"sensitive",    1);
      
    return(Wgt ?     1 :    0);
  }
  
T_OBJECT tee_CreatePopupAndWait_Shell(ShellClass,Slot,Facet,
                                      Editee,EditorInstance,SlotInitList)
T_OBJECT ShellClass;
T_ATOM Slot, Facet;
TEE_EDITEE Editee;
T_OBJECT EditorInstance;
TEE_SLOT_INIT_L SlotInitList;
  {
    T_OBJECT ShellInstance = 
       t_Message(ShellClass,                    op_datum_dictionary_atoms [634],qVALUE,Editee,
                 EditorInstance,EditorInstance,SlotInitList,    1);

    return(t_Message(ShellInstance,t_StaticBindAtom("PopupAndWait"),qVALUE));
  }

T_OBJECT tee_PopupAndWait_Shell(ShellInstance,Slot,Facet)
T_OBJECT ShellInstance;
T_ATOM Slot, Facet;
  {
    BOOLEAN Ok =    0;
    OVM_EVENT ExitEvent;

    if (t_Message(ShellInstance,t_StaticBindAtom("ExitEvent"),qVALUE))
      {
        tee_Message(ShellInstance,"Agent is currently in use.");
        return(0);
      }
            
    ExitEvent = t_Message(ShellInstance,t_StaticBindAtom("ExitEvent"),t_StaticBindAtom("CREATE"));

    t_PutValue(ShellInstance,t_StaticBindAtom("Void"),    1);
    t_Message(ShellInstance,t_StaticBindAtom("Open"),qVALUE);

    
    		ovm_await_event(ExitEvent,-1)    ;

    if(tee_ValidateObject(ShellInstance)) 
      Ok = !t_Message(ShellInstance,t_StaticBindAtom("Void"),qVALUE);
    else
      Ok =    0;
      
    return(Ok ? ShellInstance : 0);
  }

LONG tee_WidgetCREATE_Widget(WgtInstance,Slot,Facet,
                             Editee,ParentInstance)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt = 0; 
    Widget ParentWgt =
      t_Message(WgtInstance,t_StaticBindAtom("ParentWidget"),qVALUE,Editee,ParentInstance); 
    T_ATOM WidgetCreateFnAtom = t_Message(WgtInstance,           tee_atoms_atoms [170],qVALUE);
    T_FUNCTION_ID WidgetCreateFnID = t_FunctionLookUp(WidgetCreateFnAtom); 
    FUNCTION WidgetCreateFn = WidgetCreateFnID ? 
                                (WidgetCreateFnID)->location : 0;
    Arg Args[100];
    INTEGER ArgsC = 0;
    
    t_Message(WgtInstance,                tee_atoms_atoms [171],qVALUE,Args,&ArgsC);

    if(WidgetCreateFn)
      Wgt = (*WidgetCreateFn)(ParentWgt,WidgetCreateFnAtom,Args,ArgsC);


    else
      printf("TEE-E-NOCREFUNC, WidgetCreateFunction \"%s\" is not bound.\n",
             WidgetCreateFnAtom);


    t_PutValue(WgtInstance,                         tee_atoms_atoms [169],Wgt);

    return(Wgt);
  }

LONG tee_ParentWidget_Widget(WgtInstance,Slot,Facet,
                             Editee,ParentInstance)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT ParentInstance;
  {
    Widget Wgt = 0;

    if(ParentInstance)
       Wgt = tee_FindAParentWidget(ParentInstance,"TEE Temporary Application Shell");
               

    if(!Wgt)
      {
        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-NOPARENT, Unable to find a parent widget for widget object \"%s\"\n",
                 ((WgtInstance)->name)                       );
      }


    return(Wgt);
  }
  
BOOLEAN tee_WidgetDELETE_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if(Wgt) 
      XtDestroyWidget(Wgt);
    
    t_PutValue(WgtInstance,                         tee_atoms_atoms [169],0);

    return(    1);
  }

BOOLEAN tee_Delete_Widget(DialogInstance,Slot,Facet,Dynamic,Sender)
T_OBJECT DialogInstance;
T_ATOM Slot, Facet;
BOOLEAN Dynamic;
T_OBJECT Sender; 
  {
    OVM_EVENT ExitEvent;
    BOOLEAN DontDelete = t_Message(DialogInstance,                     tee_atoms_atoms [35],qVALUE);

    if(!DontDelete)
      {
        if(Dynamic)
          t_Message(DialogInstance,                 tee_atoms_atoms [59],                         tee_atoms_atoms [28],Sender);
    
        t_Message(DialogInstance,                  tee_atoms_atoms [145],                         tee_atoms_atoms [28],Sender);
      }
      
    t_Message(DialogInstance,t_StaticBindAtom("DynamicClassMember"),t_StaticBindAtom("REQUEST"),
              0,t_StaticBindAtom("REMOVE"),Dynamic);

    t_Message(DialogInstance,t_StaticBindAtom("StaticClassMember"),t_StaticBindAtom("REQUEST"),
              0,t_StaticBindAtom("REMOVE"),Dynamic);

    if(DontDelete)
      t_PutValue(DialogInstance,t_StaticBindAtom("InUse"),   0);
    else
      {
        t_Message(DialogInstance,                         tee_atoms_atoms [169],                         tee_atoms_atoms [28]);
        (t_GroupMember(DialogInstance,tee_DynamicGroups) ? (t_DeleteObject(DialogInstance,   0),    1) :    0);
      }
      
    return(!DontDelete);
  }

BOOLEAN tee_Position_Widget(WgtInstance,Slot,Facet,Pos)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Position Pos[];
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if(Wgt)
      {
        tee_GetWidgetXYPosition(Wgt,&Pos[0],&Pos[1]);

        return(    1);
      }
    else
      {
        Pos[0] = 0;
        Pos[1] = 0;

        return(   0);
      }
  }

BOOLEAN tee_Dimensions_Widget(WgtInstance,Slot,Facet,Dims)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Dimension Dims[];
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if (Wgt)
      {
        tee_GetWidgetWidthHeight(Wgt,&Dims[0],&Dims[1]);

        return(    1);
      }
    else
      {
        Dims[0] = 0;
        Dims[1] = 0;

        return(   0);
      }
  }

BOOLEAN tee_SetPosition_Widget(WgtInstance,Slot,Facet,Pos)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Position Pos[];
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if(Wgt)
      {
        tee_SetWidgetXYPosition(Wgt,Pos[0],Pos[1]);
 
        return(    1);
      }

    return(   0);
  }

BOOLEAN tee_SetDimensions_Widget(WgtInstance,Slot,Facet,Dims)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Dimension Dims[];
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if (Wgt)
      {
        tee_SetWidgetWidthHeight(Wgt,Dims[0],Dims[1]);

        return(    1);
      }

    return(   0);
  }

BOOLEAN tee_Map_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if(Wgt)
      XtSetMappedWhenManaged(Wgt,    1);
    else 
      return(   0);

    return(    1);
  }

BOOLEAN tee_Unmap_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
  {
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    if(Wgt)
      XtSetMappedWhenManaged(Wgt,   0);
    else 
      return(   0);

    return(    1);
  }

BOOLEAN tee_Redisplay_Widget(WgtInstance,Slot,Facet,Pos,Dims)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
Position Pos[];
Dimension Dims[];
  {
    TEE_EDITEE Editee = 0;
    Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);

    




    if (!Pos) return(   0);

    t_Message(WgtInstance,              tee_atoms_atoms [134],qVALUE,Editee,Pos);

    if(Wgt) 
      {    
        Arg Args[2];

        ( (Args[0]).name = (	 	"x"), (Args[0]).value = (XtArgVal)(Pos[0]) );
        ( (Args[1]).name = (		"y"), (Args[1]).value = (XtArgVal)(Pos[1]) );

        XtSetValues (Wgt,Args,2);

        Dims[0] = tee_GetWidgetWidth(Wgt);
        Dims[1] = tee_GetWidgetHeight(Wgt);
      }

    if(Editee) 
      utl_free_block(Editee);

    return(    1);
  }

BOOLEAN tee_Reposition_Widget(WgtInstance,Slot,Facet,Pos,Dims)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
Position Pos[];
Dimension Dims[];
  {
     Widget Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE);
                  
     if(Wgt)
       {
         TEE_EDITEE Editee = t_Message(WgtInstance,                         tee_atoms_atoms [64],qVALUE);
         Position InternalPos[2];

         t_Message(WgtInstance,t_StaticBindAtom("RedisplayPosition"),qVALUE,
                   Editee,InternalPos);

         tee_MetaEditeeDelete((TEE_META_EDITEE)Editee);

         tee_SetWidgetXYPosition(Wgt,InternalPos[0],InternalPos[1]);

         if(Dims)
           tee_GetWidgetWidthHeight(Wgt,&Dims[0],&Dims[1]);
         if(Pos)
           {
             Pos[0] = InternalPos[0];
             Pos[1] = InternalPos[1];
           }

         return(    1);
       }
     else
       return(   0);
  }
  
LONG tee_RedisplayPos_Widget(WgtInstance,Slot,Facet,
                                 Editee,Pos)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_EDITEE Editee;
Position Pos[];
  {
    T_OBJECT EWInstance = t_Message(WgtInstance,                  tee_atoms_atoms [158],qVALUE);
    LONG Indent = t_Message(WgtInstance,                         tee_atoms_atoms [81],qVALUE,Editee);
    TEE_EWDATA EWData;

    




    if (!Pos) return(   0);

    EWData = tee_GetP(EWInstance,t_StaticBindAtom("EditorWindowData"),0);

    if(EWData)
      {
        Pos[0] = Indent;
        Pos[1] = EWData->ExtentY + 2;
        t_FreeByValueType(&EWData,t_vtTEE_EWDATA);
      }

    return(Pos);
  }

 static T_OBJECT tee_ExcResTransWgtInstance = 0; 
 static T_ATOM tee_ExcResTransName = 0; 
 static T_FUNCTION_ID tee_ExcResTransFuncId = 0; 

INTEGER tee_ExcResTrans(sigargs, mechargs)	long *sigargs, *mechargs;	{	INTEGER exc_code = *(sigargs + 1);	if (exc_code == 0) {


  if(tee_DeveloperMode(tee_ExcResTransWgtInstance))
    {
       printf("TEE-E-EXCEPTION, Exception during widget resource translation.\n");
       printf("Widget object = \"%s\"\n",
              ((tee_ExcResTransWgtInstance)->name)                       );
       printf("Resource name = \"%s\"\n",
              tee_ExcResTransName ? tee_ExcResTransName : "<unknown>");
       printf("Function name = \"%s\"\n",
              tee_ExcResTransFuncId && tee_ExcResTransFuncId->name ?
                tee_ExcResTransFuncId->name : "<unknown>");
    }


  tee_ExcHandler(sigargs,mechargs);

}	return(   -3);	}

T_DATUM tee_RemapResource(WgtInstance,ParentWgt,Res,ResTranslators)
T_OBJECT WgtInstance;
Widget ParentWgt;
TEE_DWT_ARG Res;
TEE_DWT_ARG_L ResTranslators;
  {
      register TEE_DWT_ARG ResTrans;
      register T_ATOM ResName = Res->Name;

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  ResTranslators) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    ResTrans = * for_each_i;
      if(ResName == ResTrans->Name)
        {
          if (ResTrans->Arg->Value &&  ((ResTrans->Arg->ValueType) && ((ResTrans->Arg->ValueType)->class == T_CLASS_FUNCTION) ?     1 :    0))
            {
              FUNCTION Func;
	      T_DATUM func_result;
                   
              Func = ((T_FUNCTION_ID)ResTrans->Arg->Value)->location;

              if(Func)
                {
                  tee_ExcResTransWgtInstance = WgtInstance; 
                  tee_ExcResTransName = ResTrans->Name; 
                  tee_ExcResTransFuncId = ResTrans->Arg->Value; 

                  {	INTEGER tee_ExcResTrans();	INTEGER env;	INTEGER level;	env = exc_push_ctxt(tee_ExcResTrans, &level);	if (setjmp(env) == 0) {

                  
                  func_result = (T_DATUM)((*Func)(WgtInstance,ParentWgt,Res));

                  }	exc_pop_ctxt(level);	}
		  return(func_result);
                }
             }
        }
    }  }  } 

    return(Res->Arg->Value);
                
  }
  
 static T_OBJECT tee_ExcInvResTransWgtInstance = 0; 
 static T_ATOM tee_ExcInvResTransName = 0; 
 static T_FUNCTION_ID tee_ExcInvResTransFuncId = 0; 

INTEGER tee_ExcInvResTrans(sigargs, mechargs)	long *sigargs, *mechargs;	{	INTEGER exc_code = *(sigargs + 1);	if (exc_code == 0) {


  if(tee_DeveloperMode(tee_ExcInvResTransWgtInstance))
    {
       printf("TEE-E-EXCEPTION, Exception during inverse widget resource translation.\n");
       printf("Widget object = \"%s\"\n",
              ((tee_ExcInvResTransWgtInstance)->name)                       );
       printf("Resource name = \"%s\"\n",
              tee_ExcInvResTransName ? tee_ExcInvResTransName : "<unknown>");
       printf("Function name = \"%s\"\n",
              tee_ExcInvResTransFuncId && tee_ExcInvResTransFuncId->name ?
                tee_ExcInvResTransFuncId->name : "<unknown>");
    }


  tee_ExcHandler(sigargs,mechargs);

}	return(   -3);	}

T_DATUM tee_InvRemapResource(WgtInstance,Wgt,RscValue,Res,ResTranslators)
T_OBJECT WgtInstance;
Widget Wgt;
T_DATUM RscValue;
TEE_DWT_ARG Res;
TEE_DWT_ARG_L ResTranslators;
  {
      register TEE_DWT_ARG ResTrans;
      register T_ATOM ResName = Res->Name;

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  ResTranslators) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    ResTrans = * for_each_i;
      if(ResName == ResTrans->Name)
        {
          if (ResTrans->Arg->Value &&  ((ResTrans->Arg->ValueType) && ((ResTrans->Arg->ValueType)->class == T_CLASS_FUNCTION) ?     1 :    0))
            {
	      T_DATUM func_result;
              FUNCTION Func;
                   
              Func = ((T_FUNCTION_ID)ResTrans->Arg->Value)->location;

              if(Func)
                {
                  tee_ExcInvResTransWgtInstance = WgtInstance; 
                  tee_ExcInvResTransName = ResTrans->Name; 
                  tee_ExcInvResTransFuncId = ResTrans->Arg->Value; 

                  {	INTEGER tee_ExcInvResTrans();	INTEGER env;	INTEGER level;	env = exc_push_ctxt(tee_ExcInvResTrans, &level);	if (setjmp(env) == 0) {

                  
	          func_result = (T_DATUM)(*Func)(WgtInstance,Wgt,RscValue,Res);

                  }	exc_pop_ctxt(level);	}

                  return(func_result);
                }
             }
        }
    }  }  } 

    Res->Arg->Value = RscValue;

    return(Res->Arg->Value);
  }
  


TEE_DWT_ARG_L tee_GatherResources_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
  {
    TEE_EDITEE Editee = t_Message(WgtInstance,                    tee_atoms_atoms [152],qVALUE);
    T_OBJECT ParentInstance = t_Message(WgtInstance,                          tee_atoms_atoms [150],qVALUE);
    TEE_DWT_ARG Res;
    TEE_DWT_ARG_L ConstRes =  
      t_Message(WgtInstance,
        Slot ==                 tee_atoms_atoms [171] ? 
          (T_ATOM)        tee_atoms_atoms [172] :
          (T_ATOM) t_BindAtom(utl_combine(Slot,"Constants",0)),qVALUE);
    T_VALUE_TYPE VarResType;
    T_DATUM_L VarRes = 
      tee_GetP(WgtInstance,
        Slot ==                 tee_atoms_atoms [171] ? 
          (T_ATOM)        tee_atoms_atoms [173] :
          (T_ATOM) t_BindAtom(utl_combine(Slot,"Variables",0)),&VarResType);
    TEE_DWT_ARG_L ResultResources = t_CreateList(t_vtTEE_DWT_ARG_L,
                             t_LengthList(ConstRes) + t_LengthList(VarRes) + 1);

    ResultResources = t_Append(ResultResources,ConstRes);

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  VarRes) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    Res = * for_each_i;
      {
        T_ATOM Name;
        T_DATUM Value;
        T_VALUE_TYPE ValueType;
        BOOLEAN NoV;
        BOOLEAN Ok =    0;

        if(!Res) continue;

        if(VarResType == t_vtATOM_L)
          {
            Name = (T_ATOM) Res;

            Ok = t_MessageP(WgtInstance,Name,qVALUE,&ValueType,&Value,&NoV,
                            Editee,ParentInstance);
          }
        else if(VarResType == t_vtTEE_DWT_ARG_L)
          {
            Name = Res->Name;

            if(!(Res->Arg)) 
              {
                Ok = t_MessageP(WgtInstance,Name,qVALUE,&ValueType,&Value,&NoV,
                                Editee,ParentInstance);
              }
            else if(Res->Arg->ValueType == t_vtATOM)
              {
                if(Res->Arg->Value) 
                  Ok = t_MessageP(WgtInstance,Res->Arg->Value,qVALUE,&ValueType,&Value,&NoV,
                                  Editee,ParentInstance);
                else 
                  Ok = t_MessageP(WgtInstance,Name,qVALUE,&ValueType,&Value,&NoV,
                                  Editee,ParentInstance);
              }
            else if (Res->Arg->Value &&  ((Res->Arg->ValueType) && ((Res->Arg->ValueType)->class == T_CLASS_FUNCTION) ?     1 :    0))
              {
                FUNCTION Func;
                   
                Func = ((T_FUNCTION_ID)Res->Arg->Value)->location;

                if(Func)
                  {
                    Ok =     1;
                    
                    ValueType = ((T_VT_FUNCTION) Res->Arg->ValueType)->component;
                    Value = (*Func)(WgtInstance,Name,qVALUE,
                                    Editee,ParentInstance);
                  }

                else
                  {
                    if(tee_DeveloperMode(WgtInstance))
                      printf("TEE-E-NOTBOUND, Function on \"%s\" resource variable is not bound.",Name);
                  }

              }
          }

        if(Ok) 
          {
            TEE_DWT_ARG FoundRes = 0, FindRes;
            
            { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  ResultResources) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    FindRes = * for_each_i;
              if(FindRes->Name == Name)
                {
                  FoundRes = FindRes;
                  break;
                }
            }  }  } 

            if(FoundRes) 
              {
                t_FreeByValueType(&FoundRes->Arg->Value,FoundRes->Arg->ValueType);
                FoundRes->Arg->Value = Value;
                FoundRes->Arg->ValueType = ValueType;
              }
            else 
              {
                TEE_DWT_ARG SaveArg = utl_calloc_block(sizeof(TEE_DWT_ARG_STRUCT));
            
                SaveArg->Name = Name;
                SaveArg->Arg = tee_PackTEE_VALUE(Value,ValueType);

                ResultResources = t_AddToList(ResultResources,SaveArg);
              }
          }

        else
          {
            if(tee_DeveloperMode(WgtInstance))
                printf("TEE-E-BADRES, There is a bad \"%s\" resource variable.",Name);
          }

      }
    }  }  } 

    t_DeleteList(ConstRes);
    t_DeleteList(VarRes);

    return(ResultResources);
  }
    
Widget tee_FindWidget(WgtInstance,ShellResources)
T_OBJECT WgtInstance;
BOOLEAN ShellResources;
  {
    Widget ParentWgt;

    
    if(ShellResources)
      ParentWgt = (Widget) t_Message(WgtInstance,t_StaticBindAtom("ShellWidget"),qVALUE);
    else
      {
        Widget TempWgt;

        if(TempWgt = (Widget)t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE))
          ParentWgt = TempWgt;
        else
          {
            TEE_EDITEE Editee = t_Message(WgtInstance,                    tee_atoms_atoms [152],qVALUE);
            T_OBJECT ParentInstance = t_Message(WgtInstance,                          tee_atoms_atoms [150],qVALUE);
          
            ParentWgt = (Widget)t_Message(WgtInstance,t_StaticBindAtom("ParentWidget"),
                                          qVALUE,Editee,ParentInstance);
          }
      }

    return(ParentWgt);
  }
      
T_DATUM tee_TransResource(WgtInstance,Slot,Facet,
                          Name,Value,ValueType,Args,ArgsC,ShellResources)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM Value;
T_VALUE_TYPE ValueType;
Arg *Args;
INTEGER *ArgsC;
BOOLEAN ShellResources;
  {
    T_DATUM TempVal;
    TEE_VALUE Temp;
    TEE_DWT_ARG_STRUCT Res;
    TEE_VALUE_STRUCT TempArg;
    TEE_DWT_ARG_L ResTranslators = 
                    ShellResources ? 
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,t_StaticBindAtom("ShellResourceTranslators"),qVALUE) :
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,            tee_atoms_atoms [143],qVALUE);
    Widget ParentWgt = tee_FindWidget(WgtInstance,ShellResources);

    Res.Name = Name;
    Res.Arg = &TempArg;
    TempArg.Value = Value;
    TempArg.ValueType = ValueType;
    
    TempVal = tee_RemapResource(WgtInstance,ParentWgt,&Res,ResTranslators);

    
    t_Message(WgtInstance,                    tee_atoms_atoms [168],                            tee_atoms_atoms [1],
              Temp = tee_CreateTEE_VALUE(Value,ValueType));

    t_FreeByValueType(&Temp,t_vtVALUE );
    
    if(Args && ArgsC)
      {
        ( (Args[*ArgsC]).name = ((((char *)(Name))+1) ), (Args[*ArgsC]).value = (XtArgVal)(TempVal) ); (*ArgsC)++;
      }

    return(TempVal);
  }
  
T_DATUM tee_InvTransResource(WgtInstance,Slot,Facet,
                             Name,
                             RscValue,
                             Value,ValueType,
                             ShellResources)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM RscValue;
T_DATUM *Value;
T_VALUE_TYPE *ValueType;
BOOLEAN ShellResources;
  {
    T_DATUM TempVal;
    TEE_DWT_ARG_STRUCT Res;
    TEE_VALUE_STRUCT TempArg;
    TEE_DWT_ARG_L ResTranslators = 
                    ShellResources ? 
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,t_StaticBindAtom("InverseShellResourceTranslators"),qVALUE) :
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,t_StaticBindAtom("InverseResourceTranslators"),qVALUE);
    Widget Wgt = tee_GetP(WgtInstance,                         tee_atoms_atoms [169],0);

    Res.Name = Name;
    Res.Arg = &TempArg;
    TempVal = tee_InvRemapResource(WgtInstance,Wgt,RscValue,&Res,ResTranslators);

    if(Value)
      *Value = TempArg.Value;

    if(ValueType)
      *ValueType = TempArg.ValueType;
          
    return(TempVal);
  }
  
T_DATUM tee_TransResource_Widget(WgtInstance,Slot,Facet,
                                 Name,Value,ValueType,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM Value;
T_VALUE_TYPE ValueType;
Arg *Args;
INTEGER *ArgsC;
  {
    return(tee_TransResource(WgtInstance,Slot,Facet,
                             Name,Value,ValueType,Args,ArgsC,   0));
  }

T_DATUM tee_TransShellResource_Widget(WgtInstance,Slot,Facet,
                                      Name,Value,ValueType,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM Value;
T_VALUE_TYPE ValueType;
Arg *Args;
INTEGER *ArgsC;
  {
    return(tee_TransResource(WgtInstance,Slot,Facet,
                             Name,Value,ValueType,Args,ArgsC,   0));
  }

T_DATUM tee_InvTransResource_Widget(WgtInstance,Slot,Facet,
                                     Name,RscValue,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM RscValue;
T_DATUM *Value;
T_VALUE_TYPE *ValueType;
  {
    return(tee_InvTransResource(WgtInstance,Slot,Facet,
                                Name,RscValue,Value,ValueType,   0));
  }

T_DATUM tee_InvTransShellRes_Widget(WgtInstance,Slot,Facet,
                                    Name,RscValue,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM RscValue;
T_DATUM *Value;
T_VALUE_TYPE *ValueType;
  {
    return(tee_InvTransResource(WgtInstance,Slot,Facet,
                                Name,RscValue,Value,ValueType,   0));
  }

BOOLEAN tee_TransResources(WgtInstance,Slot,Facet,
                           Resources,Args,ArgsC,ShellResources)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_DWT_ARG_L Resources;
Arg *Args;
INTEGER *ArgsC;
BOOLEAN ShellResources;
  {
    TEE_DWT_ARG Res;
    TEE_DWT_ARG_L ResTranslators = 
                    ShellResources ? 
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,t_StaticBindAtom("ShellResourceTranslators"),qVALUE) :
                      (TEE_DWT_ARG_L)t_Message(WgtInstance,            tee_atoms_atoms [143],qVALUE);
    TEE_VALUE_L Wastebasket = 0; 
    Widget ParentWgt = tee_FindWidget(WgtInstance,ShellResources);

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  Resources) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    Res = * for_each_i;
      {
        T_DATUM TempVal;
        
        TempVal = tee_RemapResource(WgtInstance,ParentWgt,Res,ResTranslators);
        ( (Args[*ArgsC]).name = ((((char *)(Res->Name))+1) ), (Args[*ArgsC]).value = (XtArgVal)(TempVal) ); (*ArgsC)++;

        if(!Wastebasket)
          Wastebasket = t_CreateList(t_vtVALUE_L ,t_LengthList(Resources)); 

        Wastebasket = t_AddToList(Wastebasket,Res->Arg);
      }
    }  }  } 

    t_Message(WgtInstance,                    tee_atoms_atoms [168],                         op_datum_dictionary_atoms [43],Wastebasket);

    t_DeleteList(Wastebasket);

    return(    1);
  }

BOOLEAN tee_TransResources_Widget(WgtInstance,Slot,Facet,
                                  Resources,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_DWT_ARG_L Resources;
Arg *Args;
INTEGER *ArgsC;
  {
    return(tee_TransResources(WgtInstance,Slot,Facet,
                              Resources,Args,ArgsC,
                                 0));
  }

BOOLEAN tee_TransShellResources_Widget(WgtInstance,Slot,Facet,
                                       Resources,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_DWT_ARG_L Resources;
Arg *Args;
INTEGER *ArgsC;
  {
    return(tee_TransResources(WgtInstance,Slot,Facet,
                              Resources,Args,ArgsC,
                                  1));
  }

BOOLEAN tee_GatherTransRes_Widget(WgtInstance,Slot,Facet,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Arg *Args;
INTEGER *ArgsC;
  {
    BOOLEAN Ok =    0;
    TEE_DWT_ARG_L Resources;

    if(Resources =  
         tee_GatherResources_Widget(WgtInstance,Slot,Facet))
      {
        Ok = (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("TranslateResources"),qVALUE,
                                 Resources,Args,ArgsC);
        t_DeleteList(Resources);
      }

    return(Ok);
  }
  
BOOLEAN tee_GatherTransShellRes_Widget(WgtInstance,Slot,Facet,Args,ArgsC)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
Arg *Args;
INTEGER *ArgsC;
  {
    BOOLEAN Ok =    0;
    TEE_DWT_ARG_L Resources;

    if(Resources =  
         tee_GatherResources_Widget(WgtInstance,Slot,Facet))
      {
        Ok = (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("TranslateShellResources"),qVALUE,
                                Resources,Args,ArgsC);
        t_DeleteList(Resources);
      }

    return(Ok);
  }
  
 static T_OBJECT tee_ExcPutRessWgtInstance = 0; 

INTEGER tee_ExcPutRess(sigargs, mechargs)	long *sigargs, *mechargs;	{	INTEGER exc_code = *(sigargs + 1);	if (exc_code == 0) {


  if(tee_DeveloperMode(tee_ExcPutRessWgtInstance))
    {
       printf("TEE-E-EXCEPTION, Exception during widget XtSetValues() call.\n");
       printf("Widget object = \"%s\"\n",
              ((tee_ExcPutRessWgtInstance)->name)                       );
    }


  tee_ExcHandler(sigargs,mechargs);

}	return(   -3);	}

BOOLEAN tee_PutResources_Widget(WgtInstance,Slot,Facet,Resources)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_DWT_ARG_L Resources;
  {
    Arg Args[100];
    INTEGER ArgsC = 0;
    Widget Wgt;

    if((Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE)) && 
       (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("TranslateResources"),qVALUE,
                          Resources,Args,&ArgsC))
      {
        tee_ExcPutRessWgtInstance = WgtInstance; 

        {	INTEGER tee_ExcPutRess();	INTEGER env;	INTEGER level;	env = exc_push_ctxt(tee_ExcPutRess, &level);	if (setjmp(env) == 0) {
        
        XtSetValues(Wgt,Args,ArgsC);

        }	exc_pop_ctxt(level);	}
      }
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTPUT, Can't put resources for object \"%s\"\n",
                 ((WgtInstance)->name)                       );

        return(   0);
      }

    return(    1);
  }

 static T_OBJECT tee_ExcPutResWgtInstance = 0; 
 static T_ATOM tee_ExcPutResName = 0; 

INTEGER tee_ExcPutRes(sigargs, mechargs)	long *sigargs, *mechargs;	{	INTEGER exc_code = *(sigargs + 1);	if (exc_code == 0) {


  if(tee_DeveloperMode(tee_ExcPutResWgtInstance))
    {
       printf("TEE-E-EXCEPTION, Exception during widget XtSetValues() call.\n");
       printf("Widget object = \"%s\"\n",
              ((tee_ExcPutResWgtInstance)->name)                       );
       printf("Resource name = \"%s\"\n",
              tee_ExcPutResName ? tee_ExcPutResName : "<unknown>");
    }


  tee_ExcHandler(sigargs,mechargs);

}	return(   -3);	}

BOOLEAN tee_PutResource_Widget(WgtInstance,Slot,Facet,Name,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM Value;
T_VALUE_TYPE ValueType;
  {
    Arg Args[2];
    INTEGER ArgsC = 0;
    Widget Wgt;

    if(Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE))
      { 
        t_Message(WgtInstance,t_StaticBindAtom("TranslateResource"),qVALUE,
                  Name,Value,ValueType,Args,&ArgsC);
 
        tee_ExcPutResWgtInstance = WgtInstance; 
        tee_ExcPutResName = Name; 

        {	INTEGER tee_ExcPutRes();	INTEGER env;	INTEGER level;	env = exc_push_ctxt(tee_ExcPutRes, &level);	if (setjmp(env) == 0) {
        
        XtSetValues(Wgt,Args,ArgsC);

        }	exc_pop_ctxt(level);	}
      }
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTPUT, Can't put resource \"%s\". No widget for object \"%s\"\n",
                 Name ? Name : "<no name>", ((WgtInstance)->name)                       );

        return(   0);
      }
      
    return(    1);
  }

T_DATUM tee_GetResource_Widget(WgtInstance,Slot,Facet,Name,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM *Value;
T_VALUE_TYPE *ValueType;
  {
    Arg Args[2];
    INTEGER ArgsC = 0;
    Widget Wgt;
    T_DATUM RscValue = 0;

    if(Wgt = t_Message(WgtInstance,                         tee_atoms_atoms [169],qVALUE))
      { 
        ( (Args[0]).name = ((((char *)(Name))+1) ), (Args[0]).value = (XtArgVal)(&RscValue) ); ArgsC++;
        XtGetValues(Wgt,Args,ArgsC);
        return(t_Message(WgtInstance,t_StaticBindAtom("InverseTranslateResource"),qVALUE,
                         Name,RscValue,Value,ValueType));
      }
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTGET, Can't get resource \"%s\". No widget for object \"%s\"\n",
                 Name ? Name : "<no name>", ((WgtInstance)->name)                       );

        return(0);
      }
  }

T_DATUM tee_GetShellResource_Widget(WgtInstance,Slot,Facet,Name,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM *Value;
T_VALUE_TYPE *ValueType;
  {
    Arg Args[2];
    INTEGER ArgsC = 0;
    Widget Wgt;
    T_DATUM RscValue = 0;

    if(Wgt = t_Message(WgtInstance,t_StaticBindAtom("ShellWidget"),qVALUE))
      { 
        ( (Args[0]).name = ((((char *)(Name))+1) ), (Args[0]).value = (XtArgVal)(&RscValue) ); ArgsC++;
        XtGetValues(Wgt,Args,ArgsC);
        return(t_Message(WgtInstance,t_StaticBindAtom("InverseTranslateShellResource"),qVALUE,
                         Name,RscValue,Value,ValueType));
      }
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTGET, Can't get shell resource \"%s\". No shell widget for object \"%s\"\n",
                 Name ? Name : "<no name>", ((WgtInstance)->name)                       );

        return(0);
      }
  }

BOOLEAN tee_PutShellResources_Widget(WgtInstance,Slot,Facet,Resources)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
TEE_DWT_ARG_L Resources;
  {
    Arg Args[100];
    INTEGER ArgsC = 0;
    Widget Wgt;

    if((Wgt = t_Message(WgtInstance,t_StaticBindAtom("ShellWidget"),qVALUE)) && 
       (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("TranslateShellResources"),qVALUE,
                          Resources,Args,&ArgsC))
      XtSetValues(Wgt,Args,ArgsC);
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTPUT, Can't put resources for shell object \"%s\"\n",
                 ((WgtInstance)->name)                       );

        return(   0);
      }

    return(    1);
  }

BOOLEAN tee_PutShellResource_Widget(WgtInstance,Slot,Facet,Name,Value,ValueType)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
T_ATOM Name;
T_DATUM Value;
T_VALUE_TYPE ValueType;
  {
    Arg Args[2];
    INTEGER ArgsC = 0;
    Widget Wgt;

    if(Wgt = t_Message(WgtInstance,t_StaticBindAtom("ShellWidget"),qVALUE))
      { 
        t_Message(WgtInstance,t_StaticBindAtom("TranslateShellResource"),qVALUE,
                  Name,Value,ValueType,Args,&ArgsC);
        XtSetValues(Wgt,Args,ArgsC);
      }
    else
      {

        if(tee_DeveloperMode(WgtInstance))
          printf("TEE-E-CANTPUT, Can't put resource \"%s\". No shell widget for object \"%s\"\n",
                 Name ? Name : "<no name>", ((WgtInstance)->name)                       );

        return(   0);
      }

    return(    1);
  }

BOOLEAN tee_ApplyResources_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
  {
    BOOLEAN Ok =    0;
    TEE_DWT_ARG_L Resources;

    if(Resources = tee_GatherResources_Widget(WgtInstance,Slot,Facet))
      Ok = (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("PutResources"),qVALUE,Resources);
         
    t_DeleteList(Resources);


    if(!Ok && tee_DeveloperMode(WgtInstance))
      printf("TEE-E-CANTAPPLY, Can't apply resources for object \"%s\"\n",
             ((WgtInstance)->name)                       );


    return(Ok);
  }

BOOLEAN tee_ApplyShellResources_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot;
T_ATOM Facet;
  {
    BOOLEAN Ok =    0;
    TEE_DWT_ARG_L Resources;

    if(Resources = tee_GatherResources_Widget(WgtInstance,Slot,Facet))
      Ok = (BOOLEAN)t_Message(WgtInstance,t_StaticBindAtom("PutShellResources"),qVALUE,Resources);
         
    t_DeleteList(Resources);


    if(!Ok && tee_DeveloperMode(WgtInstance))
      printf("TEE-E-CANTAPPLY, Can't apply shell resources for object \"%s\"\n",
             ((WgtInstance)->name)                       );


    return(Ok);
  }

BOOLEAN tee_Reset_Widget(WgtInstance,Slot,Facet)
T_OBJECT WgtInstance;
T_ATOM Slot,Facet;
  {
    BOOLEAN Ok =     1;
    T_OBJECT_L Comps = t_Message(WgtInstance,                     tee_atoms_atoms [22],qVALUE);
    T_OBJECT Comp;
    TEE_EDITEE Editee = t_Message(WgtInstance,                    tee_atoms_atoms [152],qVALUE);
    T_OBJECT ParentInstance = t_Message(WgtInstance,                          tee_atoms_atoms [150],qVALUE);

    t_Message(WgtInstance,t_StaticBindAtom("ResetInitializeSlots"),qVALUE,Editee,0);
    t_Message(WgtInstance,t_StaticBindAtom("ResetResources"),qVALUE);

    tee_MetaEditeeDelete((TEE_META_EDITEE)Editee);
    
    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_OBJECT    *avail;	  T_OBJECT    elements[1];  }	*T_LTYPE_T_OBJECT; register T_LTYPE_T_OBJECT for_each_list; register T_OBJECT *for_each_i; register T_OBJECT *for_each_last; if ( for_each_list = (T_LTYPE_T_OBJECT)(  Comps) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    Comp = * for_each_i;
      if(!t_Message(Comp,Slot,qVALUE))
        Ok =    0;
    }  t_DeleteList(for_each_list); }  } 
    
    return(Ok);
  }
  
T_OBJECT tee_Preview_Shell(Shell,Slot,Facet,Editee,
                           EditorInstance,SlotInitList)
T_OBJECT Shell;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT EditorInstance;
TEE_SLOT_INIT_L SlotInitList;
  {
    T_OBJECT ShellInstance;
    TEE_EDITEE NewEditee;
    TEE_SLOT_INIT_L NewSlotInitList;

    NewEditee = t_Message(Shell,t_StaticBindAtom("PreviewEditee"),qVALUE,Editee,EditorInstance);
    NewSlotInitList = t_Message(Shell,t_StaticBindAtom("PreviewSlotInitializationList"),
                                qVALUE,NewEditee,EditorInstance,SlotInitList);

    ShellInstance = 
       t_Message(Shell,                    op_datum_dictionary_atoms [634],qVALUE,NewEditee,
                 EditorInstance,EditorInstance,NewSlotInitList,    1);

    if(ShellInstance)
      t_Message(ShellInstance,                           tee_atoms_atoms [121],qVALUE);

    tee_MetaEditeeDelete((TEE_META_EDITEE)NewEditee);    
    t_DeleteList(NewSlotInitList);

    return(ShellInstance);
  }
  
T_OBJECT tee_Preview_Widget(WgtClass,Slot,Facet,Editee,
                            EditorInstance,SlotInitList)
T_OBJECT WgtClass;
T_ATOM Slot,Facet;
TEE_EDITEE Editee;
T_OBJECT EditorInstance;
TEE_SLOT_INIT_L SlotInitList;
  {
    T_OBJECT PrevDialogInst = 0;
    T_OBJECT PrevDialog = t_Message(WgtClass,t_StaticBindAtom("PreviewDialogClass"),qVALUE);

    if(PrevDialog)
      {
        T_OBJECT PrevDialogTemp,WgtClassTemp;
        T_OBJECT_L TempComps;
        T_ATOM_L TempList;
        
        
        
        PrevDialogTemp = 
          t_CreateObject(
            t_CreateObjectName(
              t_BindAtom(
                utl_combine("preview-for-",((WgtClass)->name)                       ,0)),   0), 
            	0,
            PrevDialog,
            TempList = t_List(t_vtATOM_L,1,t_StaticBindAtom("PreviewDialogs")));
        
        t_PutValue(PrevDialogTemp,t_StaticBindAtom("TemporaryClass"),    1);

        WgtClassTemp = 
          t_CreateObject(
            t_CreateObjectName(
              t_BindAtom(
                utl_combine("preview-",((WgtClass)->name)                       ,0)),   0), 
            	0,
            WgtClass,
            TempList = t_List(t_vtATOM_L,1,t_StaticBindAtom("PreviewWidgets")));
        t_DeleteList(TempList);

        if(t_Message(PrevDialog,t_StaticBindAtom("PreviewWidgetModifyStaticClassMember"),qVALUE))
          {
            
            t_PutValue(WgtClassTemp,t_StaticBindAtom("StaticClassMember"),
                TempList = t_Message(PrevDialog,
                                   t_StaticBindAtom("PreviewWidgetStaticClassMember"),qVALUE));
            t_DeleteList(TempList);
          }
          
        
        t_PutValue(PrevDialogTemp,t_StaticBindAtom("PreviewWidgetClass"),WgtClassTemp);

        PrevDialogInst = t_Message(PrevDialogTemp,Slot,Facet,Editee,EditorInstance,
                                   SlotInitList);
        t_DeleteList(SlotInitList);
      }
    else
      tee_Message(EditorInstance,"There is no preview dialog.");

    return(PrevDialogInst);
  }
  
T_ATOM_L tee_ResVarListCAND_Widget (Obj,Slot,Facet,Degree,
                                    UserObject,UserSlot,UserFacet,UserGroups)
T_OBJECT Obj;
T_ATOM Slot, Facet;
INTEGER Degree;
T_OBJECT UserObject;
T_ATOM UserSlot, UserFacet;
T_ATOM_L UserGroups;
  {
    T_ATOM_L WidgetResVars;
    TEE_DWT_ARG_L WidgetResConsts;
    T_ATOM_L Candidates;
    TEE_DWT_ARG ResConst;
    T_ATOM ResVar;
    T_VALUE_TYPE WgtResVarVT;
    
    

    if(!UserObject || !UserSlot || UserFacet != qVALUE)
      return(0);

    WidgetResVars = (T_ATOM_L)tee_GetP(UserObject,
                                       t_StaticBindAtom("WidgetResourcesVariables"),
                                       &WgtResVarVT);

    WidgetResConsts = (TEE_DWT_ARG_L)tee_GetP(UserObject,
                                              t_StaticBindAtom("WidgetResourcesConstants"),
                                              0);

    Candidates = 
      t_CreateAtomList(t_LengthList(WidgetResVars) + t_LengthList(WidgetResConsts) +1);

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  WidgetResVars) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    ResVar = * for_each_i;
      if(WgtResVarVT == t_vtATOM_L)
        Candidates = t_AddToList(Candidates,ResVar);
      else if(ResVar && ((TEE_DWT_ARG)ResVar)->Name) 
        Candidates = t_AddToList(Candidates,((TEE_DWT_ARG)ResVar)->Name);
    }  t_DeleteList(for_each_list); }  } 

    { typedef	struct { T_VT_LIST	    type;	 T_LIST_LENGTH   size;	 BYTE flags;		  T_DATUM    *avail;	  T_DATUM    elements[1];  }	*T_LTYPE_T_DATUM; register T_LTYPE_T_DATUM for_each_list; register T_DATUM *for_each_i; register T_DATUM *for_each_last; if ( for_each_list = (T_LTYPE_T_DATUM)(  WidgetResConsts) ) { for_each_last = for_each_list->avail; for (for_each_i = for_each_list->elements;  for_each_i < for_each_last; for_each_i++) {    ResConst = * for_each_i;
      if(ResConst && ResConst->Name)
        Candidates = t_AddToList(Candidates,ResConst->Name);
    }  t_DeleteList(for_each_list); }  } 

    return(Candidates);
  }



BOOLEAN tee_MsgSemantics_XNRscD (Obj,Slot,Facet)
T_OBJECT Obj;
T_ATOM Slot, Facet;
  {
    return(tee_GetP(Obj,                         tee_atoms_atoms [169],0) ?     1 :    0);
  }
  
T_DATUM tee_ResourceGET_XNRscD (Obj,Slot,Facet)
T_OBJECT Obj;
T_ATOM Slot, Facet;
  {
    T_DATUM Value;
    T_VALUE_TYPE ValueType = 0;
    T_ATOM NResName = t_BindAtom((((char *)(Slot)) + 1) );

    if(tee_GetP(Obj,                         tee_atoms_atoms [169],0))
      return(t_Message(Obj,t_StaticBindAtom("GetResource"),qVALUE,
                       NResName,&Value,&ValueType));    
    else
      return(0);
  }
  
T_DATUM tee_ResourcePUT_XNRscD (Obj,Slot,Facet,
                                Value,ValueType,NoV)
T_OBJECT Obj;
T_ATOM Slot, Facet;
T_DATUM Value;
T_VALUE_TYPE ValueType;
BOOLEAN NoV;
  {
    T_ATOM NResName = t_BindAtom((((char *)(Slot)) + 1) );

    
    t_AddRefByValueType(&Value,1,ValueType);

    if(tee_GetP(Obj,                         tee_atoms_atoms [169],0))
      t_Message(Obj,t_StaticBindAtom("PutResource"),qVALUE,
                NResName,Value,ValueType);

    return(Value);    
  }
  


BOOLEAN tee_MsgSemantics_XShellNRscD (Obj,Slot,Facet)
T_OBJECT Obj;
T_ATOM Slot, Facet;
  {
    return(tee_GetP(Obj,t_StaticBindAtom("ShellWidget"),0) ?     1 :    0);
  }
  
T_DATUM tee_ResourceGET_XShellNRscD (Obj,Slot,Facet)
T_OBJECT Obj;
T_ATOM Slot, Facet;
  {
    T_DATUM Value;
    T_VALUE_TYPE ValueType = 0;
    T_ATOM NResName = t_BindAtom((((char *)(Slot)) + 6) );

    if(tee_GetP(Obj,t_StaticBindAtom("ShellWidget"),0))
      return(t_Message(Obj,t_StaticBindAtom("GetShellResource"),qVALUE,
                       NResName,&Value,&ValueType));    
    else
      return(0);
  }
  
T_DATUM tee_ResourcePUT_XShellNRscD (Obj,Slot,Facet,
                                     Value,ValueType,NoV)
T_OBJECT Obj;
T_ATOM Slot, Facet;
T_DATUM Value;
T_VALUE_TYPE ValueType;
BOOLEAN NoV;
  {
    T_ATOM NResName = t_BindAtom((((char *)(Slot)) + 6) );

    
    t_AddRefByValueType(&Value,1,ValueType);

    if(tee_GetP(Obj,                         tee_atoms_atoms [169],0))
      t_Message(Obj,t_StaticBindAtom("PutShellResource"),qVALUE,
                NResName,Value,ValueType);

    return(Value);    
  }
  
BOOLEAN tee_TaskPENDING_Widget(WgtInstance, Slot, Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    INTEGER TaskCount = t_Message(WgtInstance,Slot,qVALUE);

    if(++TaskCount >= 1)
      {
        tee_WaitingCursor(WgtInstance);
        OVM_XFlush();
      }

    t_PutValue(WgtInstance,Slot,TaskCount);

    return(    1);     
  }
  
BOOLEAN tee_TaskCOMPLETE_Widget(WgtInstance, Slot, Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    INTEGER TaskCount = t_Message(WgtInstance,Slot,qVALUE);

    if(--TaskCount <= 0)
      {
        TaskCount = 0;
        tee_NormalCursor(WgtInstance);
        OVM_XFlush();
      }

    t_PutValue(WgtInstance,Slot,TaskCount);

    return(    1);     
  }
  
BOOLEAN tee_TaskPENDINGP_Widget(WgtInstance, Slot, Facet)
T_OBJECT WgtInstance;
T_ATOM Slot, Facet;
  {
    INTEGER TaskCount = t_Message(WgtInstance,Slot,qVALUE);

    return(TaskCount > 0);
  }
  
 static tee_WidgetInit()
  {
    (t_StaticBindFunction("tee_Nx_Shell",tee_Nx_Shell,t_vtSHORT));
    (t_StaticBindFunction("tee_Ny_Shell",tee_Ny_Shell,t_vtSHORT));
    (t_StaticBindFunction("tee_ParentWidget_ApplShell",tee_ParentWidget_ApplShell,t_vtLONG));
    (t_StaticBindFunction("tee_ParentWidget_PopupShell",tee_ParentWidget_PopupShell,t_vtLONG));
    (t_StaticBindFunction("tee_Raise_Shell",tee_Raise_Shell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Close_Shell",tee_Close_Shell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Open_Shell",tee_Open_Shell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Delete_Shell",tee_Delete_Shell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Delete_Popup",tee_Delete_Popup,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Open_Popup",tee_Open_Popup,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Close_Popup",tee_Close_Popup,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Popup_Popup",tee_Popup_Popup,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Popdown_Popup",tee_Popdown_Popup,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Popup_PopupShell",tee_Popup_PopupShell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Popdown_PopupShell",tee_Popdown_PopupShell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Close_PopupShell",tee_Close_PopupShell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Open_PopupShell",tee_Open_PopupShell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_CreatePopupAndWait_Shell",tee_CreatePopupAndWait_Shell,t_vtOBJECT));
    (t_StaticBindFunction("tee_PopupAndWait_Shell",tee_PopupAndWait_Shell,t_vtOBJECT));
    (t_StaticBindFunction("tee_PreOpenManage_Shell",tee_PreOpenManage_Shell,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_NiconName_Shell",tee_NiconName_Shell,t_vtATOM));

    (t_StaticBindFunction("tee_Instantiate_Widget",tee_Instantiate_Widget,t_vtOBJECT));
    (t_StaticBindFunction("tee_RefInitialize_Widget",tee_RefInitialize_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ReuseInitialize_Widget",tee_ReuseInitialize_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Delete_Widget",tee_Delete_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_WidgetCREATE_Widget",tee_WidgetCREATE_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_WidgetDELETE_Widget",tee_WidgetDELETE_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ParentWidget_Widget",tee_ParentWidget_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_Lock_Widget",tee_Lock_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Unlock_Widget",tee_Unlock_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_PostInstManage_Widget",tee_PostInstManage_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Map_Widget",tee_Map_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Unmap_Widget",tee_Unmap_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_RedisplayPos_Widget",tee_RedisplayPos_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_Redisplay_Widget",tee_Redisplay_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Reposition_Widget",tee_Reposition_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Dimensions_Widget",tee_Dimensions_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Position_Widget",tee_Position_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_SetDimensions_Widget",tee_SetDimensions_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_SetPosition_Widget",tee_SetPosition_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Reset_Widget",tee_Reset_Widget,t_vtBOOLEAN));

    (t_StaticBindFunction("tee_PutResources_Widget",tee_PutResources_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_PutShellResources_Widget",tee_PutShellResources_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_TransResources_Widget",tee_TransResources_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_TransShellResources_Widget",tee_TransShellResources_Widget,t_vtBOOLEAN));

    (t_StaticBindFunction("tee_PutResource_Widget",tee_PutResource_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_GetResource_Widget",tee_GetResource_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_PutShellResource_Widget",tee_PutShellResource_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_GetShellResource_Widget",tee_GetShellResource_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_TransResource_Widget",tee_TransResource_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_InvTransResource_Widget",tee_InvTransResource_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_TransShellResource_Widget",tee_TransShellResource_Widget,t_vtLONG));
    (t_StaticBindFunction("tee_InvTransShellRes_Widget",tee_InvTransShellRes_Widget,t_vtLONG));

    (t_StaticBindFunction("tee_GatherResources_Widget",tee_GatherResources_Widget,t_vtTEE_DWT_ARG_L));
    (t_StaticBindFunction("tee_GatherTransRes_Widget",tee_GatherTransRes_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_GatherTransShellRes_Widget",tee_GatherTransShellRes_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ApplyResources_Widget",tee_ApplyResources_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ApplyShellResources_Widget",tee_ApplyShellResources_Widget,t_vtBOOLEAN));

    (t_StaticBindFunction("tee_WgtCompADD_WgtCompD",tee_WgtCompADD_WgtCompD,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_Result_WgtCompD",tee_Result_WgtCompD,t_vtVALUE ));

    (t_StaticBindFunction("tee_Preview_Shell",tee_Preview_Shell,t_vtOBJECT));
    (t_StaticBindFunction("tee_Preview_Widget",tee_Preview_Widget,t_vtOBJECT));

    (t_StaticBindFunction("tee_ResVarListCAND_Widget",tee_ResVarListCAND_Widget,t_vtATOM_L));

    (t_StaticBindFunction("tee_MsgSemantics_XNRscD",tee_MsgSemantics_XNRscD,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ResourcePUT_XNRscD",tee_ResourcePUT_XNRscD,t_vtLONG));
    (t_StaticBindFunction("tee_ResourceGET_XNRscD",tee_ResourceGET_XNRscD,t_vtLONG));

    (t_StaticBindFunction("tee_MsgSemantics_XShellNRscD",tee_MsgSemantics_XShellNRscD,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_ResourcePUT_XShellNRscD",tee_ResourcePUT_XShellNRscD,t_vtLONG));
    (t_StaticBindFunction("tee_ResourceGET_XShellNRscD",tee_ResourceGET_XShellNRscD,t_vtLONG));

    (t_StaticBindFunction("tee_TaskPENDING_Widget",tee_TaskPENDING_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_TaskCOMPLETE_Widget",tee_TaskCOMPLETE_Widget,t_vtBOOLEAN));
    (t_StaticBindFunction("tee_TaskPENDINGP_Widget",tee_TaskPENDINGP_Widget,t_vtBOOLEAN));
  }

ALStruct _tee_WidgetInit102 = {(FUNCTION) tee_WidgetInit, (INTEGER) 102, 0};