home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources
- Newsgroups: vmsnet.sources
- From: "Andy, Systems Manager" <UDAA055@ELM.CC.KCL.AC.UK>
- Subject: VMS_SHARE V8.2, part 07/09
- Message-ID: <10312312@MVB.SAIC.COM>
- Date: Mon, 25 Jan 1993 21:34:55 GMT
- Lines: 1295
- Followup-To: vmsnet.sources.d
- Approved: Mark.Berryman@Mvb.Saic.Com
-
- Submitted-by: "Andy, Systems Manager" <UDAA055@ELM.CC.KCL.AC.UK>
- Posting-number: Volume 4, Issue 51
- Archive-name: vms_share/part07
- Supersedes: vms_share: Volume 3, Issue 87-89
-
- -+-+-+-+-+-+-+-+ START OF PART 7 -+-+-+-+-+-+-+-+
- Vtion`20of`20data`20in`20
- Xtransit.`20`20For`20example,`20line`20wrapping,`20case`20folding,`20transposit
- Vion`20of`20key`20
- Xcharacters`20etc.
- X
- XVMS_SHARE`20encodes`20files`20before`20transmission`20so`20that`20these`20thin
- Vgs`20may`20be`20kept`20
- Xunder`20control`20and`20proper`20restoral`20effected`20at`20the`20receiving
- V`20end.
- X
- XFor`20a`20given`20series`20of`20files`20to`20be`20packaged,`20VMS_SHARE`20comb
- Vines`20them`20into`20a`20
- Xsingle`20large`20'text`20archive'`20file`20that`20can`20be`20unpacked`20into
- V`20its`20component`20files`20
- Xsimply`20by`20running`20it`20as`20a`20command`20procedure`20at`20the`20receivi
- Vng`20end.`20For`20
- Xconvenience,`20VMS_SHARE`20will`20optionally`20split`20the`20result`20into`20m
- Vultiple`20parts`20
- Xthat`20can`20be`20individually`20mailed`20and`20recombined`20at`20the`20receiv
- Ving`20end.
- X
- X
- X
- X2.`20WHAT`20VMS_SHARE`20DOES`20NOT`20DO
- X
- XBecause`20VMS_SHARE`20relies`20on`20electronic`20mail`20to`20ship`20the`20file
- Vs,`20there`20are`20no`20
- Xprotocols`20that`20can`20be`20used`20to`20check`20the`20accuracy`20of`20the
- V`20received`20file(s).`20
- XThere`20is`20a`20reliance`20on`20the`20underlying`20mail`20system`20to`20get
- V`20everything`20there`20in`20
- Xone`20piece`20and`20unchanged.`20`20VMS_SHARE`20is`20unable`20to`20ask`20for
- V`20retransmission`20of`20
- Xmissing`20or`20damaged`20pieces.
- X
- XVMS_SHARE`20should`20therefore`20be`20used`20to`20send`20files`20only`20via
- V`20essentially`20reliable`20
- Xmail`20systems`20which`20can`20get`20files,`20whose`20characters`20fall`20with
- Vin`20certain`20bounds,`20
- Xthere`20intact.
- X
- XVMS_SHARE`20is`20intended`20for`20sequential`20files`20only.`20Other`20file
- V`20formats`20can`20be
- Xpackaged`20into`20a`20backup`20saveset,`20whose`20file`20format`20is`20support
- Ved`20by`20VMS_SHARE
- X
- X
- X
- X3.`20LIMITATIONS`20OF`20MAILERS`20AND`20HOW`20VMS_SHARE`20GETS`20AROUND`20THEM
- V
- X
- XVarious`20mail`20systems`20have`20different`20limitations`20within`20them.`20F
- Vor`20instance,`20
- Xthey`20will`20wrap`20or`20truncate`20lines`20that`20are`20too`20long,`20they
- V`20may`20limit`20the`20size`20of`20
- Xan`20individual`20mail`20message,`20they`20may`20transpose`20characters`20inco
- Vrrectly`20if`20the`20
- Xunderlying`20character`20set`20is`20different`20from`20the`20transmitter`20(AS
- VCII/EBCDIC`20is`20a
- Xgood`20example`20of`20this).`20
- X
- XVMS_SHARE`20encodes`20the`20files`20in`20different`20ways`20to`20get`20around
- V`20the`20problems.
- XPlease`20note`20however,`20that`20the`20encoding`20techniques`20are`20NOT`20fo
- Volproof.`20We`20have
- Xmerely`20tried`20to`20anticipate`20all`20possible`20corruptions`20and`20devise
- V`20an`20encoding
- Xscheme`20which`20ensures`20that`20the`20conditions`20under`20which`20corruptio
- Vn`20occurs`20does`20not
- Xarise.`20If`20a`20form`20of`20corruption`20that`20has`20not`20been`20anticipat
- Ved`20occurs,`20corruption
- Xto`20the`20transmitted`20files`20will`20be`20irreparable`20except`20through
- V`20manual`20editing.`20
- X
- X
- X
- X3.1`20Maximum`20Size`20of`20a`20Mail`20Message
- X
- XMany`20mail`20systems`20cannot`20cope`20with`20single`20mail`20messages`20larg
- Ver`20than`20a`20fixed`20
- Xnumber`20of`20bytes`20and`20will`20truncate`20messages`20or`20maybe`20even`20f
- Vail`20to`20deliver`20them`20
- Xaltogether.
- X
- XThis`20is`20a`20real`20problem`20if`20a`20large`20software`20package`20is`20be
- Ving`20sent.`20`20VMS_SHARE`20
- Xtries`20to`20overcome`20this`20by`20splitting`20the`20packaged`20files`20into
- V`20several`20parts,`20
- Xeach`20part`20being`20smaller`20than`20some`20fixed`20size.`20By`20default,
- V`20a`20part`20size`20of`2030
- Xblocks`20is`20chosen;`20this`20can`20be`20overriden`20by`20defining`20a`20logi
- Vcal`20name
- X(SHARE_PART_SIZE)`20or`20by`20a`20qualifier`20on`20the`20command`20line`20(/PA
- VRT_SIZE=nn).`20For
- Xexample,`20we`20might`20send`20a`20`20total`20of`20300`20blocks`20of`20code
- V`20as`2010`20parts`20each`20of`2030
- Xblocks`20or`20less.`20VMS_SHARE`20`20will`20automatically`20split`20at`20the
- V`2030`20block`20boundary.
- X
- XIt`20should`20be`20noted`20that`20mail`20headers`20added`20on`20route`20can
- V`20account`20for`20several
- Xblocks`20worth`20of`20extra`20space`20so`20this`20should`20be`20realised`20whe
- Vn`20setting`20the
- Xmaximum`20part`20size.
- X
- X
- X
- X
- X3.2`20Maximum`20Line`20Length
- X
- XMany`20mail`20systems`20do`20not`20like`20lines`20longer`20than`20some`20fixed
- V`20maximum`20length,`20a`20
- Xmaximum`20length`20of`2080`20characters`20is`20typical.`20This`20results`20in
- V`20longer`20lines`20being
- Xwrapped`20or`20truncated`20at`20seemingly`20arbitrary`20positions.`20
- X
- XVMS_SHARE`20tries`20to`20cope`20with`20this`20by`20wrapping`20long`20lines`20i
- Vtself`20and`20inserting`20
- Xmarkers`20to`20allow`20them`20to`20be`20rejoined`20at`20the`20receiving`20end.
- V`20What`20VMS_SHARE`20does`20
- Xis`20to`20prefix`20each`20line`20with`20a`20flag`20character.`20This`20flag
- V`20character`20says`20EITHER`20
- X'this`20is`20the`20first`20part`20of`20a`20line'`20OR`20'this`20line`20is`20a
- V`20continuation`20of`20the`20
- Xprevious`20line'.
- X
- XThe`20maximum`20line`20size`20is`20configured`20into`20the`20code`20as`20a`20g
- Vlobal`20value`20and`20`20can`20be
- Xeasily`20changed`20if`20required.`20It`20is`20not`20intended`20that`20this`20v
- Value`20should`20`20be
- Xaltered`20by`20the`20average`20user`20however.
- X
- X
- X
- X
- X3.3`20Trailing`20Blanks
- X
- XSome`20mailers`20interfere`20with`20blanks`20at`20the`20start`20and`20end`20of
- V`20lines.`20VMS_SHARE
- Xencodes`20blanks`20(and`20tabs)`20as`20if`20they`20were`20troublesome`20charac
- Vters`20(see`20below)
- Xto`20get`20around`20this.`20During`20unpacking`20of`20an`20encoded`20file,`20a
- Vny`20blank`20characters
- Xare`20ignored.
- X
- X
- X
- X
- X3.4`20Escaped`20Characters
- X
- XUndoubtedly`20the`20biggest`20problem`20is`20that`20a`20mail`20message`20movin
- Vg`20through`20many`20
- Xdifferent`20systems`20on`20route`20to`20the`20destination`20may`20undergo`20ch
- Varacter`20
- Xconversions`20(for`20example`20-`20ASCII`20to`20EBCDIC`20if`20moving`20from
- V`20VAX`20to`20an`20IBM).`20
- XUnfortunately,`20not`20all`20systems`20keep`20similar`20translation`20tables
- V`20and`20characters`20
- Xcan`20get`20translated`20into`20something`20unexpected`20at`20the`20remote`20e
- Vnd.`20Culprits`20are`20
- Xcaret`20(`5E),`20tilde`20(`7E),`20square`20and`20curly`20brackets`20(`20`5B
- V`20`5D`20`7B`20`7D`20)`20and`20a`20few`20others.
- X
- XVMS_SHARE`20deals`20with`20this`20problem`20by`20replacing`20each`20of`20the
- V`20troublesome`20
- Xcharacters`20-`20the`20ones`20mentioned`20above`20plus`20any`20non-printing
- V`20character`20-`20by`20an
- Xescape`20sequence.`20The`20escape`20sequence`20is`20recognized`20at`20the`20re
- Vceiving`20end`20and`20is`20
- Xtranslated`20back`20to`20the`20original`20character.`20`20Obviously,`20to`20wo
- Vrk`20correctly,`20the`20
- Xescape`20sequence`20itself`20must`20be`20immune`20from`20translation`20problem
- Vs.`20
- X
- XThe`20escape`20technique`20used`20is`20to`20replace`20each`20character`20by
- V`20a`20string`20of`20the`20form
- X`60xx`20`20`20where`20the`20`60`20symbol`20flags`20the`20start`20of`20an`20esc
- Vape`20sequence`20and`20'xx'`20is`20a
- X2-digit`20string`20which`20is`20the`20hexadecimal`20form`20of`20the`20ASCII
- V`20code`20for`20the
- Xcharacter.`20Naturally,`20the`20`60`20character`20itself`20must`20be`20escaped
- V`20in`20this`20form`20to
- Xavoid`20confusion.`20For`20example,`20a`20space`20would`20be`20replaced`20by
- V`20`20`6020`20`20`20and`20a`20tab
- Xby`20`20`6009.`20
- X
- X
- X
- X3.5`20Additional`20Compression`20Techniques
- X
- XTwo`20additional`20forms`20of`20character`20encoding`20can`20be`20optionally
- V`20selected`20by`20the
- Xuser`20to`20reduce`20the`20size`20of`20the`20packaged`20data`20-`20either`20ru
- Vn-length`20encoding`20or`20a
- Xmodified`20form`20of`20Lempel-Ziv`20compression.
- X
- XA`20file`20compressed`20with`20one`20of`20these`20options`20will`20be`20automa
- Vtically`20decompressed
- Xwhen`20unpacked.`20It`20is`20not`20necessary`20for`20the`20recipient`20to`20us
- Ve`20external
- Xdecompression`20tools.
- X
- X
- X3.5.1`20Run-Length`20Encoding
- X
- XA`20form`20of`20run`20length`20encoding`20is`20used`20to`20encode`20sequences
- V`20of`20the`20same`20character
- Xinto`20a`205`20character`20sequence.`20In`20this`20instance,`20the`20generated
- V`20sequence`20is:
- X
- X`20`20`20`26nnXX
- X
- Xwhere`20`26`20is`20the`20run`20length`20sequence`20flag,`20nn`20is`20the`20cou
- Vnt`20(in`20hex)`20of
- Xcharacters,`20and`20ZZ`20is`20the`20hex`20code`20of`20the`20ascii`20character.
- V`20`20For`20example,`20a`20run
- Xof`2015`20spaces`20would`20be`20replaced`20by`20`20`260F20`20(`600F'`20=`2015,
- V`20`6020'`20=`20hex`20code`20for
- Xspace).
- X
- XThe`20use`20of`20run`20length`20encoding`20dramatically`20increases`20the`20ti
- Vme`20spent`20on
- Xencoding`20the`20files.`20In`20many`20cases,`20it`20will`20be`20of`20no`20bene
- Vfit.`20Because`20of`20this`20it
- Xis`20not`20active`20by`20default.
- X
- X
- X3.5.2`20Lempel-Ziv`20Compression
- X
- XThe`20Lempel-Ziv`20algorithm`20scans`20for`20common`20substrings`20in`20a`20fi
- Vle`20and`20replaces
- Xthem`20by`20a`20pointer`20back`20to`20a`20previous`20occurrence`20within`20the
- V`20file.`20For`20this
- Ximplementation,`20a`20number`20of`20changes`20have`20been`20made`20to`20the
- V`20basic`20idea`20to`20fit`20the
- Xrestrictions`20of`20the`20TPU`20utility,`20and`20the`20line`20wrapping`20and
- V`20quoting`20schemes`20used
- Xfor`20long`20lines`20and`20non-printable`20characters.
- X
- XThe`20file`20is`20scanned`20for`20the`20longest`20previously`20occurring`20sub
- Vstring`20and`20is
- Xreplaced`20by`20an`20escape`20sequence`20of`20the`20form:
- X
- X`20`20`20`5Cbbll
- X
- Xwhere`20`5C`20is`20the`20flag`20to`20indicate`20an`20lz`20encoded`20string,
- V`20bb`20is`20a`202`20digit`20hex
- Xencoded`20backwards`20count`20to`20the`20start`20of`20the`20original`20string,
- V`20and`20ll`20is`20a`20two
- Xdigit`20hex`20encoded`20length.`20Because`20of`20the`202`20digit`20hex`20encod
- Ving,`20the`20maximum
- Xbackwards`20search`20distance`20is`20255`20bytes`20and`20the`20maximum`20lengt
- Vh`20is`20also`20255
- Xbytes.`20Therefore`20up`20to`20255`20bytes`20can`20be`20compressed`20to`20a
- V`205`20char`20sequence`20in`20the
- Xoptimal`20case.`20In`20practice,`20compression`20ratios`20are`20nothing`20like
- V`20as`20dramatic.
- X
- XThis`20form`20of`20compression`20is`20very`20slow`20in`20operation`20due`20to
- V`20the`20repeated
- Xsearching`20for`20substrings`20that`20have`20previously`20occurred.`20Some`20o
- Vptimisations`20have
- Xbeen`20made`20to`20the`20searching`20but`20it`20should`20still`20be`20selected
- V`20only`20if`20it`20is
- Xcertain`20to`20be`20of`20some`20benefit.
- X
- X
- X
- X3.6`20Detecting`20Damaged`20Files`20with`20Checksums
- X
- XIn`20cases`20where`20some`20corruption`20occurs`20despite`20the`20encodings
- V`20used`20by`20VMS_SHARE,`20
- Xdetection`20of`20damage`20(BUT`20NOT`20REPAIR!)`20should`20be`20possible`20bec
- Vause`20each`20file`20is`20
- Xchecked`20for`20accuracy`20using`20a`20checksum`20once`20it`20has`20been`20unp
- Vacked.
- X
- XVMS_SHARE`20uses`20the`20currently`20undocumented`20CHECKSUM`20command`20to
- V`20produce`20a`20
- Xchecksum`20value`20for`20the`20source`20file.`20This`20checksum`20is`20carried
- V`20across`20in`20the`20
- Xpacked`20share`20file`20and`20checked`20when`20the`20file`20is`20restored.`20A
- V`20failed`20match`20causes`20
- Xa`20message`20and`20the`20receiver`20can`20take`20action`20to`20try`20to`20loc
- Vate`20and`20repair`20the`20
- Xdamage.
- X
- XThe`20DCL`20command:
- X
- X`20`20`20`20`20$`20CHECKSUM`20filename
- X
- Xwrites`20the`20checksum`20value`20into`20a`20DCL`20symbol`20called`20CHECKSUM$
- VCHECKSUM.
- X
- XThe`20CHECKSUM`20command`20does`20not`20work`20with`20files`20that`20have`20ce
- Vrtain`20types`20of
- Xrecords`20(specifically,`20those`20with`20an`20MRS`20value`20of`200`20and`20re
- Vcords`20exceeding`202048
- Xbytes).`20Therefore,`20VMS_SHARE`20cannot`20verify`20such`20files.`20A`20warni
- Vng`20message`20is
- Xissued`20at`20both`20the`20packing`20and`20unpacking`20stages`20that`20the`20f
- Vile`20will`20not/has`20not
- Xbeen`20verified.`20It`20is`20then`20up`20to`20the`20user`20to`20take`20appropr
- Viate`20action`20to`20verify
- Xthe`20files.
- X
- X
- X4.`20VMS_SHARE`20IMPLEMENTATION
- X
- XVMS_SHARE`20is`20provided`20as`20a`20combination`20of`20DCL`20and`20TPU`20code
- V`20in`20order`20to`20ensure`20
- Xthat`20it`20will`20run`20on`20any`20VMS`20system.`20`20A`20specific`20program
- V`20would`20be`20faster`20of`20
- Xcourse`20but`20then`20portability`20is`20not`20guaranteed.
- X
- XThe`20DCL`20part`20of`20the`20software`20is`20used`20merely`20to`20pick`20up
- V`20parameters`20and
- Xqualifiers,`20and`20parse`20filenames,`20passing`20them`20to`20the`20TPU`20cod
- Ve`20in`20a`20scratch
- Xfile.
- X
- XThe`20TPU`20code`20does`20the`20hard`20work`20of`20packaging`20the`20files,
- V`20wrapping`20lines,`20
- Xescaping`20characters,`20compressing`20if`20requested,`20`20and`20generating
- V`20multiple`20parts.
- X
- XAs`20distributed,`20the`20DCL`20and`20TPU`20code`20are`20bundled`20into`20a
- V`20single`20large`20procedure`20
- Xbut`20there`20is`20no`20reason`20why`20the`20TPU`20code`20could`20not`20be`20e
- Vxtracted`20and`20made`20into`20a`20
- Xsection`20file`20for`20enhanced`20speed.`20The`20modifications`20required`20ar
- Ve`20quite`20
- Xstraightforward.
- X
- X
- X4.1`20Long`20Lines
- X
- XBecause`20the`20code`20is`20based`20upon`20TPU,`20some`20limitations`20are`20i
- Vmposed`20upon
- XVMS_SHARE.`20In`20particular,`20early`20versions`20of`20TPU`20(pre-5.4)`20do
- V`20not`20allow`20records
- Xlonger`20than`20960`20bytes`20so`20it`20is`20impossible`20to`20package`20them.
- V`20Versions`20of`20TPU`20at
- XVMS`205.4`20and`20beyond`20allow`20records`20up`20to`2065535`20bytes,`20so`20t
- Vhe`20problem`20virtually
- Xdisappears.`20For`20compatibility,`20VMS_SHARE`20still`20uses`20the`20old`20re
- Vcord`20length
- Xunless`20requested`20by`20the`20user`20with`20the`20/LONGLINES`20qualifier.
- V`20Use`20of`20this
- Xrequires`20a`20minimum`20VMS`20of`205.4`20and`20the`20generated`20share`20file
- V`20will`20only`20unpack`20on
- X5.4`20or`20greater.
- X
- XTPU`20file`20handling`20is`20limited.`20Files`20can`20only`20be`20written`20wi
- Vth`20variable`20length
- Xrecords`20and`20CR`20carriage`20control.`20To`20allow`20other`20formats`20to
- V`20be`20packaged,
- XVMS_SHARE`20encodes`20selected`20file`20record`20attributes`20into`20the`20sha
- Vre`20file`20and`20uses
- Xthe`20CONVERT`20utility`20to`20restore`20those`20attributes`20during`20the`20u
- Vnpacking`20phase.`20In
- Xprinciple,`20this`20allows`20VMS_SHARE`20to`20package`20files`20of`20most`20ty
- Vpes,`20including
- X.EXE,`20.OBJ`20and`20.BCK`20files.`20In`20the`20case`20of`20.BCK`20files,`20th
- Vis`20is`20subject`20to`20the
- XBACKUP`20block`20length`20being`20compatible`20with`20the`20maximum`20record
- V`20length`20selected`20by
- Xthe`20user`20(960`20or`2065535`20as`20appropriate).`20Allowing`20BACKUP`20save
- Vsets`20to`20be`20packaged
- Xallows`20files`20of`20all`20other`20types`20to`20be`20packaged,`20provided`20t
- Vhey`20are`20first`20stored
- Xin`20a`20saveset.`20BACKUP`20requires`20a`20minimum`20block`20length`20of`2020
- V48`20bytes,`20so`20the`20long
- Xline`20support`20is`20a`20pre-requisite`20for`20this.
- X
- X
- X4.2`20Part`20Size`20Determination
- X
- XThe`20size`20of`20a`20part`20is`20conceptually`20simple.`20Find`20the`20size
- V`20of`20a`20buffer`20in`20bytes
- Xand`20divide`20by`20512`20to`20get`20the`20number`20of`20blocks`20it`20will
- V`20occupy.`20However,`20this`20is
- Xcomplicated`20by`20several`20things.
- X
- XFirst,`20TPU`20does`20not`20count`20line`20ends`20when`20returning`20the`20
- V`60LENGTH'`20of`20a`20buffer.
- XSecond,`20when`20a`20buffer`20is`20written`20to`20disk,`20there`20is`20a`202
- V`20byte`20overhead`20on`20each
- Xrecord`20giving`20the`20length`20of`20the`20record.`20Finally,`20within`20a
- V`20disk`20block,`20a`20record
- Xalways`20starts`20on`20a`20word`20boundary`20so`20that`20some`20records`20may
- V`20be`20padded`20with`20an
- Xadditional`20null`20byte.
- X
- XTo`20accurately`20determine`20how`20much`20disk`20space`20a`20buffer`20would
- V`20occupy`20would`20involve
- Xsome`20complex`20computations.`20However,`20since`20we`20know`20that`20each
- V`20record`20has`20either`20a
- X2`20byte`20or`20a`203`20byte`20overhead`20we`20can`20get`20a`20reasonably`20ac
- Vcurate`20approximation`20by
- Xtaking`20the`20LENGTH`20of`20the`20buffer`20and`20adding`203`20bytes`20for`20e
- Vach`20record.`20We`20use`203
- Xbytes`20to`20allow`20for`20the`20worst`20case`20and`20ensure`20that`20the`20pa
- Vrt,`20when`20written`20to
- Xdisk,`20never`20exceeds`20the`20specified`20part`20size.`20In`20practice,`20th
- Vis`20means`20that`20parts
- Xwill`20sometimes`20be`20less`20than`20the`20part`20size`20-`20the`20discrepanc
- Vy`20grows`20as`20the`20part
- Xsize`20is`20increased.
- X
- X
- X
- X5.`20USING`20VMS_SHARE
- X
- XAs`20distributed,`20VMS_SHARE`20is`20run`20as`20a`20command`20procedure`20(usu
- Vally`20via`20a`20
- Xsuitable`20symbol`20set`20up`20to`20point`20to`20it)`20thus:-
- X
- X`20`20`20`20`20$`20@VMS_SHARE`20filespecs`20sharefile
- X
- Xwhere`20'filespecs'`20is`20a`20comma`20separated`20list`20of`20wildcarded`20fi
- Vlenames`20to`20be`20
- Xpackaged,`20and`20'sharefile'`20is`20the`20name`20to`20be`20given`20to`20the
- V`20packaged`20files.`20Each
- Xpart`20of`20the`20sharefile`20will`20be`20suffixed`20by`20a`20part`20number
- V`20in`20the`20form:
- X
- X`20`20`20`20nnn-OF-mmm
- X
- Xwhere`20nnn`20is`20the`20part`20number`20and`20mmm`20is`20the`20total`20number
- V`20of`20parts.
- X
- XThere`20are`20some`20restrictions`20on`20the`20filenames`20that`20can`20be`20u
- Vsed:
- X
- X`20`20`20`20`20-`20Subdirectories`20may`20be`20used`20provided`20that`20they
- V`20are`20beneath`20the`20current
- X`20`20`20`20`20`20`20directory.`20It`20is`20not`20permitted`20to`20package`20f
- Viles`20in`20other`20directories.
- X
- X`20`20`20`20`20-`20The`20name`20of`20the`20sharefile`20must`20not`20appear`20i
- Vn`20the`20'filespecs'`20list
- X`20`20`20`20`20`20`20because`20the`20software`20cannot`20package`20a`20file
- V`20into`20itself.
- X
- X`20`20`20`20`20-`20At`20least`20one`20valid`20file`20must`20be`20given`20in
- V`20'filespecs'`20or`20no`20sharefile
- X`20`20`20`20`20`20`20will`20be`20produced.
- X
- X
- X6.`20UNPACKING`20A`20VMS_SHARE`20FILE
- X
- XIn`20general,`20a`20package`20delivered`20using`20the`20VMS_SHARE`20software
- V`20will`20arrive`20in`20a`20
- Xnumber`20of`20parts,`20from`201`20up`20to`20'n'.`20`20All`20parts`20should`20b
- Ve`20concatenated`20together`20
- Xin`20order.`20It`20is`20NOT`20necessary`20to`20remove`20superfluous`20mail`20h
- Veaders`20from`20any`20part`20
- Xother`20than`20part`201`20prior`20to`20concatenation.
- X
- XThe`20resulting`20combined`20file`20should`20then`20be`20executed`20as`20a`20c
- Vommand`20procedure`20in`20
- Xorder`20to`20unpack`20the`20resulting`20files.
- X
- X
- X
- X6.1`20Typical`20Unpack`20Sequence
- X
- XA`20typical`20sequence`20of`20events`20goes`20like`20this:
- X
- X`20-`20Set`20your`20default`20directory`20to`20a`20scratch`20directory`20which
- V`20is`20empty.
- X
- X`20-`20Go`20into`20MAIL`20and`20select`20the`20folder`20which`20contains`20the
- V`20parts`20of`20the
- X`20`20`20package.
- X
- X`20-`20Extract`20part`201`20into`20a`20file,`20using`20the`20command`20'EXTRAC
- VT/NOHEADER`20`20`20`20`20`20`20`20file'
- X`20`20`20Extract`20part`202`20into`20a`20file,`20using`20the`20command`20'EXTR
- VACT/NOHEADER/APPEND`20file'
- X`20`20`20...
- X`20`20`20...
- X`20`20`20Extract`20part`20n`20into`20a`20file,`20using`20the`20command`20'EXTR
- VACT/NOHEADER/APPEND`20file'
- X
- X`20-`20Read`20warning`20below`20BEFORE`20proceeding!!!
- X
- X`20-`20Execute`20as`20a`20command`20procedure,`20using`20the`20following`20com
- Vmand:
- X`20`20`20`20`20`20$`20@file
- X
- X
- X
- X6.2`20Warning
- X
- XIt`20is`20strongly`20suggested`20that`20the`20generated`20command`20procedure
- V`20('file.SHAR'`20in`20
- Xthe`20above`20example)`20be`20carefully`20checked`20before`20execution.`20It
- V`20is`20possible`20that`20
- Xunscrupulous`20persons`20might`20tamper`20with`20the`20source`20before`20sendi
- Vng`20it`20and`20
- Xintroduce`20a`20virus`20into`20the`20VMS_SHARe'd`20code.`20There`20is`20nothin
- Vg`20that`20VMS_SHARE`20
- Xcan`20do`20about`20this`20automatically.`20However,`20since`20all`20the`20file
- Vs`20should`20be`20human`20
- Xreadable`20it`20should`20be`20possible`20to`20detect`20fraudulent`20code`20by
- V`20manual`20checking.
- XCertainly`20the`20lines`20starting`20with`20'$'`20symbols,`20and`20the`20TPU
- V`20code`20near`20the
- Xstart,`20should`20be`20checked`20carefully`20as`20these`20are`20most`20likely
- V`20to`20be`20troublesome.
- X
- X
- X
- X
- X7.`20DECLARATION`20AND`20DISCLAIMER
- X
- XThis`20software`20is`20in`20the`20public`20domain`20and`20may`20be`20freely
- V`20distributed`20without`20
- Xcharge`20as`20required.`20However,`20all`20copyright`20notices`20and`20referen
- Vces`20to`20the
- Xauthor`20in`20the`20source`20must`20be`20left`20intact.`20
- X
- XThird`20party`20modifications`20may`20be`20made`20to`20the`20source`20but`20an
- Vy`20errors`20arising`20
- Xfrom`20their`20use`20are`20entirely`20the`20responsibility`20of`20the`20modifi
- Ver.
- X
- XThe`20author`20accepts`20no`20responsibility`20for`20the`20suitability`20of
- V`20this`20software`20for
- Xany`20specific`20purpose.`20Any`20errors`20arising`20from`20its`20use`20are
- V`20entirely`20the
- Xresponsibility`20of`20the`20user.`20
- X
- X
- XAndy`20Harper
- XKings`20College`20London`20UK
- $ call unpack VMS_SHARE.TECHNICAL_INFO;22 1029234412 ""
- $!
- $ create 'f'
- X`20`20`20`20`09`09`20`20`20`20`20`20`20`20`20V`20M`20S`20_`20S`20H`20A`20R`20E
- V
- X
- X`20`20`20`20`09`09`20A`20guide`20to`20use`20for`20the`20general`20user
- X
- X`20`20`20`20`09`09`09`20`20`20`20`20`20`20`20By
- X
- X`20`20`20`20`09`09`09`20`20`20`20Andy`20Harper
- X`20`20`20`20`09`09`09Kings`20College`20London
- X
- X__________________________________________________________________________
- X
- X
- X
- X`09`09`09`20`20A`20B`20S`20T`20R`20A`20C`20T
- X
- X
- X`20`20VMS_SHARE`20is`20designed`20to`20package`20a`20series`20of`20files`20int
- Vo`20a`20multi-part
- X`20`20share`20file`20suitable`20for`20mailing`20across`20a`20network.`20Files
- V`20are`20encoded`20to
- X`20`20be`20resistant`20to`20the`20corruption`20that`20many`20mailers`20and`20n
- Vetworks
- X`20`20generate.`20`20When`20all`20parts`20of`20the`20share`20file`20are`20comb
- Vined`20and`20run`20as`20a
- X`20`20command`20procedure,`20the`20packaged`20directory`20tree`20is`20recreate
- Vd`20in`20its
- X`20`20original`20format.
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X
- X`20`20This`20software`20is`20copyright`20(C)`20of`20the`20author`20and`20comes
- V`20with`20no
- X`20`20warranties`20either`20expressed`20or`20implied.`20`20It`20may`20be`20dis
- Vtributed`20free`20of
- X`20`20charge`20to`20anyone`20who`20may`20require`20a`20copy,`20provided`20that
- V`20all`20copyright
- X`20`20notices`20remain`20intact.`20Any`20problems`20arising`20from`20its`20use
- V`20are`20entirely
- X`20`20the`20responsibility`20of`20the`20user.
- X
- X
- X`20`20Andy`20Harper
- X`20`20Systems`20Manager
- X`20`20Computing`20Centre
- X`20`20Kings`20College`20London
- X`20`20The`20Strand
- X`20`20London`20WC2R`202LS
- X`20`20England
- X
- X`20`20Tel:`20`20+44`20(0)`2071`20873`202347
- X`20`20E-mail:`20`20`20UDAA055`20@`20UK.AC.KCL.CC.OAK`20(JANET)
- X`20`20`20`20`20`20`20`20`20`20`20`20UDAA055%OAK.CC.KCL.AC.UK`20@`20NSFNET-RELA
- VY.AC.UK`20(INTERNET)
- X
- X_________________________________________________________________________
- X
- XVersion`208.2`09`09`09`09`09`20`20`20`20`20`09`09Jan`201993
- XRevision`205
- X`0C
- X
- X
- X`20`20`20`20`09`09`09`20`20C`20O`20N`20T`20E`20N`20T`20S
- X
- X
- X`20`20`20`20`09`091.`09INTRODUCTION
- X
- X`20`20`20`20`09`092.`09OVERVIEW
- X`09`09`092.1`20`20The`20VMS_SHARE`20Utility
- X`09`09`092.2`20`20The`20PAKMAIL`20Utility
- X
- X`09`093.`09USING`20VMS_SHARE
- X`09`09`093.1`20`20Simple`20Use
- X`20`20`20`20`09`09`09`20`20`20`20`203.1.1`20`20Input`20File`20specification
- X`20`20`20`20`09`09`09`20`20`20`20`203.1.2`20`20Output`20File`20specification
- X`20`20`20`20`09`09`09`20`20`20`20`203.1.3`20`20Examples
- X`09`09`093.2`20`20Subdirectory`20Restrictions
- X`09`09`093.3`20`20File`20Type`20Restrictions
- X`09`09`093.4`20`20Record`20Length`20Restrictions
- X`09`09`093.5`20`20Working`20Set`20and`20Virtual`20Memory`20Requirements
- X`09`09`093.6`20`20Checksum`20Validation
- X
- X`09`094.`09ADVANCED`20USE`20OF`20VMS_SHARE
- X`09`09`094.1`20`20Selectable`20Options
- X`09`09`094.2`20`20Default`20Settings
- X`09`09`094.3`20`20Customization`20Through`20Logical`20Names
- X`09`09`09`20`20`20`20`204.3.1`20SHARE_REAL_NAME`20--`20Owner`20Identification
- X`09`09`09`20`20`20`20`204.3.2`20SHARE_TEMP`20--`20Temporary`20Files
- X`09`09`09`20`20`20`20`204.3.3`20SHARE_UNPACK_TEMP`20--`20Temporary`20Files
- X`09`09`09`20`20`20`20`204.3.4`20SHARE_VERIFY`20--`20Procedure`20Verification
- X`09`09`094.4`20`20Customization`20Via`20Command-Line`20Qualifiers
- X
- X`20`20`20`20`09`095.`09USING`20PAKMAIL
- X`20`20`20`20`09`09`095.1`20`20User`20specification
- X`20`20`20`20`09`09`095.2`20`20File`20specification
- X`20`20`20`20`09`09`095.3`20`20Part`20specification
- X`09`09`095.4`20`20Partlist`20specification
- X`20`20`20`20`09`09`095.5`20`20Comment`20specification
- X
- X`20`20`20`20`09`096.`09HOW`20TO`20UNPACK`20A`20SHARE`20FILE
- X`20`20`20`20`09`09`096.1`20`20Command`20file
- X`20`20`20`20`09`09`096.2`20`20Dealing`20with`20multiple`20part`20share`20files
- V
- X
- X
- X`20`20`20`20`09`097.`09REFERENCES:
- X
- X`20`20`20`20`09`09`09`5B1`5D`20VMS_SHARE`20Technical`20Information`20supplemen
- Vt
- X`20`20`20`20`09`09`09`5B2`5D`20VMS_SHARE`20Release`20notes
- X`20`20`20`20`09`09`09`5B3`5D`20On-line`20HELP
- X
- X`09`09QUALIFIER`20REFERENCE`20SECTION
- X`09`09`09/BACKUP
- X`09`09`09/BEFORE
- X`09`09`09/COMPRESS
- X`09`09`09/CONFIRM
- X`09`09`09/CREATED
- X`09`09`09/DEBUG
- X`09`09`09/DIRECTORY
- X`09`09`09/EXCLUDE
- X`09`09`09/EXPIRED
- X`09`09`09/LOG
- X`09`09`09/LONGLINES
- X`09`09`09/MODIFIED
- X`09`09`09/PACKAGE_INDEX
- X`09`09`09/PART_SIZE
- X`09`09`09/SINCE
- X`09`09`09/VERSION
- X
- X`09`09APPENDIX
- X`09`09`09A:`20Redundant`20Features
- X`0C
- X1.`09INTRODUCTION
- X
- XThe`20use`20of`20global`20networks`20and`20electronic`20mail`20has`20made`20it
- V`20possible`20to
- Xdistribute`20software`20packages`20quickly,`20cheaply`20and`20easily`20in`20a
- V`20relatively
- Xreliable`20way.`20Unfortunately,`20the`20reliability`20cannot`20always`20be
- V`20guaranteed`20since
- Xmany`20mail`20systems`20can`20introduce`20corruption`20into`20the`20transmitte
- Vd`20messages.
- X
- XSuch`20corruption`20can`20usually`20be`20avoided`20if`20the`20message`20being
- V`20sent`20conforms`20to
- Xcertain`20restrictions.`20The`20specific`20restrictions`20are`20dictated`20by
- V`20the`20common
- Xlimitations`20of`20mail`20systems.`20For`20example,`20some`20mail`20systems
- V`20will`20truncate`20long
- Xlines,`20some`20will`20modify`20character`20sets.`20The`20VMS_SHARE`20utility
- V`20is`20designed`20to
- Xovercome`20these`20limitations.`20It`20has`20knowledge`20of`20a`20wide`20range
- V`20of`20these
- Xlimitations`20and`20will`20encode`20a`20series`20of`20files`20into`20a`20forma
- Vt`20that`20avoids`20them.
- XAs`20a`20result,`20messages`20encoded`20in`20this`20way`20will`20pass`20throug
- Vh`20almost`20all`20mail
- Xsystems`20uncorrupted,`20allowing`20the`20original`20information`20to`20be`20r
- Vecovered`20at`20the
- Xreceiving`20end.`20So,`20provided`20there`20is`20an`20electronic`20mail`20link
- V`20between`20two`20users,
- Xany`20type`20of`20software`20package`20may`20be`20encoded`20and`20sent`20relia
- Vbly.
- X
- XThe`20release`20notes`20for`20the`20package`20describe`20new`20features`20and
- V`20general`20changes`20
- Xfrom`20previous`20releases`20`5BReference`202`5D.
- X
- X
- X
- X
- X2.`09OVERVIEW
- X
- XThe`20VMS_SHARE`20package`20comes`20with`20two`20basic`20components`20-`20the
- V`20VMS_SHARE`20utility
- Xand`20the`20PAKMAIL`20utility.
- X
- X
- X2.1`20The`20VMS_SHARE`20Utility
- X
- XFrom`20a`20user`20specified`20set`20of`20input`20files,`20the`20VMS_SHARE`20ut
- Vility`20packs`20and
- Xencodes`20the`20information`20into`20a`20single`20file,`20known`20as`20an`20ar
- Vchive`20or`20'share'
- Xfile.`20It`20then`20splits`20up`20the`20file`20into`20pieces`20sufficiently
- V`20small`20to`20be`20mailed
- Xindividually`20through`20an`20electronic`20mail`20system,`20without`20truncati
- Von,`20to`20a
- Xrecipient.`20It`20is`20the`20recipient's`20responsibility`20to`20recombine`20t
- Vhe`20pieces`20into`20a
- Xsingle`20file`20which,`20when`20executed`20as`20a`20VMS`20command`20procedure,
- V`20creates`20an`20exact
- Xcopy`20of`20the`20original`20input`20files.`20Checksums`20are`20provided`20to
- V`20ensure`20that`20if`20the
- Xinformation`20is`20corrupted`20by`20some`20unforeseen`20mechanism`20then`20it
- V`20is`20at`20least
- Xdetected.`20
- X
- XVMS_SHARE`20encodes`20the`20information`20to`20cope`20with`20different`20types
- V`20of`20potential`20
- Xcorruption,`20such`20as`20line`20wrapping/truncation,`20character`20code`20con
- Vversions,`20
- Xtrailing`20blank`20removal`20etc.`20`20Full`20details`20can`20be`20found`20in
- V`20the`20technical`20guide`20
- X`5BReference`201`5D.
- X
- X
- X2.2`20The`20PAKMAIL`20Utility
- X
- XBecause`20the`20VMS_SHARE`20utility`20may`20create`20several`20parts`20for`20m
- Vailing,`20it`20can`20be
- Xdifficult`20to`20issue`20the`20necessary`20commands`20to`20mail`20each`20of
- V`20them`20separately.`20The
- XPAKMAIL`20utility`20is`20designed`20to`20ease`20this`20difficulty`20by`20gathe
- Vring`20all`20of`20the
- Xgenerated`20pieces`20of`20the`20share`20file`20and`20mailing`20them`20to`20one
- V`20or`20more`20recipients
- Xacross`20the`20electronic`20mail`20network.`20VMS`20MAIL`20is`20used`20as`20th
- Ve`20mailer.
- X`0C
- X3.`09USING`20VMS_SHARE
- X
- XVMS_SHARE`20is`20a`20command`20procedure`20but`20is`20usually`20provided`20to
- V`20users`20via`20a
- X`60Foreign'`20command`20symbol.`20The`20mechanism`20for`20defining`20this`20sy
- Vmbol`20is
- Xsite-dependent`20and`20the`20appropriate`20system`20management`20should`20be
- V`20consulted`20for
- Xdetails.
- X
- X
- X3.1`20Simple`20use
- X
- XThe`20simplest`20use`20of`20VMS_SHARE`20is`20as`20follows:
- X
- X`20`20`20`20`20$`20VMS_SHARE`20<input>`20<output>
- X
- Xwhere:
- X
- X`20`20<input>`20`20is`20an`20input`20file`20specification`20(see`20below).`20I
- Vf`20a`20parameter`20is`20not
- X`20`20`20`20`20`20`20`20`20`20`20supplied,`20a`20prompt`20is`20issued.
- X
- X`20`20<output>`20is`20the`20name`20to`20be`20given`20to`20the`20output`20'shar
- Ve'`20file`20(see`20below).
- X`20`20`20`20`20`20`20`20`20`20`20If`20a`20parameter`20is`20not`20supplied,`20a
- V`20prompt`20is`20issued.`20
- X
- X
- X
- X3.1.1`20Input`20File`20specification
- X
- XThe`20input`20file`20specification`20is`20a`20comma`20separated`20list`20of
- V`20standard`20VMS`20
- Xfilenames,`20which`20may`20include`20wildcards`20anywhere.`20For`20example:
- X
- X`20`20`20`20`20TEST
- X`20`20`20`20`09The`20specific`20file`20`20`20"TEST."
- X
- X`20`20`20`20`20*.FOR
- X`20`20`20`20`20`20`20`20All`20files`20ending`20in`20".FOR"
- X
- X`20`20`20`20`20`5B...`5D*.*;*
- X`20`20`20`20`20`20`20`20All`20files`20in`20and`20below`20the`20current`20direc
- Vtory.
- X
- X`20`20`20`20`20*.FOR,*.MAR
- X`20`20`20`20`20`20`20`20All`20files`20ending`20in`20".FOR",`20then`20all`20fil
- Ves`20ending`20in`20".MAR"
- X
- X
- XAny`20subdirectories`20will`20be`20recreated`20when`20the`20share`20file`20is
- V`20unpacked.`20For`20this`20
- Xreason`20and`20the`20fact`20that`20no`20useful`20information`20is`20contained
- V`20within`20them,`20
- Xdirectory`20files`20(those`20ending`20in`20.DIR)`20are`20always`20ignored.
- X
- X
- X3.1.2`20Output`20File`20specification
- X
- XThe`20output`20file`20name`20is`20used`20as`20a`20template`20to`20construct
- V`20the`20individual`20parts`20
- Xof`20the`20share`20file.`20`20The`20file`20type`20part`20of`20the`20name`20wil
- Vl`20be`20suffixed`20by`20a`20'part
- Xnumber`20identification'`20of`20the`20form:
- X
- X`20`20`20`20nnn-OF-mmm
- X
- Xwhere`20nnn`20is`20the`20part`20number,`20starting`20at`201,`20and`20mmm`20is
- V`20the`20total`20number`20of
- Xparts`20generated.
- X
- XFor`20example:
- X
- XAn`20output`20filename`20of:
- X`20`20`20`20PACKAGE.
- X
- Xmight`20generate`20files`20called:
- X`20`20`20`20PACKAGE.001-OF-100
- X`20`20`20`20PACKAGE.002-OF-100
- X`20`20`20`20`20...
- X`20`20`20`20PACKAGE.100-OF-100
- X
- XAs`20many`20parts`20as`20necessary`20to`20contain`20the`20whole`20package`20ar
- Ve`20generated.
- X
- X
- X
- X3.1.3`20Examples
- X
- XTypical`20examples`20of`20the`20use`20of`20VMS_SHARE`20would`20be:
- X
- X`20`20`20`20`20$`20VMS_SHARE`20`5B...`5D*.*;*`20ARCHIVE
- X`20`20`20`20`20`20`20`20`20Archive`20the`20whole`20of`20the`20directory`20tree
- V,`20starting`20from`20the`20current
- X`20`20`20`20`20`20`20`20`20directory`20into`20a`20share`20file`20with`20a`20te
- Vmplate`20name`20of`20"ARCHIVE.SET".`20
- X`20`20`20`20`20`20`20`20`20This`20would`20generate`20files`20called`20"ARCHIVE
- V.1-OF-9",`20"ARCHIVE.2-OF-9"
- X`20`20`20`20`20`20`20`20`20etc.`20(assuming`20a`20total`20of`209`20parts).
- X
- X
- X`20`20`20`20`20$`20VMS_SHARE`20`5B.DOC`5D*.*,`5B.EXE`5D*.*,`5B.SRC`5D*.*`20
- V`20VI
- X`20`20`20`20`20`20`20`20`20Archive`20all`20files`20in`20the`20three`20director
- Vies`20`5B.DOC`5D,`20`5B.EXE`5D`20and`20`5B.SRC`5D
- X`20`20`20`20`20`20`20`20`20and`20generate`20share`20files`20with`20a`20templat
- Ve`20name`20of`20"VI."`20I.E.
- X`20`20`20`20`20`20`20`20`20"VI.01-OF-17",`20"VI.02-OF-17"`20etc.`20(assuming
- V`20a`20total`20of`2017`20parts).
- X
- XWhen`20unpacked,`20the`20tree`20structure`20of`20the`20original`20files`20will
- V`20be`20preserved.
- X
- X
- X3.2`20Subdirectory`20restrictions
- X
- XIn`20order`20to`20ensure`20that`20the`20recipient`20receives`20the`20files`20i
- Vn`20a`20known`20set`20of`20
- Xdirectories,`20only`20files`20within`20or`20below`20the`20current`20directory
- V`20may`20be`20used`20as`20
- Xinput.`20`20The`20tree`20structure`20is`20preserved,`20from`20the`20current
- V`20directory`20downwards,`20
- Xand`20will`20be`20recreated`20below`20the`20recipient's`20current`20directory
- V`20at`20unpacking`20
- Xtime.
- X
- XFor`20example,`20if`20we`20archived`20the`20files`20"`5B.SRC...`5D*.*;*"`20the
- V`20recipient`20would`20
- Xfind`20an`20exact`20copy`20of`20the`20`5B.SRC...`5D`20tree`20recreated`20below
- V`20his`20current`20
- Xdirectory.
- X
- XNote:`20advanced`20users`20can`20override`20this`20behaviour`20with`20the`20/N
- VODIRECTORY
- Xqualifier.`20This`20is`20described`20later.
- X
- X
- X3.3`20File`20type`20Restrictions
- X
- XVMS_SHARE`20supports`20only`20SEQUENTIAL`20files`20(Not`20INDEXED`20or`20RELAT
- VIVE).`20Within`20the
- Xsequential`20file`20type,`20all`20record`20formats`20and`20carriage`20control
- V`20options`20on`20the
- Xfile`20are`20supported`20and`20restored.`20However,`20other`20attributes`20of
- V`20the`20file`20are`20not
- Xrestored`20`20-`20the`20normal`20file`20defaults`20are`20used.
- X
- XSince`20fixed`20length`20records`20are`20supported,`20it`20is`20possible`20to
- V`20package`20both`20.EXE
- Xand`20.OBJ`20files`20without`20the`20need`20for`20external`20encoding.`20The
- V`20binary`20data`20normally
- Xfound`20in`20such`20files`20is`20automatically`20handled`20and`20encoded`20app
- Vropriately.
- X
- XNote:`20advanced`20users`20can`20use`20the`20/LONGLINES`20qualifier`20to`20all
- Vow`20BACKUP`20savesets
- Xto`20be`20packaged.`20Any`20type`20of`20file`20may`20be`20shipped`20if`20it
- V`20is`20first`20packaged`20inside
- Xa`20BACKUP`20saveset.
- X
- X
- X
- X3.4`20Record`20Length`20Restrictions
- X
- XThe`20maximum`20record`20length`20supported`20is`20determined`20by`20the`20und
- Verlying`20TPU
- Xlanguage`20(in`20which`20a`20large`20portion`20of`20VMS_SHARE`20is`20implement
- Ved).`20Prior`20to`20VMS
- X5.4`20only`20short`20records`20(less`20than`20960`20bytes)`20were`20permitted.
- V`20Later`20versions`20of
- XVMS`20recognize`20records`20up`20to`2065535`20bytes.`20For`20compatibility,
- V`20VMS_SHARE`20restricts
- Xthe`20maximum`20record`20length`20to`20the`20shorter`20length.
- X
- XNote:`20Advanced`20users`20can`20select`20the`20longer`20record`20length`20usi
- Vng`20the`20/LONGLINES
- Xoption`20but`20this`20is`20available`20only`20on`20VMS`205.4`20and`20above.
- V`20This`20is`20necessary`20only
- Xfor`20files`20which`20genuinely`20contain`20records`20longer`20than`20960`20by
- Vtes.
- X
- X
- X3.5`20Working`20Set`20and`20Virtual`20Memory`20Requirements
- X
- XVMS_SHARE`20packages`20files`20by`20first`20reading`20them,`20one`20at`20a`20t
- Vime,`20completely`20into
- Xmemory.`20Therefore,`20large`20files`20can`20demand`20large`20virtual`20memory
- V`20resources`20and
- Xusers`20should`20have`20sufficient`20page`20file`20quota`20(PGFLQUO)`20allocat
- Ved`20to`20their
- Xprocess`20to`20ensure`20that`20the`20files`20will`20fit.`20Later`20versions
- V`20of`20TPU`20include
- Xautomatic`20use`20of`20a`20behind-the-scenes`20workfile`20to`20hold`20portions
- V`20of`20the`20current
- Xfile`20and`20the`20need`20for`20larger`20page`20file`20quotas`20disappears`20(
- Vto`20be`20replaced`20by`20a
- Xneed`20for`20additional`20disk`20quota`20if`20this`20workfile`20is`20on`20a
- V`20quota'd`20disk).
- X
- XBecause`20much`20of`20the`20work`20is`20in`20memory,`20VMS_SHARE`20works`20bes
- Vt`20if`20a`20large`20working
- Xset`20is`20allocated`20to`20the`20process.`20The`20actual`20size`20depends`20o
- Vn`20the`20files`20being
- Xpackaged,`20but`20the`20larger`20the`20better.`20Too`20small`20a`20working`20s
- Vet`20will`20result`20in`20slow
- Xexecution`20speeds`20caused`20by`20excessive`20paging.
- X
- X
- X
- X3.6`20Checksum`20Validation
- X
- XAlthough`20files`20are`20encoded`20to`20resist`20many`20forms`20of`20corruptio
- Vn,`20there`20may`20be
- Xsome`20mechanisms`20which`20have`20not`20been`20anticipated.`20`20To`20allow
- V`20the`20recipient`20to
- Xdetect`20this,`20a`20checksum`20validation`20scheme`20is`20applied`20to`20each
- V`20file`20unpacked.`20Any
- Xmismatch`20at`20the`20unpacking`20stage`20results`20in`20a`20warning`20message
- V.`20It`20is`20then`20up`20to
- Xthe`20recipient`20to`20locate`20the`20corruption`20and`20fix`20it`20manually
- V`20if`20possible.
- X
- XDue`20to`20limitations`20of`20VMS,`20checksum`20validation`20cannot`20be`20app
- Vlied`20to`20files`20with
- Xcertain`20types`20of`20record`20structure.`20In`20this`20instance,`20a`20warni
- Vng`20is`20issued`20at
- Xboth`20the`20packing`20and`20unpacking`20stages`20noting`20that`20checksum`20v
- Validation`20for`20the
- Xfile`20will`20not`20be`20done.
- X`0C
- X4.`20ADVANCED`20USE`20OF`20VMS_SHARE
- X
- XThe`20simple`20use`20described`20earlier`20makes`20use`20of`20default`20values
- V`20for`20each`20of`20the
- Xuser`20selectable`20options`20built`20in`20to`20VMS_SHARE.`20Each`20option`20m
- Vay`20be`20set
- Xdifferently,`20to`20select`20a`20different`20way`20of`20working.`20Options`20m
- Vay`20be`20set`20either`20by
- Xa`20logical`20name,`20which`20overrides`20the`20default`20value`20normally`20u
- Vsed,`20or`20by`20means`20of
- Xa`20qualifier`20on`20the`20command`20line,`20which`20specifically`20selects
- V`20the`20option`20for`20that
- Xexecution,`20overriding`20both`20the`20default`20value`20and`20the`20setting
- V`20of`20any`20logical
- Xname.
- X
- XTypically,`20users`20will`20define`20logical`20names`20with`20their`20preferre
- Vd`20default`20values
- Xand`20override`20them`20occasionally`20with`20qualifiers.
- X
- X
- X4.1`20Selectable`20Options
- X
- XHere`20is`20a`20summary`20of`20the`20available`20options,`20together`20with
- V`20the`20qualifier`20and/or
- Xlogical`20name`20used`20to`20modify`20the`20default`20value.`20A`20full`20desc
- Vription`20of`20each
- Xappears`20later.
- X
- X
- XFile`20Selection:
- X
- X`20`20`20`20`20o`20`20Exclusion`20of`20files`20by`20directory,`20name,`20type
- V`20or`20version`20number;`20or`20any
- X`20`20`20`20`20`20`20`20combination`20of`20each.`20Wildcards`20are`20not`20per
- Vmitted.
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/EXCLUDE=list
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_EXCLUDE
- X
- X`20`20`20`20`20o`20`20Selection`20based`20on`20any`20of`20the`20dates`20associ
- Vated`20with`20a`20file`20(created,
- X`20`20`20`20`20`20`20`20expiration,`20backup`20or`20last`20modified).
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/SINCE=date,`20/BEFORE=dat
- Ve,`20/CREATED,`20/MODIFIED,`20/BACKUP
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20/EXPIR
- VED
- X`20`20`20`20`20`20`20`20`20`20`20`20Logicals:`20`20`20-`20NONE`20-
- X
- X`20`20`20`20`20o`20Interactive`20Confirmation`20of`20each`20file`20selected.
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20/CONFIRM
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20SHARE_CONFIRM
- X
- X
- XFileName`20Preservation:
- X
- X`20`20`20`20`20o`20Preservation`20of`20sub-directory`20names`20across`20packag
- Ving
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/DIRECTORY
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_DIRECTORY
- X
- X`20`20`20`20`20o`20Preservation`20of`20version`20numbers`20across`20packaging
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/VERSION
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical`20`20`20`20`20SHARE_VERSION
- X
- X
- XInformational:
- X
- X`20`20`20`20`20o`20`20Logging`20of`20various`20key`20stages`20in`20execution
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/LOG=n
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_LOG
- X
- X`20`20`20`20`20o`20`20Selection`20of`20Debugging`20messages`20for`20VMS_SHARE
- V`20development`20(must`20be
- X`20`20`20`20`20`20`20`20privileged)
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/DEBUG=n
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_DEBUG
- X
- X`20`20`20`20`20o`20DCL`20Verification`20of`20the`20procedure`20as`20it`20execu
- Vtes`20(Must`20have`20read`20access)
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20-`20NONE`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_VERIFY
- X
- X
- XMiscellaneous:
- X
- X`20`20`20`20`20o`20Optional`20compression`20of`20the`20data`20by`20one`20of
- V`20two`20different`20mechanisms-
- X`20`20`20`20`20`20`20Run-length`20encoding`20or`20lempel-ziv`20encoding
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/COMPRESS=n
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_COMPRESS
- X
- X`20`20`20`20`20o`20Selection`20of`20the`20size`20of`20each`20part`20generated
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/PART_SIZE=n
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_PART_SIZE
- X
- X`20`20`20`20`20o`20Selection`20of`20support`20for`20long`20lines`20(only`20ava
- Vilable`20on`20VMS`205.4`20and`20up)
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/LONGLINES
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_LONGLINES
- X
- X`20`20`20`20`20o`20Select`20the`20automatic`20creation`20of`20a`20package`20in
- Vdex`20file`20for`20use`20by
- X`20`20`20`20`20`20`20file`20servers`20which`20are`20going`20to`20make`20the
- V`20package`20available
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20/PACKAGE_INDEX=suffix
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_PACKAGE_INDEX
- X
- X`20`20`20`20`20o`20Inclusion`20of`20user`20identification`20into`20share`20fil
- Ve.
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20-`20NONE`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20Logical:`20`20`20`20SHARE_REAL_NAME
- X
- X`20`20`20`20`20o`20Definition`20of`20scratch`20files
- X`20`20`20`20`20`20`20`20`20`20`20`20Qualifier:`20`20-`20NONE`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20Logicals:`20`20`20SHARE_TEMP,`20SHARE_UNPA
- VCK_TEMP
- X`20`20`20`20`20`20`20
- X
- X4.2`20Default`20Settings
- X
- XEach`20option`20has`20a`20default`20value`20which`20will`20be`20used`20if`20no
- V`20specific`20value`20is
- Xselected`20by`20the`20user's`20customization.`20In`20general,`20the`20defaults
- V`20are`20suitable`20for
- Xmost`20applications`20and`20it`20will`20work`20satisfactorily`20with`20all`20o
- Vf`20them.
- X
- X
- X
- X4.3`20Customization`20Through`20Logical`20Names
- X
- XMany`20of`20the`20default`20settings`20can`20be`20changed`20by`20defining`20a
- V`20logical`20name`20with`20the
- Xselected`20value.`20While`20this`20logical`20name`20is`20defined,`20all`20exec
- Vutions`20of`20the
- XVMS_SHARE`20utility`20will`20use`20the`20defined`20value`20rather`20than`20the
- V`20default.
- X
- XFor`20example:
- X
- XTo`20override`20the`20default`20part`20size`20of`2030`20blocks:
- X
- X`20`20`20$`20define`20SHARE_PART_SIZE`2050
- X
- XSubsequent`20executions`20of`20VMS_SHARE`20will`20now`20use`20a`20part`20size
- V`20of`2050`20blocks`20rather
- Xthan`20the`20default`20of`2030`20blocks.
- X
- XThere`20are`20some`20options`20may`20be`20set`20only`20via`20logical`20names.
- V`20These`20are`20described
- Xbelow.
- X
- X
- X4.3.1`20SHARE_REAL_NAME`20`20--`20`20Owner`20identification
- X
- XThe`20sharefile`20is`20created`20with`20a`20header`20that`20identifies`20the
- V`20version`20of`20VMS_SHARE
- Xused,`20the`20date`20of`20creation`20and`20the`20person`20who`20created`20it
- V`20(from`20the`20VMS
- Xusername).`20An`20additional`20identification`20string`20may`20be`20included
- V`20by`20defining`20the
- Xlogical`20name`20SHARE_REAL_NAME`20to`20that`20string.
- X
- XFor`20example:
- X
- X`20`20$`20define`20SHARE_REAL_NAME`20"Fred`20Smith"
- X
- X
- X
- X4.3.2`20SHARE_TEMP`20`20--`20`20Temporary`20Files
- X
- XDuring`20the`20packaging`20process,`20a`20number`20of`20temporary`20files`20ar
- Ve`20created.`20These
- Xdefault`20to`20files`20of`20the`20form`20SYS$SCRATCH:SHARE_TEMP.pid`20where
- V`20"pid"`20is`20the
- Xunique`20process`20identification`20string.`20They`20are`20deleted`20after`20u
- Vse.
- X
- XThe`20logical`20name`20SHARE_TEMP`20can`20be`20used`20to`20modify`20the`20loca
- Vtion`20and`20name`20of
- Xthese`20temporary`20files,`20with`20any`20parts`20not`20specified`20being`20ta
- Vken`20from`20the`20above
- Xdefault.
- X
- XFor`20example:
- X
- X`20`20`20$`20define`20SHARE_TEMP`20`20SYS$LOGIN:X.TMP
- X`20`20`20`20`20`20`20`20`20Use`20the`20file`20SYS$LOGIN:X.TMP`20`20for`20the
- V`20temporary`20file(s).
- X
- X`20`20`20$`20define`20SHARE_TEMP`20`20SYS$LOGIN:
- X`20`20`20`20`20`20`20`20`20Place`20the`20temporary`20file`20in`20the`20SYS$LOG
- VIN`20directory`20but`20keep
- X`20`20`20`20`20`20`20`20`20everything`20else`20the`20same.`20The`20full`20name
- V`20used`20is
- X`20`20`20`20`20`20`20`20`20SYS$LOGIN:SHARE_TEMP.pid
- X
- X
- X
- X4.3.3`20SHARE_UNPACK_TEMP`20`20--`20`20Temporary`20files`20during`20unpacking
- X
- XIn`20a`20similar`20fashion`20to`20SHARE_TEMP,`20the`20logical`20name`20SHARE_U
- VNPACK_TEMP`20can`20be
- Xused`20to`20modify`20the`20location`20and`20name`20of`20the`20temporary`20file
- Vs`20used`20during`20the
- Xunpacking`20process,`20with`20any`20parts`20not`20specified`20being`20taken
- V`20from`20the`20default:
- X`60SYS$SCRATCH:SHARE_UNPACK_TEMP.pid'
- X
- X
- X
- X4.3.4`20SHARE_VERIFY`20`20--`20verification`20of`20the`20VMS_SHARE`20procedure
- V
- X
- XSome`20users,`20mainly`20system`20managers`20or`20those`20who`20develop`20VMS_
- VSHARE,`20may`20wish`20to
- Xverify`20the`20operation`20of`20the`20code.`20The`20logical`20name`20SHARE_VER
- VIFY`20may`20be`20defined
- Xto`20a`20TRUE`20or`20FALSE`20value`20and`20this`20has`20the`20effect`20of`20a
- V`20SET`20VERIFY`20or`20SET
- XNOVERIFY`20for`20the`20duration`20of`20execution`20of`20the`20procedure.`20
- V`20Any`20user`20may`20define
- Xthe`20logical`20name`20but`20READ`20access`20to`20the`20procedure`20is`20neede
- Vd`20and`20this`20is`20not
- Xusually`20given.`20`20Typically`20then,`20only`20privileged`20users`20will`20b
- Ve`20able`20to`20verify
- Xthe`20operation`20of`20the`20code.
- X
- X
- X4.4`20Customization`20Via`20Command-Line`20Qualifiers
- X
- XMany`20options`20can`20be`20enabled,`20disabled`20or`20selected`20by`20means
- V`20of`20qualifiers`20placed
- Xon`20the`20command`20line.`20For`20example:
- X
- X`20`20`20$`20VMS_SHARE`20<input>`20<output>`20/qualifiers
- X
- XEach`20qualifier`20specifies`20a`20new`20setting`20for`20one`20option;`20any
- V`20number`20of`20quaLifiers
- Xmay`20be`20specified`20and`20they`20are`20processed`20from`20left`20to`20right
- V.`20In`20the`20case`20of
- Xconflicting`20qualifiers,`20the`20rightmost`20one`20specified`20takes`20preced
- Vence.
- X
- XIf`20a`20qualifier`20is`20given,`20it`20overrides`20any`20default`20setting
- V`20or`20the`20value`20set`20by`20a
- Xlogical`20name.
- X
- XFor`20example:
- X
- X`20`20`20$`20VMS_SHARE`20`5B.PACKAGE`5D*.*`20PACKAGE`20/PART_SIZE=100
- X`20`20`20`20`20`20`20`20`20will`20create`20a`20package`20of`20100`20block`20fi
- Vles`20regardless`20of`20the`20setting`20of
- X`20`20`20`20`20`20`20`20`20the`20SHARE_PART_SIZE`20logical`20name.
- X
- XThe`20full`20list`20of`20qualifiers`20recognized,`20and`20a`20description`20of
- V`20each,`20is`20given`20in
- Xthe`20qualifier`20reference`20section`20at`20the`20end`20of`20this`20guide.
- X
- X`0C
- X5.`09USING`20PAKMAIL
- X
- XOnce`20the`20share`20file`20parts`20have`20been`20created,`20they`20can`20be
- V`20transmitted`20over`20the`20
- Xelectronic`20mail`20network`20to`20one`20or`20more`20recipients`20using`20the
- V`20VMS`20MAIL`20utility.`20
- XPAKMAIL`20is`20a`20utility`20to`20simplify`20the`20sending`20mechanism`20by
- V`20providing`20a`20single`20
- Xline`20command`20to`20send`20the`20complete`20package.`20Typically,`20PAKMAIL
- V`20is`20made`20
- Xavailable`20via`20a`20'foreign`20command'`20so`20the`20command`20is:
- X
- X`20`20`20`20`20$`20PAKMAIL`20recipient`20file`20maxparts`20`5Bpartlist`5D`20
- V`5Bcomment`5D
- X
- XEach`20of`20the`20parameters`20is`20explained`20below.
- X
- X
- X
- X5.1`20User`20specification
- +-+-+-+-+-+-+-+- END OF PART 7 +-+-+-+-+-+-+-+-
-