+ interesting. */
+ void (*async) (struct serial *scb, int async_p);
+ /* Perform a low-level read operation, reading (at most) COUNT
+ bytes into SCB->BUF. Return zero at end of file. */
+ int (*read_prim)(struct serial *scb, size_t count);
+ /* Perform a low-level write operation, writing (at most) COUNT
+ bytes from BUF. */
+ int (*write_prim)(struct serial *scb, const void *buf, size_t count);
+ /* Return that number of bytes that can be read from FD
+ without blocking. Return value of -1 means that the
+ read will not block even if less that requested bytes
+ are available. */
+ int (*avail)(struct serial *scb, int fd);
+
+#ifdef USE_WIN32API
+ /* Return a handle to wait on, indicating available data from SCB
+ when signaled, in *READ. Return a handle indicating errors
+ in *EXCEPT. */
+ void (*wait_handle) (struct serial *scb, HANDLE *read, HANDLE *except);
+ void (*done_wait_handle) (struct serial *scb);
+#endif /* USE_WIN32API */