package Ġjmp 0 . app . mock . system Ċ import Ġandroid . system .* Ċ import Ġandroid . util . Mutable Int Ċ import Ġandroid . util . Mutable Long Ċ import Ġjmp 0 . app . mock . annotations . Class Replace To Ċ import Ġorg . apache . log 4 j . Logger Ċ import Ġjava . nio . Nio Utils Ċ import Ġjava . io . FileDescriptor Ċ import Ġjava . io . Inter rupted IOException Ċ import Ġjava . net . Inet Address Ċ import Ġjava . net . Inet SocketAddress Ċ import Ġjava . net . SocketAddress Ċ import Ġjava . net . Socket Exception Ċ import Ġjava . nio . ByteBuffer Ċ Ċ @ Class Replace To (" lib core . io . Pos ix ") Ċ class ĠPos ix Ġinternal Ġconstructor () Ġ: Ġlib core . io . Os Ġ{ ĊĠĠĠ Ġcompanion Ġobject { ĊĊĠĠĠĠĠĠĠ Ġconst Ġval Ġxx ClassName : ĠString Ġ= Ġ" lib core . io . Pos ix " ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLogger . getLogger ( Pos ix :: class . java ) ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġmaybe Update Buffer Position ( buffer : ĠByteBuffer , Ġoriginal Position : ĠInt , Ġbytes Read Or Written : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bytes Read Or Written Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . position ( bytes Read Or Written Ġ+ Ġoriginal Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġexternal Ġoverride Ġfun Ġaccept ( fd : ĠFile Descriptor ?, Ġpeer Address : ĠInet SocketAddress ?): ĠFile Descriptor ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġaccess ( path : ĠString ?, Ġmode : ĠInt ): ĠBoolean ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġandroid _ get addr info ( node : ĠString ?, Ġhints : ĠStruct Addr info ?, Ġnet Id : ĠInt ): ĠArray < Inet Address ?> ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġbind ( fd : ĠFile Descriptor ?, Ġaddress : ĠInet Address ?, Ġport : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġbind ( fd : ĠFile Descriptor ?, Ġaddress : ĠSocket Address ?) ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġchmod ( path : ĠString ?, Ġmode : ĠInt ){ ĊĠĠĠĠĠĠĠ Ġlogger . debug (" chmod Ġcalled Ġ$ path Ġ$ mode ") ĊĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġchown ( path : ĠString ?, Ġuid : ĠInt , Ġgid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġclose ( fd : ĠFile Descriptor ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġconnect ( fd : ĠFile Descriptor ?, Ġaddress : ĠInet Address ?, Ġport : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġconnect ( fd : ĠFile Descriptor ?, Ġaddress : ĠSocket Address ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġdup ( old Fd : ĠFile Descriptor ?): ĠFile Descriptor ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġdup 2 ( old Fd : ĠFile Descriptor ?, Ġnew Fd : ĠInt ): ĠFile Descriptor ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġenviron (): ĠArray < String ?> ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġexec v ( filename : ĠString ?, Ġargv : ĠArray < String ?> ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġexec ve ( filename : ĠString ?, Ġargv : ĠArray < String ?> ?, Ġenv p : ĠArray < String ?> ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf chmod ( fd : ĠFile Descriptor ?, Ġmode : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf chown ( fd : ĠFile Descriptor ?, Ġuid : ĠInt , Ġgid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf cnt l F lock ( fd : ĠFile Descriptor ?, Ġcmd : ĠInt , Ġarg : ĠStruct F lock ?): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf cnt l Int ( fd : ĠFile Descriptor ?, Ġcmd : ĠInt , Ġarg : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf cnt l Void ( fd : ĠFile Descriptor ?, Ġcmd : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf dat async ( fd : ĠFile Descriptor ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf stat ( fd : ĠFile Descriptor ?): ĠStruct Stat ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf stat vfs ( fd : ĠFile Descriptor ?): ĠStruct Stat V fs ? ĊĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf sync ( fd : ĠFile Descriptor ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġf truncate ( fd : ĠFile Descriptor ?, Ġlength : ĠLong ) ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġg ai _ str error ( error : ĠInt ): ĠString ? ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget eg id (): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget e uid (): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget gid (): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġgetenv ( name : ĠString ?): ĠString ? ĊĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget name info ( address : ĠInet Address ?, Ġflags : ĠInt ): ĠString ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget peer name ( fd : ĠFile Descriptor ?): ĠSocket Address ? ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget pg id ( pid : ĠInt ): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget pid (): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget pp id (): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget p wn am ( name : ĠString ?): ĠStruct Pass wd ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget pw uid ( uid : ĠInt ): ĠStruct Pass wd ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sock name ( fd : ĠFile Descriptor ?): ĠSocket Address ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt Byte ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt In Addr ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠInet Address ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt Int ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt L inger ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠStruct L inger ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt Time val ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠStruct Time val ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget sockopt U cred ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt ): ĠStruct U cred ? ĊĠĠĠ Ġoverride Ġfun Ġget tid (): ĠInt { ĊĠĠĠĠĠĠĠ Ġlogger . warn (" get uid () Ġreturn Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġget uid (): ĠInt { ĊĠĠĠĠĠĠĠ Ġlogger . warn (" get uid () Ġreturn Ġ 0 ") ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġget x attr ( path : ĠString ?, Ġname : ĠString ?, Ġout Value : ĠByteArray ?): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġif _ index ton ame ( index : ĠInt ): ĠString ? ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġinet _ pton ( family : ĠInt , Ġaddress : ĠString ?): ĠInet Address ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġio ctl Inet Address ( fd : ĠFile Descriptor ?, Ġcmd : ĠInt , Ġinterface Name : ĠString ?): ĠInet Address ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġio ctl Int ( fd : ĠFile Descriptor ?, Ġcmd : ĠInt , Ġarg : ĠMutable Int ?): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġis at ty ( fd : ĠFile Descriptor ?): ĠBoolean ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġkill ( pid : ĠInt , Ġsignal : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġl chown ( path : ĠString ?, Ġuid : ĠInt , Ġgid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġlink ( old Path : ĠString ?, Ġnew Path : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġlisten ( fd : ĠFile Descriptor ?, Ġback log : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġl seek ( fd : ĠFile Descriptor ?, Ġoffset : ĠLong , Ġwh ence : ĠInt ): ĠLong ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġl stat ( path : ĠString ?): ĠStruct Stat ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġmin core ( address : ĠLong , Ġbyte Count : ĠLong , Ġvector : ĠByteArray ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġmkdir ( path : ĠString ?, Ġmode : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġmk fifo ( path : ĠString ?, Ġmode : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġm lock ( address : ĠLong , Ġbyte Count : ĠLong ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġmmap ( address : ĠLong , Ġbyte Count : ĠLong , Ġprot : ĠInt , Ġflags : ĠInt , Ġfd : ĠFile Descriptor ?, Ġoffset : ĠLong ): ĠLong ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġm sync ( address : ĠLong , Ġbyte Count : ĠLong , Ġflags : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġm unlock ( address : ĠLong , Ġbyte Count : ĠLong ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġm un map ( address : ĠLong , Ġbyte Count : ĠLong ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġopen ( path : ĠString ?, Ġflags : ĠInt , Ġmode : ĠInt ): ĠFile Descriptor ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġpipe 2 ( flags : ĠInt ): ĠArray < FileDescriptor ?> ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġpoll ( fds : ĠArray < Struct Pol lf d ?> ?, Ġtimeout Ms : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġposix _ f allocate ( fd : ĠFile Descriptor ?, Ġoffset : ĠLong , Ġlength : ĠLong ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġpr ctl ( option : ĠInt , Ġarg 2 : ĠLong , Ġarg 3 : ĠLong , Ġarg 4 : ĠLong , Ġarg 5 : ĠLong ): ĠInt ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġp read ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer , Ġoffset : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Read : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Read Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp read Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining (), Ġoffset ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp read Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Read ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Read ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġp read ( fd : ĠFile Descriptor , Ġbytes : ĠByteArray , Ġbyte Offset : ĠInt , Ġbyte Count : ĠInt , Ġoffset : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġp read Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count , Ġoffset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġexternal Ġfun Ġp read Bytes ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbuffer : ĠAny , ĊĠĠĠĠĠĠĠ Ġbuffer Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġoffset : ĠLong ĊĠĠĠ Ġ): ĠInt ĊĊĊĠĠĠ Ġoverride Ġfun Ġp write ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer , Ġoffset : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Written : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Written Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp write Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining (), Ġoffset ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġp write Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Written ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Written ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġp write ( fd : ĠFile Descriptor , Ġbytes : ĠByteArray , Ġbyte Offset : ĠInt , Ġbyte Count : ĠInt , Ġoffset : ĠLong ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġp write Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count , Ġoffset ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġexternal Ġfun Ġp write Bytes ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbuffer : ĠAny , ĊĠĠĠĠĠĠĠ Ġbuffer Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġoffset : ĠLong ĊĠĠĠ Ġ): ĠInt ĊĊĊĠĠĠ Ġoverride Ġfun Ġread ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Read : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Read Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Read ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Read ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġread ( fd : ĠFile Descriptor , Ġbytes : ĠByteArray , Ġbyte Offset : ĠInt , Ġbyte Count : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġread Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġexternal Ġfun Ġread Bytes ( fd : ĠFile Descriptor , Ġbuffer : ĠAny , Ġoffset : ĠInt , Ġbyte Count : ĠInt ): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġread link ( path : ĠString ?): ĠString ? ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġread v ( fd : ĠFile Descriptor ?, Ġbuffers : ĠArray < Any ?> ?, Ġoffsets : ĠInt Array ?, Ġbyte Counts : ĠInt Array ?): ĠInt ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġrecv from ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer , Ġflags : ĠInt , Ġsrc Address : ĠInet SocketAddress ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Received : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Received Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecv from Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining (), Ġflags , Ġsrc Address ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecv from Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflags , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsrc Address ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Received ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Received ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġrecv from ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbytes : ĠByteArray , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġsrc Address : ĠInet SocketAddress ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġrecv from Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count , Ġflags , Ġsrc Address ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġrecv from Bytes ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbuffer : ĠAny , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġsrc Address : ĠInet SocketAddress ĊĠĠĠ Ġ): ĠInt ĊĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġremove ( path : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġremov ex attr ( path : ĠString ?, Ġname : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġrename ( old Path : ĠString ?, Ġnew Path : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsend file ( out Fd : ĠFile Descriptor ?, Ġin Fd : ĠFile Descriptor ?, Ġin Offset : ĠMutable Long ?, Ġbyte Count : ĠLong ): ĠLong ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġsend to ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer , Ġflags : ĠInt , Ġinet Address : ĠInet Address , Ġport : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Sent : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Sent Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend to Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining (), Ġflags , Ġinet Address , Ġport ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend to Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflags , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinet Address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġport ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Sent ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Sent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġsend to ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbytes : ĠByteArray , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġinet Address : ĠInet Address , ĊĠĠĠĠĠĠĠ Ġport : ĠInt ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġsend to Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count , Ġflags , Ġinet Address , Ġport ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġoverride Ġfun Ġsend to ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbytes : ĠByteArray , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġaddress : ĠSocket Address ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsend to Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count , Ġflags , Ġaddress ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġsend to Bytes ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbuffer : ĠAny , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġinet Address : ĠInet Address , ĊĠĠĠĠĠĠĠ Ġport : ĠInt ĊĠĠĠ Ġ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠSocket Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġsend to Bytes ( ĊĠĠĠĠĠĠĠ Ġfd : ĠFile Descriptor , ĊĠĠĠĠĠĠĠ Ġbuffer : ĠAny , ĊĠĠĠĠĠĠĠ Ġbyte Offset : ĠInt , ĊĠĠĠĠĠĠĠ Ġbyte Count : ĠInt , ĊĠĠĠĠĠĠĠ Ġflags : ĠInt , ĊĠĠĠĠĠĠĠ Ġaddress : ĠSocket Address ĊĠĠĠ Ġ): ĠInt ĊĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġse te gid ( eg id : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset env ( name : ĠString ?, Ġvalue : ĠString ?, Ġoverwrite : ĠBoolean ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġse te uid ( e uid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset gid ( gid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġse tp gid ( pid : ĠInt , Ġpg id : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset reg id ( rg id : ĠInt , Ġe gid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset re uid ( r uid : ĠInt , Ġe uid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsets id (): ĠInt ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Byte ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt If req ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Int ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Ip M req n ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Group Req ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠStruct Group Req ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Group Source Req ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠStruct Group Source Req ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt L inger ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠStruct L inger ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset sockopt Time val ( fd : ĠFile Descriptor ?, Ġlevel : ĠInt , Ġoption : ĠInt , Ġvalue : ĠStruct Time val ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset uid ( uid : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġset x attr ( path : ĠString ?, Ġname : ĠString ?, Ġvalue : ĠByteArray ?, Ġflags : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġshutdown ( fd : ĠFile Descriptor ?, Ġhow : ĠInt ) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsocket ( domain : ĠInt , Ġtype : ĠInt , Ġprotocol : ĠInt ): ĠFile Descriptor ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsocket pair ( domain : ĠInt , Ġtype : ĠInt , Ġprotocol : ĠInt , Ġfd 1 : ĠFile Descriptor ?, Ġfd 2 : ĠFile Descriptor ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġstat ( path : ĠString ?): ĠStruct Stat ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġstat vfs ( path : ĠString ?): ĠStruct Stat V fs ? ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġstrerror ( errno : ĠInt ): ĠString ? ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġstr signal ( signal : ĠInt ): ĠString ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsymlink ( old Path : ĠString ?, Ġnew Path : ĠString ?) ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġsys conf ( name : ĠInt ): ĠLong ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġt cd rain ( fd : ĠFile Descriptor ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġtcs end break ( fd : ĠFile Descriptor ?, Ġduration : ĠInt ) ĊĠĠĠ Ġoverride Ġfun Ġum ask ( mask : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( mask Ġand Ġ 5 1 1 Ġ== Ġmask ) Ġ{ Ġ" Invalid Ġum ask : Ġ$ mask " Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġum ask Impl ( mask ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġexternal Ġfun Ġum ask Impl ( mask : ĠInt ): ĠInt ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġun ame (): ĠStruct U ts name ? ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġunset env ( name : ĠString ?) ĊĠĠĠĠĊĠĠĠ Ġexternal Ġoverride Ġfun Ġwait pid ( pid : ĠInt , Ġstatus : ĠMutable Int ?, Ġoptions : ĠInt ): ĠInt ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġwrite ( fd : ĠFile Descriptor , Ġbuffer : ĠByteBuffer ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbytes Written : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġbuffer . position () ĊĠĠĠĠĠĠĠ Ġbytes Written Ġ= Ġif Ġ( buffer . is Direct ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Bytes ( fd , Ġbuffer , Ġposition , Ġbuffer . remaining ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwrite Bytes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfd , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array ( buffer ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠN io Utils . unsafe Array Offset ( buffer ) Ġ+ Ġposition , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuffer . remaining () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġmaybe Update Buffer Position ( buffer , Ġposition , Ġbytes Written ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbytes Written ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġwrite ( fd : ĠFile Descriptor , Ġbytes : ĠByteArray , Ġbyte Offset : ĠInt , Ġbyte Count : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠThis Ġind irection Ġisn 't Ġstrictly Ġnecessary , Ġbut Ġensures Ġthat Ġour Ġpublic Ġinterface Ġis Ġtype Ġsafe . ĊĠĠĠĠĠĠĠ Ġreturn Ġwrite Bytes ( fd , Ġbytes , Ġbyte Offset , Ġbyte Count ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġexternal Ġfun Ġwrite Bytes ( fd : ĠFile Descriptor , Ġbuffer : ĠAny , Ġoffset : ĠInt , Ġbyte Count : ĠInt ): ĠInt ĊĠĠĠ Ġ@ Throws ( Errno Exception :: class , ĠInter rupted IOException :: class ) ĊĠĠĠ Ġexternal Ġoverride Ġfun Ġwrite v ( fd : ĠFile Descriptor ?, Ġbuffers : ĠArray < Any ?> ?, Ġoffsets : ĠInt Array ?, Ġbyte Counts : ĠInt Array ?): ĠInt Ċ Ċ }