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

(begin
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer::t
   (@struct-type
    std/net/socket/buffer#ssocket-input-buffer::t
    std/net/bio/input#input-buffer::t
    2
    #f
    ()))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer?
   (@struct-pred std/net/socket/buffer#ssocket-input-buffer::t))
  (declare-type
   std/net/socket/buffer#make-ssocket-input-buffer
   (@struct-cons std/net/socket/buffer#ssocket-input-buffer::t))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer-sock
   (@struct-getf std/net/socket/buffer#ssocket-input-buffer::t 0 #f))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer-timeo
   (@struct-getf std/net/socket/buffer#ssocket-input-buffer::t 1 #f))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer-sock-set!
   (@struct-setf std/net/socket/buffer#ssocket-input-buffer::t 0 #f))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer-timeo-set!
   (@struct-setf std/net/socket/buffer#ssocket-input-buffer::t 1 #f))
  (declare-type
   std/net/socket/buffer#&ssocket-input-buffer-sock
   (@struct-getf std/net/socket/buffer#ssocket-input-buffer::t 0 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-input-buffer-timeo
   (@struct-getf std/net/socket/buffer#ssocket-input-buffer::t 1 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-input-buffer-sock-set!
   (@struct-setf std/net/socket/buffer#ssocket-input-buffer::t 0 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-input-buffer-timeo-set!
   (@struct-setf std/net/socket/buffer#ssocket-input-buffer::t 1 #t))
  (declare-type
   std/net/socket/buffer#open-ssocket-input-buffer__%
   (@lambda 2 #f))
  (declare-type
   std/net/socket/buffer#open-ssocket-input-buffer__0
   (@lambda 1 #f))
  (declare-type
   std/net/socket/buffer#open-ssocket-input-buffer
   (@case-lambda
    (1 std/net/socket/buffer#open-ssocket-input-buffer__0)
    (2 std/net/socket/buffer#open-ssocket-input-buffer__%)))
  (declare-type std/net/socket/buffer#ssocket-input-fill! (@lambda 2 #f))
  (declare-type std/net/socket/buffer#ssocket-input-read (@lambda 4 #f))
  (declare-type
   std/net/socket/buffer#ssocket-input-buffer-timeout-set!
   (@lambda 2 #f))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer::t
   (@struct-type
    std/net/socket/buffer#ssocket-output-buffer::t
    std/net/bio/output#output-buffer::t
    2
    #f
    ((final: . #t))))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer?
   (@struct-pred std/net/socket/buffer#ssocket-output-buffer::t))
  (declare-type
   std/net/socket/buffer#make-ssocket-output-buffer
   (@struct-cons std/net/socket/buffer#ssocket-output-buffer::t))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer-sock
   (@struct-getf std/net/socket/buffer#ssocket-output-buffer::t 0 #f))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer-timeo
   (@struct-getf std/net/socket/buffer#ssocket-output-buffer::t 1 #f))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer-sock-set!
   (@struct-setf std/net/socket/buffer#ssocket-output-buffer::t 0 #f))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer-timeo-set!
   (@struct-setf std/net/socket/buffer#ssocket-output-buffer::t 1 #f))
  (declare-type
   std/net/socket/buffer#&ssocket-output-buffer-sock
   (@struct-getf std/net/socket/buffer#ssocket-output-buffer::t 0 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-output-buffer-timeo
   (@struct-getf std/net/socket/buffer#ssocket-output-buffer::t 1 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-output-buffer-sock-set!
   (@struct-setf std/net/socket/buffer#ssocket-output-buffer::t 0 #t))
  (declare-type
   std/net/socket/buffer#&ssocket-output-buffer-timeo-set!
   (@struct-setf std/net/socket/buffer#ssocket-output-buffer::t 1 #t))
  (declare-type
   std/net/socket/buffer#open-ssocket-output-buffer__%
   (@lambda 2 #f))
  (declare-type
   std/net/socket/buffer#open-ssocket-output-buffer__0
   (@lambda 1 #f))
  (declare-type
   std/net/socket/buffer#open-ssocket-output-buffer
   (@case-lambda
    (1 std/net/socket/buffer#open-ssocket-output-buffer__0)
    (2 std/net/socket/buffer#open-ssocket-output-buffer__%)))
  (declare-type std/net/socket/buffer#ssocket-output-drain! (@lambda 2 #f))
  (declare-type std/net/socket/buffer#ssocket-output-write (@lambda 4 #f))
  (declare-type
   std/net/socket/buffer#ssocket-output-buffer-timeout-set!
   (@lambda 2 #f)))
