(library
  (system)
  (export
    socket?
    socket-accept
    make-client-socket
    make-server-socket
    socket-recv
    socket-recv!
    socket-send
    socket-close
    socket-shutdown
    socket-port
    make-parameter
    parameterize
    disasm
    same-marks*?
    same-marks?
    id->real-label
    join-wraps
    get-environment-variable
    current-exception-handler
    get-environment-variables
    create-mosh-cache-dir
    create-directory
    delete-directory
    rename-file
    create-symbolic-link
    file-directory?
    file-symbolic-link?
    file-regular?
    file-readable?
    file-executable?
    file-writable?
    file-size-in-bytes
    file-stat-mtime
    file-stat-atime
    file-stat-ctime
    get-output-string
    open-output-string
    %pipe
    %fork
    %exec
    null-terminated-bytevector->string
    null-terminated-utf8->string
    %ffi-open
    %ffi-lookup
    %ffi-call
    %ffi-pointer->string
    %ffi-supported?
    %ffi-malloc
    %ffi-free
    %ffi-make-c-callback-trampoline
    %ffi-free-c-callback-trampoline
    shared-errno
    pointer?
    integer->pointer
    pointer->integer
    pointer-ref-c-signed-char
    pointer-ref-c-unsigned-char
    pointer-ref-c-signed-short
    pointer-ref-c-unsigned-short
    pointer-ref-c-signed-int
    pointer-ref-c-unsigned-int
    pointer-ref-c-signed-long
    pointer-ref-c-unsigned-long
    pointer-ref-c-signed-long-long
    pointer-ref-c-unsigned-long-long
    pointer-ref-c-float
    pointer-ref-c-double
    pointer-ref-c-pointer
    pointer-set-c-char!
    pointer-set-c-short!
    pointer-set-c-int!
    pointer-set-c-long!
    pointer-set-c-long-long!
    pointer-set-c-float!
    pointer-set-c-double!
    pointer-set-c-pointer!
    pointer-set-c-int8!
    pointer-set-c-int16!
    pointer-set-c-int32!
    pointer-set-c-int64!
    pointer-set-c-uint8!
    pointer-set-c-uint16!
    pointer-set-c-uint32!
    pointer-set-c-uint64!
    pointer-ref-c-uint8
    pointer-ref-c-uint16
    pointer-ref-c-uint32
    pointer-ref-c-uint64
    pointer-ref-c-int8
    pointer-ref-c-int16
    pointer-ref-c-int32
    pointer-ref-c-int64
    simple-struct?
    make-simple-struct
    simple-struct-ref
    simple-struct-set!
    simple-struct-name
    %waitpid
    %spawn
    expand-path
    directory-list
    microseconds
    local-tz-offset
    call-process
    %getpid
    %call-process
    mosh-cache-dir
    file->string
    file->list
    write-to-file
    gensym-prefix-set!
    ssl-supported?
    socket-sslize!
    ssl-socket?
    process-list
    process-terminate!
    %monapi-message-send
    %monapi-message-send-receive
    %monapi-message-reply
    %monapi-name-whereis
    %monapi-message-receive
    %monapi-name-add!
    %monapi-make-stream
    %monapi-stream-handle
    %monapi-stream-write
    %monapi-stream-read
    %start-process
    %confstr
    %dup
    )
  (import
    (primitives
      dynamic-bind ; defined in base.scm
      socket?
      socket-accept
      make-client-socket
      make-server-socket
      socket-recv
      socket-recv!
      socket-send
      socket-close
      socket-shutdown
      socket-port
      make-parameter
      ;parameterize
      disasm
      same-marks*?
      same-marks?
      id->real-label
      join-wraps
      get-environment-variable
      current-exception-handler
      get-environment-variables
      create-mosh-cache-dir
      create-directory
      delete-directory
      rename-file
      create-symbolic-link
      file-directory?
      file-symbolic-link?
      file-regular?
      file-readable?
      file-executable?
      file-writable?
      file-size-in-bytes
      file-stat-mtime
      file-stat-atime
      file-stat-ctime
      get-output-string
      open-output-string
      %pipe
      %fork
      %exec
      null-terminated-bytevector->string
      null-terminated-utf8->string
      %ffi-open
      %ffi-lookup
      %ffi-call
      %ffi-pointer->string
      %ffi-supported?
      %ffi-malloc
      %ffi-free
      %ffi-make-c-callback-trampoline
      %ffi-free-c-callback-trampoline
      shared-errno
      pointer?
      integer->pointer
      pointer->integer
      pointer-ref-c-signed-char
      pointer-ref-c-unsigned-char
      pointer-ref-c-signed-short
      pointer-ref-c-unsigned-short
      pointer-ref-c-signed-int
      pointer-ref-c-unsigned-int
      pointer-ref-c-signed-long
      pointer-ref-c-unsigned-long
      pointer-ref-c-signed-long-long
      pointer-ref-c-unsigned-long-long
      pointer-ref-c-float
      pointer-ref-c-double
      pointer-ref-c-pointer
      pointer-set-c-char!
      pointer-set-c-short!
      pointer-set-c-int!
      pointer-set-c-long!
      pointer-set-c-long-long!
      pointer-set-c-float!
      pointer-set-c-double!
      pointer-set-c-pointer!
      pointer-set-c-int8!
      pointer-set-c-int16!
      pointer-set-c-int32!
      pointer-set-c-int64!
      pointer-set-c-uint8!
      pointer-set-c-uint16!
      pointer-set-c-uint32!
      pointer-set-c-uint64!
      pointer-ref-c-uint8
      pointer-ref-c-uint16
      pointer-ref-c-uint32
      pointer-ref-c-uint64
      pointer-ref-c-int8
      pointer-ref-c-int16
      pointer-ref-c-int32
      pointer-ref-c-int64
      simple-struct?
      make-simple-struct
      simple-struct-ref
      simple-struct-set!
      simple-struct-name
      %waitpid
      %spawn
      expand-path
      directory-list
      microseconds
      local-tz-offset
      call-process
      %getpid
      %call-process
      mosh-cache-dir
      file->string
      file->list
      write-to-file
      gensym-prefix-set!
      ssl-supported?
      socket-sslize!
      ssl-socket?
      process-list
      process-terminate!
      %monapi-message-send
      %monapi-message-send-receive
      %monapi-message-reply
      %monapi-name-whereis
      %monapi-message-receive
      %monapi-name-add!
      %monapi-make-stream
      %monapi-stream-handle
      %monapi-stream-write
      %monapi-stream-read
      %start-process
      %confstr
      %dup
      )
    (only (rnrs) lambda define-syntax syntax-rules ... list)
    )
(define-syntax parameterize
  (syntax-rules ()
    ((_ ((expr1 expr2) ...) body ...)
     (dynamic-bind (list expr1 ...) (list expr2 ...) (lambda () body ...)))))
     

)
