home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Spezial / SPEZIAL2_97.zip / SPEZIAL2_97.iso / ANWEND / ONLINE / PULL33 / PULL33.TXT < prev    next >
Text File  |  1997-09-20  |  46KB  |  1,286 lines

  1.                        Pull -- A Cross-Platform Tool
  2.                for File Easy Extracting and Compact Packaging
  3.  
  4.                                    Yao LI
  5.                                Sept. 20, 1997
  6.                                    v. 3.3
  7.  
  8.  
  9. Table of Contents
  10.  
  11. 0. What's New in This Release
  12. 1. Introduction
  13.      1.1 What Is the pull
  14.      1.2 What Are the Major Uses of pull
  15.      1.3 On Which Platforms pull Works
  16.      1.4 In What Ways pull Might Be Used
  17.      1.5 How pull Works
  18. 2. Obtain and Setup pull
  19.      2.1 Which Program Files Are Required and Where They Are Archived
  20.      2.2 How to Compile and Link pull
  21.           2.2.1 On Unix Platforms
  22.           2.2.2 On VMS Platforms
  23.           2.2.3 On DOS/MS Windows Platforms
  24.           2.2.4 On OS/2 Platforms
  25.      2.3 How to Install pull
  26.           2.3.1 On Unix Platforms
  27.           2.3.2 On MS Windows Platforms
  28.           2.3.3 On VMS Platforms
  29.           2.3.4 On OS/2 Platform
  30.      2.4 How to Customize pull as A Window Application
  31.           2.4.1 On Unix Platforms
  32.           2.4.2 On MS Windows Platforms
  33.                2.4.2.1 Customize pull for Drag and Drop GUI Operation
  34.                2.4.2.2 Customize pull for Double-click GUI Operation
  35.           2.4.3 On OS/2 Platform
  36.                2.4.3.1 Double Click
  37.                2.4.3.2 Drag and Drop
  38. 3. Usage
  39.      3.1 Extracting
  40.           3.1.1 Jointly
  41.           3.1.2 Separately
  42.           3.1.3 Standard I/O (Filter)
  43.           3.1.4 Suppress Verbose
  44.      3.2 Packaging
  45.           3.2.1 One Input File
  46.           3.2.2 Two Input Files
  47.      3.3 On-line Help Pages
  48. 4. Typical Usage Examples
  49.      4.1 Extracting
  50.           4.1.1 On Unix
  51.           4.1.2 On MS Windows and MS-DOS
  52.           4.1.3 On VMS
  53.           4.1.4 On OS/2
  54.      4.2 Packaging
  55. 5. Other Related Topics
  56.      5.1 Exit Code
  57.      5.2 Internally Supported Filename Extensions
  58.      5.3 gzip Archive Information
  59.      5.4 Viewing and Printing PostScript Files
  60.           5.4.1 Viewing A PostScript File
  61.           5.4.2 Printing A PostScript File
  62.      5.5 uue77 Encoder
  63. 6. License, Copyright, and Warranty
  64. 7. Troubleshooting
  65. 8. Bug Report and Comments
  66. 9. History
  67. 10. Acknowledgments
  68. 11. References
  69.  
  70. ------------------------------------------------------------------------
  71.  
  72.  
  73.  
  74. 0. What's New in This Release
  75.  
  76.    * pull ported to OS/2 FAT and OS/2 HPFS;
  77.    * porting tested onto three more Unix variants: Digital Unix, BSDI
  78.      BSD/OS, and Linux;
  79.    * tested on multi-platforms for proper handling of files with no
  80.      filename extension or without pull internally registered extensions;
  81.    * converted pull.c from K&R C to ANSI C;
  82.    * updated this document with new changes;
  83.    * updated pull online help page;
  84.    * added example usage for PC users on how to extract a file using only
  85.      drag and drop from multi-part mails in Netscape Communicator 4.x email
  86.      Messenger.
  87.  
  88. Release level: major  (out of major, moderate, minor)
  89.  
  90. 1. Introduction
  91.  
  92. This document is for all levels of users. It begins with an overview of the
  93. pull.
  94.  
  95. 1.1 What Is the pull
  96.  
  97. pull is a cross-platform software tool used for convenient file extraction
  98. and packaging. A single file naming is used for multiple port of pull on
  99. Unix, DOS/MS Windows, VMS, and OS/2. The pull can do several things at
  100. once. When packing a file, it can compress, split, and/or uuencode the
  101. file. When extracting the original file from a compressed, split, and/or
  102. file(s), it does the opposite of packing: uudecoding, merging, and
  103. decompressing.
  104.  
  105.  
  106. 1.2 What Are the Major Uses of pull
  107.  
  108. pull can be used for two opposite purposes: file extraction and packaging.
  109. For file extraction, it can conveniently extract the original file(s) from
  110.  
  111.    * several email files decomposed from a single large file after
  112.      compress, split, and uuencode;
  113.    * a compressed and uuencoded file;
  114.    * a uuencoded file;
  115.    * several  unrelated uuencoded files concatenated in one file;
  116.    * file(s) compressed by gzip or Unix compress.
  117.  
  118. For file packing, it can in one step
  119.  
  120.    * break a large file into several smaller ones for email delivery after
  121.      compress, split if necessary, and uuencode. Versatile split is
  122.      provided.
  123.    * compress and uuencode a file for email delivery.
  124.  
  125. 1.3 On Which Platforms pull Works
  126.  
  127. pull currently works on four major platforms: Unix, DOS/MS Windows, VMS,
  128. and OS/2. To elaborate,
  129.  
  130.    * Unix is a family of over 60 variants/flavors (67+ listed in
  131.      http://www.ugu.com/sui/ugu/show?ugu.flavors );
  132.    * DOS are MS-DOS (6.22 being the latest and the last), IBM PC DOS (7
  133.      being the latest) and a few more MS-DOS compatibles. In the rest of
  134.      this document, though mostly MS-DOS is mentioned,  it does not exclude
  135.      pull's applicability to other MS-DOS compatible DOSes;
  136.    * MS Windows includes Windows 3.x, 95, and NT 3.51, 4.0. (CE is the
  137.      youngest little member in MS Windows family, out of consideration of
  138.      pull porting for now.)
  139.    * VMS: VMS and OpenVMS
  140.    * OS/2: FAT and HPFS
  141.  
  142. as listed in next table.  With possible concern on over 60 Unix variants,
  143. for Unix users' assurance, pull has been tested under 11 Unix variants
  144. explicitly listed in the table and is expected to work on any other
  145. unlisted Unix variant as well.
  146.  
  147.                   Table 1. Platforms on Which pull Works
  148.  
  149.   platform                         variants/flavors
  150.              SunOS, Solaris, HP-UX, AIX, IRIX, Digital Unix, NeXT, BSD/OS,
  151.  UNIX        Ultrix, QNX,  Linux, ...
  152.  
  153.  DOS/MS-WIN  MS-DOS (6.22), MS Windows 3.x/95/NT, PC DOS (7), MS-DOS
  154.              compatibles
  155.  VMS
  156.              VMS, OpenVMS
  157.  OS/2
  158.              OS/2 FAT, OS/2 HPFS
  159.  
  160. 1.4 In What Ways pull Might Be Used
  161.  
  162. At present, pull is implemented as a Command-Line Interface (CLI) filter
  163. application. By properly setting it up in windows environment as described
  164. in the sequel, it can perform drag-and-drop, double-click etc. types of
  165. operations as a Graphical User Interface (GUI) application. The next table
  166. elaborates on how pull might be used in MS Windows, in which "MS-DOS mode"
  167. refers to a screen created by directly launching MS-DOS or restarting
  168. computer in MS-DOS mode; whereas "MS-DOS window" refers to a window
  169. launched by clicking MS-DOS prompt icon or selecting it in Program Menu in
  170. MS Windows. Either may be called the MS-DOS box. Again, the listed usage
  171. below have all been tested.
  172.  
  173.       Table 2. The Ways pull Might be Used in MS Windows Environment
  174.  
  175.       Used in      Through         MS-DOS  Windows Windows  Windows
  176.                                            3.x     95       NT
  177.       MS-DOS mode  cmd
  178.                    typing/piping      y       y        y       y
  179.       MS-DOS       cmd               n/a      y        y       y
  180.       window       typing/piping      n       ?        y       y
  181.       MS Windows   drag-and-drop      n       y        y       y
  182.       MS Windows   double-click
  183.  
  184. 1.5 How pull Works
  185.  
  186. pull packs a file for email delivery and extracts original file from
  187. received emails.
  188.  
  189.  
  190. 1.5.1 Pack A File
  191.  
  192. Packing a file involves three possible stages of processing:
  193.  
  194.    * compressing: calls an external compressor such as default gzip or
  195.      pkzip
  196.    * splitting: if the compressed file is still too large, or on demand,
  197.      the compressed file is split in variety of specified ways
  198.    * encoding: compressed file or split files are encoded with a built-in
  199.      uue77 encoder. uue77 writes output 77 characters a line vs.
  200.      conventional uuencoder of 61 char/line. The built-in uue77 encoder is
  201.      slightly modified from the original Unix uuencode (1983).
  202.  
  203. The sequence of above three stages are predetermined. Which stage or stages
  204. the packing will go through might be specified by users. For example, a
  205. user may only want to split a huge downloaded file for disk floppy
  206. transfer, or perform a simple uue77 encoding. To be meaningful, the packing
  207. process has to go through at least one stage. The all possible combinations
  208. of packing operations are tabulated below. Note that each individual
  209. packing operation has been implemented. It is some of combinations that
  210. have not been "unlocked".
  211.  
  212.           Table 3. Possible Combinations of File Packing Actions
  213.  
  214.  combination compress  split  encode    status          possible use
  215.  
  216.   7 (111)       y        y      y     available   tightly pack email file
  217.  
  218.   3 (011)       n        y      y        n/a      pack email file
  219.  
  220.   5 (101)       y        n      y     available   tightly pack email file
  221.  
  222.   6 (110)       y        y      n        n/a      fit file onto floppy
  223.  
  224.   1 (001)       n        n      y        n/a      uue77 encode
  225.  
  226.   2 (010)       n        y      n        n/a      versatile split, for
  227.                                                   floppy
  228.   4 (100)       y        n      n        n/a
  229.                                                   compress in .gz/.zip
  230.    0 (000)       n       n      n     degenerated
  231.                                                   does nothing
  232.  
  233. 1.5.2 Extract Original File
  234.  
  235. It is extremely easy for users to extract the original file from the packed
  236. files. pull performs the task automatically no matter what stage and how
  237. many stages the file packing had gone through.
  238.  
  239. 2. Obtain and Setup pull
  240.  
  241. "obtain" is about getting right version of pull for your platform. "setup"
  242. describes compiling, linking, installing, customizing pull for convenient
  243. use. In particular, "compile, link, install" here enables pull to be used
  244. through the command-line interface; while "customize" enables pull to be
  245. virtually a GUI application allowing drag-and-drop, double-click,... type
  246. of GUI operations.
  247.  
  248. 2.1 Which Program Files Are Required and Where They Are Archived
  249.  
  250.                    Table 4. Archived and Executable Pull
  251.  
  252.  platform    pull archived  executable  used on              pull is
  253.                                                              xx-bit
  254.  
  255.  UNIX        pull.c         pull        all UNIX variants    32, 64
  256.  
  257.  DOS/MS-WIN  pull.exe       pull.exe    DOS, MS WIN          16
  258.                                         3.x/95/NT
  259.  VMS         pull.c         pull.exe                         32, 64
  260.                                         VMS, OpenVMS
  261.  OS/2        pull_fat.exe   pull.exe                         32
  262.              pullhpfs.exe   pull.exe    OS/2 FAT             32
  263.                                         OS/2 HPFS
  264.  
  265.  
  266. A single source pull.c is developed and maintained. When conditionally
  267. compiled on a particular platform/file system, a platform/file system
  268. specific pull executable is generated. Please be aware that the four listed
  269. pull.exe's are all different but the filename. Choose the one matching your
  270. platform. NT pull.exe is for Intel architecture, not for Alpha (64-bit),
  271. Mips, and PPC. For OS/2 users who aren't sure of on which file system (FAT
  272. or HPFS), please use OS/2 FAT pull.exe.
  273.  
  274. pull can be obtained through
  275.  
  276. ftp
  277.  
  278. ftp://uwalpha.uwinnipeg.ca/pub/fcssc/fhy/HELP/pull.c -- Unix, VMS
  279. ftp://uwalpha.uwinnipeg.ca/pub/fcssc/fhy/HELP/pull.exe -- DOS/MS-WIN
  280. ftp://uwalpha.uwinnipeg.ca/pub/fcssc/fhy/HELP/pull.zip -- OS/2 FAT, HPFS
  281.  
  282. ftp://ccic.ifcss.org/pub/software/unix/utils/pull.c.gz -- Unix
  283. ftp://ccic.ifcss.org/pub/software/dos/utils/pull.exe -- DOS/MS-WIN
  284. ftp://ccic.ifcss.org/pub/software/vms/utils/pull.c-gz -- VMS
  285. ftp://ccic.ifcss.org/pub/software/os2/utils/pull.zip -- OS/2 FAT, HPFS
  286.  
  287. and CCIC's ftp mirror sites.
  288.  
  289. Web
  290.  
  291. http://ccic.ifcss.org/ftp-pub/software/unix/utils/pull.c.gz -- Unix
  292. http://ccic.ifcss.org/ftp-pub/software/dos/utils/pull.exe -- DOS/MS-WIN
  293. http://ccic.ifcss.org/ftp-pub/software/vms/utils/pull.c-gz -- VMS
  294. http://ccic.ifcss.org/ftp-pub/software/os2/utils/pull.zip -- OS/2 FAT, HPFS
  295.  
  296. Email
  297.  
  298. To obtain the latest version of pull, send an email to
  299. "listserv@uwalpha.uwinnipeg.ca" with a one-line command in mail body as
  300. below: "help fhy-ps" for Unix and VMS version, or "help fhy-psdos" for
  301. DOS/MS-WIN version. Then the listserv "machine" will automatically email
  302. you a copy.
  303.  
  304.  
  305. 2.2 How to Compile and Link pull
  306.  
  307. This subsection only applies to Unix and VMS users. pull DOS/MS Windows and
  308. OS/2 users receive the executable pull.exe. Thus no compilation and linking
  309. is required.
  310.  
  311. 2.2.1 On Unix Platforms
  312.  
  313. Let ">" be Unix command prompt. Compile pull.c to pull with
  314.  
  315. >cc -o pull pull.c
  316.  
  317. The compilation is successful if no error message or only with warning
  318. message. In later case, you may send the complete warning message to me for
  319. code improvement.
  320.  
  321. Or, with optimization
  322.  
  323. >cc -O -o pull pull.c
  324.  
  325. It might produce a smaller and more efficient executable. But it usually
  326. takes longer time to compile and possibly fails to compile. If fails, go
  327. back to simple approach above.
  328.  
  329. Wondering if what cc is doing during "long" compiling period? Try
  330.  
  331. >cc -v -o pull pull.c
  332.  
  333. In case cc compiler is not on your system, next try GNU C compiler.
  334. Substitute "gcc" to "cc" in above commands.
  335.  
  336. Finally, you may confirm if it works with
  337.  
  338. >pull -h
  339.  
  340. that gives pull's on-line main help page.
  341.  
  342. 2.2.2 On VMS Platforms
  343.  
  344. Compile and link pull.c for VMS version
  345.  
  346. Let ">" be VMS command prompt.
  347.  
  348. 1. Specify I/O
  349.  
  350. >define lnk$library sys$library:vaxcrtl
  351.  
  352. 2. Compile pull.c to pull.obj
  353.  
  354. >cc pull /define=(VMS_PULL)
  355.  
  356. where VMS_PULL must be in upper-case. The compilation is successful if no
  357. error message or only with warning message. In later case, you may send the
  358. complete warning message to me for code improvement.
  359.  
  360. 3. Link pull.obj to pull.exe
  361.  
  362. >link pull
  363.  
  364. 4. Set symbol for pull.exe
  365.  
  366. >pull == "$disk:[directory]pull.exe"
  367.  
  368. 5. Clean Up
  369.  
  370. >delete pull.obj;1
  371.  
  372. 6.  For confirmation, display on-line main help page.
  373.  
  374. >pull -h
  375.  
  376. Note: after step 4, pull is ready for use. BUT it only works for current
  377. terminal (login) session. To make it work for every login session as a
  378. system command, do "installation" described next.
  379.  
  380. 2.2.3 On DOS/MS Windows Platforms
  381.  
  382. No compilation is required. For your reference, if use Turbo C++ compiler
  383. you may compile pull.c to pull.exe by issuing
  384.  
  385. >tcc -DMSDOS_PULL=1 pull
  386.  
  387. 2.2.4 On OS/2 Platforms
  388.  
  389.  No compilation is required. For your reference, if use Borland C++
  390. compiler you may compile pull.c to pull.exe by issuing
  391. on FAT file system
  392.  
  393. >bcc -DOS2FAT_PULL=1 pull.c
  394.  
  395. on HPFS file system
  396.  
  397. >bcc -DOS2HPFS_PULL=1 pull.c
  398.  
  399. 2.3 How to Install pull
  400.  
  401. The purpose of installation here is to enable you to conveniently use pull
  402. as a system command in command-line interface environment.
  403.  
  404. 2.3.1 On Unix Platforms
  405.  
  406. There are two options:
  407.  
  408. a) Move pull to your "bin" directory. Then it can be used from any
  409. directory. If you don't have "bin" directory,
  410.  
  411. a-1) at your home dir, issue "mkdir bin" -- creates "bin" under your home
  412. directory;
  413.  
  414. a-2) edit one of your login profiles such as .cshrc or .login file by
  415. adding bin to search path, i.e., add a line
  416.  
  417. set path = ($path /absolutePathToYourHome/bin)
  418.  
  419. or alike; To get the value of "absolutePathToYourHome", issue "cd" or "cd
  420. ~/" to return to your home directory. Then issue "pwd". Finally, it might
  421. look something like:
  422.  
  423. set path = ($path /users/group3/john/bin)
  424.  
  425. a-3) logout then login (for once only). This is a safe way, but slow. Or
  426. you may issue "source .cshrc" or "source .login" in each window you'll use
  427. pull if you are in window system.
  428.  
  429. b) Define an alias of pull in your .cshrc file pointing to where pull
  430. resides
  431.  
  432. Once all done, to save disk space, you might remove pull.c
  433.  
  434. 2.3.2 On MS Windows Platforms
  435.  
  436. First, put PULL.EXE under C:\BIN directory, or any directory you like. Then
  437. add the directory path into C:\AUTOEXEC.BAT file, such as
  438.  
  439. PATH=C:\BIN
  440.  
  441. or append it to an existing one
  442.  
  443. PATH=C:\DOS;C:\BIN
  444.  
  445. When pull involves compress/decompress operation, it calls an external
  446. utility gzip. This requires gzip also installed as a DOS command or at
  447. least under the same directory. For gzip, from ftp you may get gzip.exe and
  448. gzip386.exe. gzip386.exe runs faster. pull.exe uses one of them, and must
  449. be named as gzip.exe. To have better performance, use gzip386.exe and
  450. rename it to gzip.exe. Please note this gzip386.exe works on Win3.x and 95,
  451. but not on NT. For NT user, look for NT version of gzip.exe that also works
  452. on Win95. Before proceed further, open a MS-DOS box. Issue "gzip -h" there
  453. to confirm gzip works. If not, such as encountered "Abnormal program
  454. termination", you've got a wrong version.
  455.  
  456. Having completed the above step, there are two options. The first supports
  457. the full power of pull. The second gives drag-and-drop and double-clicking
  458. types of conventional window application convenience, as described in next
  459. subsection.
  460.  
  461. Use pull in MS-DOS Command-Line Interface
  462.  
  463. First open an MS-DOS window/box, such as a native MS-DOS 6.22 box, or an
  464. MS-DOS Prompt window launched from Windows 3.x/95/NT, or start with MS-DOS
  465. mode. Then inside DOS window/screen, issue pull commands, see "pull -h".
  466. This approach allows every feature of pull to be realized.
  467.  
  468. 2.3.3 On VMS Platforms
  469.  
  470. Place following line in your LOGIN.COM file
  471.  
  472. pull=="$disk:[directory]pull.exe"
  473.  
  474. Modify disk and directory appropriately to point to pull.exe. If you don't
  475. have LOGIN.COM file, you can create one. Once all done, to save disk space,
  476. you might delete pull.c
  477.  
  478. 2.3.4 On OS/2 Platform
  479.  
  480. First, put PULL.EXE under C:\BIN directory, or any directory you like. Then
  481. add the directory path into C:\CONFIG.SYS file, such as
  482.  
  483. PATH=C:\BIN
  484.  
  485. or append it to an existing one.
  486.  
  487. When pull involves compress/decompress operation, it calls an external
  488. utility gzip. This requires gzip also installed as a system command or at
  489. least under the same directory with pull.
  490.  
  491. Having completed the above step, there are two options. The first supports
  492. the full power of pull. The second gives drag-and-drop and double-clicking
  493. types of conventional window application convenience, as described in next
  494. subsection.
  495.  
  496. 2.4 How to Customize pull as A Window Application
  497.  
  498. This subsection discusses methods to enable pull for drag-and-drop,
  499. double-click windows operations. In general, the drag-and-drop feature
  500. requires to create an icon of pull on desktop/workspace so dragged file(s)
  501. can be dropped upon the icon. The double-click feature requires to register
  502. the file extension such as ".pul" with windows and associate it with an
  503. application such as pull.
  504.  
  505. 2.4.1 On Unix Platforms
  506.  
  507. It is largely Unix variant dependent.
  508.  
  509. 2.4.2 On MS Windows Platforms
  510.  
  511. For MS Windows, Windows 95 and NT 4.0 have the similar "look and feel";
  512. whereas NT 3.51's is more similar to Windows 3.x's. Some discussions in
  513. this section are organized along these two groups.
  514.  
  515. 2.4.2.1 Customize pull for Drag and Drop GUI Operation
  516.  
  517. The basic idea is to create an icon shortcut to pull on desktop. To extract
  518. or pack the file, simply drag a file or several files and drop it/them onto
  519. the pull icon. pull will automatically do the rest. No MS-DOS window
  520. requires to be opened first. No pull commands need to be entered in command
  521. line. Here are steps to set up pull icon on desktop. Assume that PULL.EXE
  522. is placed under directory C:\BIN
  523.  
  524. Windows 95 and NT 4.0
  525.  
  526. Step 1. Create shortcut icon to pull.exe on desktop
  527.  
  528. Through Window (NT) Explorer or "Start | Find -> Files or Folders",
  529. navigate down or search for PULL.EXE.
  530.  
  531. Select it
  532.  
  533. Click it with right mouse button, drag it onto desktop while holding the
  534. right mouse button.
  535.  
  536. Click "Create Shortcut(s) Here" with left mouse button. An MS-DOS icon of
  537. "Shortcut to Pull.exe" name is created. Internally, a program information
  538. file (PIF) is created that optimize the DOS environment for pull. Next we
  539. want to customize pull's PIF for our convenience using GUI.
  540.  
  541. Step 2.1 Modify the icon property for file extraction
  542.  
  543. Click icon name to change it to "Pull 3.3" or the current version number if
  544. v.3.3 is not the current.
  545.  
  546. Right mouse button click on pull icon, select "Properties" in pull-down
  547. menu.
  548.  
  549. Select "Program"
  550.  
  551. Click "Change Icon..." button in bottom-right. Change the icon from MS-DOS
  552. one to any one else you like since the window the pull.exe icon corresponds
  553. to is different from the MS-DOS Prompt window.
  554.  
  555. Still in Program box, "Working" field lists the working directory where
  556. pull output file is to be placed. So change it to C:\TEMP, assume you have
  557. a C:\TEMP directory.
  558.  
  559. The text field containing "PULL.EXE" on top besides the icon is the window
  560. name when launched in future.
  561.  
  562. Change it to "PULL output to C:\TEMP". It reminds you later where the pull
  563. output file is.
  564.  
  565. Deselect (empty) "Close on exit" check box under text fields. After pull
  566. execution, the inactive pull window remains and contain pull working
  567. message. (Later after you become familiar with pull, you might check this
  568. box to save a step of closing pull window.)
  569.  
  570. Click "Apply" and "OK" to finish pull icon setup.
  571.  
  572. An alternative to above configuration is to leave "Working" filed empty so
  573. pull output file is directly placed on desktop. (You need to clean up
  574. desktop later.) And check "Close on exit" check box, so after file dropped
  575. on pull icon and "pulling" down the pull window is closed by itself.
  576.  
  577. Step 2.2 Modify the icon property for file packing
  578.  
  579. To make use of the other half of pull feature--file packing, another icon
  580. may be created as above and modified in addition as following.
  581.  
  582. Change icon name to "Pull -d 3.3" or "Push 3.3"
  583.  
  584. Append pull command option "-d", not "-D", into "Cmd line" field as
  585. "C:\BIN\PULL.EXE -d".
  586.  
  587. Please note that the "Push" icon only works for NT 4.0, not for Windows 95.
  588. On Windows 95, "-d" is ignored, that is, "PULL.EXE -d" is treated as
  589. "PULL.EXE". (If you find the work-around, let me know.)
  590.  
  591. Windows 3.x and NT 3.51
  592.  
  593. As a remark, drag-and-drop operation is not limited to drop a file on a
  594. shortcut icon. Dropping a file on PULL.EXE listed in Windows/NT Explorer
  595. works as well. The price? need to navigate to PULL.EXE.
  596.  
  597. Besides, as you can imagine, the way to configure a shortcut icon of a
  598. filter type DOS application such as pull icon is very flexible.
  599.  
  600. 2.4.2.2 Customize pull for Double-click GUI Operation
  601.  
  602. The double-click operation refers to by double-clicking a file, pull is
  603. automatically launched extracting or packaging the file. The idea is to
  604. associate the file name extension with the application in Windows, in other
  605. word, register a file type with an application in Windows. Therefore once a
  606. file with this type of extension is double-clicked, Windows launches the
  607. associated application.
  608.  
  609. Windows 95 and NT 4.0
  610.  
  611. From Windows (NT) Explorer, navigate to C:\BIN and select PULL.EXE
  612.  
  613. Click "View | Options...| File Types | New Type..."
  614.  
  615. (Or from "Control Panel', click "Internet | Programs | File Types... | New
  616. Type...".)
  617.  
  618. From "Add New File Type" dialog box, fill "Description of type" text entry
  619. field up with "compressed/split/encoded".
  620.  
  621. put either ".pul" or ".cse" in text entry field "Associated extension".
  622. "pul" stands for "pull', easy to memorize. ".cse" stands more accurately
  623. for "compressed/split/encoded", or for Computer and Systems Engineering:)
  624.  
  625. Click "Change Icon..." button on top. Select a favorable icon for this new
  626. type, ideally choose identical one with the pull shortcut icon on desktop.
  627.  
  628. Click "New..." button under big "Actions:" box. A "New Action" box pops up.
  629.  
  630. Branch 1. Link to pull icon to do file extraction
  631.  
  632. Place "Extract file with Pull 3.3" in "Action" text entry field.
  633.  
  634. Click "Browse...". An "Open With..." window pops up. Default "Look in"
  635. directory is "Desktop".
  636.  
  637. Find and select "Pull 3.3". Double-click it. Click "Open" button. "Pull
  638. 3.3.pif" file is selected.
  639.  
  640. Click "OK" button in "New Action" window.
  641.  
  642. Branch 2. Link to pull -d icon to do file packaging
  643.  
  644. Place "Package file with Push 3.3" in "Action" text entry field, assuming
  645. "Push 3.3" icon has been created earlier.
  646.  
  647. Click "Browse...". An "Open With..." window pops up. Default "Look in"
  648. directory is "Desktop".
  649.  
  650. Find and select "Push 3.3". Double-click it. Click "Open" button. "Push
  651. 3.3.pif" file is selected.
  652.  
  653. Click "OK" button in "New Action" window.
  654.  
  655. (Branches merged)
  656.  
  657. Click "Close" in "Add New File Type" window.
  658.  
  659. Click "Close" in "File Types" window
  660.  
  661. Click "OK" in "Internet Properties" window.
  662.  
  663. Remark: In above new file type is linked to pull icon on desktop. The other
  664. way is to directly link file type to C:\BIN\PULL.EXE
  665.  
  666. Since pull can extract uuencoded, gzip compressed, Unix "compress"
  667. compressed file, you may associate .uue, .gz, .Z with pull one by one.
  668.  
  669. Windows 3.x and NT 3.51
  670.  
  671. In File Manager, you can drag a gzip/split/uue file and drop it over
  672. PULL.EXE for file extraction. To use double-click feature, you need do
  673. following.
  674.  
  675. Step 1. Create a PIF file for pull.exe
  676.  
  677. From Program Manager, Main launch PIF Editor. An PIF Editor window pops up.
  678. Fill up following:
  679.  
  680. Program Filename: C:\BIN\PULL.EXE
  681.  
  682. Window Title: Pull 3.3 (output to C:\TEMP)
  683.  
  684. Start-up Directory: C:\TEMP (if you don't have directory TEMP, create one.)
  685.  
  686. Deselect (empty) check box Close Window on Exit at bottom-left.
  687.  
  688. To save, click File | Save As...
  689.  
  690. Directory: C:\PULL, File Name: pull.pif
  691.  
  692. Then File | Exit PIF Editor - PULL.PIF window.
  693.  
  694. Step 2. Associate file *.PUL with PULL.PIF (PULL.EXE)
  695.  
  696. From File Manager, locate C:\PULL\PULL.PIF, select it.
  697.  
  698. Click File | Associate... An "Associate" window pops up. Fill up
  699.  
  700. Files with Extension: PUL
  701.  
  702. Click Browse... till locate C:\PULL\PULL.PIF and select it.
  703.  
  704. Click OK exiting Associate window.
  705.  
  706. Remark: The purpose of Step 1 is to create an inactive pull window that
  707. displays pull working message after pull completes. This may not be
  708. necessary if you know where pull places its output file. If so, only do
  709. Step 2. In it, associate .PUL directly with C:\PULL\PULL.EXE.
  710.  
  711. To use it, double-click a file FOO.PUL. To make pull works for another file
  712. extension, repeat the association with that extension.
  713.  
  714. 2.4.3 On OS/2 Platform
  715.  
  716. pull can be configured for double-click and drag-and-drop operations.
  717.  
  718. 2.4.3.1 Double-Click
  719.  
  720. Double clicking on a data file icon whose extension/suffix already
  721. associated with pull will launch pull.exe and extract the original file.
  722.  
  723. Take OS/2 v3 for example. To set up pull for double-click operation, in
  724. "Icon View", click "Drives |  Drive C | directory PULL | file PULL.EXE",
  725. assuming pull.exe is at C:\PULL\PULL.EXE. In "PULL - Icon View", select
  726. PULL.EXE with left mouse button. Clicking mouse button 2 pops up a menu.
  727. Select "Settings". "PULL.EXE - Settings" notebook pops up. Do following:
  728.  
  729. Program tab
  730.  
  731. "Path and file name:" already filled up with "C:\PULL\PULL.EXE"
  732. Working directory: C:\PULL
  733.  
  734. Session tab
  735.  
  736. Check "OS/2 window"
  737. Uncheck "Close window on exit"
  738.  
  739. Association tab
  740.  
  741. Select "Plain Text", "Add >>" it to "Current types".
  742. Create "New name: *.UUE", "Add >>" it to "Current names".
  743. Create "New name: *.ZUE", "Add >>" it to "Current names".
  744.  
  745. Window tab
  746.  
  747. Do nothing.
  748.  
  749. General tab
  750.  
  751. Change default "Title: Program" to "pull".
  752.  
  753. 2.4.3.2 Drag and Drop
  754.  
  755. Drag one or several data file icons and drop on pull.exe icon. Pull is
  756. launched and extract the original file. To set up,
  757.  
  758. From Icon View window, use mouse button 2 drag PULL.EXE icon to desktop
  759. while holding Ctrl key. An icon PULL.EXE is created on desktop.
  760.  
  761. Click this icon with mouse button 2; select Settings. PULL.EXE Settings
  762. Notebook pops up.
  763.  
  764. Tab settings are similar to above except that do not associate any file
  765. types with pull so any data files can be dropped onto pull icon.
  766.  
  767. To do drag and drop, select a data file icon with mouse button 1, then 2,
  768. then "Pickup". Click pull icon on desktop with mouse button 2, then "Drop".
  769.  
  770. Or using mouse button 2 drag a file to pull icon while holding Crtl key.
  771. Release Ctrl key. Drop it.
  772.  
  773. To do several files once, select file one by one while holding Crtl key.
  774. Use mouse button 2 to pickup and drop them on pull icon. For each data
  775. file, a pull session is launched. Unfortunately, we want only one pull
  776. session launched for all files dropped onto it, instead.
  777.  
  778.  
  779. 3. Usage
  780.  
  781. pull performs two opposite types of operation: file extraction and
  782. packaging. In addition, pull includes a rich set of two level on-line help
  783. pages. It is called page because each command help option gives up to
  784. one-screenful, i.e., a page, of help information, not to be confused with a
  785. web page.
  786.  
  787. usage: pull [-hBCDGILSUV] [-cqs] file(s)
  788. [-cqs]  -- on VMS
  789. [-cqs] [- < file(s)] [> outfile]  -- on Unix, DOS, and OS/2
  790. -d[cq] [-b bytes] [header] file
  791. -d[cq] [-p parts] [header] file
  792. -d[cq] -f [-b bytes] file
  793. -d[cq] -l [-b bytes] file
  794. -d[cq] -n [header] file
  795.  
  796. 3.1 Extracting
  797.  
  798. Extract the original file(s) from uuencoded/split/compressed raw file(s).
  799.  
  800. 3.1.1 Jointly
  801.  
  802. Extracts a single file by combining a set of compressed/split/encoded files
  803. that can be in arbitrary sequence.
  804.  
  805. pull file1 file2 file3 ...
  806.  
  807. pull metafile
  808.  
  809. where a "metafile" is a filename containing meta-chars (wild card):
  810.  
  811. *, ?, and [...], [!...] -- on Unix
  812. *, ? -- on DOS, OS/2
  813. *, % -- on VMS.
  814.  
  815. where  "*" matches zero or more chars. "?" and "%" matches any single char.
  816. "[...]" matches a char in the specified range. "[!...]" matches a char
  817. outside the specified range.
  818.  
  819. Before actual extraction took place, the meta-filename is expanded to a
  820. list of filenames by system command shell, or by the application, depending
  821. on the operating system.
  822.  
  823. pull catfile
  824.  
  825. where a "catfile" is a single file in which several encoded files are
  826. concatenated.
  827.  
  828. 3.1.2 Separately
  829.  
  830. Extract files independently from several files. No file merging.
  831.  
  832. pull -s file1 file2 ...
  833. pull -s metafile
  834. pull -s catfile
  835.  
  836. 3.1.3 Standard I/O (Filter)
  837.  
  838. Standard I/O option can be combined with other command options for file
  839. extraction as well as packaging. It renders pull the power as a filter
  840. application for command piping, GUI drag-and-drop, double-click...
  841.  
  842. Read from stdin/terminal
  843.  
  844. Unix, DOS, OS/2:
  845.  
  846. pull [-]
  847.  
  848. VMS:
  849.  
  850. pull
  851.  
  852. Send to stdout/terminal
  853.  
  854. Unix, DOS, and OS/2 only.
  855.  
  856. pull -c file
  857.  
  858. 3.1.4 Suppress Verbose
  859.  
  860. pull -q file
  861.  
  862. Works silently. Apply to file packaging as well.
  863.  
  864. 3.2 Packaging
  865.  
  866. Packs file by compress, split, and encode. "De" pull = push.
  867.  
  868. 3.2.1. One Input File
  869.  
  870. pull -d [-fln -b bytes -p parts] file
  871.  
  872. -d file: equal size split, up to default 64k/chunk. Default 64k
  873. approximates the mail size limit set by some mail servers, if set at all. 1
  874. K = 1024 bytes here, not 1000 bytes that most storage manufactures use.
  875. -d -n file: no split
  876. -d -b bytes file: equal size split, up to "bytes"/chunk, or "octets" if you
  877. are more academic.
  878. -d -p parts file: equal size split, into number of "parts" (1--9)
  879. -d -f [-b bytes] file: first file aligned split.
  880. -d -l [-b bytes] file: last file aligned split. First/Last N-1 files has
  881. chunk size "bytes" or default 64k each. The N'th file takes the remaining
  882. size.
  883.  
  884. 3.2.2 Two Input Files
  885.  
  886. pull -d [-n -b bytes -p parts] header file
  887.  
  888. Ascii "header" file with arbitrary filename is prepended intact to the
  889. first part of output files. All output parts are of equal size in bytes.
  890.  
  891. -d header file: equal size split, up to default 64k/chunk
  892. -d -n header file: no split
  893. -d -b bytes header file: equal size split, up to "bytes"/chunk
  894. -d -p parts header file: equal size split, into number of "parts" (1--9)
  895.  
  896. 3.3 On-line Help Pages
  897.  
  898. To display help pages, issue "pull [-hBCDGILSUV]". On VMS, double-quotes
  899. are required for an upper-case option, e.g. pull "-V".
  900.  
  901. -h : main help page
  902. -I : installation
  903. -B : bug report and comment
  904. -L : license
  905. -C : compilation and link
  906. -S : PostScript file viewing and printing
  907. -D : "de" pull, packing file
  908. -U : usage examples
  909. -G : gzip/gunzip archive information
  910. -V : version number
  911.  
  912. 4. Typical Usage Examples
  913.  
  914. This section provides some typical usage examples for file extraction and
  915. packaging. Instantiated Unix flavor filename "foo", "bar" may be used in
  916. examples.
  917.  
  918. 4.1 Extracting
  919.  
  920. Examples are listed in subsections along the platforms: Unix, DOS/MS
  921. Windows, VMS, and OS/2.
  922.  
  923. 4.1.1 On Unix
  924.  
  925. a) To extract foo9508a.ps from 4 received mails, use one of methods below
  926.  
  927. a-1) without saving file(s), from your mailer, pipe the ps mails to pull;
  928.  
  929. Example 1. in Elm, press "t" to tag the ps mails one by one; then from one
  930. of tagged mails, press "|"; then issue "pull", "pull -c > foo.ps", or "pull
  931. -c | lpr -prtname" to extract, extract to file, to printer.
  932.  
  933. Example 2. in "mail" prompt &, "| 5-8 pull" pipes mails 5-8 to pull.
  934.  
  935. a-2) append received mails, in any order, onto one file, say foo.uue. For
  936. example if Netscape 3.x or Communicator 4.x mailer is used, click on 4
  937. mails while holding Control key. Click "File | Save As..." to default file
  938. type ".html" and file name  "untitled.html". Issuing "pull foo.uue" or
  939. "pull untitled.html" extracts foo9508a.ps.
  940.  
  941. Issuing "pull foo.uue" extracts foo9508a.ps
  942.  
  943. a-3) save received mails in 4 separate files: foo1, foo2, foo3, and foo4.
  944. Assume foo1, foo2, foo3, foo4 uudecoded to foo9508a.sz1, ...foo9508a.sz4
  945.  
  946. - "pull foo?": "?" matches any single char
  947.  
  948. - "pull f*": "*" matches zero or more chars
  949.  
  950. - "pull foo[1-4]": matches exactly files foo1, foo2, foo3, and foo4.
  951.  
  952. In above sub-usages, if irrelevant filenames are expanded, pull will quit.
  953. In sub-usages below, the order of input files may be arbitrary.
  954.  
  955. - "pull foo1 foo2 foo3 foo4"
  956.  
  957. - "pull foo4 foo9508a.sz1 foo2 foo9508a.sz3", in mixed formats.
  958.  
  959. - "pull foo9508a.sz1 foo9508a.sz2 foo9508a.sz3 foo9508a.sz4".
  960.  
  961. b) To extract foo9508a.gb or foo9508a.bg5 from received mail, issue "pull
  962. foo.uue", assuming the mail saved in file "foo.uue"
  963.  
  964. c) To decompress, "pull foo.gz" or "pull foo.Z"
  965.  
  966. 4.1.2 On MS Windows and DOS
  967.  
  968. On MS Windows
  969.  
  970. a) Double-click
  971.  
  972. Assume the raw file to be extracted had the extension already registered in
  973. Windows and associated with the pull. The extensions might be .PUL, .UUE,
  974. .CSE, etc. Locate the file, double click on the file. Pull is invoked
  975. performing file extraction.
  976.  
  977. To extract foo9508a.ps from four received mails, first concatenate them
  978. into one file in arbitrary sequence. It often can be done at the time
  979. saving emails to file. For example if Netscape 3.x or Communicator 4.x
  980. mailer is used, click on 4 mails while holding Control key. Click "File |
  981. Save As..." to file name  "foo.pul". Then double clicking file "foo.pul"
  982. extracts foo9508a.ps.
  983.  
  984. b) Drag and Drop
  985.  
  986. Drag and drop does not require file extension registered. In addition,
  987. several files can be dragged and dropped at once.
  988.  
  989. Locate the raw file with Windows Explorer, NT Explorer, or File Manager.
  990. Drag and drop it on Pull icon on desktop (may not applicable to Windows
  991. 3.x), or directly on PULL.EXE file (applicable to all).
  992.  
  993. To select a group of files, click them while holding Control key or Shift
  994. key. Holding Shift key limits selection to adjacently listed files.
  995.  
  996. Drag and drop may be possible when using a mailer. Take Netscape
  997. Communicator 4.x mailer Messenger for example, if four-part received mails
  998. each is through mail file attachment, open the mail; click the paper clip
  999. icon at upper-right corner. It converts the attached file to a file icon in
  1000. the same mail window. Drag this file attachment icon and drop it onto
  1001. desktop. It creates another file icon on desktop. Repeat the process till
  1002. all four mail attachments have been dragged and dropped onto the desktop.
  1003. Then select all four file icons. Drag and drop them together onto the pull
  1004. icon on desktop. foo9508a.ps will be extracted out of these four-part
  1005. files.
  1006.  
  1007. If there is only one mail attachment to be extracted using Communicator
  1008. mailer, can you drag the mail file attachment icon and drop it on top of
  1009. desktop pull icon? Of course, you can. But nothing happens. You have to
  1010. first drop it onto desktop, then drag and drop it onto pull icon. It all
  1011. depends on how capable your email client is. Ideally, drag and drop should
  1012. work similarly for listed mails in a mail client window and for listed
  1013. files in Window Explorer window.
  1014.  
  1015. Inside An MS-DOS Box
  1016.  
  1017. a) To extract foo9508a.ps from 4 received mails, use one of methods below
  1018.  
  1019. a-1) without saving file(s), from your mailer, pipe the ps mails to pull;
  1020.  
  1021. a-2) append received mails, in any order, onto one file, say foo.uue.
  1022. Issuing "pull foo.uue" extracts foo9508a.ps
  1023.  
  1024. a-3) save received mails in 4 separate files: foo1, foo2, foo3, and foo4.
  1025. Assume foo1, foo2, foo3, foo4 uudecoded to foo9508a.sz1, ...foo9508a.sz4
  1026.  
  1027. - "pull foo?": "?" matches any single char
  1028.  
  1029. - "pull f*": "*" matches zero or more chars
  1030.  
  1031. In above sub-usages, if irrelevant filenames are expanded, pull will quit.
  1032. In sub-usages below, the order of input files may be arbitrary.
  1033.  
  1034. - "pull foo1 foo2 foo3 foo4"
  1035.  
  1036. - "pull foo4 foo9508a.sz1 foo2 foo9508a.sz3", in mixed formats.
  1037.  
  1038. - "pull foo9508a.sz1 foo9508a.sz2 foo9508a.sz3 foo9508a.sz4".
  1039.  
  1040. b) To extract foo9508a.gb or foo9508a.bg5 from received mail, issue "pull
  1041. foo.uue", assuming the mail saved in file "foo.uue"
  1042.  
  1043. c) To decompress, "pull foo.gz" or "pull foo.Z"
  1044.  
  1045. 4.1.3 On VMS
  1046.  
  1047. a) To extract foo9508a.ps from 4 received mails, use one of methods below
  1048.  
  1049. a-1) without saving file(s), from your mailer, pipe the ps mails to pull;
  1050.  
  1051. a-2) append received mails, in any order, onto one file, say foo.uue;
  1052. Issuing "pull foo.uue" extracts foo9508a.ps
  1053.  
  1054. a-3) save received mails in 4 separate files: foo1.uue, ..., foo4.uue.
  1055. Assume foo1.uue, ..., foo4.uue uudecoded to foo9508a.sz1, ...foo9508a.sz4
  1056.  
  1057. - "pull foo%.uue": "%" matches any single char,
  1058.  
  1059. - "pull f*.uue": "*" matches zero or more chars
  1060.  
  1061. In above sub-usages, if irrelevant filenames are expanded, pull will quit.
  1062. In sub-usages below, the order of input files may be arbitrary.
  1063.  
  1064. - "pull foo1.uue foo2.uue foo3.uue foo4.uue".
  1065.  
  1066. - "pull foo4.uue foo9508a.sz1 foo2.uue foo9508a.sz3", in mixed formats.
  1067.  
  1068. - "pull foo9508a.sz1 foo9508a.sz2 foo9508a.sz3 foo9508a.sz4".
  1069.  
  1070. b) To extract foo9508a.gb or foo9508a.bg5 from received mail, issue "pull
  1071. foo.uue", assuming the mail saved in file "foo.uue"
  1072.  
  1073. c) To decompress, "pull foo.gz" or "pull foo.Z"
  1074.  
  1075. 4.1.4 On OS/2
  1076.  
  1077. a) To extract foo9508a.ps from 4 received mails, use one of methods below
  1078.  
  1079. a-1) without saving file(s), from your mailer, pipe the ps mails to pull;
  1080.  
  1081. a-2) append received mails, in any order, onto one file, say foo.uue.
  1082. Issuing "pull foo.uue" extracts foo9508a.ps
  1083.  
  1084. a-3) save received mails in 4 separate files: foo1, foo2, foo3, and foo4.
  1085. Assume foo1, foo2, foo3, foo4 uudecoded to foo9508a.sz1, ...foo9508a.sz4
  1086.  
  1087. - "pull foo?": "?" matches any single char
  1088.  
  1089. - "pull f*": "*" matches zero or more chars
  1090.  
  1091. In above sub-usages, if irrelevant filenames are expanded, pull will quit.
  1092. In sub-usages below, the order of input files may be arbitrary.
  1093.  
  1094. - "pull foo1 foo2 foo3 foo4"
  1095.  
  1096. - "pull foo4 foo9508a.sz1 foo2 foo9508a.sz3", in mixed formats.
  1097.  
  1098. - "pull foo9508a.sz1 foo9508a.sz2 foo9508a.sz3 foo9508a.sz4".
  1099.  
  1100. b) To extract foo9508a.gb or foo9508a.bg5 from received mail, issue "pull
  1101. foo.uue", assuming the mail saved in file "foo.uue"
  1102.  
  1103. c) To decompress, "pull foo.gz" or "pull foo.Z"
  1104.  
  1105. 4.2 Packaging
  1106.  
  1107. To split foo9508a.ps into multiple emailable parts of equal size in bytes:
  1108. *"pull -d header foo9508a.ps" creates 4 mails, "header" prepended to mail
  1109. 1. "header" is a pre-edited text introduction message for the mail.
  1110. *"pull -d foo9508a.ps" creates 4 sendable mails
  1111.  
  1112.  
  1113. To uuencode file in 77-char line, issue "pull -d foo9508a.gb" or "pull -d
  1114. foo9508a.bg5"
  1115.  
  1116. 5. Other Related Topics
  1117.  
  1118. 5.1 Exit Code
  1119.  
  1120. 0: normal
  1121.  
  1122. >0: abnormal
  1123.  
  1124. 5.2 Internally Supported Filename Extensions
  1125.  
  1126. To achieve the cross-platform transparency, pull uses 8.3 file naming
  1127. convention from DOS as the common denominator. The filename extension of
  1128. three alphadigits is used for conveying file attribute information of file
  1129. type, compressor type, part number for files before uuencoding.  (What name
  1130. of a uuencoded file might be is irrelevant to the file extracting process
  1131. of pull.) When a file is packaged using "pull -d foo", the filename
  1132. extension is processed and transformed according to pull internal file
  1133. naming specification. At recipient side, based on transformed filename
  1134. extension(s), pull is able to extract original file correctly. In addition,
  1135. it will restore the original filename provided that the original file is
  1136. one of the following types:
  1137.  
  1138. .ps
  1139. .pdf
  1140. .gif
  1141. .jpg
  1142. .gb
  1143. .bg5
  1144. .mpg
  1145. .eps
  1146. .fps
  1147. .c
  1148. .p
  1149. .exe
  1150. .doc
  1151. .txt
  1152.  
  1153. and possibly compressed with gzip, pkzip, or Unix Compress.
  1154.  
  1155. If a file does not have the above listed extensions or no extension at all,
  1156. pull can still be used to package the file properly and extract the
  1157. original file correctly. But the name of the extracted original file will
  1158. have no extension.
  1159.  
  1160. The above listed filename extension can also be in upper case or even
  1161. mixed-case if the host Operating System file naming is case-insensitive.
  1162. Among three listed compressors above, only support to gzip in pull is
  1163. thoroughly tested, that is, guaranteed. pkzip has a version compatibility
  1164. issue and it's not widely installed on Unix machines. Support to Unix .Z
  1165. Compress in pull is to be phased out following its own lead in Unix world.
  1166.  
  1167. pull is capable to support maximum 36 file types with which the extension
  1168. of the original filename can be restored. The above filename extension list
  1169. will be expanded as needed.
  1170.  
  1171. 5.3 gzip Archive Information
  1172.  
  1173. pull uses gzip/gunzip that is stored at anonymous ftp sites (for Unix,
  1174. MS-DOS, OS/2, VMS, Mac, Atari, Amiga, Primos):
  1175.  
  1176. prep.ai.mit.edu:/pub/gnu/gzip-1.2.4.tar (or .shar or .tar.gz : source)
  1177. prep.ai.mit.edu:/pub/gnu/gzip-msdos-1.2.4.exe (MSDOS, lha self-extract)
  1178. garbo.uwasa.fi:/unix/arcers/gzip-1.2.4.tar.Z (source)
  1179.  
  1180. garbo.uwasa.fi:/pc/unix/gzip124.zip (MSDOS exe)
  1181. ftp.uu.net:/pub/archiving/zip/VMS/gzip124x.vax_exe (VMS exe)
  1182. mac.archive.umich.edu:/mac/util/compression/macgzip0.22.cpt.hqx (Mac)
  1183. src.doc.ic.ac.uk:/computing/systems/mac/info-mac/cmp/mac-gzip-022.hqx
  1184. mac.archive.umich.edu:/mac/development/source/macgzip0.2src.cpt.hqx
  1185.  
  1186. To get NT versions (Intel, Mips, Alpha) of gzip.exe, search
  1187. http://www.shareware.com for NT version of gzip.
  1188.  
  1189. Reference: Usenet Newsgroup comp.compression FAQ Part 1 stored at:
  1190. rtfm.mit.edu:/pub/usenet/news.answers/compression-faq/part[1-3]
  1191.  
  1192. 5.4 Viewing and Printing PostScript Files
  1193.  
  1194. 5.4.1 Viewing A PostScript File
  1195.  
  1196. Need a ps interpreter and a previewer. They are widely available as
  1197. freeware.
  1198.  
  1199. Unix: check "pageview" on Sun, "ghostview" on HP, etc.
  1200.  
  1201. MS-WIN, OS/2: GSview and Aladdin Ghostscript;
  1202. VMS: GhostView-VMS. Check info at ftp://ftp.cs.wisc.edu/ghost/gsfaq.txt
  1203.              http://www.cs.wisc.edu/~ghost/gsfaq.html
  1204. Mac:     ftp://ftp.cs.wisc.edu/pub/ghost/aladdin/mac/
  1205.              http://www.glyphic.com/glyphic/projects/macgs.html
  1206. Ghostscript, Ghostview and GSview Home page: http://ftp.cs.wisc.edu/~ghost/
  1207.  
  1208. For more information on ps viewers and ps file, you may read the FAQ of
  1209. Usenet newsgroup comp.sources.postscript (also available from
  1210. ftp://wilma.cs.brown.edu/pub/comp.sources.postscript)
  1211.  
  1212. 5.4.2 Printing A PostScript File
  1213.  
  1214. Printable on the PostScript laser printer, or a personal laser printer plus
  1215. a PostScript interpreter such as Ghostscript.
  1216.  
  1217. 5.5 uue77 Encoder
  1218.  
  1219. The conventional uuencoder writes output 61 chars/line. uue77 encoder
  1220. writes 77 chars/line. By doing so, it cuts number of lines by 20%. uue77
  1221. encoder is modified from the original pair of uuencode/uudecode developed
  1222. by Regents of the University of California in 1983. Conventional uudecoders
  1223. can decode the file encoded by uue77. pull.c includes uue77 and uudecode
  1224. pair.
  1225.  
  1226. 6. License, Copyright, and Warranty
  1227.  
  1228. Author: Yao LI  <ah163@freenet.carleton.ca>
  1229.  
  1230. Copyright (c): 1995-1997
  1231.  
  1232. For user's convenience, uuencode.c and uudecode.c are trimmed and included
  1233. with the key change to uuencode.c of widening the output from 61 chars/line
  1234. to 77 chars/line. These two utilities have Copyright (c) 1983/1993 Regents
  1235. of the University of California.
  1236.  
  1237. This software is provided "as is" without any warranty; without even the
  1238. implied warranty of merchantability. Redistribution and non-commercial use
  1239. are permitted.
  1240.  
  1241. 7. Troubleshooting
  1242.  
  1243. 8. Bug Report and Comments
  1244.  
  1245. Send the bug report to me (Yao LI) at "ah163@freenet.carleton.ca".
  1246.  
  1247. Please include
  1248.  
  1249. - platform: Unix, MS-DOS, Windows, VMS, or OS/2?
  1250.  
  1251. - file system: if on OS/2, is it FAT or HPFS?
  1252.  
  1253. - problem description: complete error/warning msg displayed on your screen,
  1254. including command option, file names in command line
  1255.  
  1256. - the version number of pull, if obtainable, issue command
  1257. pull -V -- for Unix, DOS, and OS/2
  1258. pull "-V" -- for VMS
  1259.  
  1260. - operating system and version/release number, C compiler if used
  1261.  
  1262. on Unix, command "uname -a" displays OS, platform, ...
  1263.  
  1264. Your comments are always welcome.
  1265.  
  1266. 9. History
  1267.  
  1268. The first release --  pull 1.0 was made on Feb. 10, 1995
  1269.  
  1270. In all, 18 releases had been made before this release:
  1271.  
  1272.    * 1.0-1.4 (5) in Unix Bourne shell
  1273.  
  1274.    * 2.0-2.9 (10), 3.0-3.2(3) in C
  1275.  
  1276. 10. Acknowledgments
  1277.  
  1278. VMS porting received help from W.M. (Canada) and Seak (France).
  1279.  
  1280. 11. References
  1281.  
  1282. *"FAQ of Pull and FHY-PS Lists" at
  1283.  
  1284.      ftp://uwalpha.uwinnipeg.ca/pub/fcssc/fhy/HELP/ps_faq.html
  1285.      ftp://uwalpha.uwinnipeg.ca/pub/fcssc/fhy/HELP/ps_faq.txt
  1286.