17.9. RFC1179 Protocol Extensions

The RFC1179 protocol specifies that a lpd server command sent on a connection has the form:

    \nnn[additional fields]\n


\nnn is a one octet (byte) value with the following meaning:

    REQ_START   1    start printer
    REQ_RECV    2    transfer a printer job
    REQ_DSHORT  3    print short form of queue status
    REQ_DLONG   4    print long form of queue status
    REQ_REMOVE  5    remove jobs


The LPRng system extends the protocol with the following additional types:

    REQ_CONTROL 6    do control operation
    REQ_BLOCK   7    transfer a block format print job
    REQ_SECURE  8    do operation with authentication


The REQ_CONTROL allows a remote user to send LPC commands to the server. The REQ_BLOCK provides an alternate method to transfer a job. Rather than transferring the control and data files individually, this format transfers one file. The REQ_AUTH provides a mechanism for providing an authentication mechanism and is described in this document.