/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 7:54:21 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: UnixSysCallExtensionsImpl, module: UnixSysCallExtensionsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#include <xr/ThreadsSharedMem.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <xr/ThreadsTermination.h>
static char versionStamp[] = "@(#)mob←version [838082811,1575804892] UnixSysCallExtensionsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q1260();
static void UnixSysCallExtensionsImpl←P0();
static word Open4←P60();
static word GetDescriptorKind←P120();
static word GetDTableSize1←P180();
static word ExpandPath←P240();
static word GetNumberOfFreeFDs←P300();
static word SetGetBlocking←P360();
static word GetGetBlocking←P420();
static word SetPutBlocking←P480();
static word GetPutBlocking←P540();
static word SetGetTimeout←P600();
static word GetGetTimeout←P660();
static word SetPutTimeout←P720();
static word GetPutTimeout←P780();
static word Spawn←P840();
static word CDSpawn←P900();
static word PPOpen←P960();
static word RExec2←P1020();
static word VMReserve←P1080();
static word UNTHREADEDShmCtl←P1140();
static word RegisterUNTHREADEDTerminationCleanupProc←P1200();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\061\364\040\373\300\135\354\337\334\100\150\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\326\304\020\321\300\126\326\230\014\100\150\000\000"};
static struct {
   word f0[4]; word f4; word f5; word f6; 
   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; 
   word f27; word f28; word f29; word f30; 
   word f31; word f32; word f33; word f34; 
   word f35; word f36; word f37; word f38; 
   word f39; word f40; word f41; word f42; 
   word f43; word f44; word f45[2]; 
   } globalframe = {
   {0}, (word) RegisterUNTHREADEDTerminationCleanupProc←P1200, 0, (word) UNTHREADEDShmCtl←P1140, 
   0, (word) VMReserve←P1080, 0, (word) RExec2←P1020, 
   0, (word) PPOpen←P960, 0, (word) CDSpawn←P900, 
   0, (word) Spawn←P840, 0, (word) GetPutTimeout←P780, 
   0, (word) SetPutTimeout←P720, 0, (word) GetGetTimeout←P660, 
   0, (word) SetGetTimeout←P600, 0, (word) GetPutBlocking←P540, 
   0, (word) SetPutBlocking←P480, 0, (word) GetGetBlocking←P420, 
   0, (word) SetGetBlocking←P360, 0, (word) GetNumberOfFreeFDs←P300, 
   0, (word) ExpandPath←P240, 0, (word) GetDTableSize1←P180, 
   0, (word) GetDescriptorKind←P120, 0, (word) Open4←P60, 
   0, (word) UnixSysCallExtensionsImpl←P0, {0}
   };

static void NoName←Q1260()
   {
   register ptr gf←c089 =  (ptr) &globalframe;
   word var←c11696;
   (void) XR←DeclareGlobalFrame((word) "UnixSysCallExtensionsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1))
      , (word) (( (bPt) gf←c089)+176)/* var←c10992 */ );
   var←c11696 = (word) XR←ExportInterface((word) "UnixSysCallExtensions", (word) XR←GetTypeIndexS((word) (&string2)), 22);
   (* (( (ptr) gf←c089)+46)/* var←c11664 */  ) = var←c11696;
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+168)/* var←c10960 */ , 68157444);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+160)/* var←c10928 */ , 67371777);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+152)/* var←c10896 */ , 67372033);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+144)/* var←c10864 */ , 67372289);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+136)/* var←c10832 */ , 67372545);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+128)/* var←c10800 */ , 67634946);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+120)/* var←c10768 */ , 67373057);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+112)/* var←c10736 */ , 67635458);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+104)/* var←c10704 */ , 67373569);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+96)/* var←c10672 */ , 67635970);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+88)/* var←c10640 */ , 67374081);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+80)/* var←c10608 */ , 67636482);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+72)/* var←c10576 */ , 67374593);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+64)/* var←c10544 */ , 68161284);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+56)/* var←c10512 */ , 68423685);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+48)/* var←c10480 */ , 67375361);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+40)/* var←c10448 */ , 68948487);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+32)/* var←c10416 */ , 67375873);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+24)/* var←c10384 */ , 67900419);
   (void) XR←ExportProcS(var←c11696, (word) (( (bPt) gf←c089)+16)/* var←c10352 */ , 67638530);
   }

static void UnixSysCallExtensionsImpl←P0(formal←c025, formal←c024)
   word formal←c025;
   word formal←c024;
   {
   /* UnixSysCallExtensionsImpl: */ 
   }

static word Open4←P60(path←v3104, flags←v3132, mode←v3160, kind←v3188)
   word path←v3104;
   word flags←v3132;
   word mode←v3160;
   word kind←v3188;
   {
   word var←c3232;
   /* Open4: */ 
SOURCE(184, 270)
SOURCE(409, 45)
   return((word) XR←Open4(path←v3104, flags←v3132, mode←v3160, kind←v3188));
   }

static word GetDescriptorKind←P120(d←v3292)
   word d←v3292;
   {
   word var←c3336;
   /* GetDescriptorKind: */ 
SOURCE(460, 200)
SOURCE(625, 35)
   return((word) XR←GetDescriptorKind(d←v3292));
   }

static word GetDTableSize1←P180(kind←v3396)
   word kind←v3396;
   {
   word var←c3440;
   /* GetDTableSize1: */ 
SOURCE(666, 199)
SOURCE(830, 35)
   return((word) XR←GetDTableSize1(kind←v3396));
   }

static word ExpandPath←P240(path←v3500)
   word path←v3500;
   {
   word var←c3544;
   /* ExpandPath: */ 
SOURCE(871, 193)
SOURCE(1033, 31)
   return((word) XR←ExpandPath(path←v3500));
   }

static word GetNumberOfFreeFDs←P300(kind←v3604)
   word kind←v3604;
   {
   word var←c3648;
   /* GetNumberOfFreeFDs: */ 
SOURCE(1070, 215)
SOURCE(1246, 39)
   return((word) XR←GetNumberOfFreeFDs(kind←v3604));
   }

static word SetGetBlocking←P360(s←v3708, blocking←v3736)
   word s←v3708;
   word blocking←v3736;
   {
   word var←c3780;
   /* SetGetBlocking: */ 
SOURCE(1348, 240)
SOURCE(1546, 42)
   return((word) XR←SetGetBlocking(s←v3708, blocking←v3736));
   }

static word GetGetBlocking←P420(s←v3840)
   word s←v3840;
   {
   word var←c3884;
   /* GetGetBlocking: */ 
SOURCE(1594, 200)
SOURCE(1762, 32)
   return((word) XR←GetGetBlocking(s←v3840));
   }

static word SetPutBlocking←P480(s←v3944, blocking←v3972)
   word s←v3944;
   word blocking←v3972;
   {
   word var←c4016;
   /* SetPutBlocking: */ 
SOURCE(1800, 240)
SOURCE(1998, 42)
   return((word) XR←SetPutBlocking(s←v3944, blocking←v3972));
   }

static word GetPutBlocking←P540(s←v4076)
   word s←v4076;
   {
   word var←c4120;
   /* GetPutBlocking: */ 
SOURCE(2046, 200)
SOURCE(2214, 32)
   return((word) XR←GetPutBlocking(s←v4076));
   }

static word SetGetTimeout←P600(s←v4180, timeoutMsec←v4208)
   word s←v4180;
   word timeoutMsec←v4208;
   {
   word var←c4252;
   /* SetGetTimeout: */ 
SOURCE(2253, 229)
SOURCE(2438, 44)
   return((word) XR←SetGetTimeout(s←v4180, timeoutMsec←v4208));
   }

static word GetGetTimeout←P660(s←v4312)
   word s←v4312;
   {
   word var←c4356;
   /* GetGetTimeout: */ 
SOURCE(2487, 180)
SOURCE(2636, 31)
   return((word) XR←GetGetTimeout(s←v4312));
   }

static word SetPutTimeout←P720(s←v4416, timeoutMsec←v4444)
   word s←v4416;
   word timeoutMsec←v4444;
   {
   word var←c4488;
   /* SetPutTimeout: */ 
SOURCE(2672, 229)
SOURCE(2857, 44)
   return((word) XR←SetPutTimeout(s←v4416, timeoutMsec←v4444));
   }

static word GetPutTimeout←P780(s←v4548)
   word s←v4548;
   {
   word var←c4592;
   /* GetPutTimeout: */ 
SOURCE(2907, 180)
SOURCE(3056, 31)
   return((word) XR←GetPutTimeout(s←v4548));
   }

static word Spawn←P840(cmd←v4652, stdin←v4680, stdout←v4708, stderr←v4736)
   word cmd←v4652;
   word stdin←v4680;
   word stdout←v4708;
   word stderr←v4736;
   {
   word var←c4780;
   /* Spawn: */ 
SOURCE(3093, 233)
SOURCE(3278, 48)
   return((word) XR←Spawn(cmd←v4652, stdin←v4680, stdout←v4708, stderr←v4736));
   }

static word CDSpawn←P900(cmd←v4840, wd←v4868, stdin←v4896, stdout←v4924, stderr←v4952)
   word cmd←v4840;
   word wd←v4868;
   word stdin←v4896;
   word stdout←v4924;
   word stderr←v4952;
   {
   word var←c4996;
   /* CDSpawn: */ 
SOURCE(3332, 283)
SOURCE(3561, 54)
   return((word) XR←CDSpawn(cmd←v4840, wd←v4868, stdin←v4896, stdout←v4924, stderr←v4952));
   }

static word PPOpen←P960(cmd←v5056)
   word cmd←v5056;
   {
   word var←c5100;
   /* PPOpen: */ 
SOURCE(3620, 164)
SOURCE(3758, 26)
   return((word) XR←PPOpen(cmd←v5056));
   }

static word RExec2←P1020(host←v5160, port←v5188, user←v5216, passwd←v5244, cmd←v5272, errbuf←v5300, errbufbytes←v5328)
   word host←v5160;
   word port←v5188;
   word user←v5216;
   word passwd←v5244;
   word cmd←v5272;
   word errbuf←v5300;
   word errbufbytes←v5328;
   {
   word var←c5372;
   /* RExec2: */ 
SOURCE(3788, 411)
SOURCE(4126, 73)
   return((word) XR←RExec2(host←v5160, port←v5188, user←v5216, passwd←v5244, cmd←v5272, errbuf←v5300
      , errbufbytes←v5328));
   }

static word VMReserve←P1080(nbytes←v5432)
   word nbytes←v5432;
   {
   word address←v5476;
   /* VMReserve: */ 
SOURCE(4204, 217)
SOURCE(4394, 27)
   return((word) XR←VMReserve(nbytes←v5432));
   }

static word UNTHREADEDShmCtl←P1140(shmId←v5536, cmd←v5564, buf←v5592)
   word shmId←v5536;
   word cmd←v5564;
   word buf←v5592;
   {
   word var←c5648;
   /* UNTHREADEDShmCtl: */ 
SOURCE(4425, 416)
SOURCE(4798, 43)
   return((word) shmctl(shmId←v5536, cmd←v5564, buf←v5592));
   }

static word RegisterUNTHREADEDTerminationCleanupProc←P1200(cleanup←v5708, data←v5736)
   word cleanup←v5708;
   word data←v5736;
   {
   word var←c5868;
   /* RegisterUNTHREADEDTerminationCleanupProc: */ 
SOURCE(4845, 375)
SOURCE(5156, 64)
   return((word) XR←RegisterTerminationCleanupProc(cleanup←v5708, data←v5736));
   }

/* file: UnixSysCallExtensionsImpl, module: UnixSysCallExtensionsImpl, compiled at: February 21, 1992 7:54:21 pm PST */ 
extern void XR←install←UnixSysCallExtensionsImpl() {
   NoName←Q1260();
   }
extern void XR←run←UnixSysCallExtensionsImpl() { XR←Start(&globalframe); }