+;; A request to set up a port with at least one of read, write, except
+;; handling processes
+
+(define-record-type <port-request>
+ (make-port-request-intern port read write except)
+ port-request?
+ (port port-request-port)
+ (read port-request-read)
+ (write port-request-write)
+ (except port-request-except))
+
+(define* (make-port-request port #:key read write except)
+ (if (not (or read write except))
+ (throw 'no-port-handler-given "No port handler given.\n"))
+ (make-port-request-intern port read write except))
+
+