;
; l-suffix
;
 (ff:defforeign 'get-char
              :entry-point (ff:convert-to-lang
                            "get_char"
                            :language :c)
              :arguments '(lisp:fixnum)
              :return-type :fixnum)
 
 (defun string-get (address)
   (do ((char-list '() (cons (character ch) char-list))
	(ch (get-char address) (get-char addr))
	(addr (+ address 1) (+ addr 1)))
       ((= ch 0)
	(format nil "~{~A~}"
		(coerce (reverse char-list) 'list)))
       ))

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

(defun ps_open_PostScript ()
  (not (eq (psopenPostScript) 0)))

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

(defun ps_close_PostScript ()
  (psclosePostScript))

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

(defun ps_flush_PostScript ()
  (psflushPostScript))

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

(defun psio_error (file)
  (not (eq (psioerror file) 0)))

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

(defun psio_eof (file)
  (not (eq (psioeof file) 0)))

(defvar PostScriptInput 0)

