glenda.party
term% ls -F
term% cat index.txt
PKOPEN(3)                  Library Functions Manual                  PKOPEN(3)



NAME
       pkopen, pkclose, pkread, pkwrite, pkfail - packet driver simulator

SYNOPSIS
       char *pkopen(fd)

       pkclose(ptr)
       char *ptr;

       pkread(ptr, buffer, count)
       char *ptr, *buffer;

       pkwrite(ptr, buffer, count)
       char *ptr, *buffer;

       pkfail()

DESCRIPTION
       These  routines are a user-level implementation of the full-duplex end-
       to-end communication protocol described in pk(4).  If fd is a file  de‐
       scriptor  open  for reading and writing, pkopen carries out the initial
       synchronization and returns an identifying  pointer.   The  pointer  is
       used as the first parameter to pkread, pkwrite, and pkclose.

       Pkread,  pkwrite  and  pkclose  behave  analogously  to read, write and
       close(2).  However, a write of zero bytes is meaningful and  will  pro‐
       duce a corresponding read of zero bytes.

SEE ALSO
       pk(4), pkon(2)

DIAGNOSTICS
       Pkfail  is  called  upon persistent breakdown of communication.  Pkfail
       must be supplied by the user.

       Pkopen returns a null (0) pointer if packet protocol can not be  estab‐
       lished.

       Pkread  returns  -1 on end of file, 0 in correspondence with a 0-length
       write.

BUGS
       This simulation of pk(4) leaves something to be desired in needing spe‐
       cial read and write routines, and in not being inheritable across calls
       of exec(2).  Its prime use is on systems that lack pk.
       These functions use alarm(2); simultaneous use of alarm for  other  pu‐
       poses may cause trouble.



                                  deprecated                         PKOPEN(3)