;;;-*-lisp-*-
;;;-----------------------------------------------------------------------------
;;; CLiCC: The Common Lisp to C Compiler
;;; Copyright (C) 1994 Wolfgang Goerigk, Ulrich Hoffmann, Heinz Knutzen
;;; Christian-Albrechts-Universitaet zu Kiel, Germany
;;;-----------------------------------------------------------------------------
;;; CLiCC has been developed as part of the APPLY research project,
;;; funded by the German Ministry of Research and Technology.
;;;
;;; CLiCC is free software; you can redistribute it and/or modify
;;; it under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 2 of the License, or
;;; (at your option) any later version.
;;;
;;; CLiCC is distributed in the hope that it will be useful,
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License in file COPYING for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with this program; if not, write to the Free Software
;;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
;;;-----------------------------------------------------------------------------
;;; Funktion : Beschreibung der in C geschriebenen Systemfunktionen
;;;
;;; $Revision: 1.52 $
;;; $Id: sys.def,v 1.52 1994/12/17 11:54:16 pm Exp $
;;;-----------------------------------------------------------------------------

:sys T
:name "sys" "Isys" "Ssys"
:package "LISP"

:fun
(* :par-spec -1 :adr "Fmult")
(+ :par-spec -1 :adr "Fplus")
(- :par-spec -2 :adr "Fminus")
(/ :par-spec -2 :adr "Fdiv")
(/= :par-spec -2 :adr "Fnumneql")
(1+ :par-spec 1 :adr "F1plus")
(1- :par-spec 1 :adr "F1minus")
(rt::1-fix :par-spec 1 :adr "F1minusfix")
(< :par-spec -2 :adr "Flt")
(rt::<fix :par-spec 2 :adr "Fltfix")
(<= :par-spec -2 :adr "Fle")
(= :par-spec -2 :adr "Fnumeql")
(> :par-spec -2 :adr "Fgt")
(>= :par-spec -2 :adr "Fge")
(acos :par-spec 1)
(append :par-spec -1 :data-effects :alloc)
(apply :par-spec -3 :mv-spec t :has-funs-as-args (0)
       :my-last-arg-may-be-rest-var :apply)
(asin :par-spec 1)
(atan :par-spec -2)
(atom :par-spec 1 :need-no-stack t :my-last-arg-may-be-rest-var :atom)
(characterp :par-spec 1 :need-no-stack t)
(compiled-function-p :par-spec 1 :adr "Ffunctionp")
(cons :par-spec 2 :data-effects :alloc)
(consp :par-spec 1 :need-no-stack t :my-last-arg-may-be-rest-var :consp)
(cos :par-spec 1)
(decode-float :par-spec 1 :mv-spec 3)
(eq :par-spec 2)
(eql :par-spec 2)
(evenp :par-spec 1 :need-no-stack t)
(floatp :par-spec 1 :need-no-stack t)
(funcall :par-spec -2 :mv-spec t :has-funs-as-args (0))
(functionp :par-spec 1 :need-no-stack t)
(integer-length :par-spec 1)
(integerp :par-spec 1 :need-no-stack t)
(rt::fixnump :par-spec 1 :need-no-stack t)
(list :par-spec -1 :data-effects :alloc)
(list* :par-spec -2 :data-effects :alloc)
(listp :par-spec 1 :need-no-stack t)
(minusp :par-spec 1 :need-no-stack t)
(numberp :par-spec 1 :need-no-stack t)
(oddp :par-spec 1 :need-no-stack t)
(plusp :par-spec 1 :need-no-stack t)
(simple-bit-vector-p :par-spec 1 :need-no-stack t)
(simple-string-p :par-spec 1 :need-no-stack t)
(simple-vector-p :par-spec 1 :need-no-stack t)
(sin :par-spec 1)
(sqrt :par-spec 1)
(symbolp :par-spec 1 :need-no-stack t)
(tan :par-spec 1)
(values :par-spec -1 :mv-spec t :write-list -1)
(values-list :par-spec 1 :write-list -1 :need-no-stack t)
(zerop :par-spec 1 :need-no-stack t)

(rt::%car :par-spec 1 :need-no-stack t :my-last-arg-may-be-rest-var :car)
(rt::%cdr :par-spec 1 :need-no-stack t :my-last-arg-may-be-rest-var :cdr)
(rt::%logand :par-spec 2)
(rt::%logior :par-spec 2)
(rt::%lognot :par-spec 1)
(rt::%logxor :par-spec 2)
(rt::%rplaca :par-spec 2 :data-effects :dest)
(rt::%rplacd :par-spec 2 :data-effects :dest)
(rt::%shift-left :par-spec 2)
(rt::%shift-right :par-spec 2)
(rt::alpha-char-p :par-spec 1 :need-no-stack t)
(rt::bitop :par-spec 4 :data-effects :dest)
(rt::both-case-p :par-spec 1 :need-no-stack t)
(rt::c-argc :par-spec 0)
(rt::c-argv :par-spec 0)
(rt::c-fclose :par-spec 1 :data-effects :dest)
(rt::c-fgetc :par-spec 1 :data-effects :dest)
(rt::c-file-length :par-spec 1)
(rt::c-fopen :par-spec 2 :data-effects :alloc)
(rt::c-fputc :par-spec 2 :data-effects :dest)
(rt::c-fseek :par-spec 2 :data-effects :dest)
(rt::c-ftell :par-spec 1 :data-effects :dest)
(rt::c-getenv-internal :par-spec 1)
(rt::c-stdin :par-spec 0)
(rt::c-stdout :par-spec 0)
(rt::c-system-internal :par-spec 1)
(rt::c-ungetc :par-spec 2 :data-effects :dest)
(rt::calc-radix :par-spec 0)
(rt::calc-mant-dig :par-spec 0)
(rt::catch :par-spec 2 :mv-spec t :has-funs-as-args (1))
(rt::char-code :par-spec 1)
(rt::char-downcase :par-spec 1 :need-no-stack t)
(rt::char-upcase :par-spec 1 :need-no-stack t)
(rt::code-char :par-spec 1 :need-no-stack t)
(rt::combine-hash :par-spec 2)
(rt::convert-to-int :par-spec 3 :mv-spec 2)
(rt::constant-flag-p :par-spec 1)
(rt::digit-char :par-spec 1)
(rt::expt :par-spec 2)
(rt::fixnum-high-p :par-spec 2)
(rt::fixnum-low-p :par-spec 2)
(rt::float :par-spec 1)
(rt::graphic-char-p :par-spec 1 :need-no-stack t)
(rt::init-main :par-spec 0 :adr "Imain" :write-list -1 :read-list -1
               :data-effects :alloc-dest-jump)
(rt::init-keysort :par-spec 1 :write-list -1)
(rt::instance-ref :par-spec 2)
(rt::instance-set :par-spec 3 :data-effects :dest)
(rt::instancep :par-spec 1 :need-no-stack t)
(rt::log :par-spec 2)
(rt::lower-case-p :par-spec 1 :need-no-stack t)
(rt::make-instance :par-spec 1 :data-effects :dest)
(rt::make-symbol :par-spec 1 :data-effects :alloc)
(rt::make-vector-t :par-spec 1 :data-effects :alloc)
(rt::make-vector-fixnum :par-spec 1 :data-effects :alloc)
(rt::make-vector-float :par-spec 1 :data-effects :alloc)
(rt::make-vector-char :par-spec 2 :data-effects :alloc)
(rt::make-vector-bit :par-spec 1 :data-effects :alloc)
(rt::most-negative-fixnum :par-spec 0)
(rt::most-positive-fixnum :par-spec 0)
(rt::new-struct :par-spec 1 :data-effects :alloc)
(rt::plain-vector-element-code :par-spec 1)
(rt::plain-vector-length :par-spec 1)
(rt::plain-vector-p :par-spec 1 :need-no-stack t)
(rt::progv :par-spec 3 :mv-spec t :write-list -1 :has-funs-as-args (2))
(rt::pvref :par-spec 2)
(rt::sbvref :par-spec 2)
(rt::set-constant-flag :par-spec 1 :data-effects :dest)
(rt::set-pvref :par-spec 3 :data-effects :dest)
(rt::set-sbvref :par-spec 3 :data-effects :dest)
(rt::set-svref-internal :par-spec 3 :data-effects :dest)
(rt::set-symbol-package :par-spec 2 :data-effects :dest)
(rt::setup-symbols-iterator :par-spec 2 :data-effects :dest)
(rt::shrink-pvector :par-spec 2 :data-effects :dest)
(rt::shrink-smstr :par-spec 2 :data-effects :dest)
(rt::standard-char-p :par-spec 1 :need-no-stack t)
(rt::structure-ref :par-spec 2)
((setf rt::structure-ref) :par-spec 3 :data-effects :dest)
(rt::struct-size :par-spec 1)
(rt::structp :par-spec 1 :need-no-stack t)
(rt::svref-internal :par-spec 2)
(rt::sxhash-string :par-spec 1)
(rt::symp :par-spec 1 :need-no-stack t)
(rt::throw :par-spec -2 :mv-spec :JUMP :data-effects :jump)
(rt::unbound-value :par-spec 0 :need-no-stack t)
(rt::unbound-value-p :par-spec 1  :need-no-stack t)
(rt::unix-current-directory :par-spec 0 :mv-spec 2)
(rt::unix-file-mode :par-spec 1)
(rt::unix-link-mode :par-spec 1)
(rt::unix-readlink :par-spec 1 :mv-spec t)
(rt::unwind-protect :par-spec 2 :mv-spec t :has-funs-as-args (0 1))
(rt::upper-case-p :par-spec 1 :need-no-stack t)

(rt::symbol-value :par-spec 1 :need-no-stack t)
((setf rt::symbol-value) :par-spec 2 :data-effects :dest)
(rt::symbol-plist :par-spec 1 :need-no-stack t)
((setf rt::symbol-plist) :par-spec 2 :data-effects :dest)
(rt::symbol-name :par-spec 1)
(rt::symbol-package :par-spec 1 :need-no-stack t)
((setf rt::symbol-package) :par-spec 2 :data-effects :dest)


;; FFI

(ffi::free :par-spec 1 :data-effects :dest)

(rt::make-c-char :par-spec 1 :data-effects :alloc)
(rt::make-c-char-2 :par-spec 1 :data-effects :alloc)
(rt::make-c-short :par-spec 1 :data-effects :alloc)
(rt::make-c-int :par-spec 1 :data-effects :alloc)
(rt::make-c-long :par-spec 1 :data-effects :alloc)
(rt::make-c-unsigned-char :par-spec 1 :data-effects :alloc)
(rt::make-c-unsigned-char-2 :par-spec 1 :data-effects :alloc)
(rt::make-c-unsigned-short :par-spec 1 :data-effects :alloc)
(rt::make-c-unsigned-int :par-spec 1 :data-effects :alloc)
(rt::make-c-unsigned-long :par-spec 1 :data-effects :alloc)
(rt::make-c-float :par-spec 1 :data-effects :alloc)
(rt::make-c-double :par-spec 1 :data-effects :alloc)
(rt::make-c-string :par-spec 1 :data-effects :alloc)

(rt::cast-c-char :par-spec 1 :data-effects :alloc)
(rt::cast-c-short :par-spec 1 :data-effects :alloc)
(rt::cast-c-int :par-spec 1 :data-effects :alloc)
(rt::cast-c-long :par-spec 1 :data-effects :alloc)
(rt::cast-c-unsigned-char :par-spec 1 :data-effects :alloc)
(rt::cast-c-unsigned-short :par-spec 1 :data-effects :alloc)
(rt::cast-c-unsigned-int :par-spec 1 :data-effects :alloc)
(rt::cast-c-unsigned-long :par-spec 1 :data-effects :alloc)
(rt::cast-c-float :par-spec 1 :data-effects :alloc)
(rt::cast-c-double :par-spec 1 :data-effects :alloc)

(rt::copy-c-string :par-spec 1 :data-effects :alloc)

(rt::c-char-p :par-spec 1)
(rt::c-short-p :par-spec 1)
(rt::c-int-p :par-spec 1)
(rt::c-long-p :par-spec 1)
(rt::c-unsigned-char-p :par-spec 1)
(rt::c-unsigned-short-p :par-spec 1)
(rt::c-unsigned-int-p :par-spec 1)
(rt::c-unsigned-long-p :par-spec 1)
(rt::c-float-p :par-spec 1)
(rt::c-double-p :par-spec 1)
(ffi::c-string-p :par-spec 1)
(rt::c-primitive-p :par-spec 1)
(rt::c-floating-p :par-spec 1)

(rt::struct-p :par-spec 2)
(rt::union-p :par-spec 2)
(rt::array-p :par-spec 2)
(rt::handle-p :par-spec 2)

(rt::make-lisp-character :par-spec 1 :data-effects :alloc)
(rt::make-lisp-integer :par-spec 1 :data-effects :alloc)
(rt::make-lisp-float :par-spec 1 :data-effects :alloc)
(rt::make-lisp-string :par-spec 1 :data-effects :alloc)

(rt::copy-c-struct :par-spec 3 :data-effects :alloc)
(rt::copy-c-union :par-spec 3 :data-effects :alloc)
(rt::copy-c-array :par-spec 3 :data-effects :alloc)

(rt::check-char :par-spec 1)
(rt::check-short :par-spec 1)
(rt::check-int :par-spec 1)
(rt::check-long :par-spec 1)
(rt::check-unsigned-char :par-spec 1)
(rt::check-unsigned-short :par-spec 1)
(rt::check-unsigned-int :par-spec 1)
(rt::check-unsigned-long :par-spec 1)
(rt::check-float :par-spec 1)
(rt::check-double :par-spec 1)

;; Fuer die Ausgabe von Foreign-Objekten
(rt::c-struct-p :par-spec 1)
(rt::c-union-p :par-spec 1)
(rt::c-array-p :par-spec 1)
(rt::c-handle-p :par-spec 1)
(rt::internal-get-symbol :par-spec 1)
(rt::internal-get-address :par-spec 1)

:eof
ViewGit