/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 5:38:24 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: UXProcsImpl, module: UXProcsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITAND(x, y) (((word)(x)) & ((word)(y)))
static char versionStamp[] = "@(#)mob←version [542516838,2471351711] UXProcsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q228();
static void UXProcsImpl←P0();
static word FromCedarProc←P60();
static word ToCedarProc←P120();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\040\126\046\146\300\223\115\325\237\100\200\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\040\126\046\146\300\223\115\325\237\100\164\000\000"};
static struct {unsigned f; char r[4];} string3 = {131074, "\003\004\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\223\215\300\016\300\070\141\304\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\245\204\300\244\300\123\143\325\023\100\150\000\000"};
static struct {
   word f0[7]; word f7; word f8; word f9; 
   word f10; word f11; word f12[3]; 
   } globalframe = {
   {0}, (word) ToCedarProc←P120, 0, (word) FromCedarProc←P60, 
   0, (word) UXProcsImpl←P0, {0}
   };

static void NoName←Q228()
   {
   register ptr gf←c022 =  (ptr) &globalframe;
   word var←c4448;
   (* (( (ptr) gf←c022)+6) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (void) XR←DeclareGlobalFrame((word) "UXProcsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3)
      , (word) (( (bPt) gf←c022)+44)/* var←c4256 */ );
   var←c4448 = (word) XR←ImportInterface((word) "CardTab", (word) XR←GetTypeIndexS((word) (&string4)), 12);
   (* (( (ptr) gf←c022)+13)/* var←c4288 */  ) = var←c4448;
   (void) XR←ImportProcS(var←c4448, 67896835);
   (void) XR←ImportProcS(var←c4448, 134742786);
   (void) XR←ImportProcS(var←c4448, 67371265);
   var←c4448 = (word) XR←ExportInterface((word) "UXProcs", (word) XR←GetTypeIndexS((word) (&string5)), 3);
   (* (( (ptr) gf←c022)+14)/* var←c4480 */  ) = var←c4448;
   (void) XR←ExportProcS(var←c4448, (word) (( (bPt) gf←c022)+36)/* var←c4224 */ , 67371265);
   (void) XR←ExportProcS(var←c4448, (word) (( (bPt) gf←c022)+28)/* var←c4192 */ , 67371521);
   }

static void UXProcsImpl←P0(formal←c010, formal←c09)
   word formal←c010;
   word formal←c09;
   {
   register ptr gf←c4512 =  (ptr) &globalframe;
   /* UXProcsImpl: */ 
SOURCE(38, 929)
SOURCE(482, 47)
   {
      word pd6;
      pd6 = (* (( (ptr) (* (( (ptr) gf←c4512)+13)/* var←c4288 */  ))+5) );
      (* (( (ptr) gf←c4512)+4)/* descriptorTable←v2608 */  ) = (word) ( *( (fPt) ((*  (ptr) pd6 ))))(17, pd6);
      };
   }

static word FromCedarProc←P60(proc←v2800)
   word proc←v2800;
   {
   word var←c2864;
   word ptr←v2996;
   /* FromCedarProc: */ 
SOURCE(248, 228)
SOURCE(332, 38)
   ptr←v2996 = proc←v2800;
SOURCE(372, 26)
   if ((ptr←v2996 == 0)) {
SOURCE(388, 10)
      return(0);
      };
SOURCE(400, 19)
   if (((* (( (ptr) ptr←v2996)+1) ) != 0)) {
SOURCE(419, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(459, 17)
   return((*  (ptr) ptr←v2996 ));
   }

static word ToCedarProc←P120(cp←v2924)
   word cp←v2924;
   {
   register ptr gf←c4544 =  (ptr) &globalframe;
   word var←c2968;
   /* ToCedarProc: */ 
SOURCE(532, 435)
SOURCE(532, 435)
   var←c2968 = 0;
SOURCE(621, 346)
   if ((cp←v2924 != 0)) {
SOURCE(634, 333)
      {
         word x←v3040;
         W2 var←c017;
SOURCE(636, 61)
         {
            word pd7;
            pd7 = (* (( (ptr) (* (( (ptr) gf←c4544)+13)/* var←c4288 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd7 ))))((word) &var←c017, (* (( (ptr) gf←c4544)+4)/* descriptorTable←v2608 */  ), cp←v2924, pd7)
            ;
            };
         x←v3040 = var←c017.f1;
SOURCE(699, 34)
         if ((x←v3040 != 0)) {
SOURCE(713, 20)
            return(x←v3040);
            };
SOURCE(736, 31)
         if (((word) XRM←BITAND(cp←v2924, 3) != 0)) {
SOURCE(767, 5)
            (void) XR←RaiseUnnamedError();
            };
SOURCE(818, 79)
         {
            word var←c4384;
            {
               word var←c4320;
               {
                  word var←c4352;
                  var←c4352 = XR←NewObject(8, (* (( (ptr) gf←c4544)+6) ));
                  (*  (ptr) var←c4352 ) = cp←v2924;
                  var←c4320 = var←c4352;
                  };
               {
                  word pd8;
                  pd8 = (* (( (ptr) (* (( (ptr) gf←c4544)+13)/* var←c4288 */  ))+10) );
                  var←c4384 = (word) ( *( (fPt) ((*  (ptr) pd8 ))))((* (( (ptr) gf←c4544)+4)/* descriptorTable←v2608 */  ), cp←v2924, var←c4320, pd8)
                  ;
                  };
               };
            };
SOURCE(899, 68)
         {
            word var←c025;
            W2 var←c021;
            {
               word pd9;
               pd9 = (* (( (ptr) (* (( (ptr) gf←c4544)+13)/* var←c4288 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd9 ))))((word) &var←c021, (* (( (ptr) gf←c4544)+4)/* descriptorTable←v2608 */  ), cp←v2924, pd9)
               ;
               };
            var←c025 = var←c021.f1;
            return(var←c025);
            };
         };
      };
SOURCE(532, 435)
   return(var←c2968);
   }

/* file: UXProcsImpl, module: UXProcsImpl, compiled at: February 21, 1992 5:38:24 pm PST */ 
extern void XR←install←UXProcsImpl() {
   NoName←Q228();
   }
extern void XR←run←UXProcsImpl() { XR←Start(&globalframe); }