/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠEm il ĠS ule y man ov Ċ Ġ* ĠCopyright Ġ 2 0 0 4 - 2 0 1 5 , ĠMart ian ĠSoftware , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġss sem il . com . socket . unix Ċ Ċ import Ġcom . sun . j na . LastError Exception Ċ import Ġcom . sun . j na . Native Ċ import Ġcom . sun . j na . Platform Ċ import Ġcom . sun . j na . ptr . Int By Reference Ċ import Ġjava . nio . ByteBuffer Ċ Ċ /** Ċ Ġ* ĠUtility Ġclass Ġto Ġbridge Ġnative ĠUnix Ġdomain Ġsocket Ġcalls Ġto ĠJava Ġusing ĠJ NA . Ċ Ġ*/ Ċ object ĠUnix Domain Socket Library Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠPF _ LOCAL Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠAF _ LOCAL Ġ= Ġ 1 ĊĠĠĠ Ġconst Ġval ĠSOCK _ STREAM Ġ= Ġ 1 ĊĊĠĠĠ Ġconst Ġval ĠSH UT _ RD Ġ= Ġ 0 ĊĠĠĠ Ġconst Ġval ĠSH UT _ WR Ġ= Ġ 1 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠNative . register ( Platform . C _ LIBRARY _ NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġsocket ( domain : ĠInt , Ġtype : ĠInt , Ġprotocol : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġbind ( fd : ĠInt , Ġaddress : ĠS ock Addr Un , Ġaddress Len : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġlisten ( fd : ĠInt , Ġback log : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġaccept ( fd : ĠInt , Ġaddress : ĠS ock Addr Un , Ġaddress Len : ĠInt By Reference ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġconnect ( fd : ĠInt , Ġaddress : ĠS ock Addr Un , Ġaddress Len : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġread ( fd : ĠInt , Ġbuffer : ĠByteBuffer , Ġcount : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġwrite ( fd : ĠInt , Ġbuffer : ĠByteBuffer , Ġcount : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġclose ( fd : ĠInt ): ĠInt ĊĊĠĠĠ Ġ@ Throws ( LastError Exception :: class ) ĊĠĠĠ Ġexternal Ġfun Ġshutdown ( fd : ĠInt , Ġhow : ĠInt ): ĠInt Ċ }