CAPS Universe documentation  1.0.4
All you need to know to be successful
Functions | Variables
hl1-series.c File Reference

Definition of some printer features related to the HL1xxx printer familiy. More...

Functions

static int hl1_driver_job_finish (struct caps_drv *drvi, void *d)
 
static int hl1_driver_page_print (struct caps_drv *drvi, void *d)
 
static int hl1_driver_page_setup (struct caps_drv *drvi, void *d)
 
static int hl1_driver_job_start (struct caps_drv *drvi, void *d)
 
static void hl1_printer_setup (struct hl1_drv *t1)
 
static int hl1_driver_runtime_adaptions (struct caps_drv *drvi, void *d)
 
static int hl1_driver_module_exit (struct caps_drv *drvi, void *d)
 
static int hl1_driver_device_monitor (struct caps_drv *drvi, void *d)
 
static int hl1_driver_module_init (struct caps_drv *drvi, void *d)
 

Variables

static const struct hl_printer_name_to_id hl1_supported_printers []
 The list of printers the hl1 driver supports.
 
const struct caps_generic_driver caps_hl_driver
 
struct caps_arg_parser_list parser_list
 

Function Documentation

◆ hl1_driver_job_finish()

static int hl1_driver_job_finish ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_driver_page_print()

static int hl1_driver_page_print ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_driver_page_setup()

static int hl1_driver_page_setup ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_driver_job_start()

static int hl1_driver_job_start ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_printer_setup()

static void hl1_printer_setup ( struct hl1_drv t1)
static

Configure the printer when its corresponding driver lauches.

Parameters
[in]t1Our driver instance description

The configuration is sent once. It starts with 128 NUL bytes. It is unclear if the printer really needs this, but I found many drivers which start their printing with such kind of empty dummy data.

Precondition
hl1_driver_runtime_adaptions() must already be called
Todo:

Test, if these settings are valid as long as the printer is online, or if a PCL "\eE" reset command resets these settings as well (and thus, they must be repeated again and again).

Have the HL1 series the same power management like the HL2 family has?

◆ hl1_driver_runtime_adaptions()

static int hl1_driver_runtime_adaptions ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_driver_module_exit()

static int hl1_driver_module_exit ( struct caps_drv drvi,
void *  d 
)
static
Note
Called before termination to clean up memory use

◆ hl1_driver_device_monitor()

static int hl1_driver_device_monitor ( struct caps_drv drvi,
void *  d 
)
static

◆ hl1_driver_module_init()

static int hl1_driver_module_init ( struct caps_drv drvi,
void *  d 
)
static
Parameters
[in]drviThe libcapsdriver handle
[in]dThe private parameter from the caps_drv_run() call

Used to allocate some driver specific memory.

Variable Documentation

◆ hl1_supported_printers

const struct hl_printer_name_to_id hl1_supported_printers[]
static
Initial value:
= {
{ .printer_name = "HL-1030", .id = CAPS_BRLASER_HL_1030, },
{ .printer_name = "HL-1050", .id = CAPS_BRLASER_HL_1050, },
{ .printer_name = "HL-1070", .id = CAPS_BRLASER_HL_1070, },
{ .printer_name = "HL-1230", .id = CAPS_BRLASER_HL_1230, },
{ .printer_name = "HL-1240", .id = CAPS_BRLASER_HL_1240, },
{ .printer_name = "HL-1250", .id = CAPS_BRLASER_HL_1250, },
{ .printer_name = "HL-1270", .id = CAPS_BRLASER_HL_1270, },
{ .printer_name = "HL-1435", .id = CAPS_BRLASER_HL_1435, },
{ .printer_name = "HL-1440", .id = CAPS_BRLASER_HL_1440, },
{ .printer_name = "HL-1450", .id = CAPS_BRLASER_HL_1450, },
{ .printer_name = "HL-1470", .id = CAPS_BRLASER_HL_1470, },
{ .printer_name = "HL-1650", .id = CAPS_BRLASER_HL_1650, },
{ .printer_name = "HL-1670", .id = CAPS_BRLASER_HL_1670, },
{ .printer_name = "HL-1850", .id = CAPS_BRLASER_HL_1850, },
{ .printer_name = "HL-1870", .id = CAPS_BRLASER_HL_1870, },
{ .printer_name = NULL, },
}
@ CAPS_BRLASER_HL_1870
Definition: hl-printer-series.h:37
@ CAPS_BRLASER_HL_1050
Definition: hl-printer-series.h:22
@ CAPS_BRLASER_HL_1450
Definition: hl-printer-series.h:32
@ CAPS_BRLASER_HL_1850
Definition: hl-printer-series.h:36
@ CAPS_BRLASER_HL_1670
Definition: hl-printer-series.h:35
@ CAPS_BRLASER_HL_1650
Definition: hl-printer-series.h:34
@ CAPS_BRLASER_HL_1230
Definition: hl-printer-series.h:26
@ CAPS_BRLASER_HL_1070
Definition: hl-printer-series.h:23
@ CAPS_BRLASER_HL_1440
Definition: hl-printer-series.h:31
@ CAPS_BRLASER_HL_1240
Definition: hl-printer-series.h:27
@ CAPS_BRLASER_HL_1470
Definition: hl-printer-series.h:33
@ CAPS_BRLASER_HL_1270
Definition: hl-printer-series.h:29
@ CAPS_BRLASER_HL_1030
Definition: hl-printer-series.h:21
@ CAPS_BRLASER_HL_1250
Definition: hl-printer-series.h:28
@ CAPS_BRLASER_HL_1435
Definition: hl-printer-series.h:30
Note
All of the printers here are untested (as of November 2022)

◆ caps_hl_driver

const struct caps_generic_driver caps_hl_driver
Initial value:
= {
.printer_adaptions = hl1_driver_runtime_adaptions,
.job_start = hl1_driver_job_start,
.job_finish = hl1_driver_job_finish,
.page_setup = hl1_driver_page_setup,
.page_print = hl1_driver_page_print,
.printer_monitor = hl1_driver_device_monitor,
}
static int hl1_driver_module_exit(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:270
static int hl1_driver_page_print(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:76
static int hl1_driver_job_start(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:108
static int hl1_driver_page_setup(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:94
static int hl1_driver_module_init(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:296
static int hl1_driver_device_monitor(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:285
static int hl1_driver_job_finish(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:58
static int hl1_driver_runtime_adaptions(struct caps_drv *drvi, void *d)
Definition: hl1-series.c:205

◆ parser_list

struct caps_arg_parser_list parser_list
Initial value:
= {
.version = "caps-brother-hl1 (CAPS universe) " PACKAGE_VERSION,
.bugreport = PACKAGE_BUGREPORT,
.progname = "caps-brother-hl1",
.feature = ( "Printer driver for Brother HL1xxx monochrome laser printer series" ),
.domain = PACKAGE,
}