959 lines
20 KiB
Scheme
959 lines
20 KiB
Scheme
|
;;; The packages that scsh uses/defines.
|
||
|
;;; Copyright (c) 1994 by Olin Shivers.
|
||
|
|
||
|
;;; Note: field-reader package (fr.scm) and here docs use READ-LINE.
|
||
|
;;; It is defined in rdelim.scm.
|
||
|
|
||
|
;;; You link up a scsh package by defining a package named OS-DEPENDENT
|
||
|
;;; that satisfies the interfaces for packages
|
||
|
;;; buffered-io-flags
|
||
|
;;; posix-fdflags
|
||
|
;;; posix-errno
|
||
|
;;; posix-signals
|
||
|
;;; Anything else it provides should be specified in an interface called
|
||
|
;;; os-extras-interface. See the scsh structure below.
|
||
|
;;; Then the scsh structure can be instantiated.
|
||
|
;;;
|
||
|
;;; The architecture directories, like next/ and irix/ and so forth,
|
||
|
;;; provide packages that can serve as the os-dependent package. E.g.,
|
||
|
;;; the next-defs package, defined in next/packages.
|
||
|
;;;
|
||
|
;;; This whole mechanism would be better solved with a functor.
|
||
|
;;; -Olin
|
||
|
|
||
|
|
||
|
;;; The LET-OPT package for optional argument parsing & defaulting
|
||
|
;;; is found in the let-opt.scm file.
|
||
|
|
||
|
|
||
|
(define-structure error-package (export error warn)
|
||
|
(open signals)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
|
||
|
(define-structure scsh-utilities scsh-utilities-interface
|
||
|
(open bitwise error-package loopholes let-opt scheme define-record-types
|
||
|
records
|
||
|
threads threads-internal placeholders locks srfi-1)
|
||
|
(files utilities)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
(define-structure weak-tables weak-tables-interface
|
||
|
(open scheme
|
||
|
weak
|
||
|
tables)
|
||
|
(files weaktables))
|
||
|
|
||
|
(define-structure string-collectors string-collectors-interface
|
||
|
(open scheme
|
||
|
defrec-package)
|
||
|
(files stringcoll))
|
||
|
|
||
|
(define-structure delimited-readers delimited-readers-interface
|
||
|
(open scheme
|
||
|
byte-vectors
|
||
|
signals ; ERROR
|
||
|
let-opt
|
||
|
receiving
|
||
|
re-level-0 rx-syntax
|
||
|
(subset srfi-14 (char-set x->char-set char-set-contains?))
|
||
|
ascii
|
||
|
i/o-internal ports)
|
||
|
(files rdelim))
|
||
|
|
||
|
(define list-lib srfi-1)
|
||
|
(define string-lib srfi-13)
|
||
|
(define char-set-lib srfi-14)
|
||
|
|
||
|
|
||
|
;;; This guy goes into the FOR-SYNTAX part of scsh's syntax exports.
|
||
|
(define-structure scsh-syntax-helpers
|
||
|
(export transcribe-extended-process-form)
|
||
|
(open receiving ; receive
|
||
|
error-package
|
||
|
names ; generated? by JMG
|
||
|
scsh-utilities ; check-arg
|
||
|
scheme
|
||
|
)
|
||
|
(files syntax-helpers)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
|
||
|
;;; The bufpol/{block, line, none} values
|
||
|
(define-structure buffered-io-flags buffered-io-flags-interface
|
||
|
(open defenum-package scheme)
|
||
|
(files (machine bufpol))
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
|
||
|
|
||
|
(define-structures ((tty-flags tty-flags-interface)
|
||
|
(scsh-internal-tty-flags scsh-internal-tty-flags-interface))
|
||
|
(open scheme ascii bitwise)
|
||
|
(files (machine tty-consts))
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
|
||
|
(define-structure scsh-version scsh-version-interface
|
||
|
(open scheme)
|
||
|
(files scsh-version))
|
||
|
|
||
|
(define-structure scsh-endian scsh-endian-interface
|
||
|
(open scheme
|
||
|
bitwise)
|
||
|
(files endian))
|
||
|
|
||
|
;;; The scsh-level-0 package is for implementation convenience.
|
||
|
;;; The scsh startup and top-level modules need access to scsh
|
||
|
;;; procedures, but they export procedures that are themselves
|
||
|
;;; part of scsh. So scsh-level-0 is the core scsh stuff, which is
|
||
|
;;; imported by these two modules. These modules all collectively
|
||
|
;;; export the whole scsh enchilada.
|
||
|
|
||
|
(define-structures
|
||
|
((scsh-level-0
|
||
|
(compound-interface posix-fdflags-interface
|
||
|
posix-errno-interface
|
||
|
posix-signals-interface
|
||
|
sockets-network-interface ; Standard Network Interface
|
||
|
os-extras-interface ; Extra stuff from OS.
|
||
|
scsh-delimited-readers-interface
|
||
|
scsh-errors-interface
|
||
|
scsh-io-interface
|
||
|
scsh-file-interface
|
||
|
scsh-process-interface
|
||
|
scsh-process-state-interface
|
||
|
scsh-user/group-db-interface
|
||
|
scsh-command-line-interface
|
||
|
scsh-signals-interface
|
||
|
scsh-environment-interface
|
||
|
scsh-home-interface
|
||
|
scsh-string-interface
|
||
|
scsh-file-names-interface
|
||
|
scsh-misc-interface
|
||
|
scsh-high-level-process-interface
|
||
|
scsh-time-interface ; new in 0.2
|
||
|
scsh-sockets-interface ; new in 0.3
|
||
|
scsh-endian-interface
|
||
|
tty-interface ; new in 0.4
|
||
|
scsh-version-interface
|
||
|
(interface-of srfi-14) ;; export this here for
|
||
|
(export ->char-set) ;; this kludge
|
||
|
signal-handler-interface
|
||
|
;; This stuff would probably be better off kept
|
||
|
;; in separate modules, but we'll toss it in for now.
|
||
|
(interface-of ascii) ; char<->ascii
|
||
|
string-ports-interface
|
||
|
syslog-interface
|
||
|
crypt-interface
|
||
|
uname-interface
|
||
|
))
|
||
|
(scsh-level-0-internals (export set-command-line-args!
|
||
|
init-scsh-hindbrain
|
||
|
initialize-cwd
|
||
|
init-scsh-vars))
|
||
|
; (scsh-regexp-package scsh-regexp-interface)
|
||
|
)
|
||
|
(for-syntax (open scsh-syntax-helpers scheme))
|
||
|
(access rts-sigevents sigevents threads)
|
||
|
(open enumerated
|
||
|
defenum-package
|
||
|
external-calls ;JMG new FFI
|
||
|
structure-refs
|
||
|
receiving
|
||
|
defrec-package
|
||
|
define-record-types
|
||
|
formats
|
||
|
string-collectors
|
||
|
delimited-readers
|
||
|
os-dependent ; OS dependent stuff
|
||
|
buffered-io-flags ; stdio dependent
|
||
|
ascii
|
||
|
records
|
||
|
extended-ports
|
||
|
ports
|
||
|
build
|
||
|
bigbit
|
||
|
bitwise
|
||
|
signals
|
||
|
conditions
|
||
|
(subset srfi-1 (filter reverse! fold delete any))
|
||
|
scsh-utilities
|
||
|
handle
|
||
|
fluids thread-fluids
|
||
|
weak-tables
|
||
|
(subset srfi-1 (last drop-right))
|
||
|
|
||
|
srfi-14
|
||
|
; scsh-regexp-package
|
||
|
; scsh-regexp-internals
|
||
|
scsh-version
|
||
|
tty-flags
|
||
|
scsh-internal-tty-flags ; Not exported
|
||
|
|
||
|
syslog
|
||
|
|
||
|
let-opt ; optional-arg parsing & defaulting
|
||
|
|
||
|
architecture ; Was this by JMG ??
|
||
|
|
||
|
re-level-0
|
||
|
rx-syntax
|
||
|
|
||
|
srfi-13
|
||
|
|
||
|
thread-fluids ; For exec-path-list
|
||
|
loopholes ; For my bogus CALL-TERMINALLY implementation.
|
||
|
|
||
|
(modify scheme (hide call-with-input-file
|
||
|
call-with-output-file
|
||
|
with-input-from-file
|
||
|
with-output-to-file
|
||
|
open-input-file
|
||
|
open-output-file))
|
||
|
|
||
|
low-interrupt ; for sighandler and procobj
|
||
|
;; all these seem to be for scsh-0.6 JMG
|
||
|
i/o
|
||
|
i/o-internal
|
||
|
channels channel-i/o
|
||
|
low-channels
|
||
|
byte-vectors
|
||
|
threads locks placeholders
|
||
|
primitives
|
||
|
escapes
|
||
|
command-levels
|
||
|
features
|
||
|
general-tables
|
||
|
simple-syntax
|
||
|
exit-hooks
|
||
|
display-conditions
|
||
|
|
||
|
scsh-endian)
|
||
|
(for-syntax (open scsh-syntax-helpers scheme))
|
||
|
(access interrupts
|
||
|
sort
|
||
|
command-processor
|
||
|
escapes
|
||
|
i/o ; S48's force-output
|
||
|
exceptions ; signal-exception
|
||
|
formats
|
||
|
threads-internal
|
||
|
records ; I don't think this is necessary. !!!
|
||
|
scheme) ; For accessing the normal I/O operators.
|
||
|
(files syntax
|
||
|
scsh-condition
|
||
|
syscalls
|
||
|
fname
|
||
|
rw
|
||
|
newports
|
||
|
fdports
|
||
|
procobj ; New in release 0.4.
|
||
|
(machine waitcodes) ; OS dependent code.
|
||
|
filesys
|
||
|
fileinfo
|
||
|
glob
|
||
|
filemtch
|
||
|
time ; New in release 0.2.
|
||
|
(machine time_dep)
|
||
|
network ; New in release 0.3.
|
||
|
flock ; New in release 0.4.
|
||
|
tty ; New in release 0.4.
|
||
|
pty ; New in release 0.4.
|
||
|
sighandlers ; New in release 0.5.
|
||
|
scsh
|
||
|
; re
|
||
|
)
|
||
|
; (optimize auto-integrate)
|
||
|
(begin
|
||
|
;; work around for SRFI 14 naming fuckage
|
||
|
(define ->char-set x->char-set))
|
||
|
)
|
||
|
|
||
|
(define-structure defrec-package (export (define-record :syntax))
|
||
|
(open records scheme)
|
||
|
(for-syntax (open scheme error-package receiving))
|
||
|
(files defrec)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
(define-structure defenum-package (export (define-enum-constant :syntax)
|
||
|
(define-enum-constants :syntax)
|
||
|
(define-enum-constants-from-zero
|
||
|
:syntax))
|
||
|
(open scheme)
|
||
|
(files enumconst)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
;;; This code opens so many modules of gruesome, low-level S48 internals
|
||
|
;;; that these two modules are segregated into separate packages, each
|
||
|
;;; exporting just two definitions.
|
||
|
|
||
|
(define-structure scsh-startup-package (export dump-scsh-program
|
||
|
dump-scsh
|
||
|
make-scsh-starter
|
||
|
scsh-stand-alone-resumer)
|
||
|
(open scsh-level-0-internals ; init-scsh-* set-command-line-args!
|
||
|
scsh-level-0 ; error-output-port command-line-arguments
|
||
|
scsh-top-package ; parse-switches-and-execute
|
||
|
handle ; with-handler
|
||
|
command-levels ; user-context
|
||
|
write-images ; write-image
|
||
|
build-internals ; simple-condition-handler
|
||
|
low-level ; flush-the-symbol-table!
|
||
|
command-processor ; command-output
|
||
|
package-commands-internal
|
||
|
filenames ; translate
|
||
|
usual-resumer ; usual-resumer
|
||
|
environments ; with-interaction-environment
|
||
|
fluids-internal ; JMG: get-dynamic-env
|
||
|
threads threads-internal queues scheduler
|
||
|
structure-refs
|
||
|
scsh-utilities
|
||
|
interrupts
|
||
|
low-interrupt
|
||
|
sigevents
|
||
|
primitives
|
||
|
(modify scheme (hide call-with-input-file
|
||
|
call-with-output-file
|
||
|
with-input-from-file
|
||
|
with-output-to-file
|
||
|
open-input-file
|
||
|
open-output-file)))
|
||
|
(access threads-internal)
|
||
|
(files startup))
|
||
|
|
||
|
(define-structure scsh-top-package (export parse-switches-and-execute
|
||
|
with-scsh-initialized)
|
||
|
(open command-processor
|
||
|
command-levels ; with-new-session
|
||
|
conditions
|
||
|
display-conditions
|
||
|
ensures-loaded
|
||
|
environments
|
||
|
error-package
|
||
|
evaluation
|
||
|
extended-ports
|
||
|
fluids
|
||
|
interfaces
|
||
|
sigevents
|
||
|
low-interrupt
|
||
|
fluids-internal ; JMG: get-dynamic-env
|
||
|
handle ; JMG: with-handler
|
||
|
; package-commands
|
||
|
interrupts
|
||
|
i/o
|
||
|
package-commands-internal
|
||
|
package-mutation
|
||
|
packages
|
||
|
receiving
|
||
|
scsh-version
|
||
|
scsh-level-0 ; with-current-input-port error-output-port
|
||
|
; with-current-output-port exit
|
||
|
scsh-level-0-internals ; set-command-line-args! init-scsh-vars
|
||
|
threads
|
||
|
lib-dirs
|
||
|
lib-dirs-internal
|
||
|
(subset srfi-14 (char-set
|
||
|
char-set-complement!
|
||
|
char-set-contains?
|
||
|
string->char-set))
|
||
|
root-scheduler ; scheme-exit-now
|
||
|
exit-hooks
|
||
|
scheme)
|
||
|
(files top meta-arg))
|
||
|
|
||
|
(define-structure exit-hooks exit-hooks-interface
|
||
|
(open scheme
|
||
|
threads)
|
||
|
(begin
|
||
|
(define *exit-hooks* '())
|
||
|
(define (add-exit-hook! thunk)
|
||
|
(set! *exit-hooks* (cons thunk *exit-hooks*)))
|
||
|
(define (call-exit-hooks!)
|
||
|
(for-each (lambda (thunk) (thunk)) *exit-hooks*))
|
||
|
|
||
|
(define *narrowed-exit-hooks* '())
|
||
|
(define (add-narrowed-exit-hook! thunk)
|
||
|
(set! *narrowed-exit-hooks* (cons thunk *narrowed-exit-hooks*)))
|
||
|
(define (call-narrowed-exit-hooks!)
|
||
|
(for-each (lambda (thunk) (thunk)) *narrowed-exit-hooks*))
|
||
|
|
||
|
(define (call-exit-hooks-and-narrow thunk)
|
||
|
(call-exit-hooks!)
|
||
|
(narrow
|
||
|
(lambda ()
|
||
|
(call-narrowed-exit-hooks!)
|
||
|
(thunk))))))
|
||
|
|
||
|
|
||
|
(define-structure field-reader-package scsh-field-reader-interface
|
||
|
(open receiving ; receive
|
||
|
scsh-utilities ; deprecated-proc
|
||
|
error-package ; error
|
||
|
(subset srfi-13 (string-join))
|
||
|
(subset srfi-14 (char-set?
|
||
|
char-set:whitespace
|
||
|
char-set
|
||
|
x->char-set
|
||
|
char-set-complement))
|
||
|
delimited-readers
|
||
|
re-exports
|
||
|
let-opt ; optional-arg parsing & defaulting
|
||
|
scheme
|
||
|
)
|
||
|
(files fr)
|
||
|
;; Handle a little bit of backwards compatibility.
|
||
|
(begin (define join-strings (deprecated-proc string-join 'join-strings
|
||
|
"Use SRFI-13 STRING-JOIN.")))
|
||
|
)
|
||
|
|
||
|
|
||
|
(define-structures
|
||
|
((awk-expander-package (export expand-awk expand-awk/obsolete))
|
||
|
(awk-support-package (export next-range next-:range
|
||
|
next-range: next-:range:)))
|
||
|
(open receiving ; receive
|
||
|
;; scsh-utilities
|
||
|
(subset srfi-1 (any filter))
|
||
|
error-package ; error
|
||
|
; scsh-regexp-package
|
||
|
; re-exports
|
||
|
sre-syntax-tools
|
||
|
scheme
|
||
|
)
|
||
|
(files awk)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
|
||
|
(define-structure awk-package awk-interface
|
||
|
(open awk-support-package ; These packages provide all the stuff
|
||
|
re-exports ; that appears in the code produced by
|
||
|
receiving ; an awk expansion.
|
||
|
scheme)
|
||
|
(for-syntax (open awk-expander-package scheme))
|
||
|
(begin (define-syntax awk expand-awk)
|
||
|
(define-syntax awk/posix-string expand-awk/obsolete)))
|
||
|
|
||
|
;;; Exports an AWK macro that is just AWK/POSIX-STRING.
|
||
|
(define-structure obsolete-awk-package (export (awk :syntax))
|
||
|
(open awk-package)
|
||
|
(begin (define-syntax awk
|
||
|
(syntax-rules () ((awk body ...) (awk/posix-string body ....))))))
|
||
|
|
||
|
(define-structure scsh
|
||
|
(compound-interface (interface-of scsh-level-0)
|
||
|
(interface-of scsh-startup-package)
|
||
|
; scsh-regexp-interface
|
||
|
re-exports-interface
|
||
|
re-old-funs-interface
|
||
|
scsh-field-reader-interface ; new in 0.3
|
||
|
; scsh-dbm-interface
|
||
|
awk-interface
|
||
|
char-predicates-interface; Urk -- Some of this is R5RS!
|
||
|
dot-locking-interface
|
||
|
md5-interface
|
||
|
configure-interface
|
||
|
lib-dirs-interface
|
||
|
)
|
||
|
|
||
|
(open structure-refs
|
||
|
scsh-level-0
|
||
|
scsh-level-0-internals
|
||
|
re-exports
|
||
|
re-old-funs
|
||
|
; scsh-regexp-package
|
||
|
scsh-startup-package
|
||
|
; dbm
|
||
|
awk-package
|
||
|
field-reader-package
|
||
|
char-predicates-lib ; Urk -- Some of this is R5RS!
|
||
|
dot-locking
|
||
|
md5
|
||
|
configure
|
||
|
lib-dirs
|
||
|
scheme)
|
||
|
|
||
|
(access scsh-top-package)
|
||
|
; (optimize auto-integrate)
|
||
|
)
|
||
|
|
||
|
(define-structure scheme-with-scsh
|
||
|
(compound-interface (interface-of scsh)
|
||
|
(interface-of scheme))
|
||
|
(open scsh
|
||
|
(modify scheme (hide call-with-input-file
|
||
|
call-with-output-file
|
||
|
with-input-from-file
|
||
|
with-output-to-file
|
||
|
open-input-file
|
||
|
open-output-file))))
|
||
|
|
||
|
(define-structure scsh-here-string-hax (export)
|
||
|
(open reading
|
||
|
receiving
|
||
|
scsh ; Just need the delimited readers.
|
||
|
features ; make-immutable!
|
||
|
(subset srfi-14 (char-set))
|
||
|
scheme)
|
||
|
(files here))
|
||
|
|
||
|
(define-structure sigevents sigevents-interface
|
||
|
(open scsh-level-0
|
||
|
scheme
|
||
|
structure-refs
|
||
|
low-interrupt
|
||
|
rts-sigevents)
|
||
|
(files event))
|
||
|
|
||
|
(define-structure simple-syntax (export define-simple-syntax)
|
||
|
(open scheme)
|
||
|
(begin (define-syntax define-simple-syntax
|
||
|
(syntax-rules ()
|
||
|
((define-simple-syntax (name . pattern) result)
|
||
|
(define-syntax name (syntax-rules () ((name . pattern) result))))))))
|
||
|
|
||
|
|
||
|
(define-structure low-interrupt low-interrupt-interface
|
||
|
(open scheme
|
||
|
enumerated
|
||
|
bigbit
|
||
|
bitwise)
|
||
|
(files low-interrupt))
|
||
|
|
||
|
;(define-structure test-package (export test-proc)
|
||
|
; (open scsh-regexp-package scheme)
|
||
|
; (begin (define (test-proc p)
|
||
|
; (regexp-substitute p
|
||
|
; (string-match "(foo)(.*)(bar)" "Hello foo Olin bar quux")
|
||
|
; 'post 3 1 2 'pre))))
|
||
|
|
||
|
|
||
|
(define-structure scsh-threads
|
||
|
(export fork/thread
|
||
|
fork/process
|
||
|
wait/thread
|
||
|
wait/process)
|
||
|
(open structure-refs
|
||
|
scheme)
|
||
|
(access scsh-level-0
|
||
|
threads
|
||
|
threads-internal)
|
||
|
(files threads))
|
||
|
|
||
|
(define-structure dot-locking dot-locking-interface
|
||
|
(open scsh-level-0
|
||
|
scheme
|
||
|
let-opt
|
||
|
threads ; sleep
|
||
|
random)
|
||
|
(files dot-locking))
|
||
|
|
||
|
(define-structures ((syslog syslog-interface)
|
||
|
(syslog-channels syslog-channels-interface))
|
||
|
(open scheme
|
||
|
define-record-types finite-types enum-sets
|
||
|
locks thread-fluids
|
||
|
external-calls
|
||
|
bitwise)
|
||
|
(files syslog))
|
||
|
|
||
|
(define-structure libscsh (export dump-libscsh-image)
|
||
|
(open scheme
|
||
|
external-calls
|
||
|
(subset i/o (current-error-port))
|
||
|
(subset extended-ports (make-string-input-port))
|
||
|
(subset handle (with-handler))
|
||
|
(subset escapes (with-continuation))
|
||
|
(subset environments (with-interaction-environment))
|
||
|
(subset package-commands-internal (user-environment))
|
||
|
(subset command-levels (user-context start-new-session))
|
||
|
(subset command-processor (user-command-environment))
|
||
|
(subset scsh-startup-package (dump-scsh-program)))
|
||
|
(files libscsh))
|
||
|
|
||
|
(define-structure md5 md5-interface
|
||
|
(open scheme
|
||
|
ascii
|
||
|
define-record-types
|
||
|
bitwise
|
||
|
(subset i/o (read-block))
|
||
|
(subset srfi-13 (string-fold-right))
|
||
|
signals
|
||
|
external-calls)
|
||
|
(files md5))
|
||
|
|
||
|
(define srfi-19 (make-srfi-19 scheme-with-scsh))
|
||
|
|
||
|
(define-structure configure configure-interface
|
||
|
(open scheme
|
||
|
re-level-0 rx-syntax
|
||
|
(subset srfi-13 (string-join)))
|
||
|
(files configure))
|
||
|
|
||
|
(define-structures ((lib-dirs lib-dirs-interface)
|
||
|
(lib-dirs-internal lib-dirs-internal-interface))
|
||
|
(open scsh-level-0
|
||
|
scheme
|
||
|
handle
|
||
|
scsh-utilities
|
||
|
(subset srfi-1 (any)))
|
||
|
(files lib-dirs))
|
||
|
|
||
|
(define-structure curses
|
||
|
(export init-screen
|
||
|
newterm
|
||
|
endwin
|
||
|
isendwin
|
||
|
delscreen
|
||
|
unctrl
|
||
|
keyname
|
||
|
filter
|
||
|
use_env
|
||
|
putwin
|
||
|
getwin
|
||
|
delay-output
|
||
|
start-color
|
||
|
init-pair
|
||
|
flushinp
|
||
|
curses-version
|
||
|
use-default-colors
|
||
|
assume-default-colors
|
||
|
define-key
|
||
|
baudrate
|
||
|
erasechar
|
||
|
has_ic
|
||
|
has_il
|
||
|
killchar
|
||
|
longname
|
||
|
termname
|
||
|
has-key
|
||
|
start-color
|
||
|
init-pair
|
||
|
init-color
|
||
|
has-colors
|
||
|
can-change-colors
|
||
|
color-pair
|
||
|
cbreak
|
||
|
nocbreak
|
||
|
echo
|
||
|
noecho
|
||
|
halfdelay
|
||
|
intrflush
|
||
|
keypad
|
||
|
meta
|
||
|
nodelay
|
||
|
raw
|
||
|
noraw
|
||
|
qiflush
|
||
|
noqiflush
|
||
|
beep
|
||
|
flash
|
||
|
def-prog-mode
|
||
|
def-shell-mode
|
||
|
reset-prog-mode
|
||
|
reset-shell-mode
|
||
|
resetty
|
||
|
savetty
|
||
|
curs-set
|
||
|
napms
|
||
|
mcprint
|
||
|
is-term-resized
|
||
|
resize-term
|
||
|
resizeterm
|
||
|
scr-dump
|
||
|
scr-restore
|
||
|
scr-init
|
||
|
scr-set
|
||
|
set-term
|
||
|
newwin
|
||
|
delwin
|
||
|
mvwin
|
||
|
subwin
|
||
|
derwin
|
||
|
mvderwin
|
||
|
dupwin
|
||
|
wsyncup
|
||
|
wcursyncup
|
||
|
wsyncdown
|
||
|
syncok
|
||
|
wrefresh
|
||
|
wnoutrefresh
|
||
|
redrawwin
|
||
|
doupdate
|
||
|
wredrawln
|
||
|
;;getyx
|
||
|
;;getparyx
|
||
|
;;getbegyx
|
||
|
;;getmaxyx
|
||
|
gety
|
||
|
getx
|
||
|
getmaxy
|
||
|
getmaxx
|
||
|
wresize
|
||
|
idlok
|
||
|
leaveok
|
||
|
scrollok
|
||
|
idcok
|
||
|
immedok
|
||
|
wsetscrreg
|
||
|
nl
|
||
|
nonl
|
||
|
waddch
|
||
|
waddstr
|
||
|
waddnstr
|
||
|
winsch
|
||
|
winsstr
|
||
|
winsnstr
|
||
|
wechochar
|
||
|
wattroff
|
||
|
wattron
|
||
|
wattrset
|
||
|
wstandend
|
||
|
wstandout
|
||
|
wbkgdset
|
||
|
wbkgd
|
||
|
getbkgd
|
||
|
wborder
|
||
|
box
|
||
|
whline
|
||
|
wvline
|
||
|
scroll
|
||
|
wscrl
|
||
|
wmove
|
||
|
wgetch
|
||
|
wgetstr
|
||
|
wgetnstr
|
||
|
winch
|
||
|
winstr
|
||
|
winnstr
|
||
|
werase
|
||
|
wclear
|
||
|
wclrtobot
|
||
|
wclrtoeol
|
||
|
clearok
|
||
|
wdelch
|
||
|
wdeleteln
|
||
|
winsertln
|
||
|
winsdelln
|
||
|
overlay
|
||
|
overwrite
|
||
|
copywin
|
||
|
touchline
|
||
|
touchwin
|
||
|
untouchwin
|
||
|
wtouchln
|
||
|
is-linetouched
|
||
|
is-wintouched
|
||
|
wprintw
|
||
|
newpad
|
||
|
subpad
|
||
|
prefresh
|
||
|
pnoutrefresh
|
||
|
pechochar
|
||
|
standard-screen
|
||
|
COLS
|
||
|
LINES
|
||
|
A-NORMAL
|
||
|
A-STANDOUT
|
||
|
A-UNDERLINE
|
||
|
A-REVERSE
|
||
|
A-BLINK
|
||
|
A-DIM
|
||
|
A-BOLD
|
||
|
A-PROTECT
|
||
|
A-INVIS
|
||
|
A-ALTCHARSET
|
||
|
COLOR-BLACK
|
||
|
COLOR-RED
|
||
|
COLOR-GREEN
|
||
|
COLOR-YELLOW
|
||
|
COLOR-BLUE
|
||
|
COLOR-MAGENTA
|
||
|
COLOR-CYAN
|
||
|
COLOR-WHITE
|
||
|
refresh
|
||
|
move
|
||
|
setscrreg
|
||
|
scrl
|
||
|
printw
|
||
|
clear
|
||
|
addch
|
||
|
echochar
|
||
|
addstr
|
||
|
addnstr
|
||
|
insch
|
||
|
insstr
|
||
|
insnstr
|
||
|
printw
|
||
|
attroff
|
||
|
attron
|
||
|
attrset
|
||
|
standend
|
||
|
standout
|
||
|
bkgdset
|
||
|
bkgd
|
||
|
border
|
||
|
hline
|
||
|
vline
|
||
|
getch
|
||
|
getstr
|
||
|
getnstr
|
||
|
erase
|
||
|
clear
|
||
|
clrtobot
|
||
|
clrtoeol
|
||
|
delch
|
||
|
deleteln
|
||
|
insdelln
|
||
|
insertln
|
||
|
mvwaddch
|
||
|
mvwaddstr
|
||
|
mvwaddnstr
|
||
|
mvwinsch
|
||
|
mvwinsstr
|
||
|
mvwinsnstr
|
||
|
mvwprintw
|
||
|
mvwhline
|
||
|
mvwvline
|
||
|
mvwgetch
|
||
|
mvwgetstr
|
||
|
mvwgetnstr
|
||
|
mvwdelch
|
||
|
set-stdscr-internal
|
||
|
set-standard-screen
|
||
|
make-window
|
||
|
window-c-pointer
|
||
|
|
||
|
color-black
|
||
|
color-red
|
||
|
color-green
|
||
|
color-yellow
|
||
|
color-blue
|
||
|
color-magenta
|
||
|
color-cyan
|
||
|
color-white
|
||
|
|
||
|
key-code-yes
|
||
|
key-min
|
||
|
key-break
|
||
|
key-sreset
|
||
|
key-reset
|
||
|
key-down
|
||
|
key-up
|
||
|
key-left
|
||
|
key-right
|
||
|
key-home
|
||
|
key-backspace
|
||
|
key-f0
|
||
|
key-f1
|
||
|
key-f2
|
||
|
key-f3
|
||
|
key-f4
|
||
|
key-f5
|
||
|
key-f6
|
||
|
key-f7
|
||
|
key-f8
|
||
|
key-f9
|
||
|
key-f10
|
||
|
key-f11
|
||
|
key-f12
|
||
|
key-dl
|
||
|
key-il
|
||
|
key-dc
|
||
|
key-ic
|
||
|
key-eic
|
||
|
key-clear
|
||
|
key-eos
|
||
|
key-eol
|
||
|
key-sf
|
||
|
key-sr
|
||
|
key-npage
|
||
|
key-ppage
|
||
|
key-stab
|
||
|
key-ctab
|
||
|
key-catab
|
||
|
key-enter
|
||
|
key-print
|
||
|
key-ll
|
||
|
key-a1
|
||
|
key-a3
|
||
|
key-b2
|
||
|
key-c1
|
||
|
key-c3
|
||
|
key-btab
|
||
|
key-beg
|
||
|
key-cancel
|
||
|
key-close
|
||
|
key-command
|
||
|
key-copy
|
||
|
key-create
|
||
|
key-end
|
||
|
key-exit
|
||
|
key-find
|
||
|
key-help
|
||
|
key-mark
|
||
|
key-message
|
||
|
key-move
|
||
|
key-next
|
||
|
key-open
|
||
|
key-options
|
||
|
key-previous
|
||
|
key-redo
|
||
|
key-reference
|
||
|
key-refresh
|
||
|
key-replace
|
||
|
key-restart
|
||
|
key-resume
|
||
|
key-save
|
||
|
key-sbeg
|
||
|
key-scancel
|
||
|
key-scommand
|
||
|
key-scopy
|
||
|
key-screate
|
||
|
key-sdc
|
||
|
key-sdl
|
||
|
key-select
|
||
|
key-send
|
||
|
key-seol
|
||
|
key-sexit
|
||
|
key-sfind
|
||
|
key-shelp
|
||
|
key-shome
|
||
|
key-sic
|
||
|
key-sleft
|
||
|
key-smessage
|
||
|
key-smove
|
||
|
key-snext
|
||
|
key-soptions
|
||
|
key-sprevious
|
||
|
key-sprint
|
||
|
key-sredo
|
||
|
key-sreplace
|
||
|
key-sright
|
||
|
key-srsume
|
||
|
key-ssave
|
||
|
key-ssuspend
|
||
|
key-sundo
|
||
|
key-suspend
|
||
|
key-undo
|
||
|
key-mouse
|
||
|
key-resize
|
||
|
key-event)
|
||
|
(open scsh-level-0
|
||
|
scheme
|
||
|
external-calls
|
||
|
define-record-types
|
||
|
conditions
|
||
|
signals
|
||
|
handle)
|
||
|
(files curses
|
||
|
ncurses-constants))
|