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};