FreeRDP
printer_cups.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <time.h>
#include <cups/cups.h>
#include <winpr/crt.h>
#include <winpr/file.h>
#include <freerdp/channels/rdpdr.h>
#include <freerdp/client/printer.h>

Functions

static void printer_cups_get_printjob_name (char *buf, size_t size, size_t id)
 
static UINT printer_cups_write_printjob (rdpPrintJob *printjob, const BYTE *data, size_t size)
 
static void printer_cups_close_printjob (rdpPrintJob *printjob)
 
static rdpPrintJob * printer_cups_create_printjob (rdpPrinter *printer, UINT32 id)
 
static rdpPrintJob * printer_cups_find_printjob (rdpPrinter *printer, UINT32 id)
 
static void printer_cups_free_printer (rdpPrinter *printer)
 
static void printer_cups_add_ref_printer (rdpPrinter *printer)
 
static void printer_cups_release_ref_printer (rdpPrinter *printer)
 
static rdpPrinter * printer_cups_new_printer (rdpCupsPrinterDriver *cups_driver, const char *name, const char *driverName, BOOL is_default)
 
static void printer_cups_release_enum_printers (rdpPrinter **printers)
 
static rdpPrinter ** printer_cups_enum_printers (rdpPrinterDriver *driver)
 
static rdpPrinter * printer_cups_get_printer (rdpPrinterDriver *driver, const char *name, const char *driverName)
 
static void printer_cups_add_ref_driver (rdpPrinterDriver *driver)
 
static void printer_cups_release_ref_driver (rdpPrinterDriver *driver)
 
FREERDP_API rdpPrinterDriver * freerdp_printer_client_subsystem_entry (void)
 

Variables

static rdpCupsPrinterDriver * uniq_cups_driver = NULL
 

Function Documentation

◆ freerdp_printer_client_subsystem_entry()

FREERDP_API rdpPrinterDriver* freerdp_printer_client_subsystem_entry ( void  )
Here is the call graph for this function:

◆ printer_cups_add_ref_driver()

static void printer_cups_add_ref_driver ( rdpPrinterDriver *  driver)
static
Here is the caller graph for this function:

◆ printer_cups_add_ref_printer()

static void printer_cups_add_ref_printer ( rdpPrinter *  printer)
static
Here is the caller graph for this function:

◆ printer_cups_close_printjob()

static void printer_cups_close_printjob ( rdpPrintJob *  printjob)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_create_printjob()

static rdpPrintJob* printer_cups_create_printjob ( rdpPrinter *  printer,
UINT32  id 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_enum_printers()

static rdpPrinter** printer_cups_enum_printers ( rdpPrinterDriver *  driver)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_find_printjob()

static rdpPrintJob* printer_cups_find_printjob ( rdpPrinter *  printer,
UINT32  id 
)
static
Here is the caller graph for this function:

◆ printer_cups_free_printer()

static void printer_cups_free_printer ( rdpPrinter *  printer)
static
Here is the caller graph for this function:

◆ printer_cups_get_printer()

static rdpPrinter* printer_cups_get_printer ( rdpPrinterDriver *  driver,
const char *  name,
const char *  driverName 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_get_printjob_name()

static void printer_cups_get_printjob_name ( char *  buf,
size_t  size,
size_t  id 
)
static
Here is the caller graph for this function:

◆ printer_cups_new_printer()

static rdpPrinter* printer_cups_new_printer ( rdpCupsPrinterDriver *  cups_driver,
const char *  name,
const char *  driverName,
BOOL  is_default 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_release_enum_printers()

static void printer_cups_release_enum_printers ( rdpPrinter **  printers)
static
Here is the caller graph for this function:

◆ printer_cups_release_ref_driver()

static void printer_cups_release_ref_driver ( rdpPrinterDriver *  driver)
static
Here is the caller graph for this function:

◆ printer_cups_release_ref_printer()

static void printer_cups_release_ref_printer ( rdpPrinter *  printer)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ printer_cups_write_printjob()

static UINT printer_cups_write_printjob ( rdpPrintJob *  printjob,
const BYTE data,
size_t  size 
)
static

Function description

Returns
0 on success, otherwise a Win32 error code
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ uniq_cups_driver

rdpCupsPrinterDriver* uniq_cups_driver = NULL
static