/** Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 Ġby ĠK rist offer ĠPaul sson Ġ< k rist offer . paul sson @ t alent en . se >. Ċ Ġ* Ċ Ġ* ĠThis Ġsoftware Ġis Ġavailable Ġunder Ġthe Ġterms Ġof Ġthe ĠMIT Ġlicense . ĠPart s Ġare Ġlicensed Ċ Ġ* Ġunder Ġdifferent Ġterms Ġif Ġstated . ĠThe Ġlegal Ġterms Ġare Ġattached Ġto Ġthe ĠLICENSE Ġfile Ċ Ġ* Ġand Ġare Ġmade Ġavailable Ġon : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttps :// opensource . org / licenses / MIT Ċ Ġ* Ċ Ġ* ĠSPDX - License - Identifier : ĠMIT Ċ Ġ* Ċ Ġ* ĠContributors : Ċ Ġ* ĠĠĠĠĠ ĠK rist offer ĠPaul sson Ġ- Ġinitial Ġimplementation Ċ Ġ*/ Ċ package Ġange los . interop Ċ Ċ import Ġange los . io . FileSystem Ċ import Ġange los . io . net . Socket Ċ import Ġange los . nio . Buffer Ċ Ċ internal Ġexpect Ġclass ĠIO Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinline Ġfun ĠreadFile ( number : ĠInt , Ġdst : ĠBuffer , Ġindex : ĠInt , Ġcount : ĠLong ): ĠLong ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġwrite File ( number : ĠInt , Ġsrc : ĠBuffer , Ġindex : ĠInt , Ġcount : ĠLong ): ĠLong ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġtell File ( number : ĠInt ): ĠLong ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġseek File ( number : ĠInt , Ġposition : ĠLong , Ġwh ence : ĠFileSystem . Seek ): ĠLong ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġclose File ( number : ĠInt ): ĠBoolean ĊĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġcheck Readable ( path : ĠString ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġcheck Writable ( path : ĠString ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġcheck Executable ( path : ĠString ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġcheck Exists ( path : ĠString ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġget FileType ( path : ĠString ): ĠInt ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġget FileInfo ( path : ĠString ): ĠFileSystem . Info ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġget Link Target ( path : ĠString ): ĠString ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġopen Dir ( path : ĠString ): ĠLong ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġread Dir ( dir : ĠLong ): ĠFileSystem . File Entry ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġclose Dir ( dir : ĠLong ): ĠBoolean ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġopen File ( path : ĠString , Ġoption : ĠInt ): ĠInt ĊĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġserver Open ( domain : ĠSocket . Family , Ġtype : ĠSocket . Type , Ġprotocol : ĠInt ): ĠInt ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġserver Listen ( sock : ĠInt , Ġhost : ĠString , Ġport : ĠShort , Ġdomain : ĠSocket . Family , Ġconn : ĠInt ): ĠInt ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġserver Handle () ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġserver Close () ĊĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġclient Open ( host : ĠString , Ġport : ĠShort , Ġdomain : ĠSocket . Family , Ġtype : ĠSocket . Type , Ġprotocol : ĠInt ): ĠInt ĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġclient Close () ĊĠĠĠ Ġ} Ċ }