www.LinuxHowtos.org





XpGetPrinterList

Section: XPRINT FUNCTIONS (3Xp)
Updated: libXp 1.0.3
Index Return to Main Contents
 

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)


 

Index

NAME
SYNOPSIS
ARGUMENTS
DESCRIPTION
DIAGNOSTICS
SEE ALSO