/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: April 19, 1993 11:06:41 am PDT */
/* C2C version: March 29, 1993 (sun4) */
/* ref-counting: off */
/* file: XlTQOpsImpl, module: XlTQOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [663379495,3014486888] XlTQOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static void NoName←Q240();
static void XlTQOpsImpl←P0();
static void ReFork←P60();
static void EnqueueSoon←P120();
static word CountProcs←P180();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\047\212\136\047\300\263\255\153\150\100\200\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\047\212\136\047\300\263\255\153\150\100\164\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\263\064\342\215\300\063\160\325\023\100\150\000\000"};
static unsigned string5 = 1483472896;
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[20];} string7 = {1179668, "\211\006\005\124\121\122\145\160\300\351\276\264\273\300\115\104\320\264\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\276\357\323\042\300\311\135\170\244\100\164\000\000"};
static struct {unsigned f; char r[20];} string9 = {1179666, "\006\006\060\001\064\001\100\160\001\100\164\001\100\214\001\100\224\001\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\103\352\366\361\300\264\046\172\334\100\150\000\000"};
static struct {
   word f0[6]; word f6; word f7; word f8; 
   word f9; word f10; word f11; word f12; 
   word f13[5]; 
   } globalframe = {
   {0}, (word) CountProcs←P180, 0, (word) EnqueueSoon←P120, 
   0, (word) ReFork←P60, 0, (word) XlTQOpsImpl←P0, 
   {0}
   };

static void NoName←Q240()
   {
   register ptr gf←c023 =  (ptr) &globalframe;
   word var←c5540;
   (* (( (ptr) gf←c023)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (void) XR←DeclareGlobalFrame((word) "XlTQOpsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf←c023)+48)
      /* var←c5412 */ );
   var←c5540 = (word) XR←ImportInterface((word) "ForkOps", (word) XR←GetTypeIndexS((word) (&string4)), 4);
   (* (( (ptr) gf←c023)+15)/* var←c5508 */  ) = var←c5540;
   (void) XR←ImportProcS(var←c5540, 1048836);
   var←c5540 = (word) XR←ImportInterface((word) &string5, (word) XR←GetTypeIndexS((word) (&string6)), 218);
   (* (( (ptr) gf←c023)+14)/* var←c5444 */  ) = var←c5540;
   (void) XR←ImportProcS(var←c5540, 1063940);
   var←c5540 = (word) XR←ExportInterface((word) &string5, (word) XR←GetTypeIndexS((word) (&string6)), 218);
   (* (( (ptr) gf←c023)+16)/* var←c5572 */  ) = var←c5540;
   (void) XR←ExportType((word) "TQRep", (word) XR←GetTypeIndexS((word) (&string7)), (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9)
      );
   var←c5540 = (word) XR←ExportInterface((word) "XlTQOps", (word) XR←GetTypeIndexS((word) (&string10)), 2);
   (* (( (ptr) gf←c023)+17)/* var←c5604 */  ) = var←c5540;
   (void) XR←ExportProcS(var←c5540, (word) (( (bPt) gf←c023)+32)/* var←c5348 */ , 1310725);
   (void) XR←ExportProcS(var←c5540, (word) (( (bPt) gf←c023)+24)/* var←c5316 */ , 67371265);
   }

static void XlTQOpsImpl←P0(formal←c012, formal←c011)
   word formal←c012;
   word formal←c011;
   {
   /* XlTQOpsImpl: */ 
   }

static void ReFork←P60(data←v2916)
   word data←v2916;
   {
   register ptr gf←c5636 =  (ptr) &globalframe;
   word d←v3244;
   /* ReFork: */ 
SOURCE(286, 102)
SOURCE(315, 29)
   d←v3244 = XR←Narrow(data←v2916, (* (( (ptr) gf←c5636)+5) ));
SOURCE(346, 42)
   {
      word pd11;
      pd11 = (* (( (ptr) (* (( (ptr) gf←c5636)+14)/* var←c5444 */  ))+64) );
      (void) ( *( (fPt) ((*  (ptr) pd11 ))))((*  (ptr) d←v3244 ), (* (( (ptr) d←v3244)+1) ), (* (( (ptr) d←v3244)+2) ), (* (( (ptr) d←v3244)+3)
          ), pd11);
      };
   }

static void EnqueueSoon←P120(ms←v2988, tq←v3016, proc←v3044, data←v3072, event←v3100)
   word ms←v2988;
   word tq←v3016;
   word proc←v3044;
   word data←v3072;
   word event←v3100;
   {
   register ptr gf←c5668 =  (ptr) &globalframe;
   word d←v3300;
   /* EnqueueSoon: */ 
SOURCE(392, 286)
SOURCE(510, 78)
   d←v3300 = XR←NewObject(16, (* (( (ptr) gf←c5668)+5) ));
   (*  (ptr) d←v3300 ) = tq←v3016;
   (* (( (ptr) d←v3300)+1) ) = XR←CheckProc(proc←v3044);
   (* (( (ptr) d←v3300)+2) ) = data←v3072;
   (* (( (ptr) d←v3300)+3) ) = event←v3100;
SOURCE(590, 88)
   {
      word pd12;
      pd12 = (* (( (ptr) (* (( (ptr) gf←c5668)+15)/* var←c5508 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd12 ))))(ms←v2988, (word) (( (bPt) gf←c5668)+40)/* var←c5380 */ , d←v3300, 3, pd12);
      };
   }

static word CountProcs←P180(tq←v3172)
   word tq←v3172;
   {
   word n←v3216;
   /* CountProcs: */ 
SOURCE(684, 125)
SOURCE(742, 17)
   n←v3216 = (* (( (ptr) tq←v3172)+11) );
SOURCE(761, 48)
   if ((0 != (* (( (ptr) tq←v3172)+6) )) || ((* (( (ptr) tq←v3172)+10) ) > 0)) {
SOURCE(802, 7)
      n←v3216 = (n←v3216 + 1);
      };
SOURCE(684, 125)
   return(n←v3216);
   }

/* file: XlTQOpsImpl, module: XlTQOpsImpl, compiled at: April 19, 1993 11:06:26 am PDT */ 
extern void XR←install←XlTQOpsImpl() {
   NoName←Q240();
   }
extern void XR←run←XlTQOpsImpl() { XR←Start(&globalframe); }