Regarding comment #9 "a separated CUPS-Browsing-daemon": The CUPS Browse Protocol is described at http://www.cups.org/documentation.php/doc-1.5/spec-browsing.html What TYPE is can be found in the cups-1.5.3 sources in cups/cups.h ----------------------------------------------------------------------------- typedef unsigned cups_ptype_t; /**** Printer type/capability bits ****/ enum cups_ptype_e /**** Printer type/capability bit constants ****/ { /* Not a typedef'd enum so we can OR */ CUPS_PRINTER_LOCAL = 0x0000, /* Local printer or class */ CUPS_PRINTER_CLASS = 0x0001, /* Printer class */ CUPS_PRINTER_REMOTE = 0x0002, /* Remote printer or class */ CUPS_PRINTER_BW = 0x0004, /* Can do B&W printing */ CUPS_PRINTER_COLOR = 0x0008, /* Can do color printing */ CUPS_PRINTER_DUPLEX = 0x0010, /* Can do duplexing */ CUPS_PRINTER_STAPLE = 0x0020, /* Can staple output */ CUPS_PRINTER_COPIES = 0x0040, /* Can do copies */ CUPS_PRINTER_COLLATE = 0x0080, /* Can collage copies */ CUPS_PRINTER_PUNCH = 0x0100, /* Can punch output */ CUPS_PRINTER_COVER = 0x0200, /* Can cover output */ CUPS_PRINTER_BIND = 0x0400, /* Can bind output */ CUPS_PRINTER_SORT = 0x0800, /* Can sort output */ CUPS_PRINTER_SMALL = 0x1000, /* Can do Letter/Legal/A4 */ CUPS_PRINTER_MEDIUM = 0x2000, /* Can do Tabloid/B/C/A3/A2 */ CUPS_PRINTER_LARGE = 0x4000, /* Can do D/E/A1/A0 */ CUPS_PRINTER_VARIABLE = 0x8000, /* Can do variable sizes */ CUPS_PRINTER_IMPLICIT = 0x10000, /* Implicit class */ CUPS_PRINTER_DEFAULT = 0x20000, /* Default printer on network */ CUPS_PRINTER_FAX = 0x40000, /* Fax queue */ CUPS_PRINTER_REJECTING = 0x80000, /* Printer is rejecting jobs */ CUPS_PRINTER_DELETE = 0x100000, /* Delete printer @since CUPS 1.2/Mac OS X 10.5@ */ CUPS_PRINTER_NOT_SHARED = 0x200000, /* Printer is not shared @since CUPS 1.2/Mac OS X 10.5@ */ CUPS_PRINTER_AUTHENTICATED = 0x400000,/* Printer requires authentication @since CUPS 1.2/Mac OS X 10.5@ */ CUPS_PRINTER_COMMANDS = 0x800000, /* Printer supports maintenance commands @since CUPS 1.2/Mac OS X 10.5@ */ CUPS_PRINTER_DISCOVERED = 0x1000000, /* Printer was automatically discovered and added @since CUPS 1.3/Mac OS X 10 .5@ */ CUPS_PRINTER_SCANNER = 0x2000000, /* Scanner-only device @since CUPS 1.4/Mac OS X 10.6@ */ CUPS_PRINTER_MFP = 0x4000000, /* Printer with scanning capabilities @since CUPS 1.4/Mac OS X 10.6@ */ CUPS_PRINTER_OPTIONS = 0x6fffc /* ~(CLASS | REMOTE | IMPLICIT | DEFAULT | FAX | REJECTING | DELETE | NOT_SHA RED | AUTHENTICATED | COMMANDS | DISCOVERED) @private@ */ }; ----------------------------------------------------------------------------- What STATE is can be found in the cups-1.5.3 sources in cups/ipp.h ----------------------------------------------------------------------------- typedef enum ipp_pstate_e /**** Printer states ****/ { IPP_PRINTER_IDLE = 3, /* Printer is idle */ IPP_PRINTER_PROCESSING, /* Printer is working */ IPP_PRINTER_STOPPED /* Printer is stopped */ } ipp_pstate_t; ----------------------------------------------------------------------------- Accordingly a simple proof-of-concept how to submit CUPS Browsing info with hardcoded TYPE = CUPS_PRINTER_REMOTE = 0x0002 and hardcoded STATE = IPP_PRINTER_IDLE = 3 to a single remote host is the following bash command (there is exactly one space between each field): ---------------------------------------------------------------------- echo '2 3 ipp://PRINT.SERVER.IP.ADDRESS:631/printers/QUEUE-NAME "Location" "Description" "Make and Model" lease-duration=300 job-sheets=none,none' >/dev/udp/REMOTE:HOST:IP:ADDRESS/631 ---------------------------------------------------------------------- lease-duration=300 means that after 300 seconds the remote host discards these Browsing info (i.e. it removes the matching entry from /var/cache/cups/remote.cache (/etc/cups/yes/remote.cache for CUPS < 1.4).