DEVPOINTER(2)                 (mux)                 DEVPOINTER(2)

     NAME
          devpointer - I/O interface for the pointer device

     SYNOPSIS
          include "draw.m";   # for Draw->Pointer
          include "devpointer.m";
          ptr:= load Devpointer Devpointer->PATH;

          init:      fn(file: string, posn: chan of ref Draw->Pointer): int;
          bytes2ptr: fn(buf: array of byte)    : ref Draw->Pointer;
          ptr2bytes: fn(ptr: ref Draw->Pointer): array of byte;

     DESCRIPTION
          Devpointer reads messages from pointer devices with the same
          data format as /dev/pointer, converting them to Pointer
          adts.

          Init spawns a process to read continually the pointer device
          specified by file and send a Pointer adts over the channel
          specified by posn. If file is nil, the default device is
          /dev/pointer.

          Bytes2ptr converts the array of bytes buf to a Pointer and
          returns a reference to it.  Buf should consist of exactly
          Devpointer->Size bytes and be in the format returned by
          /dev/pointer.

          Ptr2bytes provides the inverse transformation of bytes2ptr:
          it packs the data into an array of bytes of appropriate for-
          mat, which it returns.

     FILES
          /dev/pointer

     SEE ALSO
          draw-intro(2), draw-pointer(2)

     Page 1                       Plan 9            (printed 12/21/24)