123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173moduleCI=Cstubs_internalsexternalposix_unistd_unlocked_1_read:int->_CI.fatptr->int->int="posix_unistd_unlocked_1_read"externalposix_unistd_unlocked_2_write:int->_CI.fatptr->int->int="posix_unistd_unlocked_2_write"externalposix_unistd_unlocked_3_pread:int->_CI.fatptr->int->int->int="posix_unistd_unlocked_3_pread"externalposix_unistd_unlocked_4_pwrite:int->_CI.fatptr->int->int->int="posix_unistd_unlocked_4_pwrite"externalposix_unistd_unlocked_5_readlink:_CI.fatptr->_CI.fatptr->int->int="posix_unistd_unlocked_5_readlink"externalposix_unistd_unlocked_6_lseek:int->int->int->int="posix_unistd_unlocked_6_lseek"externalposix_unistd_unlocked_7_fork:unit->int="posix_unistd_unlocked_7_fork"externalposix_unistd_unlocked_8_nice:int->int="posix_unistd_unlocked_8_nice"externalposix_unistd_unlocked_9_sleep:int->int="posix_unistd_unlocked_9_sleep"externalposix_unistd_unlocked_10_usleep:int->int="posix_unistd_unlocked_10_usleep"externalposix_unistd_unlocked_11_pause:unit->int="posix_unistd_unlocked_11_pause"externalposix_unistd_unlocked_12_alarm:int->int="posix_unistd_unlocked_12_alarm"externalposix_unistd_unlocked_13_execv:_CI.fatptr->_CI.fatptr->int="posix_unistd_unlocked_13_execv"externalposix_unistd_unlocked_14_execve:_CI.fatptr->_CI.fatptr->_CI.fatptr->int="posix_unistd_unlocked_14_execve"externalposix_unistd_unlocked_15_execvp:_CI.fatptr->_CI.fatptr->int="posix_unistd_unlocked_15_execvp"externalposix_unistd_unlocked_16__exit:int->unit="posix_unistd_unlocked_16__exit"type'aresult='atype'areturn='atype'afn=|Returns:'aCI.typ->'areturnfn|Function:'aCI.typ*'bfn->('a->'b)fnletmap_resultfx=fxletreturningt=Returnstlet(@->)fp=Function(f,p)letforeign:typeab.string->(a->b)fn->(a->b)=funnamet->matcht,namewith|Function(CI.PrimitiveCI.Int,ReturnsCI.Void),"_exit"->posix_unistd_unlocked_16__exit|Function(CI.View{CI.ty=CI.Pointer_;write=x3;_},Function(CI.View{CI.ty=CI.Pointer_;write=x7;_},Returns(CI.PrimitiveCI.Int))),"execvp"->(funx2x6->letCI.CPointerx9=x7x6inletCI.CPointerx5=x3x2inletx4=x5inletx8=x9inposix_unistd_unlocked_15_execvpx4x8)|Function(CI.View{CI.ty=CI.Pointer_;write=x11;_},Function(CI.View{CI.ty=CI.Pointer_;write=x15;_},Function(CI.View{CI.ty=CI.Pointer_;write=x19;_},Returns(CI.PrimitiveCI.Int)))),"execve"->(funx10x14x18->letCI.CPointerx21=x19x18inletCI.CPointerx17=x15x14inletCI.CPointerx13=x11x10inletx12=x13inletx16=x17inletx20=x21inposix_unistd_unlocked_14_execvex12x16x20)|Function(CI.View{CI.ty=CI.Pointer_;write=x23;_},Function(CI.View{CI.ty=CI.Pointer_;write=x27;_},Returns(CI.PrimitiveCI.Int))),"execv"->(funx22x26->letCI.CPointerx29=x27x26inletCI.CPointerx25=x23x22inletx24=x25inletx28=x29inposix_unistd_unlocked_13_execvx24x28)|Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)),"alarm"->posix_unistd_unlocked_12_alarm|Function(CI.Void,Returns(CI.PrimitiveCI.Int)),"pause"->posix_unistd_unlocked_11_pause|Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)),"usleep"->posix_unistd_unlocked_10_usleep|Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)),"sleep"->posix_unistd_unlocked_9_sleep|Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)),"nice"->posix_unistd_unlocked_8_nice|Function(CI.Void,Returns(CI.PrimitiveCI.Int)),"fork"->posix_unistd_unlocked_7_fork|Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"lseek"->posix_unistd_unlocked_6_lseek|Function(CI.View{CI.ty=CI.Pointer_;write=x40;_},Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"readlink"->(funx39x43x45->letCI.CPointerx44=x43inletCI.CPointerx42=x40x39inletx41=x42inposix_unistd_unlocked_5_readlinkx41x44x45)|Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int))))),"pwrite"->(funx46x47x49x50->letCI.CPointerx48=x47inposix_unistd_unlocked_4_pwritex46x48x49x50)|Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int))))),"pread"->(funx51x52x54x55->letCI.CPointerx53=x52inposix_unistd_unlocked_3_preadx51x53x54x55)|Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"write"->(funx56x57x59->letCI.CPointerx58=x57inposix_unistd_unlocked_2_writex56x58x59)|Function(CI.PrimitiveCI.Int,Function(CI.Pointer_,Function(CI.PrimitiveCI.Int,Returns(CI.PrimitiveCI.Int)))),"read"->(funx60x61x63->letCI.CPointerx62=x61inposix_unistd_unlocked_1_readx60x62x63)|_,s->Printf.ksprintffailwith"No match for %s"sletforeign_value:typea.string->aCtypes.typ->aCtypes.ptr=funnamet->matcht,namewith|_,s->Printf.ksprintffailwith"No match for %s"s