Table of Contents

1 Introduction

cl-ipp is a library which implements the Internet Printing Protocol
(IPP) in Common Lisp. It is licensed under the MIT style licence.

It is implemented in portable Common Lisp, except two functions
STRING-TO-OCTETS and OCTETS-TO-STRING that require Clozure CL at the
moment. Other Lisp implementations have similar functions or a
portable library (e.g. babel) could be used in the future. HTTP
functionality is provided by cl-rw wrapping wget or curl program
calls. A HTTP backend using drakma could be added if a compile-time
dependency is preferable to the install-time dependency on wget or
curl.

2 Download and install

Then set up the Common Lisp environment to find the cl-ipp.asd and
cl-rw.asd files and load the system into the Lisp image.

3 Usage

The core (low level) function which implements the Internet Printing
Protocol is the function IPP::IPP. This function is pretty much
working (minus string encodings and a minor issue with parsing sign of
binary integers).

A few wrapper (high level) funtions are exported and are meant to be
used by applications to talk to the print server. The high level
functions are more or less experimental code waiting to crystalize
into useable API.