/*
 * This file contains model number definitions for the CUPS sample
 * label printer driver.
 *
 * Copyright 2007 by Apple Inc.
 * Copyright 1997-2005 by Easy Software Products.
 *
 * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
 */

#define DYMO_3x0	0		/* Dymo Labelwriter 300/330/330 Turbo */

#define ZEBRA_EPL_LINE  0x10            /* Zebra EPL line mode printers */
#define ZEBRA_EPL_PAGE  0x11            /* Zebra EPL page mode printers */
#define ZEBRA_ZPL       0x12            /* Zebra ZPL-based printers */
#define ZEBRA_CPCL      0x13            /* Zebra CPCL-based printers */

#define INTELLITECH_PCL	0x20		/* Intellitech PCL-based printers */
