CAPS Universe documentation  1.0.4
All you need to know to be successful
Data Structures | Macros | Enumerations | Functions
libcapsdriver.h File Reference

Generic printer driver specific API to simplify drivers. More...

Go to the source code of this file.

Data Structures

struct  caps_generic_driver
 Printer Driver Callback declaration. More...
 
struct  caps_drv_page_limits
 The static rasterizer limits. More...
 
struct  caps_drv_raw_raster
 Raw raster information for full medium raster reconstruction. More...
 
struct  caps_worker_idx
 Declaration of the callbacks. More...
 

Macros

#define LIBCAPSDRIVER_MAJOR   1
 
#define LIBCAPSDRIVER_MINOR   3
 
#define LIBCAPSDRIVER_MICRO   0
 

Enumerations

enum  caps_drv_prn_tweaks {
  CAPS_TWEAK_SKIP_STATUS = 1 ,
  CAPS_TWEAK_SKIP_STATUS_WHEN_PRINTING = 2
}
 

Functions

void caps_libdriver_version_get (unsigned *major, unsigned *minor, unsigned *micro)
 
struct caps_drvcaps_drv_init (struct caps_arg_parser parser[2])
 
void caps_drv_exit (struct caps_drv *cdrv)
 
int caps_drv_run (struct caps_drv *cdrv, const struct caps_generic_driver *cb, void *private)
 
int caps_drv_terminate_now (struct caps_drv *cdrv)
 
FILE * caps_drv_to_stream (struct caps_drv *cdrv)
 
void caps_drv_private_set (struct caps_drv *cdrv, void *private)
 
void * caps_drv_private_get (struct caps_drv *cdrv)
 
const char * caps_drv_setup_value_get (struct caps_drv *cdrv, const char *section, const char *key)
 
int caps_drv_setup_boolean_get (struct caps_drv *cdrv, const char *section, const char *key)
 
void caps_drv_printer_desc_set (struct caps_drv *cdrv, const struct caps_ppd_base *desc)
 
int caps_drv_is_printing (struct caps_drv *cdrv)
 
int caps_drv_is_offline (struct caps_drv *cdrv)
 
int caps_drv_is_empty (struct caps_drv *cdrv)
 
int caps_drv_is_fault_state (struct caps_drv *cdrv)
 
struct caps_drv_page_limits caps_drv_job_limits_get (struct caps_drv *cdrv)
 
const char * caps_drv_job_value_get (struct caps_drv *cdrv, const char *designator, const char *name)
 
const char * caps_drv_job_choice_get (struct caps_drv *cdrv, const char *designator)
 
int caps_drv_job_is_duplex (struct caps_drv *cdrv)
 
const char * caps_drv_print_medium_format_name_get (struct caps_drv *cdrv)
 
struct caps_rect caps_drv_print_medium_size_get (struct caps_drv *cdrv)
 
struct caps_area caps_drv_print_medium_margins_get (struct caps_drv *cdrv)
 
enum caps_ppd_paper_leading_edges caps_drv_print_medium_orientation_get (struct caps_drv *cdrv)
 
struct caps_area caps_drv_print_medium_imageable_get (struct caps_drv *cdrv)
 
struct caps_ppd_resolution caps_drv_print_resolution_get (struct caps_drv *cdrv)
 
enum caps_colour_format caps_drv_print_colour_get (struct caps_drv *cdrv)
 
void caps_drv_job_canceled (struct caps_drv *cdrv, const char *message)
 
unsigned caps_drv_page_number_get (struct caps_drv *cdrv)
 
unsigned caps_drv_page_copies_get (struct caps_drv *cdrv)
 
int caps_drv_page_is_duplex_front (struct caps_drv *cdrv)
 
int caps_drv_page_is_duplex_reverse (struct caps_drv *cdrv)
 
int caps_drv_page_is_last_page (struct caps_drv *cdrv)
 
int caps_drv_print_medium_is_to_be_ejected (struct caps_drv *cdrv)
 
struct caps_rect caps_drv_doc_page_size_get (struct caps_drv *cdrv)
 
int caps_drv_predictive_size_get (struct caps_drv *cdrv, struct caps_rect size, struct caps_rect *psize)
 
int caps_drv_print_medium_default_setup (struct caps_drv *cdrv)
 
int caps_drv_print_medium_colour_format_set (struct caps_drv *cdrv, enum caps_colour_format cf)
 
int caps_drv_print_medium_size_set (struct caps_drv *cdrv, struct caps_rect page_size)
 
int caps_drv_print_medium_favoured_rotation_set (struct caps_drv *cdrv, int rot)
 
int caps_drv_print_medium_width_set (struct caps_drv *cdrv, double min, double max)
 
int caps_drv_print_medium_length_set (struct caps_drv *cdrv, double min, double max)
 
int caps_drv_print_medium_margins_set (struct caps_drv *cdrv, struct caps_area margins)
 
int caps_drv_print_medium_resolution_set (struct caps_drv *cdrv, double x_res, double y_res)
 
ssize_t caps_drv_raster_line_length_get (struct caps_drv *cdrv)
 
void * caps_drv_raster_line_copy_get (struct caps_drv *cdrv, void *line_buf, unsigned line_no)
 
unsigned caps_drv_raster_width_get (struct caps_drv *cdrv)
 
unsigned caps_drv_raster_length_get (struct caps_drv *cdrv)
 
enum caps_colour_format caps_drv_raster_cf_get (struct caps_drv *cdrv)
 
int caps_drv_raw_raster_info_get (struct caps_drv *cdrv, struct caps_drv_raw_raster *rr)
 
const void * caps_drv_raw_raster_line_get (struct caps_drv *cdrv, unsigned line_no)
 
const char * caps_drv_medium_name_from_size_get (const struct caps_rect *size)
 
struct caps_rect caps_drv_medium_size_from_name_get (const char *paper_name)
 
struct caps_rasterizercaps_drv_to_rstr (struct caps_drv *cdrv)
 
const struct caps_rstr_page_desccaps_drv_to_caps_rstr_page_desc (struct caps_drv *cdrv)
 
struct caps_rstr_pagecaps_drv_to_caps_rstr_page (struct caps_drv *cdrv)
 
const struct caps_rstr_rastercaps_drv_to_caps_rstr_raster (struct caps_drv *cdrv)
 
int caps_worker_idx_create (struct caps_worker_idx_context **wctx, const struct caps_worker_idx *ciw, void *anonymous_data, unsigned index_cnt, unsigned thread_cnt)
 
void caps_worker_idx_destroy (struct caps_worker_idx_context *wctx)
 
int caps_worker_idx_start (struct caps_worker_idx_context *wctx)
 
void caps_worker_idx_stop (struct caps_worker_idx_context *wctx)
 

Detailed Description

Author
Jürgen Borleis
Warning
Use as experimental

Enumeration Type Documentation

◆ caps_drv_prn_tweaks

The world isn't perfect. Setup some tweaks when dealing with printers to make it a little bit more perfect

  • CAPS_TWEAK_SKIP_STATUS_WHEN_PRINTING Some printers get confused if their input buffer still contains data to print and the host queries its status. Some error reports suggests, these printers have only one data buffer and the retrieved status overwrites the already waiting printing data. When this tweak is set, the printer status gets checked only prior starting the print job once.

These settings can be controlled via INI file settings, refer Feature: control printer monitoring for details.

Enumerator
CAPS_TWEAK_SKIP_STATUS 

Do not monitor printer's state at all, corresponds to the monitor = never setting in Feature: control printer monitoring

CAPS_TWEAK_SKIP_STATUS_WHEN_PRINTING 

Do not monitor printer's state while printing, corresponds to the monitor = idle setting in Feature: control printer monitoring