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