prelude: :gerbil/compiler/ssxi
package: std/net/socket

(begin
  (declare-type
   std/net/socket/base#!socket::t
   (@struct-type std/net/socket/base#!socket::t #f 4 #f ((final: . #t))))
  (declare-type
   std/net/socket/base#!socket?
   (@struct-pred std/net/socket/base#!socket::t))
  (declare-type
   std/net/socket/base#make-!socket
   (@struct-cons std/net/socket/base#!socket::t))
  (declare-type
   std/net/socket/base#!socket-e
   (@struct-getf std/net/socket/base#!socket::t 0 #f))
  (declare-type
   std/net/socket/base#!socket-wait-in
   (@struct-getf std/net/socket/base#!socket::t 1 #f))
  (declare-type
   std/net/socket/base#!socket-wait-out
   (@struct-getf std/net/socket/base#!socket::t 2 #f))
  (declare-type
   std/net/socket/base#!socket-close
   (@struct-getf std/net/socket/base#!socket::t 3 #f))
  (declare-type
   std/net/socket/base#!socket-e-set!
   (@struct-setf std/net/socket/base#!socket::t 0 #f))
  (declare-type
   std/net/socket/base#!socket-wait-in-set!
   (@struct-setf std/net/socket/base#!socket::t 1 #f))
  (declare-type
   std/net/socket/base#!socket-wait-out-set!
   (@struct-setf std/net/socket/base#!socket::t 2 #f))
  (declare-type
   std/net/socket/base#!socket-close-set!
   (@struct-setf std/net/socket/base#!socket::t 3 #f))
  (declare-type
   std/net/socket/base#!io-state::t
   (@struct-type std/net/socket/base#!io-state::t #f 3 :init! ((final: . #t))))
  (declare-type
   std/net/socket/base#!io-state?
   (@struct-pred std/net/socket/base#!io-state::t))
  (declare-type
   std/net/socket/base#make-!io-state
   (@struct-cons std/net/socket/base#!io-state::t))
  (declare-type
   std/net/socket/base#!io-state-e
   (@struct-getf std/net/socket/base#!io-state::t 0 #f))
  (declare-type
   std/net/socket/base#!io-state-mx
   (@struct-getf std/net/socket/base#!io-state::t 1 #f))
  (declare-type
   std/net/socket/base#!io-state-cv
   (@struct-getf std/net/socket/base#!io-state::t 2 #f))
  (declare-type
   std/net/socket/base#!io-state-e-set!
   (@struct-setf std/net/socket/base#!io-state::t 0 #f))
  (declare-type
   std/net/socket/base#!io-state-mx-set!
   (@struct-setf std/net/socket/base#!io-state::t 1 #f))
  (declare-type
   std/net/socket/base#!io-state-cv-set!
   (@struct-setf std/net/socket/base#!io-state::t 2 #f))
  (declare-type
   std/net/socket/base#!socket-state::t
   (@struct-type std/net/socket/base#!socket-state::t #f 3 #f ((final: . #t))))
  (declare-type
   std/net/socket/base#!socket-state?
   (@struct-pred std/net/socket/base#!socket-state::t))
  (declare-type
   std/net/socket/base#make-!socket-state
   (@struct-cons std/net/socket/base#!socket-state::t))
  (declare-type
   std/net/socket/base#!socket-state-e
   (@struct-getf std/net/socket/base#!socket-state::t 0 #f))
  (declare-type
   std/net/socket/base#!socket-state-io-in
   (@struct-getf std/net/socket/base#!socket-state::t 1 #f))
  (declare-type
   std/net/socket/base#!socket-state-io-out
   (@struct-getf std/net/socket/base#!socket-state::t 2 #f))
  (declare-type
   std/net/socket/base#!socket-state-e-set!
   (@struct-setf std/net/socket/base#!socket-state::t 0 #f))
  (declare-type
   std/net/socket/base#!socket-state-io-in-set!
   (@struct-setf std/net/socket/base#!socket-state::t 1 #f))
  (declare-type
   std/net/socket/base#!socket-state-io-out-set!
   (@struct-setf std/net/socket/base#!socket-state::t 2 #f))
  (declare-type
   std/net/socket/base#socket-server.shutdown!::t
   (@struct-type
    std/net/socket/base#socket-server.shutdown!::t
    #f
    0
    #f
    ((final: . #t))))
  (declare-type
   std/net/socket/base#socket-server.shutdown!?
   (@struct-pred std/net/socket/base#socket-server.shutdown!::t))
  (declare-type
   std/net/socket/base#make-socket-server.shutdown!
   (@struct-cons std/net/socket/base#socket-server.shutdown!::t))
  (declare-type
   std/net/socket/base#xdr-socket-server.shutdown!-read
   (@lambda 1 #f))
  (declare-type
   std/net/socket/base#xdr-socket-server.shutdown!-write
   (@lambda 2 std/actor/xdr#xdr-write-struct))
  (declare-type
   std/net/socket/base#socket-server.add::t
   (@struct-type
    std/net/socket/base#socket-server.add::t
    #f
    1
    #f
    ((final: . #t))))
  (declare-type
   std/net/socket/base#socket-server.add?
   (@struct-pred std/net/socket/base#socket-server.add::t))
  (declare-type
   std/net/socket/base#make-socket-server.add
   (@struct-cons std/net/socket/base#socket-server.add::t))
  (declare-type
   std/net/socket/base#socket-server.add-sock
   (@struct-getf std/net/socket/base#socket-server.add::t 0 #f))
  (declare-type
   std/net/socket/base#socket-server.add-sock-set!
   (@struct-setf std/net/socket/base#socket-server.add::t 0 #f))
  (declare-type std/net/socket/base#xdr-socket-server.add-read (@lambda 1 #f))
  (declare-type
   std/net/socket/base#xdr-socket-server.add-write
   (@lambda 2 std/actor/xdr#xdr-write-struct))
  (declare-type
   std/net/socket/base#socket-server.poll::t
   (@struct-type
    std/net/socket/base#socket-server.poll::t
    #f
    0
    #f
    ((final: . #t))))
  (declare-type
   std/net/socket/base#socket-server.poll?
   (@struct-pred std/net/socket/base#socket-server.poll::t))
  (declare-type
   std/net/socket/base#make-socket-server.poll
   (@struct-cons std/net/socket/base#socket-server.poll::t))
  (declare-type std/net/socket/base#xdr-socket-server.poll-read (@lambda 1 #f))
  (declare-type
   std/net/socket/base#xdr-socket-server.poll-write
   (@lambda 2 std/actor/xdr#xdr-write-struct))
  (declare-type
   std/net/socket/base#socket-server.close::t
   (@struct-type
    std/net/socket/base#socket-server.close::t
    #f
    3
    #f
    ((final: . #t))))
  (declare-type
   std/net/socket/base#socket-server.close?
   (@struct-pred std/net/socket/base#socket-server.close::t))
  (declare-type
   std/net/socket/base#make-socket-server.close
   (@struct-cons std/net/socket/base#socket-server.close::t))
  (declare-type
   std/net/socket/base#socket-server.close-ssock
   (@struct-getf std/net/socket/base#socket-server.close::t 0 #f))
  (declare-type
   std/net/socket/base#socket-server.close-dir
   (@struct-getf std/net/socket/base#socket-server.close::t 1 #f))
  (declare-type
   std/net/socket/base#socket-server.close-shutdown
   (@struct-getf std/net/socket/base#socket-server.close::t 2 #f))
  (declare-type
   std/net/socket/base#socket-server.close-ssock-set!
   (@struct-setf std/net/socket/base#socket-server.close::t 0 #f))
  (declare-type
   std/net/socket/base#socket-server.close-dir-set!
   (@struct-setf std/net/socket/base#socket-server.close::t 1 #f))
  (declare-type
   std/net/socket/base#socket-server.close-shutdown-set!
   (@struct-setf std/net/socket/base#socket-server.close::t 2 #f))
  (declare-type
   std/net/socket/base#xdr-socket-server.close-read
   (@lambda 1 #f))
  (declare-type
   std/net/socket/base#xdr-socket-server.close-write
   (@lambda 2 std/actor/xdr#xdr-write-struct))
  (declare-type std/net/socket/base#abs-timeout (@lambda 1 #f)))
