;
; scheme-suffix
;
 (ff:defforeign 'get-char
              :entry-point (ff:convert-to-lang
                            "get_char"
                            :language :c)
              :arguments '(lisp:fixnum)
              :return-type :fixnum)
 
 (define (string-get address)
   (let loop ((char-list '()) (ch (get-char address)) (addr (+ address 1)))
     (if (= ch 0)
         (list->string (reverse char-list))
       (loop
        (cons (integer->char ch) char-list)
        (get-char addr)
        (+ addr 1)))))

(ff:defforeign 'psopenPostScript
	       :arguments '()
	       :return-type :fixnum)

(define (ps_open_PostScript)
  (not (= (psopenPostScript) 0)))

(ff:defforeign 'psclosePostScript
	       :arguments '()
	       :return-type :fixnum)

(define (ps_close_PostScript)
  (psclosePostScript))

(ff:defforeign 'psflushPostScript
	       :arguments '()
	       :return-type :fixnum)

(define (ps_flush_PostScript)
  (psflushPostScript))

(ff:defforeign 'psioerror
	       :arguments '(lisp:fixnum)
	       :return-type :fixnum)

(define (psio_error file)
  (not (= (psioerror file) 0)))

(ff:defforeign 'psioeof
	       :arguments '(lisp:fixnum)
	       :return-type :fixnum)

(define (psio_eof file)
  (not (= (psioeof file) 0)))

(define PostScriptInput 0)
