XpGetPrinterList(3Xp)

πŸ’– NAME πŸ’–

Okay bestie, this is XpGetPrinterList(3Xp) from the XPRINT FUNCTIONS manual, and it's literally the function that retrieves a list of all printers supported on an X Print Server. Iconic. ✨

🌸 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 β€” a pointer to the Display structure; you get it back from XOpenDisplay. That's the plug, bestie. πŸ”Œ
  • printer_name β€” the name of the printer you want info about. If it's NULL, then information is returned for all printers associated with the server. No cap.
  • list_count_return β€” this one returns the number of printers in the list. It's giving "count goes here." πŸ’…

πŸŽ€ DESCRIPTION πŸŽ€

XpGetPrinterList returns a list of printer records, and 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. Quick note: ISO 8859-1 (Latin-1) is a proper subset of COMPOUND_TEXT, so it 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. Iykyk. 🧚

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. Free your list, bestie β€” it's self-care. 🫢

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. That's the whole diagnostic, and honestly valid. πŸ’€

🌈 SEE ALSO 🌈

  • XpFreePrinterList(3Xp)
  • XpSetLocaleHinter(3Xp)

Okay that's the whole page, bestie! This came from X Version 11, libXp 1.0.4, and the footer has no date to give you β€” so no fake date, periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from