man(1) Manual page archive


     PK(4)                        (local)                        PK(4)

     NAME
          pk - packet driver

     DESCRIPTION
          The packet driver implements a full-duplex end-to-end flow
          control strategy for machine-to-machine communication.
          Packet driver protocol is established by calling pkon(2)
          with a character device file descriptor and a desired packet
          size in bytes.  The packet size must be a power of 2,
          32≦size≦4096.  The file descriptor must represent an 8-bit
          data path.  This is normally obtained by  setting the device
          in raw mode (see ioctl(2)).

          The actual packet size, which may be smaller than the
          desired packet size, is arrived at by negotiation with the
          packet driver at the remote end of the data link.

          The packet driver maintains two data areas for incoming and
          outgoing packets.  The output area is needed to implement
          retransmission on errors, and arriving packets are queued in
          the input area.  Data arriving for a file not open for read-
          ing is discarded.  Initially the size of both areas is set
          to two packets.

          It is not necessary that reads and writes be multiples of
          the packet size although there is less system overhead if
          they are.  Read operations return the maximum amount of data
          available from the input area up to the number of bytes
          specified in the system call.  The buffer sizes in write
          operations are not normally transmitted across the link.
          However, writes of zero length are treated specially and are
          reflected at the remote end as a zero-length read.  This
          facilitates marking the serial byte stream, usually for
          delimiting files.

          When one side of a packet driver link is shut down by
          close(2)or pkoff (see pkon(2)), read(2) on the other side
          will return 0, and write on the other side will raise a SIG-
          PIPE signal.

     SEE ALSO
          pkon(2), pkopen(3)