1(define-module srfi-192
2  (export make-i/o-invalid-position-error
3          i/o-invalid-position-error?
4          port-has-port-position?       ;built-in
5          port-position                 ;built-in
6          port-has-set-port-position!?  ;built-in
7          set-port-position!))          ;built-in
8(select-module srfi-192)
9
10;; <io-invalid-position-error> is a subclass of <port-error>.  For
11;; Gauche-specific code, we recommend using Gauche 'error' to raise
12;; this condition, adding port information.
13;; If you raise this error inside set-position! callback of srfi-181
14;; custom ports, it takes care of the port slot.
15(define (make-i/o-invalid-position-error position)
16  (make <io-invalid-position-error> :position position))
17
18(define (i/o-invalid-position-error? obj)
19  (condition-has-type? obj <io-invalid-position-error>))
20