TweetFollow Us on Twitter

LaserWriter PAPA Resource

Volume Number: 13 (1997)
Issue Number: 12
Column Tag: develop

LaserWriter 8.5.1: The Extended 'PAPA' Resource

by Richard Blanchard, RBI Software Systems Inc., Ingrid Kelly, Apple Computer Inc. and Chorng-Shyan Lin, RBI Software Systems Inc.

Overview

Starting with LaserWriter 8.5.1, in order to support different types of desktop printers, the 'PAPA' -8192 resource has been extended from 103 to 1024 bytes long. This TechNote discusses the additional bytes and in what way the LaserWriter 8.5.1 driver uses them.

Note: If your code relies on the size of the 'PAPA' resource, it may crash with LaserWriter 8.5.1 unless you update it to support the extended 'PAPA' resource.

The 'PAPA' Resource

The new 'PAPA' looks just like an old style 'PAPA' at the front of the resource; that is, the 'PAPA' resource begins with three packed Pascal strings representing the printer name, the network type (usually LaserWriter), and the printer's zone. After these strings comes the 4-byte network address.

The new extended 'PAPA' then adds desktop printer (DTP) data beginning at the 104th byte in the resource. The data from bytes 104 to 1024 (1-based indices) is a series of tagged blocks where each block contains a 4-byte tag, followed by a 2-byte length value, and then the actual data. A series of these tagged blocks can reside in bytes 104 to 1024.

Tag Requirements

There are a few requirements for the tagged blocks that go into the extended 'PAPA.' They are:

  • The only required block in an extended 'PAPA' is the 'TAGS' tag which gives the number of valid tag blocks in the extended resource. The 'TAGS' block must be the first tag in the extended record and serves as a validity check.
  • When the extended portion of the 'PAPA' contains multiple tag blocks, each block is required to start on a word (16-bit) boundary. Thus, if a tag block has an odd length, there should be a byte of padding before the start of the next tag block.
  • In order to limit the number of clients that need to understand the extended 'PAPA' format, and to make it easier to change the format in the future, the SettingsLib provides routines for creating and accessing the extended 'PAPA.' Relying on the extended 'PAPA' format rather than using SettingsLib is a bad idea. For more information on SettingsLib, please see Apple's TechNote web site.

Tag Types

Tag: 'TAGS'

Value Size: sizeof(UInt16), 2 bytes

The value of the 'TAGS' block provides the number of valid tag blocks in the extended print record including itself. The 'TAGS' block must be the first tag in the extended print record; a valid extended print record must therefore begin with the byte sequence: 0x5441 0x4753 0x0002.

Tag: 'TYPE'

Value Size: sizeof(OSType), 4 bytes

This tag is optional as its contents are redundant given the PAPA zone name string. If this tag does exists, then its value must match, not literally but in meaning, the DTP type implied by the zone string. Here are the zone string mappings to 'TYPE' values:

Zone Name             'Type'        Definition
String              tag value

=Hld                  'Hold'      Creates and holds spool files. The 
                                  spool files are never processed and the	
                                  DTP is not connected to a real printer.
=Fil*                 '=Fil'      Creates PostScript or EPS files, is 
                                  not connected to a real printer.
=Cst*                 '=Cst'      Creates a PostScript file and then launches
                                  an application to post-process the file.
=LPR*                 '=LPR'      Sends a PostScript job using the    
                                  LPR protocol.
=Ird*                 '=Ird'      Sends a PostScript job over an irda,
                                  infrared, channel.
Valid Zone string      'PAP'      Uses the AppleTalk PAP protocol to print 
                                  the job.

In the preceding mapping, the '*' in the zone name string is a wildcard which can be replaced by zero or more characters of any value. The DTP Utility uses this part of the zone name string to differentiate between DTP printers of the same type with the same name located in different folders.

Beside the tag values 'Hold', '=Fil', '=Cst', '=LPR', '=Ird', and 'PAP ,' other tag values may be added in the future for new DTP types.

Tag: 'TCP '

Value Size: variable size string

If the DTP printer type requires a TCP/IP network address, it is placed in the extended PAPA using the 'TCP ' tag. The value of the tag block is the network address of the printer either as a fully qualified network address, such as colorlaser.apple.com, or in dot format, such as 204.188.109.151.

This tag is required for DTP printers of type '=LPR.' The length of the string is determined from the block length.

Tag: 'Q'

Value Size: variable size string.

If a DTP can use a print queue name, as can LPR DTPs, then the print queue name is placed in a tag value block of type 'Q .' The length of the string is determined from the block length.

Summary of DTP type, zone names, and tags.

DTP Type           PAPA Zone String        Extended Data Tags
PAP                Actual Zone Name        'TYPE' is 'PAP '
Hold                  "     "    "         'TYPE' is 'Hold'
Save to File            =Fil*              'TYPE' is '=Fil'
Custom                  =Cst*              'TYPE' is '=Cst'
LPR	                    =LPR*              'TYPE'is'=LPR'
                                           'TCP'is printer's net address
                                           'Q'is optional and is the name of 
                                           the print spooler.
InfraRed                =Ird               'TYPE'is'=Ird'

Summary

This TechNote has documented the changes in the 'PAPA' resource in LaserWriter 8.5.1. Please beware if your application depends on the size of the 'PAPA' as it may no longer work with LaserWriter 8.5.1.

Further Reference

Acknowledgements

Thanks to Leticia Alarc'n, John Blanchard and Paul Danbold


Richard Blanchard has been programming LaserWriter 8 since its inception and one day hopes to finish it. Working at RBI Software Systems, Inc. Richard, from day to day, codes in C, C++, and Java and tries to draw a bead on the future of network printing.

Ingrid Kelly works in Apple’s Developer Technical Support group. She was sad to see the Blue Angels air show season end this year, but never fear, she is already counting down the days until the start of next year’s air show season. 99...98...97...

Chorng-Shyan Lin is a Macintosh developer at RBI Software Systems, Inc. He can be reached via email at lin@rbi.com.

 
AAPL
$524.75
Apple Inc.
-6.95
MSFT
$39.69
Microsoft Corpora
-0.30
GOOG
$526.94
Google Inc.
-7.87

MacTech Search:
Community Search:

Software Updates via MacUpdate

MacFamilyTree 7.1.6 - Create and explore...
MacFamilyTree gives genealogy a facelift: it's modern, interactive, incredibly fast, and easy to use. We're convinced that generations of chroniclers would have loved to trade in their genealogy... Read more
EtreCheck 1.9.9 - For troubleshooting yo...
EtreCheck is a simple little app to display the important details of your system configuration and allow you to copy that information to the Clipboard. It is meant to be used with Apple Support... Read more
TeamViewer 9.0.28116 - Establish remote...
TeamViewer gives you remote control of any computer or Mac over the Internet within seconds, or can be used for online meetings. Find out why more than 200 million users trust TeamViewer! Free for... Read more
Viber 4.1.0 - Send messages and make cal...
Viber lets you send free messages and make free calls to other Viber users, on any device and network, in any country! Viber syncs your contacts, messages and call history with your mobile device,... Read more
Apple iOS 7.1.1 - The latest version of...
The latest version of iOS can be downloaded through iTunes. Apple iOS 7 brings an all-new design and all-new features. Simplicity Simplicity is often equated with minimalism. Yet true simplicity is... Read more
1Password 4.3 - Powerful password manage...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
Lens Blur 1.3.0 - True out-of-focus boke...
Let Lens Blur transform your existing photo into true SLR-quality out-of-focus bokeh effect! Everyone needs a gorgeous personalized background for a social profile, blog, Web/UI design, presentation... Read more
VMware Fusion 6.0.3 - Run Windows apps a...
VMware Fusion allows you to create a Virtual Machine on your Mac and run Windows (including Windows 8.1) and Windows software on your Mac. Run your favorite Windows applications alongside Mac... Read more
BitTorrent Sync 1.3.93 - Sync files secu...
BitTorrent Sync allows you to sync unlimited files between your own devices, or share a folder with friends and family to automatically sync anything. File transfers are encrypted. Your information... Read more
Tweetbot 1.5.1 - Popular iOS twitter cli...
Tweetbot is a full-featured OS X Twitter client with a lot of personality. Whether it's the meticulously-crafted interface, sounds and animation, or features like multiple timelines and column views... Read more

Latest Forum Discussions

See All

Leo's Fortune (Games)
Leo's Fortune 1.0.2 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.2 (iTunes) Description: Leo’s Fortune is a platform adventure game where you hunt down the cunning and mysterious thief that stole your gold.... | Read more »
iOOTP Baseball 2014 Edition Review
iOOTP Baseball 2014 Edition Review By Carter Dotson on April 23rd, 2014 Our Rating: :: SOLID CONTRACTUniversal App - Designed for iPhone and iPad The long-running baseball simulator returns to mobile with a much-improved entry in... | Read more »
148Apps Live on Twitch: Soccer Rally 2 w...
Soccer Rally 2 from IceFlame Games officially releases on Thursday, bringing perhaps the most realistic car soccer action to the App Store since the original released. David Deacon of IceFlame Games will join us on our Twitch channel to talk about... | Read more »
NightCap Pro Review
NightCap Pro Review By Jennifer Allen on April 23rd, 2014 Our Rating: :: NIGHT TIME SNAPPINGUniversal App - Designed for iPhone and iPad Taking photos in low light conditions has always been tricky, but NightCap Pro has just made... | Read more »
Plague Inc. has Mutated Yet Again – We’r...
Plague Inc. has Mutated Yet Again – We’re All Doomed Even More than Usual Posted by Rob Rich on April 23rd, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Intake from Cipher Prime Coming to iPad...
Cipher Prime’s Inake is coming to iPad on May 1, as exclusively revealed yesterday on our Twitch channel. | Read more »
Gusto Email App Review
Gusto Email App Review By Jennifer Allen on April 23rd, 2014 Our Rating: :: POWERFUL SEARCHINGiPhone App - Designed for the iPhone, compatible with the iPad Focusing on making it easy to browse files and photos attached to your... | Read more »
New Update Adds Two More Cars to Fishlab...
New Update Adds Two More Cars to Fishlabs’ Sports Car Challenge 2 Posted by Rob Rich on April 23rd, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
What’s Up with Readdle? – The Verge Exam...
What’s Up with Readdle? | Read more »
Knight Saves Queen Review
Knight Saves Queen Review By Jennifer Allen on April 23rd, 2014 Our Rating: :: PUZZLING MASH UPUniversal App - Designed for iPhone and iPad Mixing up puzzle elements with Chess-based sensibilities is a fun move for this simplistic... | Read more »

Price Scanner via MacPrices.net

iPad Sales “Lull” A Reality Correction Of Unm...
I have lots of time for Jean-Louis Gassée, the former Apple Computer executive (1981 to 1990) who succeeded Steve Jobs as head of Macintosh development when the latter was dismissed in 1985. Mr.... Read more
Apple Makes OS X Betas Available To All – Wit...
Apple’s OS X Beta Seed Program, which lets you install the latest pre-release builds, try it out, and submit your feedback, is now open to anyone who wants to sign on rather than to developers and... Read more
Apple Releases iOS 7.1.1 Update
The latest iOS 7.1.1 update contains improvements, bug fixes and security updates, including: • Further improvements to Touch ID fingerprint recognition • Fixes a bug that could impact keyboard... Read more
Logitech Announces Thinner, Lighter, More Fle...
Logitech has announced an update to its Ultrathin for iPad Air, iPad mini and iPad mini with Retina display, improving the flexibility and design of its award-winning predecessor with an even thinner... Read more
Logitech Introduces Hinge, Big Bang and Turna...
Logitech has announced expansion of its tablet product line with three new cases – the Logitech Hinge, the Logitech Big Bang and the Logitech Turnaround – each for the iPad Air, iPad mini and iPad... Read more
WaterField’s Rough Rider Leather Messenger Ba...
WaterField Designs have announced the new 15-inch size of their popular Rough Rider leather messenger bag, a vintage-looking bag that combines Old West charm and ruggedness with distinctly modern... Read more
New Mac Pro on sale, save $100 on the 4-Core...
J&R has the new 4-Core Mac Pro in stock today and on sale for $2899 including free shipping plus NY sales tax only. Their price is $100 off MSRP, and it’s the lowest price available for this... Read more
Apple refurbished iMacs available for up to $...
The Apple Store has Apple Certified Refurbished 2013 iMacs available for up to $300 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free. - 27″ 3.4GHz iMac – $1699... Read more
Updated iPad Price Trackers
We’ve updated our iPad Price Tracker and our iPad mini Price Tracker with the latest information on prices and availability from Apple and other resellers. Using a mobile device? We’ve also updated... Read more
Everything You Wanted To Know And Probably Mo...
Macworld UK’s Lou Hattersley takes a look inside Apple’s A7 System On Chip (SoC) , noting that its processor module is much more powerful than other smartphone chipsets. He notes that the A7 was a... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Position Opening at *Apple* - Apple (United...
…customers purchase our products, you're the one who helps them get more out of their new Apple technology. Your day in the Apple Store is filled with a range of Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Inc. Research Data Specialist - Appl...
…of Worldwide Market Research & Intelligence. The team is responsible for conducting Apple branded consumer market research. It is also responsible for analyzing data Read more
*Apple* Automotive Parts Department position...
Apple Automotive is one of the fastest growing dealer…and it shows. Consider making the switch to the Apple Automotive Group today! At Apple Automotive, we Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.