#> #include "stfl.h" <# ;; adapted from swig/basedecls.i #> #include "stfl_wrap.c" <# ;; typedefs (define-foreign-type string nonnull-c-string) (define-foreign-type nullable-string c-string) (define-foreign-type stfl_form* (nonnull-c-pointer (struct "stfl_form"))) ;; foreign functions (define ipool_destroy (foreign-lambda void "ipool_destroy")) (define stfl_init (foreign-lambda void "stfl_init")) (define stfl_create (foreign-lambda stfl_form* "stfl_create_wrapper" string)) (define stfl_free (foreign-lambda void "stfl_free_wrapper" stfl_form*)) (define stfl_run (foreign-lambda nullable-string "stfl_run_wrapper" stfl_form* int)) (define stfl_get (foreign-lambda nullable-string "stfl_get_wrapper" stfl_form* string)) (define stfl_set (foreign-lambda void "stfl_set_wrapper" stfl_form* string string)) (define stfl_get_focus (foreign-lambda nullable-string "stfl_get_focus_wrapper" stfl_form*)) (define stfl_set_focus (foreign-lambda void "stfl_set_focus_wrapper" stfl_form* string)) (define stfl_quote (foreign-lambda string "stfl_quote_wrapper" string)) (define stfl_dump (foreign-lambda nullable-string "stfl_dump_wrapper" stfl_form* nullable-string nullable-string bool)) (define stfl_text (foreign-lambda nullable-string "stfl_text_wrapper" stfl_form* string)) (define stfl_modify (foreign-lambda void "stfl_modify_wrapper" stfl_form* string string nullable-string)) (define stfl_error (foreign-lambda nullable-string "stfl_error_wrapper")) (define stfl_error_action (foreign-lambda void "stfl_error_action_wrapper" string)) (define stfl_reset (foreign-lambda void "stfl_reset")) (define stfl_redraw (foreign-lambda void "stfl_redraw")) ;; form record (define (format-pointer pointer) (if pointer (sprintf "0x~x" (pointer->address pointer)) "NULL")) (define-record form pointer) (define-record-printer (form f out) (fprintf out "#