/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: February 24, 1993 0:05:57 am PST */
/* C2C version: January 29, 1993 (sun4) */
/* ref-counting: off */
/* file: XTkOpsImpl, module: XTkOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3282180165,2618423038] XTkOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static void NoName←Q708();
static void XTkOpsImpl←P0();
static void RegisterNotifierProcOnEvents←P60();
static void CallThisNotifierNow←P120();
static void RegisterCallNotifiersOnEvents←P180();
static void CallRegisteredNotifiersNow←P240();
static void RemoveRegisteredNotifiers←P300();
static void GetWidgetPropStar←P360();
static void TriggerNotify←P420();
static void CanUnregisterNotify←P480();
static void SetupDestruction←P540();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\303\242\030\105\300\234\021\366\376\100\230\000\000"};
static struct {unsigned f; char r[4];} string2 = {131074, "\004\015\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\303\242\030\105\300\234\021\366\376\100\260\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004\007\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\303\242\030\105\300\234\021\366\376\100\324\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\303\242\030\105\300\234\021\366\376\100\200\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\054\174\025\242\300\120\014\117\154\100\150\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\372\252\147\374\300\170\207\127\200\100\150\000\000"};
static struct {
   word f0[7]; word f7; word f8; word f9; 
   word f10; word f11; word f12; word f13; 
   word f14; word f15; word f16; word f17; 
   word f18; word f19; word f20; word f21; 
   word f22; word f23; word f24; word f25; 
   word f26[6]; 
   } globalframe = {
   {0}, (word) SetupDestruction←P540, 0, (word) CanUnregisterNotify←P480, 
   0, (word) TriggerNotify←P420, 0, (word) GetWidgetPropStar←P360, 
   0, (word) RemoveRegisteredNotifiers←P300, 0, (word) CallRegisteredNotifiersNow←P240, 
   0, (word) RegisterCallNotifiersOnEvents←P180, 0, (word) CallThisNotifierNow←P120, 
   0, (word) RegisterNotifierProcOnEvents←P60, 0, (word) XTkOpsImpl←P0, 
   {0}
   };

static void NoName←Q708()
   {
   register ptr gf←c077 =  (ptr) &globalframe;
   word var←c9660;
   (* (( (ptr) gf←c077)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c077)+5) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c077)+6) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string4);
   (void) XR←DeclareGlobalFrame((word) "XTkOpsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string6)), (word) (( (bPt) gf←c077)+100)
      /* var←c9276 */ );
   var←c9660 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string7)), 218);
   (* (( (ptr) gf←c077)+29)/* var←c9564 */  ) = var←c9660;
   (void) XR←ImportProcS(var←c9660, 67639298);
   var←c9660 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string8)), 50);
   (* (( (ptr) gf←c077)+27)/* var←c9372 */  ) = var←c9660;
   (void) XR←ImportProcS(var←c9660, 1050884);
   (void) XR←ImportProcS(var←c9660, 67634690);
   (void) XR←ImportProcS(var←c9660, 1050628);
   (void) XR←ImportProcS(var←c9660, 1579523);
   (void) XR←ImportProcS(var←c9660, 1579779);
   var←c9660 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string9)), 33);
   (* (( (ptr) gf←c077)+28)/* var←c9532 */  ) = var←c9660;
   (void) XR←ImportProcS(var←c9660, 524546);
   (void) XR←ImportProcS(var←c9660, 1048580);
   var←c9660 = (word) XR←ImportInterface((word) "XTkShellWidgets", (word) XR←GetTypeIndexS((word) (&string10)), 26);
   (* (( (ptr) gf←c077)+30)/* var←c9596 */  ) = var←c9660;
   (void) XR←ImportProcS(var←c9660, 264705);
   var←c9660 = (word) XR←ExportInterface((word) "XTkOps", (word) XR←GetTypeIndexS((word) (&string11)), 5);
   (* (( (ptr) gf←c077)+31)/* var←c9692 */  ) = var←c9660;
   (void) XR←ExportProcS(var←c9660, (word) (( (bPt) gf←c077)+92)/* var←c9244 */ , 2097160);
   (void) XR←ExportProcS(var←c9660, (word) (( (bPt) gf←c077)+76)/* var←c9180 */ , 1835271);
   (void) XR←ExportProcS(var←c9660, (word) (( (bPt) gf←c077)+52)/* var←c9084 */ , 134742786);
   (void) XR←ExportProcS(var←c9660, (word) (( (bPt) gf←c077)+28)/* var←c8988 */ , 787459);
   }

static void XTkOpsImpl←P0(formal←c019, formal←c018)
   word formal←c019;
   word formal←c018;
   {
   /* XTkOpsImpl: */ 
   }

static void RegisterNotifierProcOnEvents←P60(widget←v3052, handles←v3080, tq←v3108, generate←v3136, proc←v3164, registerData←v3192, callData←v3220, temporary←v3248)
   word widget←v3052;
   word handles←v3080;
   word tq←v3108;
   word generate←v3136;
   word proc←v3164;
   word registerData←v3192;
   word callData←v3220;
   word temporary←v3248;
   {
   register ptr gf←c9724 =  (ptr) &globalframe;
   word d←v4220;
   /* RegisterNotifierProcOnEvents: */ 
SOURCE(196, 580)
SOURCE(413, 121)
   d←v4220 = XR←NewObject(16, (* (( (ptr) gf←c9724)+4) ));
   (*  (ptr) d←v4220 ) = widget←v3052;
   (* (( (ptr) d←v4220)+1) ) = XR←CheckProc(proc←v3164);
   (* (( (ptr) d←v4220)+2) ) = registerData←v3192;
   (* (( (ptr) d←v4220)+3) ) = callData←v3220;
SOURCE(536, 33)
   if ((tq←v3108 == 0)) {
SOURCE(551, 18)
      tq←v3108 = (* (( (ptr) widget←v3052)+45) );
      };
SOURCE(571, 17)
   if ((proc←v3164 == 0)) {
SOURCE(588, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(595, 181)
   if ((0 != temporary←v3248)) {
SOURCE(614, 84)
      {
         W4 var←c9340;
         var←c9340.f0 = (word) (( (bPt) gf←c9724)+84)/* var←c9212 */ ;
         var←c9340.f1 = handles←v3080;
         var←c9340.f2 = tq←v3108;
         var←c9340.f3 = d←v4220;
         {
            word pd12;
            pd12 = (* (( (ptr) (* (( (ptr) gf←c9724)+27)/* var←c9372 */  ))+31) );
            (void) ( *( (fPt) ((*  (ptr) pd12 ))))(widget←v3052, var←c9340, generate←v3136, pd12);
            };
         };
      }
   else {
SOURCE(698, 78)
      {
         W4 var←c9404;
         var←c9404.f0 = (word) (( (bPt) gf←c9724)+84)/* var←c9212 */ ;
         var←c9404.f1 = handles←v3080;
         var←c9404.f2 = tq←v3108;
         var←c9404.f3 = d←v4220;
         {
            word pd13;
            pd13 = (* (( (ptr) (* (( (ptr) gf←c9724)+27)/* var←c9372 */  ))+30) );
            (void) ( *( (fPt) ((*  (ptr) pd13 ))))(widget←v3052, var←c9404, generate←v3136, pd13);
            };
         };
      };
   }

static void CallThisNotifierNow←P120(event←v5800, clientData←v5828, tq←v5856)
   word event←v5800;
   word clientData←v5828;
   word tq←v5856;
   {
   register ptr gf←c9756 =  (ptr) &globalframe;
   word d←v4276;
   /* CallThisNotifierNow: */ 
SOURCE(782, 173)
SOURCE(824, 44)
   d←v4276 = XR←Narrow(clientData←v5828, (* (( (ptr) gf←c9756)+4) ));
SOURCE(870, 85)
   {
      word pd14;
      pd14 = (* (( (ptr) d←v4276)+1) );
      (void) ( *( (fPt) ((*  (ptr) pd14 ))))((*  (ptr) d←v4276 ), (* (( (ptr) d←v4276)+2) ), (* (( (ptr) d←v4276)+3) ), event←v5800, pd14)
      ;
      };
   }

static void RegisterCallNotifiersOnEvents←P180(widget←v3464, handles←v3492, tq←v3520, generate←v3548, notifierKey←v3576, callData←v3604, temporary←v3632)
   word widget←v3464;
   word handles←v3492;
   word tq←v3520;
   word generate←v3548;
   word notifierKey←v3576;
   word callData←v3604;
   word temporary←v3632;
   {
   register ptr gf←c9788 =  (ptr) &globalframe;
   word d←v4332;
   /* RegisterCallNotifiersOnEvents: */ 
SOURCE(1071, 628)
SOURCE(1259, 121)
   d←v4332 = XR←NewObject(12, (* (( (ptr) gf←c9788)+5) ));
   (*  (ptr) d←v4332 ) = widget←v3464;
   (* (( (ptr) d←v4332)+1) ) = notifierKey←v3576;
   (* (( (ptr) d←v4332)+2) ) = callData←v3604;
SOURCE(1382, 33)
   if ((tq←v3520 == 0)) {
SOURCE(1397, 18)
      tq←v3520 = (* (( (ptr) widget←v3464)+45) );
      };
SOURCE(1417, 85)
   {
      word pd15;
      pd15 = (* (( (ptr) (* (( (ptr) gf←c9788)+27)/* var←c9372 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd15 ))))(widget←v3464, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c9788)+27)/* var←c9372 */  ))+24)
          ) ), (word) (( (bPt) gf←c9788)+60)/* var←c9116 */ , d←v4332, pd15);
      };
SOURCE(1504, 195)
   if ((0 != temporary←v3632)) {
SOURCE(1523, 91)
      {
         W4 var←c9468;
         var←c9468.f0 = (word) (( (bPt) gf←c9788)+68)/* var←c9148 */ ;
         var←c9468.f1 = handles←v3492;
         var←c9468.f2 = tq←v3520;
         var←c9468.f3 = d←v4332;
         {
            word pd16;
            pd16 = (* (( (ptr) (* (( (ptr) gf←c9788)+27)/* var←c9372 */  ))+31) );
            (void) ( *( (fPt) ((*  (ptr) pd16 ))))(widget←v3464, var←c9468, generate←v3548, pd16);
            };
         };
      }
   else {
SOURCE(1614, 85)
      {
         W4 var←c9500;
         var←c9500.f0 = (word) (( (bPt) gf←c9788)+68)/* var←c9148 */ ;
         var←c9500.f1 = handles←v3492;
         var←c9500.f2 = tq←v3520;
         var←c9500.f3 = d←v4332;
         {
            word pd17;
            pd17 = (* (( (ptr) (* (( (ptr) gf←c9788)+27)/* var←c9372 */  ))+30) );
            (void) ( *( (fPt) ((*  (ptr) pd17 ))))(widget←v3464, var←c9500, generate←v3548, pd17);
            };
         };
      };
   }

static void CallRegisteredNotifiersNow←P240(event←v5916, clientData←v5944, tq←v5972)
   word event←v5916;
   word clientData←v5944;
   word tq←v5972;
   {
   register ptr gf←c9820 =  (ptr) &globalframe;
   word d←v4388;
   /* CallRegisteredNotifiersNow: */ 
SOURCE(1791, 195)
SOURCE(1840, 51)
   d←v4388 = XR←Narrow(clientData←v5944, (* (( (ptr) gf←c9820)+5) ));
SOURCE(1893, 93)
   {
      word pd18;
      pd18 = (* (( (ptr) (* (( (ptr) gf←c9820)+28)/* var←c9532 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd18 ))))((*  (ptr) d←v4388 ), (* (( (ptr) d←v4388)+1) ), (* (( (ptr) d←v4388)+2) ), event←v5916, pd18)
      ;
      };
   }

static void RemoveRegisteredNotifiers←P300(widget←v6032, registerData←v6060, callData←v6088, event←v6116)
   word widget←v6032;
   word registerData←v6060;
   word callData←v6088;
   word event←v6116;
   {
   register ptr gf←c9852 =  (ptr) &globalframe;
   word d←v4444;
   /* RemoveRegisteredNotifiers: */ 
SOURCE(1993, 166)
SOURCE(2045, 53)
   d←v4444 = XR←Narrow(registerData←v6060, (* (( (ptr) gf←c9852)+5) ));
SOURCE(2100, 59)
   {
      word pd19;
      pd19 = (* (( (ptr) (* (( (ptr) gf←c9852)+28)/* var←c9532 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd19 ))))((*  (ptr) d←v4444 ), (* (( (ptr) d←v4444)+1) ), pd19);
      };
   }

static void GetWidgetPropStar←P360(formal←c059, w←v3828, key←v3856)
   word formal←c059;
   word w←v3828;
   word key←v3856;
   {
   register ptr gf←c9884 =  (ptr) &globalframe;
   word val←v3912;
   word who←v3940;
   /* GetWidgetPropStar: */ 
SOURCE(2165, 380)
SOURCE(2165, 380)
   val←v3912 = 0;
SOURCE(2165, 380)
   who←v3940 = 0;
SOURCE(2274, 31)
   {
      word pd20;
      pd20 = (* (( (ptr) (* (( (ptr) gf←c9884)+27)/* var←c9372 */  ))+10) );
      val←v3912 = (word) ( *( (fPt) ((*  (ptr) pd20 ))))(w←v3828, key←v3856, pd20);
      };
SOURCE(2307, 7)
   who←v3940 = w←v3828;
SOURCE(2316, 89)
   lab←L100003: ;
   if ( ( (val←v3912 == 0) ? ((* (( (ptr) w←v3828)+31) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100001;
      };
SOURCE(2351, 12)
   w←v3828 = (* (( (ptr) w←v3828)+31) );
SOURCE(2365, 31)
   {
      word pd21;
      pd21 = (* (( (ptr) (* (( (ptr) gf←c9884)+27)/* var←c9372 */  ))+10) );
      val←v3912 = (word) ( *( (fPt) ((*  (ptr) pd21 ))))(w←v3828, key←v3856, pd21);
      };
SOURCE(2398, 7)
   who←v3940 = w←v3828;
   goto lab←L100003;
   lab←L100001: ;
SOURCE(2416, 129)
   if ((val←v3912 == 0)) {
SOURCE(2432, 113)
      {
         word c←v4500;
SOURCE(2434, 31)
         c←v4500 = (* (( (ptr) w←v3828)+34) );
SOURCE(2467, 65)
         if ( ( (c←v4500 != 0) ? (0 != (* (( (ptr) c←v4500)+15) )) : 0 ) ) {
SOURCE(2487, 45)
            {
               word pd22;
               pd22 = (* (( (ptr) (* (( (ptr) gf←c9884)+29)/* var←c9564 */  ))+28) );
               val←v3912 = (word) ( *( (fPt) ((*  (ptr) pd22 ))))((* (( (ptr) w←v3828)+34) ), key←v3856, pd22);
               };
            };
SOURCE(2535, 10)
         who←v3940 = 0;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c059 ) = val←v3912;
   (* (( (ptr) formal←c059)+1) ) = who←v3940;
   return;
   }

static void TriggerNotify←P420(widget←v6176, registerData←v6204, callData←v6232, event←v6260)
   word widget←v6176;
   word registerData←v6204;
   word callData←v6232;
   word event←v6260;
   {
   register ptr gf←c9916 =  (ptr) &globalframe;
   word drr←v4544;
   word shell←v4572;
   /* TriggerNotify: */ 
SOURCE(2665, 194)
SOURCE(2705, 49)
   drr←v4544 = XR←Narrow(registerData←v6204, (* (( (ptr) gf←c9916)+6) ));
SOURCE(2756, 29)
   shell←v4572 = (*  (ptr) drr←v4544 );
SOURCE(2787, 72)
   if ((shell←v4572 != 0)) {
SOURCE(2807, 35)
      {
         word pd23;
         pd23 = (* (( (ptr) (* (( (ptr) gf←c9916)+30)/* var←c9596 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd23 ))))(shell←v4572, pd23);
         };
SOURCE(2844, 15)
      (*  (ptr) drr←v4544 ) = 0;
      };
   }

static void CanUnregisterNotify←P480(widget←v6320, registerData←v6348, callData←v6376, event←v6404)
   word widget←v6320;
   word registerData←v6348;
   word callData←v6376;
   word event←v6404;
   {
   register ptr gf←c9948 =  (ptr) &globalframe;
   word drr←v4628;
   word trigger←v4656;
   /* CanUnregisterNotify: */ 
SOURCE(2891, 240)
SOURCE(2937, 49)
   drr←v4628 = XR←Narrow(registerData←v6348, (* (( (ptr) gf←c9948)+6) ));
SOURCE(2988, 33)
   trigger←v4656 = (* (( (ptr) drr←v4628)+2) );
SOURCE(3023, 108)
   if ((trigger←v4656 != 0)) {
SOURCE(3045, 67)
      {
         word pd24;
         pd24 = (* (( (ptr) (* (( (ptr) gf←c9948)+27)/* var←c9372 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd24 ))))(trigger←v4656, (* (( (ptr) drr←v4628)+1) ), (word) (( (bPt) gf←c9948)+44)/* var←c9052 */ , drr←v4628, pd24)
         ;
         };
SOURCE(3114, 17)
      (* (( (ptr) drr←v4628)+2) ) = 0;
      };
   }

static void SetupDestruction←P540(shell←v4124, trigger←v4152, triggerKey←v4180)
   word shell←v4124;
   word trigger←v4152;
   word triggerKey←v4180;
   {
   register ptr gf←c9980 =  (ptr) &globalframe;
   word drr←v4712 = 0;
   /* SetupDestruction: */ 
SOURCE(3162, 418)
SOURCE(3288, 55)
   if ((triggerKey←v4180 == 0)) {
SOURCE(3311, 32)
      triggerKey←v4180 = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c9980)+27)/* var←c9372 */  ))+28) ) );
      };
SOURCE(3345, 87)
   {
      word var←c9628;
      var←c9628 = XR←NewObject(12, (* (( (ptr) gf←c9980)+6) ));
      (*  (ptr) var←c9628 ) = shell←v4124;
      (* (( (ptr) var←c9628)+1) ) = triggerKey←v4180;
      (* (( (ptr) var←c9628)+2) ) = trigger←v4152;
      drr←v4712 = var←c9628;
      };
SOURCE(3434, 61)
   {
      word pd25;
      pd25 = (* (( (ptr) (* (( (ptr) gf←c9980)+27)/* var←c9372 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd25 ))))(trigger←v4152, triggerKey←v4180, (word) (( (bPt) gf←c9980)+44)/* var←c9052 */ , drr←v4712, pd25)
      ;
      };
SOURCE(3497, 83)
   {
      word pd26;
      pd26 = (* (( (ptr) (* (( (ptr) gf←c9980)+27)/* var←c9372 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd26 ))))(shell←v4124, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c9980)+27)/* var←c9372 */  ))+29)
          ) ), (word) (( (bPt) gf←c9980)+36)/* var←c9020 */ , drr←v4712, pd26);
      };
   }

/* file: XTkOpsImpl, module: XTkOpsImpl, compiled at: February 24, 1993 0:05:56 am PST */ 
extern void XR←install←XTkOpsImpl() {
   NoName←Q708();
   }
extern void XR←run←XTkOpsImpl() { XR←Start(&globalframe); }