;;;; -*- Mode: Lisp; Base: 10; Syntax: ANSI-Common-Lisp; Package: cl-user; Coding: utf-8 -*-
;;;; Copyright © 2024 David Mullen. All Rights Reserved. Origin: <https://cl-pdx.com/kira/>

(in-package :cl-user)

(defpackage :kira
    (:use :common-lisp)
  (:import-from :ccl
   #:%address-of
   #:%copy-ivector-to-ptr
   #:%deftype-expander
   #:%%get-signed-longlong
   #:%%get-unsigned-longlong
   #:%get-bit
   #:%get-bitfield
   #:%get-cstring
   #:%get-double-float
   #:%get-natural
   #:%get-ptr
   #:%get-signed-byte
   #:%get-signed-long
   #:%get-signed-word
   #:%get-single-float
   #:%get-unsigned-byte
   #:%get-unsigned-long
   #:%get-unsigned-word
   #:%inc-ptr
   #:%incf-ptr
   #:%int-to-ptr
   #:%null-ptr
   #:%null-ptr-p
   #:%ptr-to-int
   #:%setf-macptr
   #:%stack-block
   #:%str-from-ptr
   #:*current-process*
   #:*default-external-format*
   #:*default-line-termination*
   #:*make-package-use-defaults*
   #:+null-ptr+
   #:accept-connection
   #:advise
   #:advisedp
   #:align-offset
   #:all-processes
   #:array-data-and-offset
   #:augment-environment
   #:back-translate-pathname
   #:basic-stream-ioblock
   #:bignump
   #:cdb-close
   #:cdb-get
   #:cdb-open
   #:cdbm-put
   #:copy-file
   #:compiler-let
   #:count-characters-in-octet-vector
   #:current-directory
   #:decode-string-from-octets
   #:defcallback
   #:define-toplevel-command
   #:defstatic
   #:defstaticvar
   #:directory-pathname-p
   #:disassemble-to-file
   #:dispose-heap-ivector
   #:encode-string-to-octets
   #:ensure-directory-pathname
   #:ensure-simple-string
   #:external
   #:external-format
   #:external-format-character-encoding
   #:external-format-line-termination
   #:external-process
   #:external-process-error-stream
   #:external-process-input-stream
   #:external-process-output-stream
   #:external-process-status
   #:extract-lambda-list
   #:ff-call
   #:file-data-size
   #:find-definition-sources
   #:find-process
   #:fixnump
   #:foreign-size
   #:foreign-symbol-address
   #:foreign-symbol-entry
   #:free
   #:function-information
   #:get-encoded-cstring
   #:get-encoded-string
   #:get-foreign-namestring
   #:get-output-stream-vector
   #:get-timezone
   #:getenv
   #:gettimeofday
   #:grab-lock
   #:guess-alignment
   #:hash-table-weak-p
   #:heap-ivector-utilization
   #:heap-utilization
   #:intern-eql-specializer
   #:ioblock-outbuf
   #:io-buffer-buffer
   #:io-buffer-count
   #:io-buffer-idx
   #:io-buffer-limit
   #:io-buffer-size
   #:join-process
   #:lock-name
   #:macptr
   #:macptrp
   #:macroexpand-all
   #:make-external-format
   #:make-gcable-record
   #:make-heap-ivector
   #:make-lock
   #:make-population
   #:make-process
   #:make-read-write-lock
   #:make-record
   #:make-semaphore
   #:make-socket
   #:make-vector-input-stream
   #:make-vector-output-stream
   #:map-file-to-ivector
   #:map-file-to-octet-vector
   #:mapped-vector-data-address-and-size
   #:method-function
   #:method-lambda-list
   #:method-specializers
   #:native-translated-namestring
   #:normalize-external-format
   #:normalize-lambda-list
   #:object-direct-size
   #:paref
   #:parse-body
   #:parse-float
   #:parse-macro-1
   #:population-contents
   #:population-type
   #:pref
   #:process-abort
   #:process-enable
   #:process-input-wait
   #:process-interrupt
   #:process-kill
   #:process-name
   #:process-output-wait
   #:process-plist
   #:process-preset
   #:process-reset
   #:process-reset-and-enable
   #:process-run-function
   #:process-serial-number
   #:process-termination-semaphore
   #:process-ui-object
   #:process-whostate
   #:proper-list-p
   #:quit
   #:quoted-form-p
   #:read-symbol-token
   #:record-length
   #:release-lock
   #:require-type
   #:rlet
   #:rletz
   #:run-program
   #:self-evaluating-p
   #:semaphore
   #:sequencep
   #:setenv
   #:shrink-vector
   #:signal-external-process
   #:signal-reader-error
   #:signal-semaphore
   #:source-note
   #:source-note-end-pos
   #:source-note-filename
   #:source-note-start-pos
   #:source-note-text
   #:stream-length
   #:string-size-in-octets
   #:terminate
   #:terminate-when-unreachable
   #:timed-wait-on-semaphore
   #:try-lock
   #:type-expand
   #:type-specifier-p
   #:unadvise
   #:unmap-ivector
   #:unmap-octet-vector
   #:unsetenv
   #:until
   #:variable-information
   #:vector-input-stream
   #:vector-output-stream
   #:vector-output-stream-ioblock
   #:vector-output-stream-ioblock-displaced
   #:vector-output-stream-ioblock-displacement
   #:wait-on-semaphore
   #:while
   #:with-cstrs
   #:with-encoded-cstrs
   #:with-filename-cstrs
   #:with-input-from-vector
   #:with-input-timeout
   #:with-interrupts-enabled
   #:with-lock-grabbed
   #:with-macptrs
   #:with-new-db-file
   #:with-open-socket
   #:with-output-timeout
   #:with-output-to-vector
   #:with-pointer-to-ivector
   #:with-read-lock
   #:with-terminal-input
   #:with-toplevel-commands
   #:with-write-lock
   #:write-escaped-string
   #:write-simple-string)
  (:export
   #:&attributes
   #:*base-uri*
   #:*html-output*
   #:*object-database*
   #:*request*
   #:*session*
   #:+array-tag+
   #:+bignum-tag+
   #:+binary-external-format+
   #:+bit-vector-tag+
   #:+canonical-xml-declaration+
   #:+character-tag+
   #:+char-class-bits+
   #:+complex-tag+
   #:+content-external-format+
   #:+digest-bits+
   #:+dotted-list-tag+
   #:+double-float-tag+
   #:+empty-html-elements+
   #:+fixnum-tag+
   #:+hash-table-tag+
   #:+header-external-format+
   #:+keyword-tag+
   #:+kira-tag+
   #:+local-time-tag+
   #:+mac-bits+
   #:+meta-object-id+
   #:+object-buffer-size+
   #:+object-cache-size+
   #:+object-record-tag+
   #:+object-tag+
   #:+octet-vector-tag+
   #:+pathname-tag+
   #:+proper-list-tag+
   #:+ratio-tag+
   #:+session-code-bits+
   #:+session-days-alive+
   #:+session-renewal-at+
   #:+simple-vector-tag+
   #:+single-float-tag+
   #:+text-tag+
   #:+uri-tag+
   #:+utc-tag+
   #:822-time
   #:absf
   #:absolute-uri-to
   #:alpha
   #:alphanumeric
   #:appendf
   #:array-index
   #:ascii
   #:ascii-char
   #:ascii-char-p
   #:ashf
   #:authenticate-timestamp
   #:author
   #:authorization-time
   #:binary-fixnum
   #:binary-symbol-sequence
   #:binary-word
   #:body
   #:butlastf
   #:cache-xml
   #:can-edit-p
   #:canonical-name
   #:canonical-path
   #:char-class
   #:char-class-expand
   #:char-class-expand-1
   #:char-class-p
   #:char-of-class-p
   #:check-vector-bounds
   #:close-database
   #:coercef
   #:collapse
   #:collect
   #:collecting
   #:commit
   #:compact-database
   #:constant-octet-vector
   #:cookie-session
   #:copy-binary-object
   #:copy-local-time
   #:copy-uri
   #:day-name
   #:decode-content-from-octets
   #:decode-local-time
   #:define-block-markup
   #:define-char-class
   #:define-html-macro
   #:define-inline-markup
   #:define-persistent-class
   #:defstruct*
   #:deletef
   #:delete-term
   #:derive-key
   #:digest
   #:digit
   #:do-terms
   #:edited-time
   #:encode-local-time
   #:end-tag
   #:ensure-keyword
   #:ensure-list
   #:escape-html
   #:eval-always
   #:expiration-time
   #:fail-safe
   #:file
   #:file-name
   #:file-string
   #:files-equal
   #:find-object
   #:find-quad
   #:find-slot-layout
   #:gc
   #:get-binary-array
   #:get-binary-bit-vector
   #:get-binary-complex
   #:get-binary-dotted-list
   #:get-binary-double-float
   #:get-binary-hash-table
   #:get-binary-integer
   #:get-binary-keyword
   #:get-binary-object
   #:get-binary-octet-vector
   #:get-binary-pathname
   #:get-binary-proper-list
   #:get-binary-ratio
   #:get-binary-simple-vector
   #:get-binary-single-float
   #:get-binary-string
   #:get-binary-symbol
   #:get-binary-time
   #:get-binary-uri
   #:get-expiration-time
   #:get-inferior-object
   #:get-lines
   #:get-local-time
   #:get-localized-time
   #:get-mmap-displaced-vector
   #:get-object
   #:get-root
   #:get-term
   #:get-token
   #:grab
   #:graphic
   #:handle
   #:horizontal-whitespace
   #:html
   #:html-macroexpand
   #:html-macroexpand-1
   #:html-macro-function
   #:http-serve
   #:initialize-slot
   #:ip-address
   #:lexer-advance-if
   #:lexer-case
   #:lexer-end
   #:lexer-error
   #:lexer-error-thing
   #:lexer-error-string
   #:lexer-error-position
   #:lexer-find
   #:lexer-hex-digit
   #:lexer-integer
   #:lexer-match
   #:lexer-position
   #:lexer-skip
   #:lexer-start
   #:lexer-string
   #:lexer-unsigned
   #:link
   #:list-commits
   #:local-time
   #:local-time-day
   #:local-time-day-of-week
   #:local-time-msec
   #:local-time-p
   #:local-time-sec
   #:local-time-zone
   #:local-time/=
   #:local-time<
   #:local-time<=
   #:local-time=
   #:local-time>
   #:local-time>=
   #:log-condition
   #:logiorf
   #:logxorf
   #:lower-case
   #:mac
   #:macro-eval
   #:make-bit-vector
   #:make-buffer
   #:make-char-class
   #:make-indirect-vector
   #:make-key
   #:make-local-time
   #:make-request
   #:make-temporary-name
   #:make-timestamp
   #:make-uri
   #:map-terms
   #:mark-dirty-object
   #:match-symbol
   #:maxf
   #:meta-object
   #:minf
   #:mixed-case-p
   #:mmap
   #:month-name
   #:munmap
   #:nbutlastf
   #:nconcf
   #:normalize-local-time
   #:nreversef
   #:object
   #:object-database
   #:object-id
   #:object-layout
   #:object-lock
   #:object-pointer
   #:octet
   #:open-database
   #:open-temporary-file
   #:orf
   #:parameter
   #:parse-html-tag
   #:parse-timestamp
   #:parse-timestring
   #:parse-uri
   #:pathname-uri
   #:percent-decode
   #:percent-encode
   #:persistent-slot-value
   #:pop-segment
   #:post
   #:posted-time
   #:print-day-name
   #:print-local-time
   #:print-month-name
   #:print-zone
   #:qar
   #:qbr
   #:qcr
   #:qdr
   #:quad
   #:rebinding
   #:redirect
   #:removef
   #:render-content
   #:render-diff
   #:render-link
   #:render-local-time
   #:render-text
   #:render-title
   #:render-xml
   #:request
   #:request-address
   #:request-cookie
   #:request-method
   #:request-parameters
   #:request-uri
   #:reset-buffer
   #:reset-object
   #:resolve-uri
   #:respond-with
   #:reversef
   #:rewind-database
   #:rollback
   #:sans
   #:sansf
   #:session
   #:session-code
   #:session-cookie
   #:session-log
   #:session-name
   #:set-if-changed
   #:skip-binary-object
   #:slot-area
   #:slot-layout
   #:sortf
   #:start-server
   #:start-tag
   #:ternary-node
   #:ternary-node-data
   #:ternary-node-label
   #:ternary-node-left
   #:ternary-node-middle
   #:ternary-node-priority
   #:ternary-node-right
   #:title
   #:type-equal
   #:typed-pathname
   #:uniform-case-p
   #:universal-time
   #:unix-time
   #:update-object-index
   #:updated-time
   #:upload-time
   #:upper-case
   #:uproot
   #:uri
   #:uri-alist
   #:uri-authority
   #:uri-fragment
   #:uri-host
   #:uri-path
   #:uri-port
   #:uri-query
   #:uri-scheme
   #:uri-segments
   #:uri-string
   #:uri-to
   #:uri-user
   #:uri=
   #:versioned-uri
   #:vertical-whitespace
   #:whereas
   #:whitespace
   #:whitespacep
   #:with-array-data
   #:with-binary-chunk
   #:with-binary-chunk-iterator
   #:with-gensyms
   #:with-heap-ivector
   #:with-lexer
   #:with-lexer-error
   #:with-new-file
   #:with-open-log
   #:with-slots*
   #:with-temporary-file
   #:write-binary-array
   #:write-binary-bit-vector
   #:write-binary-complex
   #:write-binary-cons
   #:write-binary-double-float
   #:write-binary-hash-table
   #:write-binary-integer
   #:write-binary-keyword
   #:write-binary-length
   #:write-binary-object
   #:write-binary-octet-vector
   #:write-binary-pathname
   #:write-binary-ratio
   #:write-binary-simple-vector
   #:write-binary-single-float
   #:write-binary-string
   #:write-binary-symbol
   #:write-binary-time
   #:write-binary-uri
   #:write-binary-word
   #:xml-name
   #:xml-name-p
   #:xml-name-plist
   #:xml-name-string
   #:xvector
   #:xvector-depth
   #:xvector-max
   #:xvector-root
   #:xvref))