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)