The following describes the operation of the printer drivers in the Linux 2.1.x kernel. I've taken the code from the 2.1.65, so the code in the current developmental release may have changed somewhat. I've taken up the format of placing my comments within the code, because I feel this is the best method for actually seeing what's going on -- to have to skip back and forth from a page of description to a page containing the source code is something I always found annoying.
I put these notes together for a few reasons: firstly, it's one of the best ways that I can make sure that I understand what's going on ;), secondly, to get a bit more content on the Web, instead of pages of links to even more links, and thirdly, and most importantly, because their is a great need for Linux documentation that pertains to programming, rather than just setup and administration.
I hope that people can find this of some use ;)
Copyright 1997 Paul Dwerryhouse. The source code segments within this document are copyright of their respective authors, the names of whom can be found in the relevant files listed in each section.
This guide is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.
You can obtain a copy of the GNU General Public License by writing to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.