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.
SEE ALSO¶
XpFreePrinterList(3Xp),
XpSetLocaleHinter(3Xp)