/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1994 by Xerox Corporation. All rights reserved. */ /* time: March 16, 1994 12:09:49 pm PST */ /* C2C version: January 12, 1994 (sun4) */ /* ref-counting: off */ /* file: UnixSysCallsImpl, module: UnixSysCallsImpl */ /* switches: bcfhklnouw */ #include #include #include static char versionStamp[] = "@(#)mob_version [3046554432,1988006759] UnixSysCallsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR_RaiseBoundsFault()) : (idx) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR_RaiseArithmeticFault(): i ) static void NoName_Q960(); static void UnixSysCallsImpl_P0(); static word Close_P60(); static word FSync_P120(); static word GetDEnts_P180(); static word GetDTableSize_P240(); static word GetDTableSize1_P300(); static word GetTimeOfDay_P360(); static word LSeek_P420(); static word MMap_P480(); static word MUnmap_P540(); static word Open_P600(); static word Read_P660(); static word FStat_P720(); static word Unlink_P780(); static word Write_P840(); static void AssignStat_P900(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\265\226\273\100\300\166\176\223\147\100\150\000\000"}; static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\211\056\077\074\300\127\047\310\242\100\150\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\061\347\231\302\300\102\104\205\246\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[2]; } globalframe = { {0}, (word) AssignStat_P900, 0, (word) Write_P840, 0, (word) Unlink_P780, 0, (word) FStat_P720, 0, (word) Read_P660, 0, (word) Open_P600, 0, (word) MUnmap_P540, 0, (word) MMap_P480, 0, (word) LSeek_P420, 0, (word) GetTimeOfDay_P360, 0, (word) GetDTableSize1_P300, 0, (word) GetDTableSize_P240, 0, (word) GetDEnts_P180, 0, (word) FSync_P120, 0, (word) Close_P60, 0, (word) UnixSysCallsImpl_P0, {0} }; #define CONSTRUCT_MMAP_FLAGS(shared, private, fixed) ( ((word)(shared))*((word)(MAP_SHARED)) + ((word)(private))*((word)(MAP_PRIVATE)) + ((word)(fixed))*((word)(MAP_FIXED))) static void NoName_Q960() { register ptr gf_c070 = (ptr) &globalframe; word var_c12000; (void) XR_DeclareGlobalFrame((word) "UnixSysCallsImpl", &globalframe, (word) XR_GetTypeIndexS((word) (&string1)), (word) ( ( (bPt) gf_c070)+136)/* var_c11488 */ ); var_c12000 = (word) XR_ExportInterface((word) "UnixSysCalls", (word) XR_GetTypeIndexS((word) (&string2)), 77); (* (( (ptr) gf_c070)+36)/* var_c11968 */ ) = var_c12000; (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+128)/* var_c11456 */ , 67372289, (word) "Close"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+120)/* var_c11424 */ , 67373313, (word) "FSync"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+112)/* var_c11392 */ , 67897859, (word) "GetDEnts"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+104)/* var_c11360 */ , 67111936, (word) "GetDTableSize"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+88)/* var_c11296 */ , 67640066, (word) "GetTimeOfDay"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+80)/* var_c11264 */ , 67904515, (word) "LSeek"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+72)/* var_c11232 */ , 68691974, (word) "MMap"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+64)/* var_c11200 */ , 67643650, (word) "MUnmap"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+56)/* var_c11168 */ , 67906563, (word) "Open"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+48)/* var_c11136 */ , 67907587, (word) "Read"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+40)/* var_c11104 */ , 67650050, (word) "FStat"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+32)/* var_c11072 */ , 67389697, (word) "Unlink"); (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+24)/* var_c11040 */ , 67914499, (word) "Write"); var_c12000 = (word) XR_ExportInterface((word) "UnixSysCallExtensions", (word) XR_GetTypeIndexS((word) (&string3)), 1); (* (( (ptr) gf_c070)+36)/* var_c11968 */ ) = var_c12000; (void) XR_ExportProcS(var_c12000, (word) (( (bPt) gf_c070)+96)/* var_c11328 */ , 67371009, (word) "GetDTableSize1"); } static void UnixSysCallsImpl_P0(formal_c020, formal_c019) word formal_c020; word formal_c019; { /* UnixSysCallsImpl: */ } static word Close_P60(fd_v3048) word fd_v3048; { word var_c3092; /* Close: */ SOURCE(185, 139) SOURCE(305, 19) return((word) XR_Close(fd_v3048)); } static word FSync_P120(fd_v3152) word fd_v3152; { word var_c3196; /* FSync: */ SOURCE(334, 139) SOURCE(454, 19) return((word) XR_FSync(fd_v3152)); } static word GetDEnts_P180(fd_v3256, buf_v3284, nBytes_v3312) word fd_v3256; word buf_v3284; word nBytes_v3312; { word var_c3356; /* GetDEnts: */ SOURCE(479, 244) SOURCE(688, 35) return((word) XR_GetDEnts(fd_v3256, buf_v3284, nBytes_v3312)); } static word GetDTableSize_P240() { word var_c3416; /* GetDTableSize: */ SOURCE(730, 151) SOURCE(856, 25) return((word) XR_GetDTableSize()); } static word GetDTableSize1_P300(kind_v3476) word kind_v3476; { word var_c3520; /* GetDTableSize1: */ SOURCE(887, 199) SOURCE(1051, 35) return((word) XR_GetDTableSize1(kind_v3476)); } static word GetTimeOfDay_P360(tp_v3580, tzp_v3608) word tp_v3580; word tzp_v3608; { word var_c3652; /* GetTimeOfDay: */ SOURCE(1097, 250) SOURCE(1316, 31) return((word) XR_GetTimeOfDay(tp_v3580, tzp_v3608)); } static word LSeek_P420(d_v3712, offset_v3740, whence_v3768) word d_v3712; word offset_v3740; word whence_v3768; { word var_c3812; /* LSeek: */ SOURCE(1354, 210) SOURCE(1530, 34) return((word) XR_LSeek(d_v3712, offset_v3740, whence_v3768)); } static word MMap_P480(addr_v3872, nbytes_v3900, prot_v3928, flags_v3956, d_v3984, offset_v4012) word addr_v3872; word nbytes_v3900; word prot_v3928; word flags_v3956; word d_v3984; word offset_v4012; { word var_c4056; word var_c11776; /* MMap: */ SOURCE(1570, 840) SOURCE(2243, 167) var_c11776 = (word) CONSTRUCT_MMAP_FLAGS( (unsigned) (flags_v3956 & 1), (unsigned) (((unsigned)flags_v3956 << 30) >> 31), (unsigned) (((unsigned)flags_v3956 << 28) >> 31)) ; if (((word) XR_MMap(addr_v3872, nbytes_v3900, prot_v3928, var_c11776, d_v3984, offset_v4012) == addr_v3872)) { return(0); } else { return( (word) -1); }; } static word MUnmap_P540(addr_v4116, nbytes_v4144) word addr_v4116; word nbytes_v4144; { word var_c4188; /* MUnmap: */ SOURCE(2416, 198) SOURCE(2584, 30) return((word) XR_MUnmap(addr_v4116, nbytes_v4144)); } static word Open_P600(path_v4248, flags_v4276, mode_v4304) word path_v4248; word flags_v4276; word mode_v4304; { word var_c4348; /* Open: */ SOURCE(2622, 222) SOURCE(2811, 33) return((word) XR_Open(path_v4248, flags_v4276, mode_v4304)); } static word Read_P660(d_v4408, buf_v4436, nBytes_v4464) word d_v4408; word buf_v4436; word nBytes_v4464; { word var_c4508; /* Read: */ SOURCE(2851, 225) SOURCE(3046, 30) return((word) XR_Read(d_v4408, buf_v4436, nBytes_v4464)); } static word FStat_P720(fd_v4568, buf_v4596) word fd_v4568; word buf_v4596; { word var_c4640; word res_v8248; /* FStat: */ SOURCE(3091, 212) SOURCE(3265, 25) res_v8248 = (word) XR_FStat(fd_v4568, buf_v4596); SOURCE(3292, 11) return(res_v8248); } static word Unlink_P780(path_v4700) word path_v4700; { word var_c4744; /* Unlink: */ SOURCE(3312, 159) SOURCE(3449, 22) return((word) XR_Unlink(path_v4700)); } static word Write_P840(d_v4804, buf_v4832, nBytes_v4860) word d_v4804; word buf_v4832; word nBytes_v4860; { word var_c4904; /* Write: */ SOURCE(3480, 203) SOURCE(3652, 31) return((word) XR_Write(d_v4804, buf_v4832, nBytes_v4860)); } static void AssignStat_P900(s4_v5972, ssp_v6000) word s4_v5972; word ssp_v6000; { /* AssignStat: */ SOURCE(5060, 652) SOURCE(5141, 16) { word idx4; (* (hPt) s4_v5972 ) = (( idx4 = (word) ((* (ptr) ssp_v6000 ) + 32768), BCK(idx4, 65536) ) - 32768); }; SOURCE(5159, 16) (* (( (ptr) s4_v5972)+1) ) = (* (( (ptr) ssp_v6000)+4) ); SOURCE(5177, 26) { word tadr5; tadr5 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr5 ) = ((* (ptr) tadr5 ) & 268435455) | (((word) ( * (bPt) (( (bPt) ssp_v6000)+22) >> 4)) << 28); }; SOURCE(5205, 28) { word tadr6; tadr6 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr6 ) = ((* (ptr) tadr6 ) & 4160749567) | (((word) (((unsigned)(* (( (bPt) ssp_v6000)+22) ) << 28) >> 31)) << 27) ; }; SOURCE(5235, 28) { word tadr7; tadr7 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr7 ) = ((* (ptr) tadr7 ) & 4227858431) | (((word) (((unsigned)(* (( (bPt) ssp_v6000)+22) ) << 29) >> 31)) << 26) ; }; SOURCE(5265, 28) { word tadr8; tadr8 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr8 ) = ((* (ptr) tadr8 ) & 4261412863) | (((word) (((unsigned)(* (( (bPt) ssp_v6000)+22) ) << 30) >> 31)) << 25) ; }; SOURCE(5295, 30) { word tadr9; tadr9 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr9 ) = ((* (ptr) tadr9 ) & 4265607167) | (((word) (((unsigned)(* (( (hPt) ssp_v6000)+11) ) << 23) >> 29)) << 22) ; }; SOURCE(5327, 30) { word tadr10; tadr10 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr10 ) = ((* (ptr) tadr10 ) & 4291297279) | (((word) (((unsigned)(* (( (bPt) ssp_v6000)+23) ) << 26) >> 29)) << 19); }; SOURCE(5359, 32) { word tadr11; tadr11 = (word) (( (ptr) s4_v5972) + 2); (* (ptr) tadr11 ) = ((* (ptr) tadr11 ) & 4294508543) | (((word) ((* (( (bPt) ssp_v6000)+23) ) & 7)) << 16); }; SOURCE(5393, 20) { word idx12; (* (( (hPt) s4_v5972)+5) ) = ( idx12 = (* (( (ptr) ssp_v6000)+6) ), BCK(idx12, 32768) ); }; SOURCE(5415, 16) { word idx13; (* (( (hPt) s4_v5972)+6) ) = (( idx13 = (word) ((* (( (ptr) ssp_v6000)+7) ) + 32768), BCK(idx13, 65536) ) - 32768); }; SOURCE(5433, 16) { word idx14; (* (( (hPt) s4_v5972)+7) ) = (( idx14 = (word) ((* (( (ptr) ssp_v6000)+8) ) + 32768), BCK(idx14, 65536) ) - 32768); }; SOURCE(5451, 18) { word idx15; (* (( (hPt) s4_v5972)+8) ) = (( idx15 = (word) ((* (( (ptr) ssp_v6000)+9) ) + 32768), BCK(idx15, 65536) ) - 32768); }; SOURCE(5471, 18) { word idx16; (* (( (ptr) s4_v5972)+5) ) = ( idx16 = (* (( (ptr) ssp_v6000)+12) ), SGNCK(idx16) ); }; SOURCE(5491, 24) { word idx17; (* (( (ptr) s4_v5972)+6) ) = ( idx17 = (* (( (ptr) ssp_v6000)+14) ), SGNCK(idx17) ); }; SOURCE(5517, 26) { word idx18; (* (( (ptr) s4_v5972)+7) ) = ( idx18 = (* (( (ptr) ssp_v6000)+15) ), SGNCK(idx18) ); }; SOURCE(5545, 24) { word idx19; (* (( (ptr) s4_v5972)+8) ) = ( idx19 = (* (( (ptr) ssp_v6000)+16) ), SGNCK(idx19) ); }; SOURCE(5571, 26) { word idx20; (* (( (ptr) s4_v5972)+9) ) = ( idx20 = (* (( (ptr) ssp_v6000)+17) ), SGNCK(idx20) ); }; SOURCE(5599, 24) { word idx21; (* (( (ptr) s4_v5972)+10) ) = ( idx21 = (* (( (ptr) ssp_v6000)+18) ), SGNCK(idx21) ); }; SOURCE(5625, 26) { word idx22; (* (( (ptr) s4_v5972)+11) ) = ( idx22 = (* (( (ptr) ssp_v6000)+19) ), SGNCK(idx22) ); }; SOURCE(5653, 17) (* (( (ptr) s4_v5972)+12) ) = 4096; SOURCE(5680, 32) (* (( (ptr) s4_v5972)+13) ) = ((* (( (ptr) s4_v5972)+5) ) / (* (( (ptr) s4_v5972)+12) )); } /* file: UnixSysCallsImpl, module: UnixSysCallsImpl, compiled at: March 16, 1994 12:09:49 pm PST */ extern void XR_install_UnixSysCallsImpl() { NoName_Q960(); } extern void XR_run_UnixSysCallsImpl() { XR_Start(&globalframe); }