ΠΠ°ΠΉΠΊΠ» Π‘Π²ΠΈΡ (Michael R Sweet), Π°Π²ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΠ°ΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° CUPS, ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ Π²Π΅ΡΡΠΈΡ PAPPL 1.2, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΠ΅ΡΠ°Ρ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPP Everywhere, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π·Π° ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ. ΠΠΎΠ΄ΡΡ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Apache 2.0 Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ΅ GPLv2 ΠΈ LGPLv2.
Π‘ΡΠ΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΡΠ»Π½Π° ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π·Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΎΠ½Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π·Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈ, ΡΡΠ΅Π½ΡΠΊΠΈ, Π½Π΅ΠΌΡΠΊΠΈ, ΠΈΡΠ°Π»ΠΈΠ°Π½ΡΠΊΠΈ, ΡΠΏΠΎΠ½ΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠ°Π½ΡΠΊΠΈ Π΅Π·ΠΈΡΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° macOS. ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π³ΠΎΡΠ½ΠΎΡΠΎ Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ ΠΌΠ΅Π½Ρ Π½Π° macOS. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΠ΅ΡΠ°Ρ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΡΡΠ²ΡΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»Π°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ°Ρ Π½Π° JPEG ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΡΡΠ° papplJobFilterImage Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π°Π½ΡΠΈ Π°Π»ΠΈΠ°ΡΠΈΠ½Π³.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPP (Internet Printing Protocol) ΠΈ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π½ΠΎΠ²ΠΈ API: papplDeviceGetSupplies Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΠΌΠ°ΡΡΠΈΠ»ΠΎ ΠΈ ΡΠΎΠ½Π΅Ρ, papplSystemAddEvent/papplSubscriptionXxx Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° IPP ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, papplSystemGet/SetMaxClients Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ. Π ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ papplPrinterDisable ΠΈ papplPrinterEnable Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° IPP Π°ΡΡΠΈΠ±ΡΡΠ° "printer-is-accepting-jobs".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΈ Π½Π° Π»ΠΈΡΡΠΎΠ²Π΅ Π² ΠΌΠΈΠ»ΠΈΠΌΠ΅ΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ OpenSSL ΠΈ LibreSSL.
- ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ ΠΊΠΎΠ΄ΡΡ Π½Π° USB Gadget, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ USB ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½Π° ΡΠΈΠΌΡΠ»Π°ΡΠΈΡ Π½Π° USB ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
- ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎΡΡ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π·Π° ΡΠΏΡΠ» Π½Π° ΠΏΠ΅ΡΠ°Ρ, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π΅ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libcups3.
Π Π°ΠΌΠΊΠ°ΡΠ° PAPPL Π΅ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΏΠ΅ΡΠ°Ρ LPrint ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ Gutenprint, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ°Ρ Π½Π° Π½Π°ΡΡΠΎΠ»Π½ΠΈ, ΡΡΡΠ²ΡΡΠ½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π° ΡΠ΅, ΡΠ΅ PAPPL ΡΠ΅ ΡΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° IPP Everywhere Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΠΈ ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° IPP, ΠΊΠ°ΡΠΎ AirPrint ΠΈ Mopria.
PAPPL Π²ΠΊΠ»ΡΡΠ²Π° Π²Π³ΡΠ°Π΄Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° IPP Everywhere, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠΉΠΊΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΌΡΠ΅ΠΆΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΠΏΠ΅ΡΠ°Ρ. IPP Everywhere ΡΠ°Π±ΠΎΡΠΈ Π² Π±Π΅Π·Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅ PPD Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ΅Π· Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠ½ΡΠ΅ΡΠ° ΠΏΠΎ USB, ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ AppSocket ΠΈ JetDirect. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°Ρ Π½Π° ΠΏΡΠΈΠ½ΡΠ΅ΡΠ° Π² ΡΠΎΡΠΌΠ°ΡΠΈ JPEG, PNG, PWG Raster, Apple Raster ΠΈ βrawβ.
PAPPL ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ Π·Π° POSIX-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Linux, macOS, QNX ΠΈ VxWorks. ΠΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ΅ ΠΎΡΠ±Π΅Π»ΡΠ·Π²Π°Ρ Avahi (Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° mDNS/DNS-SD), CUPS, GNU TLS, JPEGLIB, LIBPNG, LIBPAM (Π·Π° Π°Π²ΡΠ΅Π½ΡΠΈΠΊΠ°ΡΠΈΡ) ΠΈ ZLIB. ΠΠ° Π±Π°Π·Π°ΡΠ° Π½Π° PAPPL ΠΏΡΠΎΠ΅ΠΊΡΡΡ OpenPrinting ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ PostScript Printer Application, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΡΠΎ Ρ ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ IPP-ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° PAPPL), ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ PostScript ΠΈ Ghostscript, ΡΠ°ΠΊΠ° ΠΈ ΡΡΡ ΡΡΠ°ΡΠΈ ΠΏΡΠΈΠ½ΡΠ΅ΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ PPD (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ΅ ΡΠΈΠ»ΡΡΠΈ cups-filters ΠΈ libppd).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
