Backend for Canon network protocol

Louis Lagendijk louis at
Sat May 3 14:04:17 PDT 2008

A month ago I bought a Canon multi functional with network capabilities. This happens to use a proprietary protocol (BJNP), for which I could not find any documentation or drivers. I have now reverse engineered the protocol and written a first draft of a Cups backend. This is piggy backed on the existing socket backend.
The changes are pretty small. Would there be interest in including this backend in CUPS? If so, I can cleanup the code and add missing bits and pieces. If not, would it be ok to package my code with the relevant parts of Cups (mainly a copy of socket.c and small modifications to runloop.c) and release it under GPL?

For those interested: I have made some changes to runloop.c that allow me to use my own write functions that do the Canon bjnp magic. I have for now copied socket.c, but could easily make it double as both socket and bjnp driver.
best regards, Louis

p.s. I will  probably be back with some questions on how to best do things

More information about the cups mailing list