XpGetPrinterList(3p)
NAME
XpGetPrinterList - Retrieves a list of all printers supported on an X
Print Server.
SYNOPSIS
cc [ flag... ] file... -lXp [ library... ] #include <X11/extensions/Print.h> XPPrinterList XpGetPrinterList ( display, printer_name, list_count_return ) Display *display; char *printer_name; int *list_count_return;
ARGUMENTS
- display
- Specifies a pointer to the Display structure; returned from XOpenDisplay.
- printer_name
- Specifies the name of the printer for which information is desired. If NULL, then information is returned for all printers associated with the server.
- list_count_return
- Returns the number of printers in the list.
DESCRIPTION
XpGetPrinterList returns a list of printer records where each record
describes a printer supported by the X Print Server, or NULL if any
errors occur.
If printer_name is NULL, then a list of all printers supported is
returned. If printer_name is non-NULL, only print records matching
printer_name are returned, and if no records match printer_name , then
NULL is returned.
printer_name is a COMPOUND_TEXT string, and the name and desc fields in
the returned list will be in COMPOUND_TEXT (note, ISO 8859-1 (Latin-1)
is a proper subset of COMPOUND_TEXT, so can be used directly). If
printer_name is in a code-set that the X Print Server cannot convert
(into its operating code-set), then the X Print Server may fail to
locate the requested printer. If printer_name is NULL, then all
printer names, regardless of their code-set, can be returned, leaving
the task of specific printer recognition up to the caller.
When XpGetPrinterList is called, the caller's locale (see XpSetLocaleHinter) is included in the request as a "hint" to the X Print Server.
If supported by the implementation, the X Print Server will use the
hint to locate a localized description for each printer in the list. If
the X Print Server cannot understand the hint, the X Print Server will
choose a default. The returned printer list can be freed by calling
XpFreePrinterList.
The XPPrinterList structure defined in <X11/extensions/Print.h> contains:
- typedef struct {
- char *name; /* name */
char *desc; /* localized description */ - } XPPrinterRec, *XPPrinterList;
DIAGNOSTICS
BadAlloc Insufficient memory.