jak-project/test/old_goal_tests/goal-externs.gc
2020-08-22 22:32:18 -04:00

96 lines
2.6 KiB
Scheme

;-*-Scheme-*-
;; This file is loaded as part of goal-lib.gc.
;; It should generate no code.
;; This is used to extern define all C Kernel functions and types.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Forward declare C Kernel Fixed Syms
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; '()
;; booleans
(define-extern #f boolean)
(define-extern #t boolean)
;; types
(define-extern function type)
(define-extern symbol type)
(define-extern basic type)
(define-extern string type)
(define-extern type type)
(define-extern object type)
(define-extern link-block type)
(define-extern integer type)
(define-extern sinteger type)
(define-extern uinteger type)
(define-extern binteger type)
(define-extern int8 type)
(define-extern int16 type)
(define-extern int32 type)
(define-extern int64 type)
(define-extern int128 type)
(define-extern uint8 type)
(define-extern uint16 type)
(define-extern uint32 type)
(define-extern uint64 type)
(define-extern uint128 type)
(define-extern float type)
(define-extern process-tree type)
(define-extern process type)
(define-extern thread type)
(define-extern structure type)
(define-extern pair type)
(define-extern pointer type)
(define-extern number type)
(define-extern array type)
(define-extern vu-function type)
(define-extern connectable type)
(define-extern stack-frame type)
(define-extern file-stream type)
(define-extern kheap type)
;; functions
(defun-extern nothing () none)
;; del basic
(define-extern static symbol)
(define-extern global object)
;;(define-extern debug kheap)
(define-extern loading-level symbol)
(define-extern loading-package symbol)
(define-extern process-level-heap symbol)
(define-extern stack symbol)
(define-extern scratch symbol)
;;(define-extern *scratch-top* pointer)
(defun-extern zero-func () int32)
(defun-extern method-set! ((x type) (y integer) (z function)) object)
;; todo - change allocation to a kheap
(defun-extern dgo-load ((name string) (allocation object) (flag integer) (buffer-size integer)) none)
(defun-extern *listener-function* () object)
(define-extern *enable-method-set* int32)
;; asizeo-of-bsic
;; copy-basic
;; level
;; art group
;; tx page dir
;; tx page
;; sound
;; dgo
;; top level
(defun-extern string->symbol ((x string)) symbol)
(defun-extern print ((x object)) object)
(defun-extern inspect ((x object)) object)
(define-extern test-function function)
(define-extern _format function)
;; for the compiler
(define-extern format function)
;; TODO - some others...
(define-extern *kernel-boot-message* symbol)
(define-extern *debug-segment* boolean)
;; for use by the compiler.
(defun-extern malloc ((allocation symbol) (size integer)) pointer)