home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!munnari.oz.au!news.hawaii.edu!s.u-tokyo!ccut!wnoc-tyo-news!nec-tyo!nec-gw!sgiblab!sdd.hp.com!zaphod.mps.ohio-state.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources
- Newsgroups: vmsnet.sources
- From: dyson@iowasp.physics.uiowa.edu (Rick Dyson)
- Subject: xv-2-21a changes to run on VMS, part 02/08
- Date: Wed, 04 Nov 1992 21:12:31 GMT
- Message-ID: <8981988@MVB.SAIC.COM>
- Lines: 1166
- Organization: Department of Physics and Astronomy, University of Iowa
- Approved: Mark.Berryman@Mvb.Saic.Com
-
- Submitted-by: dyson@iowasp.physics.uiowa.edu (Rick Dyson)
- Posting-number: Volume 3, Issue 234
- Archive-name: xv-2-21_vms_changes/part02
- Supersedes: xv-2-21_vms_changes: Volume 2, Issue 83-86
-
- -+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+
- X`09MOVL`09R5,`20G`5ETABLE_SIZE`09;`20Save`20table`20size
- X`09MOVL`09R6,`20G`5EPREV_CODE`20`09;`20Save`20previous`20code
- X`09MOVL`09R7,`20G`5EBITS_USED`09`09;`20Save`20#`20bits`20used`20out`20of`20inp
- Vut`20buffer.
- X`09MOVL`09R8,`20G`5ECODE_BITS`09`09;`20save`20current`20code`20bits.
- X`09MOVL`09R10,`20G`5ESTACK_PTR`09;`20Save`20stack`20pointer.
- X`09MOVL`09#1,`20R0`09`09`09;`20Set`20success`20status
- XOPT_DONE:
- X`09TSTL`09(AP)`09`09`09;`20Was`20return`20requested?
- X`09BEQL`0910$`09`09`09;`20no,`20skip
- X`09MOVL`09R11,`20@(AP)`09`09;`20Return`20final`20output`20pointer.
- X10$:
- X`09RET`09`09`09`09;`20`20`20`20`20and`20return
- X;
- X;`20Handle`20case`20where`20input`20code`20is`20split`20between`20buffers.
- XREFILL:
- X`09BSBW`09SPAN_BUFFER`09`09;`20do`20work.
- X`09ASHL`09R8,`20#1,`20R1`09`09;`20Regenerate`20max`20value.
- X`09DECL`09R1`09`09`09;`20`20`20as`202`5Ecode_bits`20-`201
- X`09BRB`09CHECK_CODE`09`09;`20Rejoin`20loop`20to`20process`20R2.
- X;
- X;`20Main`20loop`20processes`20input`20codes`20until`20we've`20filled`20the`20u
- Vser's`20buffer.
- X;`20take`2026`20instructions/input`20code`20with`201`20branch`20and`2012`20mem
- Vory`20references.
- X;
- X;`20Optimally,`20each`20input`20code`20executes`2018`20instructions`20plus`208
- V`20instructions
- X;`20for`20each`20output`20byte`20produced.`20`20The`20number`20of`20branches
- V`20taken`20is`20one`20less
- X;`20than`20twice`20the`20number`20of`20output`20bytes`20produced.`20`20Each
- V`20input`20code`20results
- X;`20in`201`20PC`20relative`20deferred,`201`20register`20deferred,`203`20indexe
- Vd`20register`20deferred
- X;`20and`202`20immediate`20data`20memory`20references.`20`20Each`20output`20byt
- Ve`20results`20in
- X;`203`20autoinc/dec,`201`20byte`20displacement,`20and`202`20indexed`20register
- V`20deferred`20memory
- X;`20references.
- X;
- X`09.ALIGN`09LONG
- XOUTPUT_BYTE:
- X`09MOVB`09(R10)+,`20(R11)+`09`09;`20Pop`20byte`20from`20stack,`20append`20to
- V`20output
- XCHECK_IF_DONE:
- X`09CMPL`09R11,`2012(AP)`09`09;`20Any`20room`20left`20in`20output`20buffer?
- X`09BGEQ`09DONE`09`09`09;`20No,`20we`20are`20done
- X`09CMPL`09R10,`20AP`09`09`09;`20Stack`20empty?
- X`09BLSS`09OUTPUT_BYTE`09`09;`20No,`20copy`20to`20output`20buffer
- X;
- X;`20`20process`20next`20input`20code,`20producing`20result`20on`20stack.
- X;
- X`09ADDL3`09R7,`20R8,`20R0`09`09;`20bits-used`20+`20code_bits`20->`20R0
- X`09CMPL`09R0,`20R9`09`09`09;`20Is`20R0`20>`20than`20number`20of`20bits`20in
- V`20buffer
- X`09BGTR`09REFILL`20`09`09`09;`20Yes,`20do`20special`20stuff.
- X`09EXTZV`09R7,`20R8,`20@<INBUF+4>,`20R2`09;`20No,`20directly`20extract`20code.
- V
- X`09MOVL`09R0,`20R7`09`09`09;`20update`20pointer`20by`20code_bits`20amount
- X
- XCHECK_CODE:
- X`09CMPW`09(R3)`5BR2`5D,`20#-2`09`09;`20is`20Code`20a`20special`20code`20(prefi
- Vx`20-2)?
- X`09BEQL`09SPECIAL_CODE`09`09;`20`20`20Yes,`20handle`20it.
- X`09CMPL`09R2,`20R5`09`09`09;`20Is`20code`20in`20table?
- X`09BGTR`09OUT_OF_RANGE`09`09;`20`20`20No,`20handle`20it.
- X
- X`09MOVL`09R2,`20R0`09`09`09;`20`20`20Yes,`20init`20loop`20variable`20to`20CODE
- V
- X10$:
- X`09MOVB`09(R4)`5BR0`5D,`20-(R10)`09;`20Push`20extension`20char`20onto`20stack
- X`09CVTWL`09(R3)`5BR0`5D,`20R0`09`09;`20Replace`20code`20with`20prefix`20code
- X`09BGEQ`0910$`09`09`09;`20If`20another`20code,`20continue
- X`09`09`09`09`09;`20else`20add`20to`20table.
- XEXPAND_TABLE:
- X`09INCL`09R5`09`09`09;`20Bump`20table`20size.
- X`09CMPL`09R5,`20#4096`09`09;`20at`20max?
- X`09BGTR`0940$`20`09`09`09;`20Yes,`20skip.
- X10$:
- X`09MOVW`09R6,`20(R3)`5BR5`5D`09`09;`20Prefix`20for`20previous`20code`20in`20ne
- Vw`20code
- X`09MOVB`09(R10),`20(R4)`5BR5`5D`09`09;`20Extension`20is`20last`20thing`20put
- V`20on`20stack
- X`09MOVL`09R2,`20R6`09`09`09;`20new`20previous`20code.
- X20$:
- X`09CMPL`09R5,`20R1`09`09`09;`20Is`20table`20size`20<`20max`20for`20code`20size
- V?
- X`09BLSS`09OUTPUT_BYTE`09`09;`20yes,`20leave`20it`20alone
- X`09CMPL`09R8,`20#12`09`09`09;`20no,`20is`20code_bits`20at`20max?
- X`09BGEQ`09OUTPUT_BYTE`09`09;`20yes,`20leave`20alone
- X`09INCL`09R8`09`09`09;`20no,`20go`20to`20next`20higher`20size.
- X`09ASHL`09R8,`20#1,`20R1`09`09;`20Compute`20new`20max`20value.
- X`09DECL`09R1
- X`09BRB`0920$`09`09`09;`20test`20the`20new`20size.
- X40$:
- X`09MOVL`09#4096,`20R5`09`09;`20Set`20to`20dummy`20entry.
- X`09BRB`0910$
- X;--------------------------
- XSPECIAL_CODE:
- X`09CMPL`09R2,`20G`5EEOI_CODE`09`09;`20Is`20code`20end`20of`20information`20cod
- Ve.
- X`09BEQL`09END_OF_INFORMATION
- X
- X`09CLRL`09R8`09`09`09;`20Reset`20code`20size
- X10$:
- X`09INCL`09R8`09`09`09;`20Increase`20size`20of`20code_bits.
- X`09ASHL`09R8,`20#1,`20R1`09`09;`20max`20value`20for`20code`20bits.
- X`09DECL`09R1
- X`09CMPL`09G`5EEOI_CODE,`20R1`09`09;`20Is`20table`20size`20>`20max`20value`20fo
- Vrcode_bits
- X`09BGEQ`0910$`09`09`09;`20Yes,`20try`20higher`20code`20size.
- X
- X`09MNEGL`09#1,`20R5`09`09`09;`20Flag`20table`20size`20for`20first`20code.
- X`09BRW`09CHECK_IF_DONE
- X;-----------------------------------
- X
- XOUT_OF_RANGE:
- X`09ADDL3`09R5,`20#1,`20R0`09`09;`20Compute`20table_size`20+`201?
- X`09BLEQ`09FIRST_CODE`09`09;`20Table`20size`20was`20negative.
- X`09CMPL`09R0,`20R2`09`09`09;`20Is`20code`20=`20table_size+1?
- X`09BNEQ`09BAD_CODE`20`09`09;`20No`20abort.
- X;
- X;`20Special`20case,`20expand`20previous`20code`20onto`20stack`20and`20place
- V`20final`20char`20in`20front.
- X`09DECL`09R10`09`09`09;`20Make`20gap`20on`20stack.
- X`09MOVL`09R6,`20R0`09`09`09;`20Set`20loop`20variable`20to`20prev_code
- X20$:
- X`09MOVB`09(R4)`5BR0`5D,`20-(R10)`09;`20Push`20onto`20stack
- X`09CVTWL`09(R3)`5BR0`5D,`20R0`09`09;`20Get`20prefix`20string
- X`09BGEQ`0920$
- X`09MOVB`09(R10),`20G`5E<STACK_TOP-1>`09;`20Copy`20last`20char`20to`20front.
- X`09BRW`09EXPAND_TABLE`09`09;`20Add`20new`20code`20to`20table.
- X;-----------------------------------
- XBAD_CODE:
- X`09MOVL`09#20,`20R0`09`09`09;`20Bad`20parameter`20status.
- X`09BRW`09OPT_DONE
- XEND_OF_INFORMATION:
- X`09MOVL`09#2160,`20R0
- X`09BRW`09OPT_DONE
- X;-----------------------------------
- XFIRST_CODE:
- X`09MOVL`09R2,`20R6`09`09`09;`20Update`20previous`20code.
- X`09MOVB`09(R4)`5BR2`5D,`20-(R10)`09;`20Push`20onto`20stack
- X`09MOVL`09G`5EEOI_CODE,`20R5
- X`09BRW`09OUTPUT_BYTE
- X;-----------------------------------
- X;
- X;`20Define`20subroutine`20to`20handle`20getting`20input`20code`20when`20buffer
- V`20spans
- X;`20boundaries.
- X;
- X;`20Input:
- X;`09R7`09Number`20of`20bits`20used`20in`20INBUF
- X;`09R8`09Code`20size`20(number`20of`20bits`20to`20extract).
- X;`09R9`09Number`20of`20bits`20in`20INBUF,`20we`20assume`20(R7+R8)`20>`20R9
- X;
- X;`20Output:
- X;`09R0,R1`09Destroyed
- X;`09R2`09Code.
- X;`09R7`09Number`20of`20bits`20used`20in`20INBUF
- X;`09R9`09Totoal`20number`20of`20bits`20in`20INBUF
- X;
- XSPAN_BUFFER:
- X`09SUBL3`09R7,`20R9,`20R0`09`09;`20Calculate`20bits`20left`20in`20buffer
- X`09PUSHL`09R0`09`09`09;`20save`20for`20later`20use
- X`09EXTZV`09R7,`20R0,`20@<INBUF+4>,`20R2`09;`20Get`20remaining`20bits.
- X`09ADDL`09R8,`20R7`09`09`09;`20Make`20phantom`20bits-used.
- X50$:
- X`09MOVAL`09G`5EINBUF,`20-(SP)`09`09;`20Output`20descriptor
- X`09MOVL`098(AP),`20-(SP)`09`09;`20user`20arg`20for`20input`20routine
- X`09CALLS`09#2,`20@4(AP)`09`09;`20Get`20input
- X`09BLBC`20`09R0,`20100$`09`09;`20abort`20if`20error.
- X`09MOVL`09(SP)+,`20R0`09`09;`20Recover`20#`20bits`20taken`20from`20last`20buff
- Ver
- X`09SUBL`09R9,`20R7`09`09`09;`20Number`20of`20overflow`20bits`20becomes`20#`20u
- Vsed
- X`09MOVZWL`09G`5EINBUF,`20R9`09`09;`20Current`20#`20of`20bytes`20in`20input`20b
- Vuffer.
- X`09ASHL`09#3,`20R9,`20R9`09`09;`20Convert`20to`20number`20of`20bits.
- X`09CMPL`09R9,`20R7`09`09`09;`20Is`20number`20of`20bits`20to`20take`20more
- X`09BLSS`09110$`09`09`09;`20Yes,`20go`20to`20special`20case.
- X`09EXTZV`09#0,`20R7,`20@<INBUF+4>,`20R1`09;`20No,`20extract`20the`20bits.
- X`09ASHL`09R0,`20R1,`20R0`09`09;`20Shift`20over`20by`20overflow`20amount
- X`09BISL`09R0,`20R2`09`09`09;`20OR`20into`20output`20code.
- X`09RSB
- X100$:
- X`09RET
- X;
- X;`20Handle`20the`20rare`20case`20where`20more`20bits`20left`20to`20extract`20t
- Vhan`20bits`20in
- X;`20buffer`20read.
- X110$:
- X`09EXTZV`20#0,`20R9,`20-`09`09`09;`20Extract`20entire`20buffer.
- X`09`09@<INBUF+4>,`20R1
- X`09ASHL`09R0,`20R1,`20R0`09`09;`20Shift`20over
- X`09BISL`09R0,`20R2`09`09`09;`20Add`20to`20result
- X`09ADDL3`09R9,`20R0,`20-(SP)`09`09;`20update`20number`20of`20bits`20to`20shift
- V
- X`09BRB`20`0950$`09`09`09;`20read`20another`20buffer.
- X;
- X`09.END
- $ call unpack GIFDECOMP.MAR;222 1282821934 "FORMAT STREAM_LF"
- $!
- $ create 'f'
- X/*
- X`20*`20Define`20substitute`20routines`20for`20the`20fopen/fclose/fread/fgetc
- V`20calls`20done`20by
- X`20*`20the`20gif`20decoder.`20`20Map`20the`20gif`20file`20to`20memory`20and
- V`20access`20via`20page`20faults.
- X`20*/
- X#include`20stdio
- X#include`20atrdef
- X#include`20fab
- X#include`20fibdef
- X#include`20nam
- X#include`20iodef
- X#include`20secdef
- Xtypedef`20struct`20`7B
- X`20`20`20`20unsigned`20char`20*pos;`09`09/*`20points`20to`20next`20char`20to
- V`20read`20*/
- X`20`20`20`20unsigned`20char`20*start;
- X`20`20`20`20unsigned`20char`20*end;
- X`20`20`20`20int`20chan,`20size;
- X`7D`20map_block;
- X
- Xstatic`20int`20map_block_in_use`20=`200;
- Xstatic`20int`20max_mapped`20=`200;`09/*`20largest`20address`20region`20used
- V`20*/
- Xstatic`20unsigned`20char`20*max_region`20=`20NULL;
- Xstatic`20map_block`20giffile;
- Xmap_block`20*gif_fopen_fallback();
- X/*
- X`20*`20Open`20file`20for`20access.`20`20A`20returned`20size`20of`20-1`20indica
- Vtes`20error.
- X`20*/
- Xmap_block`20*gif_fopen`20(`20Filestring`20)
- X`20`20`20`20char`20*Filestring;
- X`7B
- X`20`20`20`20unsigned`20char`20*address,`20*inadr`5B2`5D,`20*retadr`5B2`5D;
- X`20`20`20`20int`20size,`20status,`20channel,`20func_code;
- X`20`20`20`20int`20sys$assign(),`20sys$qiow(),`20sys$crmpsc(),`20sys$expreg();
- X`20`20`20`20short`20int`20iosb`5B4`5D;
- X`20`20`20`20struct`20`7B`20long`20length;`20char`20*adr;`20`7D`20desc,`20fib_d
- Vesc;
- X`20`20`20`20struct`20`7B
- X`09unsigned`20char`20rtype,`20rattrib;
- X`09unsigned`20short`20int`20`20rsize,`20hiblk`5B2`5D,`20efblk`5B2`5D,`20ffbyte
- V;
- X`09unsigned`20char`20bktsize,`20vfcsize;
- X`09unsigned`20short`20int`20maxrec,`20defext,`20gbc,`20fill`5B4`5D,`20versions
- V;
- X`20`20`20`20`7D`20fat;`09`09`09/*`20File`20attributes`20block`20(RMS)`20*/
- X`20`20`20struct`20FAB`20fab;`09`09/*`20File`20access`20block`20(RMS)`20*/
- X`20`20`20struct`20NAM`20nam;`09`09/*`20Name`20block`20(RMS)`20*/
- X`20`20`20struct`20fibdef`20fib;`09`09/*`20File`20information`20block`20(XQP)
- V`20*/
- X`20`20`20struct`20atrdef`20atr`5B2`5D;`09/*`20Read`20attributes`20descriptor
- V`20list`20*/
- X`20`20`20char`20esa`5B256`5D,`20rsa`5B256`5D;`09/*`20aux`20storage`20for`20nam
- V`20block`20*/
- X
- X`20`20`20/*
- X`20`20`20`20*`20Close`20currently`20open`20file`20and`20init`20block`20to`20er
- Vror`20status`20(size`20=`20-1).
- X`20`20`20`20*/
- X`20`20`20if`20(`20map_block_in_use`20)`20(void)`20gif_fclose();
- X`20`20`20giffile.start`20=`20giffile.end`20=`20giffile.pos`20=`20"";
- X`20`20`20giffile.size`20=`20-1;
- X
- X`20`20`20`20`20`20/*`20Use`20RMS`20services`20to`20lookup`20fspec,`20initializ
- Ve`20FAB`20and`20NAM`20blocks`20*/
- X
- X`20`20`20`20`20`20fab`20=`20cc$rms_fab;
- X`20`20`20`20`20`20fab.fab$l_fna`20=`20Filestring;`20fab.fab$b_fns`20=`20strlen
- V`20(`20Filestring`20);
- X`20`20`20`20`20`20fab.fab$l_dna`20=`20".GIF";`20fab.fab$b_dns`20=`20strlen`20(
- V`20fab.fab$l_dna`20);
- X`20`20`20`20`20`20fab.fab$l_fop`20=`20FAB$M_NAM;`09/*`20file`20options`20*/
- X`20`20`20`20`20`20fab.fab$l_nam`20=`20`26nam;
- X`20`20`20`20`20`20nam`20=`20cc$rms_nam;
- X`20`20`20`20`20`20nam.nam$b_ess`20=`20255;
- X`20`20`20`20`20`20nam.nam$l_esa`20=`20`26esa;
- X`20`20`20`20`20`20nam.nam$b_rss`20=`20255;
- X`20`20`20`20`20`20nam.nam$l_rsa`20=`20`26rsa;
- X
- X`20`20`20`20`20`20/*`20use`20$parse`20and`20$search`20for`20find`20file,`20dev
- Vice`20and`20FID`20will`20end`20up`20in
- X`20`20`20`20`20`20`20`20`20nam`20`20block`20*/
- X
- X`20`20`20`20`20`20status`20=`20sys$parse`20(`20`26fab`20);`20`20if`20((status
- V`263)`20!=`201)`20return`20`26giffile;
- X`20`20`20`20`20`20status`20=`20sys$search`20(`20`26fab`20);`20if`20((status
- V`263)`20!=`201)`20return`20`26giffile;
- X
- X`20`20`20`20`20`20/*`20Define`20descriptor`20to`20assign`20and`20load`20FID
- V`20in`20FIB`20*/
- X
- X`20`20`20`20`20`20desc.length`20=`20nam.nam$t_dvi`5B0`5D;`09`09/*`20length`20*
- V/
- X`20`20`20`20`20`20desc.adr`20=`20`26nam.nam$t_dvi`5B1`5D;
- X`20`20`20`20`20`20func_code`20=`20IO$_ACCESS`20+`20IO$M_ACCESS;`20/*`20actuall
- Vy`20open`20the`20file`20*/
- X`20`20`20`20`20`20fib.fib$r_fid_overlay.fib$w_fid`5B0`5D`20=`20nam.nam$w_fid
- V`5B0`5D;
- X`20`20`20`20`20`20fib.fib$r_fid_overlay.fib$w_fid`5B1`5D`20=`20nam.nam$w_fid
- V`5B1`5D;
- X`20`20`20`20`20`20fib.fib$r_fid_overlay.fib$w_fid`5B2`5D`20=`20nam.nam$w_fid
- V`5B2`5D;
- X
- X`20`20`20/*`20If`20no`20device`20name,`20try`20it`20with`20real`20open`20(DECn
- Vet`20operation)`20*/
- X
- X`20`20`20if`20(`20desc.length`20==`200`20)`20return`20gif_fopen_fallback`20(
- V`20Filestring`20);
- X
- X`20`20`20/*`20build`20atrribute`20descriptor`20list`20for`20returning`20record
- V`20attributes`20*/
- X
- X`20`20`20atr`5B0`5D.atr$w_size`20=`20sizeof(fat);
- X`20`20`20atr`5B0`5D.atr$w_type`20=`20ATR$C_RECATTR;
- X`20`20`20atr`5B0`5D.atr$l_addr`20=`20`26fat;
- X`20`20`20atr`5B1`5D.atr$w_size`20=`200;`20atr`5B1`5D.atr$w_type`20=`200;
- X
- X`20`20`20/*`20assign`20channel`20to`20disk`20specified`20in`20NAM`20block.`20*
- V/
- X
- X`20`20`20channel`20=`200;
- X`20`20`20status`20=`20sys$assign`20(`20`26desc,`20`26channel,`200,`200`20);
- X`20`20`20if`20((status`263)`20!=`201)`20return`20`26giffile;
- X
- X`20`20`20`20/*`20build`20FIB`20and`20access`20(open`20file)`20*/
- X`20`20`20fib_desc.length`20=`2010;`20fib_desc.adr`20=`20(char`20*)`20`26fib;
- X`20`20`20`20fib.fib$r_acctl_overlay.fib$l_acctl`20=`200;
- X`20`20`20`20status`20=`20sys$qiow
- X`09(`200,`20channel,`20func_code,`20`26iosb,`200,`200,`20`26fib_desc,`200,`200
- V,`200,`20`26atr,`200`20);
- X`20`20`20`20if`20(`20(status`261)`20==`201`20)`20status`20=`20iosb`5B0`5D;
- X`20`20`20`20if`20(`20(status`261)`20!=`201`20)`20return`20`26giffile;
- X
- X`20`20`20`20/*`20Determine`20size`20of`20file`20and`20create`20section`20*/
- X`20`20`20`20size`20=`20fat.efblk`5B0`5D;
- X`20`20`20`20size`20=`20(size<<16)`20`7C`20fat.efblk`5B1`5D;`09/*`20invert`20wo
- Vrd`20order`20*/
- X`20`20`20`20size`20=`20(size-1)*512`20+`20fat.ffbyte;
- X
- X`20`20`20`20/*
- X`20`20`20`20`20*`20Make`20a`20large`20region`20of`20P0`20space`20to`20hold`20c
- Vontents`20of`20file`20plus
- X`20`20`20`20`20*`20500`20blocks`20spare.
- X`20`20`20`20`20*/
- X`20`20`20`20if`20(`20max_mapped`20<=`20size`20)`20`7B
- X`09int`20pages;
- X`09pages`20=`20((size+511)/512)`20+`20500;
- X`20`20`20`20`20`20`20`20status`20=`20sys$expreg`20(`20pages,`20`26retadr,`200,
- V`200`20);
- X`20`20`20`20`20`20`20`20if`20(`20(status`261)`20!=`201`20)`20return`20`26giffi
- Vle;
- X`20`20`20`20`20`20`20`20max_region`20=`20retadr`5B0`5D;
- X`20`20`20`20`20`20`20`20max_mapped`20=`20(pages*512)`20-`201;
- X`20`20`20`20`7D
- X
- X`20`20`20`20/*`20Map`20file`20into`20address`20space.`20*/
- X`20`20`20`20inadr`5B0`5D`20=`20max_region;
- X`20`20`20`20inadr`5B1`5D`20=`20`26max_region`5Bsize-1`5D;
- X`20`20`20`20status`20=`20sys$crmpsc`20(`20`26inadr,`20`26retadr,`200,`200,`200
- V,`200,`200,
- X`09`09channel,`20(size+511)/512,`200,`200,`2064`20);
- X`20`20`20`20if`20(`20(status`261)`20!=`201`20)`20return`20`26giffile;
- X`20`20`20`20address`20=`20retadr`5B0`5D;
- X`20`20`20`20map_block_in_use`20=`201;
- X
- X`20`20`20`20/*
- X`20`20`20`20`20*`20Allocate`20structure`20to`20store`20file`20state`20and`20in
- Vitialize`20it.
- X`20`20`20`20`20*/
- X`20`20`20`20giffile.start`20=`20address;
- X`20`20`20`20giffile.end`20=`20`26address`5Bsize`5D;
- X`20`20`20`20giffile.pos`20=`20address;
- X`20`20`20`20giffile.chan`20=`20channel;
- X`20`20`20`20giffile.size`20=`20size;
- X`20`20`20`20return`20`26giffile;
- X`7D
- X
- Xint`20gif_fclose`20(`20)
- X`7B
- X`20`20`20`20void`20sys$dassgn();
- X`20`20`20`20if`20(`20map_block_in_use`20`26`26`20(giffile.size`20>`200)`20)
- V`20sys$purgws`20(`20`26giffile.start`20);
- X`20`20`20`20map_block_in_use`20=`200;
- X`20`20`20`20sys$dassgn`20(`20giffile.chan`20);
- X`20`20`20`20return`200;
- X`7D
- X
- Xint`20gif_fgetc`20(`20)
- X`7B
- X`20`20`20`20int`20result;
- X`20`20`20`20if`20(`20giffile.pos`20>=`20giffile.end`20)`20return`20-1;
- X`20`20`20`20result`20=`20*giffile.pos++;
- X`20`20`20`20return`20result;
- X`7D
- X
- Xint`20gif_fread`20(`20buffer,`20unit,`20count`20)
- X`20`20`20`20unsigned`20char`20*buffer;
- X`20`20`20`20unsigned`20int`20unit,`20count;`09/*`20max`20count`20is`2065535
- V`20*/
- X`7B
- X`20`20`20`20unsigned`20char`20*next_pos;
- X`20`20`20`20/*`20determin`20number`20of`20charaters`20to`20move`20*/
- X`20`20`20`20count`20*=`20unit;
- X`20`20`20`20if`20(`20giffile.pos`20>=`20giffile.end`20)`20return`200;
- X`20`20`20`20next_pos`20=`20`26giffile.pos`5Bcount`5D;
- X`20`20`20`20while`20(`20next_pos`20>=`20giffile.end`20)`20next_pos`20=`20`26gi
- Vffile.pos`5B--count`5D;
- X
- X`20`20`20`20LIB$MOVC3`20(`20`26count,`20giffile.pos,`20buffer`20);
- X`20`20`20`20giffile.pos`20=`20next_pos;
- X`20`20`20`20return`20count;
- X`7D
- X
- Xunsigned`20char`20*gif_freadm`20(`20unit,`20count`20)
- X`20`20`20`20unsigned`20int`20unit,`20count;`09/*`20max`20count`20is`2065535
- V`20*/
- X`7B
- X`20`20`20`20unsigned`20char`20*cur_pos,`20*next_pos;
- X`20`20`20`20/*`20determin`20number`20of`20charaters`20to`20move`20*/
- X`20`20`20`20count`20*=`20unit;
- X`20`20`20`20if`20(`20giffile.pos`20>=`20giffile.end`20)`20return`20NULL;
- X`20`20`20`20cur_pos`20=`20giffile.pos;
- X`20`20`20`20next_pos`20=`20`26cur_pos`5Bcount`5D;
- X`20`20`20`20while`20(`20next_pos`20>=`20giffile.end`20)`20--next_pos;
- X`20`20`20`20giffile.pos`20=`20next_pos;
- X`20`20`20`20return`20cur_pos;
- X`7D
- X
- Xint`20gif_fget_counted`20(`20map,`20desc`20)
- X`20`20`20`20map_block`20*map;
- X`20`20`20`20struct`20`7B`20int`20len;`20char`20*addr;`20`7D`20*desc;
- X`7B
- X`20`20`20`20int`20length;
- X`20`20`20`20if`20(`20map->pos`20<`20map->end`20)`20`7B
- X`09/*`20Get`20length`20of`20record`20and`20truncate`20to`20EOF`20if`20needed
- V`20*/
- X`09for`20(`20length`20=`20*map->pos++;`20`26map->pos`5Blength`5D`20>`20map->en
- Vd;`20--length);
- X
- X`09/*`20fill`20out`20descriptor`20and`20update`20position`20pointer`20*/
- X`09desc->len`20=`20length;
- X`09desc->addr`20=`20map->pos;
- X`09map->pos`20=`20`26map->pos`5Blength`5D;
- X`09return`201;
- X`20`20`20`20`7D
- X`20`20`20`20return`202160;
- X`7D
- X/*
- X`20*`20Fallback`20to`20reading`20file`20into`20memory`20with`20C`20RTL`20funct
- Vions.
- X`20*/
- Xmap_block`20*gif_fopen_fallback`20(`20Filestring`20)
- X`20`20`20`20char`20*Filestring;
- X`7B
- X`20`20`20`20unsigned`20char`20*address;
- X`20`20`20`20int`20size,`20status,`20channel,`20func_code;
- X`20`20`20`20int`20sys$assign();
- X`20`20`20`20struct`20`7B`20long`20length;`20char`20*adr;`20`7D`20desc;
- X`20`20`20`20FILE`20*fp;
- X
- X`20`20`20`20/*`20printf("Loading`20network`20file...");`20*/
- X
- X`20`20`20`20fp`20=`20fopen`20(`20Filestring,`20"rb"`20);
- X`20`20`20`20if`20(`20fp`20==`20(FILE`20*)`20NULL`20)
- X`09`7B`20/*`20printf("`20could`20not`20open.\n");`20*/`20return`20`26giffile;
- V`20`7D
- X
- X`20`20`20`20/*`20find`20the`20size`20of`20the`20file`20by`20positioning`20to
- V`20end.`20*/
- X`20`20`20`20fseek(fp,`200L,`202);
- X`20`20`20`20size`20=`20ftell(fp);
- X`20`20`20`20/*`20printf("`20size`20is`20%d`20bytes.\n",`20size`20);`20*/
- X`20`20`20`20fseek(fp,`200L,`200);
- X
- X`20`20`20`20/*`20determine`20if`20we`20must`20allocat`20new`20block`20or`20can
- V`20reuse`20existing`20one`20*/
- X`20`20`20`20if`20(`20max_mapped`20<=`20size`20)`20`7B
- X`20`20`20`20`20`20`20`20/*
- X`20`20`20`20`20`20`20`20`20*`20Make`20a`20large`20region`20of`20P0`20space`20t
- Vo`20hold`20contents`20of`20file`20plus
- X`20`20`20`20`20`20`20`20`20*`20500`20blocks`20spare.
- X`20`20`20`20`20`20`20`20`20*/
- X`09int`20pages,`20retadr`5B2`5D,`20sys$expreg();
- X`09pages`20=`20((size+511)/512)`20+`20500;
- X`20`20`20`20`20`20`20`20status`20=`20sys$expreg`20(`20pages,`20`26retadr,`200,
- V`200`20);
- X`20`20`20`20`20`20`20`20if`20(`20(status`261)`20!=`201`20)`20return`20`26giffi
- Vle;
- X`20`20`20`20`20`20`20`20max_region`20=`20retadr`5B0`5D;
- X`20`20`20`20`20`20`20`20max_mapped`20=`20(pages*512)`20-`201;
- X`20`20`20`20`7D
- X`20`20`20`20address`20=`20max_region;
- X
- X`20`20`20`20/*`20read`20data`20into`20memory`20and`20close`20file`20*/
- X`20`20`20`20status`20=`20fread(address,`20size,`201,`20fp`20);
- X`20`20`20`20fclose`20(`20fp`20);
- X`20`20`20`20if`20(`20status`20!=`201`20)`20return`20`26giffile;`09`09/*`20erro
- Vr`20in`20read`20*/
- X
- X`20`20`20`20map_block_in_use`20=`201;
- X
- X`20`20`20`20desc.length`20=`203;`20desc.adr`20=`20"NL:";`20channel`20=`200;
- X`20`20`20`20status`20=`20sys$assign`20(`20`26desc,`20`26channel,`200,`200`20);
- V
- X
- X`20`20`20`20/*
- X`20`20`20`20`20*`20Allocate`20structure`20to`20store`20file`20state`20and`20in
- Vitialize`20it.
- X`20`20`20`20`20*/
- X`20`20`20`20giffile.start`20=`20address;
- X`20`20`20`20giffile.end`20=`20`26address`5Bsize`5D;
- X`20`20`20`20giffile.pos`20=`20address;
- X`20`20`20`20giffile.chan`20=`20channel;
- X`20`20`20`20giffile.size`20=`20size;
- X`20`20`20`20return`20`26giffile;
- X`7D
- $ call unpack GIFMAPF.C;222 1026860279 ""
- $!
- $ create 'f'
- X/*
- X`20*`20@(#)includes.h`201.8`2089/04/01`09`09Jamie`20Hanrahan`20(simpact!jeh)
- X`20*
- X`20*`20Version`20simpact-1.8,`20for`20DECUS`20uucp`20(VMS`20portion).`20`20
- X`20*`20All`20changes`20and`20additions`20from`20previous`20versions`20(see`20b
- Velow)`20are`20in
- X`20*`20the`20public`20domain.`20
- X`20*
- X`20*`20Derived`20from:
- X`20*`20
- X`20*`20includes.h`201.7`2087/09/29`09Copyright`201987`20Free`20Software`20Foun
- Vdation,`20Inc.
- X`20*
- X`20*`20Copying`20and`20use`20of`20this`20program`20are`20controlled`20by`20the
- V`20terms`20of`20the
- X`20*`20GNU`20Emacs`20General`20Public`20License.
- X`20*
- X`20*`20Include`20files`20for`20various`20supported`20systems:
- X`20*`20Note`20that`20NAMESIZE`20should`20be`20the`20max`20length`20of`20a`20fi
- Vle`20name,`20including
- X`20*`20all`20its`20directories,`20drive`20specifiers,`20extensions,`20and`20th
- Ve`20like.
- X`20*`20E.g.`20on`20a`20Unix`20with`2014-char`20file`20names,`20NAMESIZE`20is
- V`20several`20hundred
- X`20*`20characters,`20since`20the`2014-char`20names`20can`20be`20nested.
- X`20*/
- X
- X#include`20atrdef
- X#include`20ctype
- X#include`20descrip
- X#include`20devdef
- X#include`20dvidef
- X#include`20errno
- X#include`20fibdef
- X#include`20file
- X#include`20iodef
- X#include`20math
- X#include`20setjmp
- X#include`20signal
- X#include`20ssdef
- X#include`20stat
- X#include`20stdlib`20
- X#include`20stdio
- X#include`20string
- X#include`20time
- X
- X#define`20NAMESIZE`20255
- X#define`20UUXQT_DOORBELL`20"UUCP_UUXQT_DOORBELL"
- X#define`20UUCICO_REQMB`20"UUCP_REQUESTS"
- X#define`09UUX_QUEUE`20"UUCP_BATCH_QUEUE"
- X#define`09UUX_FILE`20"UUCP_BIN:UUXQT_BATCH.COM"
- X#define`20DEBUG_LOG_FILE`20"vmsnet_log:uucico_dbg"
- X#define`09UUX_LOG`20"UUCP_LOG:UUXQT.LOG"
- X#define`09SYSLOCK_TEMPLATE`20"UUCP_SYS_%s"
- X#define`20STATUS_LNT`20"LNM$SYSTEM_TABLE"
- X#define`20STATUS_TEMPLATE`20"UUCP_STATUS_%s"
- X#define`20MAXLOCK`2032
- X#define`20LOGLEN`20255
- X#define`20SEQSIZE`204
- X#define`20CONTROL_FILE`20`20`20`20`20`20`20`20`20"uucp_cfg:control."`20
- X#define`09LOGCLOSE`09/*`20Logfile`20must`20be`20closed;`20VMS`20locks`20it`20w
- Vhen`20open`20*/
- X#define`20EXEDIR`20`20"uucp_bin:"`09/*`20uuxqt`20executables`20live`20here`20(
- Vnot`20used)`20*/
- X#define`20NULL_DEVICE`20"NL:"
- X#define`20fork`20vfork`09`09/*`20(not`20used)`20*/
- X#define`20STATUS`20int`09`09/*`20(not`20used)`20*/
- X#define`20postmaster`20"UUCP_POSTMASTER"
- X#define`20EXIT_OK`201`09`09/*`20image`20exit`20code`20*/
- X#define`20EXIT_ERR`200x10000000`09/*`20image`20exit`20code`20*/
- X#define`20ENABLE`201`09`09/*`20for`20$SETAST`20(and`20maybe`20others)`20*/
- X#define`20DISABLE`200
- X#define`09time_t`09unsigned`09/*`20(not`20used)`20*/
- X#define`20remove`20delete`09/*`20Remove`20a`20file`20*/
- X#define`20qsort`20pqsort`09/*`20Our`20own`20version`20(not`20used)`20*/
- X
- X#define`20FOPEN_W_MODE`20"w"`09/*`20mode`20to`20open`20files`20being`20receive
- Vd`20*/
- X#define`20FOPEN_R_MODE`20"r"`09/*`20`20or`20sent`20*/
- X
- X#define`20SS_FAILED(status)`20(((status)`261)`20==`200)
- X#define`20initdsc(d)`20d.dsc$b_class`20=`20DSC$K_CLASS_S,`20d.dsc$b_dtype`20=
- V`20DSC$K_DTYPE_T
- X#define`20fillindsc(d,`20s)`20d.dsc$w_length=strlen(s),`20d.dsc$a_pointer=(s)
- X#define`20init_itmlst3(e,i,l,c,a,r)`20\
- X`09(e`5Bi`5D.len=(l),\
- X`09e`5Bi`5D.code=(c),\
- X`09e`5Bi`5D.address=(a),\
- X`09e`5Bi`5D.retlen=(r))
- X
- $ call unpack INCLUDES.H;222 288975401 ""
- $!
- $ create 'f'
- X$`20On`20Control_Y`20Then`20GoTo`20EXIT
- X$`20On`20Error`20`20`20`20`20Then`20GoTo`20EXIT
- X$!========================================================================
- X$!
- X$!`20`20Name`20`20`20`20`20`20:`20MAKE_JPEG.COM
- X$!
- X$!`20`20Purpose`20`20`20:`20Compile`20and`20build`20JPEG`20library`20(v3)`20un
- Vder`20VMS
- X$!`20`20Suggested`20usage:`20called`20by`20@`20`5B-`5DMAKE_XV.COM
- X$!
- X$!`20`20Created:`20`209-JAN-1992`20`20`20by`20David`20Jones`20(jonesd@kcgl1.en
- Vg.ohio-state.edu)
- X$!`20`20Updated:`2019-JAN-1992`20`20`20by`20Rick`20Dyson`20`20(dyson@iowasp.ph
- Vysics.uiowa.edu)
- X$!`20`20Updated:`20`209-MAR-1992`20`20`20by`20Rick`20Dyson`20`20for`20XV`20v2.
- V11
- X$!`20`20Updated:`2020-MAR-1992`20`20`20by`20Rick`20Dyson`20`20for`20JPEG`20v3
- X$!`20`20Updated:`2028-APR-1992`20`20`20by`20Rick`20Dyson`20`20for`20XV`20v2.2a
- V
- X$!`20`20Updated:`20`206-MAY-1992`20`20`20by`20Rick`20Dyson`20`20for`20XV`20v2.
- V21
- X$!
- X$!========================================================================
- X$`20THIS_PATH`20=`20F$Element`20(0,`20"`5D",`20F$Environment`20("PROCEDURE"))
- V`20+`20"`5D"
- X$`20If`20F$Trnlnm`20("SYS")`20.eqs.`20""`20Then`20Define`20Sys`20Sys$Share
- X$!USER`20CUSTOMIZING`20POINT!!!!!
- X$!
- X$`20CC`20:=`20CC`20/NoList`20/NoDebug`20/Optimize`20/Define`20=`20(TWO_FILE_CO
- VMMANDLINE,HAVE_STDC,INCLUDES_ARE_ANSI)
- X$!
- X$`20sources`20=`20"jcmaster,jcdeflts,jcarith,jccolor,jcexpand,jchuff,jcmcu,"
- V`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"jcpipe,jcsample,jfwddct,jwrjfif,jrdgif,jr
- Vdppm,jrdrle,"`20`20`20`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"jrdtarga,jdmaster,jddeflts,jbsmooth,jdari
- Vth,jdcolor,jdhuff,"`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"jdmcu,jdpipe,jdsample,jquant1,jquant2,jre
- Vvdct,jrdjfif,jwrgif,"`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"jwrppm,jwrrle,jwrtarga,jutils,jerror,jmem
- Vmgr,jmemsys"
- X$!
- X$!`20`20search`20for`20missing`20object`20files.
- X$!
- X$`20sndx`20=`200
- X$NEXT_SOURCE:
- X$`20`20`20sfile`20=`20F$Element`20(sndx,`20",",`20sources)
- X$`20`20`20sndx`20=`20sndx`20+`201
- X$`20`20`20If`20sfile`20.eqs.`20","`20Then`20GoTo`20SOURCES_DONE
- X$`20`20`20ofile`20=`20F$Parse`20(".OBJ",`20sfile)
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20GoTo`20NEXT_SOURCE
- X$`20`20`20Write`20Sys$Output`20"Compiling`20",`20sfile,`20".c`20..."
- X$`20`20`20CC`20'sfile'.c
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20new_objects`20=`20new_
- Vobjects`20+`20","`20+`20sfile
- X$`20`20`20GoTo`20NEXT_SOURCE
- X$!
- X$SOURCES_DONE:
- X$`20`20`20If`20new_objects`20.eqs.`20""`20.and.`20p1`20.eqs.`20""`20Then`20GoT
- Vo`20EXIT
- X$`20`20`20new_objects`20=`20new_objects`20-`20","
- X$!
- X$`20`20`20Write`20Sys$Output`20"Building`20JPEGLIB.OLB..."
- X$`20`20`20If`20"''F$Search`20("JPEGLIB.OLB")'"`20.eqs.`20""`20Then`20Library
- V`20/Create`20JPEGLIB.OLB
- X$`20`20`20Library`20/Replace`20JPEGLIB.OLB`20*.OBJ
- X$`20`20`20GoTo`20Exit
- X$EXIT:
- X$`20`20`20VERIFY`20=`20F$Verify`20(VERIFY)
- X$`20`20`20Exit
- $ call unpack MAKE_JPEG.COM;222 1331191611 ""
- $!
- $ create 'f'
- X$`20On`20Control_Y`20Then`20GoTo`20EXIT
- X$`20On`20Error`20`20`20`20`20Then`20GoTo`20EXIT
- X$!========================================================================
- X$!
- X$!`20`20Name`20`20`20`20`20`20:`20MAKE_TIFF.COM
- X$!
- X$!`20`20Purpose`20`20`20:`20Compile`20and`20build`20TIFF`20library`20under`20V
- VMS
- X$!`20`20Suggested`20usage:`20called`20by`20@`20`5B-`5DMAKE_XV.COM
- X$!
- X$!`20`20Created:`20`209-JAN-1992`20`20`20by`20David`20Jones`20(jonesd@kcgl1.en
- Vg.ohio-state.edu)
- X$!`20`20Updated:`2019-JAN-1992`20`20`20by`20Rick`20Dyson`20`20(dyson@iowasp.ph
- Vysics.uiowa.edu)
- X$!`20`20Updated:`20`209-MAR-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.
- V11
- X$!`20`20Updated:`20`209-MAR-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.
- V20a`20and`20TIFF`20v3.0
- X$!`20`20Updated:`20`206-MAY-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.
- V21`20and`20TIFF`20v3.0
- X$!
- X$!========================================================================
- X$`20THIS_PATH`20=`20F$Element`20(0,`20"`5D",`20F$Environment`20("PROCEDURE"))
- V`20+`20"`5D"
- X$`20If`20F$Trnlnm`20("SYS")`20.eqs.`20""`20Then`20Define`20Sys`20Sys$Share
- X$!USER`20CUSTOMIZING`20POINT!!!!!
- X$!
- X$`20CC`20:=`20CC`20/NoList`20/NoDebug`20/Optimize`20/Define`20=`20("BSDTYPES=1
- V",__STDC__,COLORIMETRY_SUPPORT,JPEG_SUPPORT,YCBCR_SUPPORT,CMYK_SUPPORT,LZW_SUP
- VPORT)
- X$!
- X$`20sources`20=`20"tif_fax3,tif_fax4,tif_aux,tif_ccittrle,tif_close,tif_compat
- V,"`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"tif_dir,tif_dirinfo,tif_dirread,tif_dirwr
- Vite,tif_dumpmode,"`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"tif_error,tif_getimage,tif_jpeg,tif_flush
- V,tif_open,"`20`20`20`20`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"tif_packbits,tif_print,tif_read,tif_strip
- V,tif_swab,"`20`20`20`20`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"tif_thunder,tif_tile,tif_warning,tif_writ
- Ve,tif_machdep,"`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20"tif_version"
- X$!
- X$`20compress_sources`20=`20"tif_compress,tif_lzw"
- X$!
- X$`20new_objects`20=`20""
- X$!
- X$!`20`20search`20for`20missing`20object`20files.
- X$!
- X$`20If`20"''F$Search`20("g3states.h")'"`20.eqs.`20""
- X$`20`20`20Then
- X$`20`20`20`20`20`20`20CC`20`5B-`5Dargproc.c
- X$`20`20`20`20`20`20`20CC`20/Define`20=`20("USE_PROTOTYPES=1",`20"USE_VARARGS=0
- V")`20mkg3states.c
- X$`20`20`20`20`20`20`20Link`20/Trace`20/NoMap`20mkg3states,argproc,Sys$Disk:
- V`5B-`5DOPTIONS.OPT/Option
- X$`20`20`20`20`20`20`20Mcr`20Sys$Disk:`5B`5Dmkg3states.exe`20>g3states.h
- X$`20EndIf
- X$!
- X$`20sndx`20=`200
- X$NEXT_SOURCE:
- X$`20`20`20sfile`20=`20F$Element`20(sndx,`20",",`20sources)
- X$`20`20`20sndx`20=`20sndx`20+`201
- X$`20`20`20If`20sfile`20.eqs.`20","`20Then`20GoTo`20NEXT_STEP
- X$`20`20`20ofile`20=`20F$Parse`20(".OBJ",`20sfile)
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20GoTo`20NEXT_SOURCE
- X$`20`20`20Write`20Sys$Output`20"Compiling`20",`20sfile,`20".c`20..."
- X$`20`20`20CC`20'sfile'.c
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20new_objects`20=`20new_
- Vobjects`20+`20","`20+`20sfile
- X$`20`20`20GoTo`20NEXT_SOURCE
- X$!
- X$NEXT_STEP:
- X$`20`20`20sndx`20=`200
- X$NEXT_COMPRESS:
- X$`20`20`20sfile`20=`20F$Element`20(sndx,`20",",`20compress_sources)
- X$`20`20`20sndx`20=`20sndx`20+`201
- X$`20`20`20If`20sfile`20.eqs.`20","`20Then`20GoTo`20SOURCES_DONE
- X$`20`20`20ofile`20=`20F$Parse`20(".OBJ",`20sfile)
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20GoTo`20NEXT_COMPRESS
- X$`20`20`20Write`20Sys$Output`20"Compiling`20",`20sfile,`20".c`20..."
- X$`20`20`20CC`20'sfile'.c
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20new_objects`20=`20new_
- Vobjects`20+`20","`20+`20sfile
- X$`20`20`20GoTo`20NEXT_COMPRESS
- X$!
- X$SOURCES_DONE:
- X$`20`20`20If`20new_objects`20.eqs.`20""`20.and.`20p1`20.eqs.`20""`20Then`20GoT
- Vo`20EXIT
- X$`20`20`20new_objects`20=`20new_objects`20-`20","
- X$!
- X$`20`20`20Write`20Sys$Output`20"Building`20LIBTIFF.OLB..."
- X$`20`20`20If`20"''F$Search`20("libtiff.olb")'"`20.eqs.`20""`20Then`20Library
- V`20/Create`20libtiff.olb
- X$`20`20`20Library`20/Replace`20libtiff.olb`20tif_fax3,tif_fax4,tif_aux,tif_cci
- Vttrle,tif_close,tif_compat,tif_compress,tif_dir,`20-
- 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`20
- V`20`20`20`20`20`20`20`20tif_dirinfo,tif_dirread,tif_dirwrite,tif_dumpmode,tif_
- Verror,tif_getimage,tif_jpeg,`20-
- 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`20
- V`20`20`20`20`20`20`20`20tif_flush,tif_lzw,tif_open,tif_packbits,tif_print,tif_
- Vread,tif_strip,tif_swab,tif_thunder,`20-
- 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`20
- V`20`20`20`20`20`20`20`20tif_tile,tif_warning,tif_write,tif_version,tif_machdep
- V
- X$`20`20`20GoTo`20Exit
- X$EXIT:
- X$`20`20`20Exit
- $ call unpack MAKE_TIFF.COM;222 85095814 ""
- $!
- $ create 'f'
- X$`20If`20F$Mode`20()`20.eqs.`20"INTERACTIVE"
- X$`20`20`20Then
- X$`20`20`20`20`20`20`20VERIFY`20=`20F$Verify`20(0)
- X$`20`20`20Else
- X$`20`20`20`20`20`20`20VERIFY`20=`20F$Verify`20(1)
- X$`20EndIf
- X$`20On`20Control_Y`20Then`20GoTo`20EXIT
- X$`20On`20Error`20`20`20`20`20Then`20GoTo`20EXIT
- X$!========================================================================
- X$!
- X$!`20`20Name`20`20`20`20`20`20:`20MAKE_XV.COM
- X$!
- X$!`20`20Purpose`20`20`20:`20Compile`20and`20Link`20XV`20(v2.21)`20under`20VMS
- X$!`20`20Suggested`20usage:`20@`20MAKE_XV.COM
- X$!`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20OR
- X$!`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Submit`20/NoPrint
- V`20/Log`20=`20Sys$Disk:`5B`5D`20/Notify`20MAKE-XV.COM
- X$!
- X$!`20`20Created:`20`209-JAN-1992`20`20`20by`20David`20Jones`20(jonesd@kcgl1.en
- Vg.ohio-state.edu)
- X$!`20`20Updated:`2019-JAN-1992`20`20`20by`20Rick`20Dyson`20`20(dyson@iowasp.ph
- Vysics.uiowa.edu)
- X$!`20`20Updated:`20`209-MAR-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.
- V11
- X$!`20`20Updated:`2028-APR-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.20
- Va
- X$!`20`20Updated:`2030-APR-1992`20`20`20by`20Rick`20Dyson`20`20for`20xv`20v2.21
- V
- X$!
- X$!========================================================================
- X$`20THIS_PATH`20=`20F$Element`20(0,`20"`5D",`20F$Environment`20("PROCEDURE"))
- V`20+`20"`5D"
- X$`20Set`20Default`20'THIS_PATH'
- X$`20If`20F$Trnlnm`20("X11")`20.eqs.`20""`20Then`20Define`20X11`20DECW$Include
- X$`20If`20F$Trnlnm`20("SYS")`20.eqs.`20""`20Then`20Define`20Sys`20Sys$Share
- X$!USER`20CUSTOMIZING`20POINT!!!!!
- X$!
- X$!`20`20If`20you`20want`20to`20use`20the`20LZW`20decompression`20programs`20av
- Vailable`20from`20the`20
- X$!`20`20DECUS`20libraries,`20you`20will`20need`20to`20add`20the`20",HAVE_LZW"
- V`20string`20to`20the
- X$!`20`20list`20of`20define`20statements`20in`20the`20following`20compiler`20de
- Vfintion`20line.
- X$!`20`20The`20default`20will`20be`20to`20use`20the`20supplied`20VMS`20version
- V`20of`20the`20Unix-like
- X$!`20`20decompression`20program.`20`20much`20better!!`20;)
- X$!
- X$`20CC`20:=`20CC`20/NoList`20/NoDebug`20/Optimize`20/Define`20=`20(VMS,HAVE_JP
- VEG,HAVE_STDC,INCLUDES_ARE_ANSI,HAVE_PDS,HAVE_TIFF)`20/Include`20=`20(`5B`5D,
- V`5B.JPEG`5D,`5B.TIFF`5D)
- X$!
- X$`20sources`20=`20"xv,xvmisc,xvevent,xvcolor,xvimage,pseudo_root,xvroot,vms,xv
- Vdir,"+`20-
- X`09"xvgam,vmsreaddir,xvbutt,xvdial,xvpds,xv24to8,xvsmooth,xvctrl,"+`20-
- X`09"xvdflt,xvgif,xvgifwr,gifmapf,xvgraf,xvps,xvinfo,xvscrl,xvpm,"`20+`20-
- X`09"xvpbm,xvpopup,xvsunras,xvxbm,xvjpeg,argproc,xvtiff,xvtiffwr,"`20+`20-
- X`20`20`20`20`20`20`20`20"xvgrab,xvrle"
- X$!
- X$`20If`20F$Search`20("bitmaps.h")`20.eqs.`20""`20Then`20GoSub`20COPY_BITMAPS
- X$`20new_objects`20=`20""
- X$`20If`20F$Search`20("`5B.jpeg`5Djpeglib.olb")`20.eqs.`20""
- X$`20`20`20Then
- X$`20`20`20`20`20`20`20default`20=`20F$Environment`20("Default")
- X$`20`20`20`20`20`20`20Set`20Default`20`5B.jpeg`5D
- X$`20`20`20`20`20`20`20Write`20Sys$Output`20"Building`20JPEG`20library..."
- X$`20`20`20`20`20`20`20@`5B-`5Dmake_jpeg.com
- X$`20`20`20`20`20`20`20Set`20Default`20'default'
- X$`20`20`20`20`20`20`20new_objects`20=`20",`5B.jpeg`5Djpeglib/Library"
- X$`20EndIf
- X$`20If`20F$Search`20("`5B.tiff`5Dlibtiff.olb")`20.eqs.`20""
- X$`20`20`20Then
- X$`20`20`20`20`20`20`20default`20=`20F$Environment`20("Default")
- X$`20`20`20`20`20`20`20Set`20Default`20`5B.tiff`5D
- X$`20`20`20`20`20`20`20Write`20Sys$Output`20"Building`20TIFF`20library..."
- X$`20`20`20`20`20`20`20@`5B-`5Dmake_tiff.com
- X$`20`20`20`20`20`20`20Set`20Default`20'default'
- X$`20`20`20`20`20`20`20new_objects`20=`20",`5B.tiff`5Dlibtiff/Library"
- X$`20EndIf
- X$!
- X$`20If`20F$Search`20("gifdecomp.obj")`20.eqs.`20""
- X$`20`20`20Then
- X$`20`20`20`20`20`20`20Write`20Sys$Output`20"Assembling`20GIFDECOMP.MAR
- X$`20`20`20`20`20`20`20Macro`20gifdecomp
- X$`20`20`20`20`20`20`20new_objects`20=`20",gifdecomp"
- X$`20EndIf
- X$!
- X$!`20`20search`20for`20missing`20object`20files.
- X$!
- X$`20sndx`20=`200
- X$NEXT_SOURCE:
- X$`20`20`20sfile`20=`20F$Element`20(sndx,`20",",`20sources)
- X$`20`20`20sndx`20=`20sndx`20+`201
- X$`20`20`20If`20sfile`20.eqs.`20","`20Then`20GoTo`20SOURCES_DONE
- X$`20`20`20ofile`20=`20F$Parse`20(".OBJ",`20sfile)
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20GoTo`20NEXT_SOURCE
- X$`20`20`20Write`20Sys$Output`20"Compiling`20",`20sfile,`20".c`20..."
- X$`20`20`20CC`20'sfile'.c
- X$`20`20`20If`20F$Search`20(ofile)`20.nes.`20""`20Then`20new_objects`20=`20new_
- Vobjects`20+`20","`20+`20sfile
- X$`20`20`20GoTo`20NEXT_SOURCE
- X$!
- X$SOURCES_DONE:
- X$`20`20`20If`20new_objects`20.eqs.`20""`20.and.`20p1`20.eqs.`20""`20Then`20GoT
- Vo`20EXIT
- X$`20`20`20new_objects`20=`20new_objects`20-`20","
- X$!
- X$`20`20`20Write`20Sys$Output`20"Building`20decompress.c`20..."
- X$`20`20`20CC`20decompress.c
- X$`20`20`20Link`20/NoMap`20/Executable`20=`20decompress.exe`20decompress,option
- Vs/Option
- X$`20`20`20Write`20Sys$Output`20"Building`20vdcomp.c`20..."
- X$`20`20`20CC`20vdcomp.c
- X$`20`20`20Link`20/NoMap`20/Executable`20=`20vdcomp.exe`20vdcomp,options/Option
- V
- X$`20`20`20Write`20Sys$Output`20"Building`20bggen.c`20..."
- X$`20`20`20CC`20bggen.c
- X$`20`20`20Link`20/NoMap`20/Executable`20=`20bggen.exe`20bggen,argproc,options/
- VOption
- X$`20`20`20Write`20Sys$Output`20"Linking`20new`20XV`20image..."
- X$`20`20`20Link`20/NoMap`20/Executable`20=`20xv.exe`20Sys$Input/Option`20'p1'
- Xxv,xvmisc,xvevent,xvcolor,xvimage,pseudo_root,xvroot,vms,argproc,xvdir
- Xxvgam,vmsreaddir,xvbutt,xvdial,xvpds,xv24to8,xvsmooth,xvctrl,xvdflt,xvgif
- Xxvgifwr,gifmapf,gifdecomp,xvgraf,xvps,xvinfo,xvscrl,xvpm,xvpbm,xvpopup
- Xxvsunras,xvxbm,xvjpeg,xvtiff,xvtiffwr,xvgrab,xvrle
- X`5B.jpeg`5Djpeglib/lib
- X`5B.tiff`5Dlibtiff/lib
- XSys$Share:DECW$XlibShr/Share,DECW$DWTLibShr/Share,VAXCRTL/Share
- X$`20`20`20If`20"''F$Search`20("xv.hlb")'"`20.eqs.`20""`20Then`20Library`20/Cre
- Vate`20/Help`20xv.hlb
- X$`20`20`20Library`20/Replace`20/Help`20xv.hlb`20xv.hlp
- X$`20`20`20GoTo`20Exit
- X$!
- X$!`20subroutine`20to`20generate`20new`20bitmaps.h`20file.
- X$!
- X$COPY_BITMAPS:
- X$`20`20`20Create`20bitmaps.h
- X$`20`20`20bmlist`20=`20"grasp,penn,down,down1,up,up1,scrlgray,gray50,gray25,i_
- Vfifo,"`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"i_chr,i_dir,i_blk,i_lnk,i_sock,i_reg,r
- Vb_off,rb_on,rb_off1,"`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"rb_on1,fc_left,fc_leftm,fc_mid,fc_midm
- V,fc_right,fc_rightm,"`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"fc_left1,fc_left1m,fc_right1,fc_right1
- Vm,icon,dial_cw1,"`20`20`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"dial_cw2,dial_ccw1,dial_ccw2,iconmask,
- Vgf1_addh,gf1_delh,"`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"gf1_line,gf1_rst,gf1_spln,gf1_gamma,h_
- Vrotl,h_rotr,h_sinc,"`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"h_sdec,h_flip,cb_off,cb_on,cb_off1,cb_
- Von1,h_sat,h_desat,"`20`20`20`20+`20-
- X`20`20`20`20`20`20`20`20`20`20`20`20`20"root_weave,cboard50,mb_chk,fliph,flipv
- V"
- X$!
- X$`20`20`20ndx`20=`200
- X$APPEND_NEXT:
- X$`20`20`20name`20=`20F$Element`20(ndx,`20",",`20bmlist)
- X$`20`20`20If`20name`20.eqs.`20","`20Then`20Return
- X$`20`20`20ndx`20=`20ndx`20+`201
- X$`20`20`20Append`20`5B.bitmaps`5D'name'.`20`5B`5Dbitmaps.h
- X$`20`20`20GoTo`20APPEND_NEXT
- X$!
- X$EXIT:
- X$`20`20`20VERIFY`20=`20F$Verify`20(VERIFY)
- X$`20`20`20Exit
- $ call unpack MAKE_XV.COM;222 1377250170 ""
- $!
- $ create 'f'
- 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`20
- V`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20
- V`20`20`20`20`20`20`20`20`20`201-OCT-1992
- X`20`20`20`20
- X`20`20`20`20`20`20`20`20Release`20notes`20for`20VMS`20`20port`20`20of`20`20XV
- V`20`202.21`20(originally`20released
- X`20`20`20`2029-APR-1992`20but`20the`20port`20is`20`20based`20`20on`20the`20xv-
- V2.21.tar.Z`20file`20from
- X`20`20`20`20export.lcs.mit.edu`20`20dated`20`2025-Sep-1992).`20`20`20The`20ori
- Vginal`20`20port`20`20was
- X`20`20`20`20mostly`20`20done`20by`20David`20Jones`20(jonesd@kcgl1.eng.ohio-sta
- Vte.edu)`20with
- X`20`20`20`20some`20contributions`20`20by`20Rick`20Dyson`20(Dyson@IowaSP.Physic
- Vs.UIowa.EDU)
- X`20`20`20`20using`20the`20VMS`20VAXC`20compiler`20and`20DECWindow`20libraries.
- V
- X
- XInstallation`20instructions`20are`20at`20the`20bottom`20of`20this`20file.`20PL
- VEASE`20READ!
- X
- XCommand`20procedures:
- X
- X`20`20`20`20XV_FIXUP_VMS.COM
- X`20`20`20`20`20`20`20`20This`20procedure`20applies`20the`20source`20file`20
- V`20modifications`20`20(*.DIF)
- X`20`20`20`20`20`20`20`20to`20the`20original`20XV`20and`20TIFF`20files`20`20of
- V`20`20the`20XV`20v2.21`20release`20as
- X`20`20`20`20`20`20`20`20extracted`20`20from`20`20the`20`20tar`20`20file.`20
- V`20`20`20It`20assumes`20`20the`20`20directory
- X`20`20`20`20`20`20`20`20hierarchy`20`20on`20`20the`20tar`20archive`20is`20pres
- Verved`20(i.e.,`20`5B.bitmaps`5D,
- X`20`20`20`20`20`20`20`20`5B.jpeg`5D,`20`5B.tiff`5D`20sub-directories).`20`20
- V`20`20NOTE:`20`20`20`20Only`20`20apply`20the
- X`20`20`20`20`20`20`20`20patch`20once!!!
- X
- X`20`20`20`20MAKE_*.COM
- X`20`20`20`20`20`20`20`20This`20`20command`20`20procedure`20`20is`20a`20"poor-p
- Verson's"`20version`20of`20MMS.
- X`20`20`20`20`20`20`20`20PLEASE`20NOTE:`20`20You`20should`20look`20through`20th
- Ve`20command`20procedure`20to
- X`20`20`20`20`20`20`20`20see`20`20if`20any`20customizing`20is`20necessary`20
- V`20before`20executing`20it!`20`20If
- X`20`20`20`20`20`20`20`20you`20have`20MMS`20you`20WILL`20want`20to`20use`20that
- V`20method`20instead.
- X
- X`20`20`20`20SETUP.COM
- X`20`20`20`20`20`20`20`20A`20`20simple`20`20command`20procedure`20to`20setup
- V`20`20the`20`20final`20`20compiled`20XV
- X`20`20`20`20`20`20`20`20package`20of`20programs.`20`20It`20`20can`20`20be`20
- V`20executed`20`20by`20itself`20or`20used
- X`20`20`20`20`20`20`20`20with`20many`20of`20the`20commonly`20available`20`20SET
- VUP`20packages`20(i.e.,`20the
- X`20`20`20`20`20`20`20`20FERMILAB`20`20version).`20`20`20If`20it`20is`20kept
- V`20`20in`20the`20same`20directory`20`20as
- X`20`20`20`20`20`20`20`20the`20binaries,`20it`20will`20be`20able`20`20to`20`20g
- Vet`20`20the`20`20necessary`20symbols
- X`20`20`20`20`20`20`20`20setup`20anywhere`20the`20directory`20structure`20is
- V`20located`20`20WITHOUT`20the
- X`20`20`20`20`20`20`20`20need`20`20to`20`20edit`20the`20command`20procedure.
- V`20`20Move`20`20them`20`20all`20`20around
- X`20`20`20`20`20`20`20`20together`20and`20you`20will`20be`20OK.
- X
- XMake`20files:
- X
- X`20`20`20`20DESCRIP.MMS`20(in`20the`20top`20level`20directory)
- X`20`20`20`20`20`20`20`20This`20is`20a`20MMS`20`20description`20`20file`20for
- V`20the`20VMS`20MMS`20utility.`20`20You
- X`20`20`20`20`20`20`20`20should`20`20edit`20`20the`20file`20first`20`20to`20
- V`20make`20`20sure`20`20the`20`20customizing
- X`20`20`20`20`20`20`20`20features`20`20are`20`20appropriate`20`20for`20`20your
- V`20system.`20`20`20To`20`20produce`20`20a
- X`20`20`20`20`20`20`20`20working`20version`20of`20XV,`20BGGEN,`20DECOMPRESS,
- V`20and`20VDCOMP`20just`20type
- 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`20
- V`20`20`20`20`20`20`20`20`20`20`20`20`20MMS
- X`20`20`20`20`20`20`20`20at`20`20the`20`20DCL`20command`20prompt.`20`20For`20us
- Vers`20without`20MMS`20`20you`20`20will
- X`20`20`20`20`20`20`20`20need`20to`20use`20MAKE_XV.COM`20instead.
- X
- X`20`20`20`20MAKEFILE.MMS`20(in`20the`20JPEG`20sub-directory)
- X`20`20`20`20`20`20`20`20This`20is`20a`20MMS`20description`20file`20for`20the
- V`20VMS`20`20MMS`20`20utility.`20`20You
- X`20`20`20`20`20`20`20`20should`20`20edit`20`20the`20`20file`20`20first`20`20to
- V`20`20make`20`20sure`20the`20customizing
- X`20`20`20`20`20`20`20`20features`20are`20`20appropriate`20`20for`20`20your`20
- V`20system.`20`20`20`20To`20`20produce`20a
- X`20`20`20`20`20`20`20`20working`20version`20of`20`20the`20`20JPEG`20`20library
- V`20`20type`20`20MMS`20`20at`20`20the`20DCL
- X`20`20`20`20`20`20`20`20command`20prompt.`20`20For`20`20users`20`20without`20
- V`20MMS`20you`20will`20need`20to`20use
- X`20`20`20`20`20`20`20`20MAKE_JPEG.COM`20instead.`20`20Note`20that`20the`20top
- V`20level`20MMS`20`20file`20will
- X`20`20`20`20`20`20`20`20automagically`20`20build`20`20the`20`20JPEG`20`20libra
- Vry`20`20if`20it`20doesn't`20exist.
- X`20`20`20`20`20`20`20`20There`20is`20no`20need`20to`20do`20it`20manually.
- X
- X`20`20`20`20MAKEFILE.VMS`20(in`20the`20TIFF`20sub-directory)
- X`20`20`20`20`20`20`20`20This`20is`20a`20MMS`20description`20file`20for`20the
- V`20VMS`20`20MMS`20`20utility.`20`20You
- X`20`20`20`20`20`20`20`20should`20`20edit`20`20the`20`20file`20`20first`20`20to
- V`20`20make`20`20sure`20the`20customizing
- X`20`20`20`20`20`20`20`20features`20are`20`20appropriate`20`20for`20`20your`20
- V`20system.`20`20`20`20To`20`20produce`20a
- X`20`20`20`20`20`20`20`20working`20version`20`20of`20`20the`20`20LIBTIFF`20`20l
- Vibrary`20type`20MMS`20at`20the`20DCL
- X`20`20`20`20`20`20`20`20command`20prompt.`20`20`20For`20`20users`20`20without
- V`20MMS`20you`20will`20need`20to`20use
- X`20`20`20`20`20`20`20`20MAKE_TIFF.COM`20instead.`20`20Note`20`20that`20the`20t
- Vop`20level`20MMS`20file`20will
- X`20`20`20`20`20`20`20`20automagically`20`20build`20the`20JPEG`20library`20`20i
- Vf`20`20it`20`20doesn't`20`20exist.
- X`20`20`20`20`20`20`20`20There`20is`20no`20need`20to`20do`20it`20manually.
- X
- XVMS`20specific`20`20source`20`20files`20`20are`20`20`20all`20`20stored`20`20in
- V`20`20the`20`20`5B.UNSUPT.VMS`5D
- X`20`20`20`20sub-directory.`20`20John`20Bradley`20did`20`20not`20`20update`20
- V`20them`20`20for`20v2.21,`20so
- X`20`20`20`20some`20will`20need`20to`20be`20replaced.
- X
- X`20`20`20`20VMS.C`20`20`20`20`20-`20Miscellaneous`20`20routines`20`20`20to`20
- V`20support`20`20UNIX`20`20functions
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20missing`20from`20the`20`20C
- V`20`20run-time`20`20library.`20`20`20`20Also`20define
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20do_vms_wildcard()`20function
- V`20used`20to`20`20fixup`20the`20argument
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20vector.
- X
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20Private`20version`20`20of`20qs
- Vort`20added,`20Kevin`20Oberman`20claimed
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20the`20`20VAXCRTL`20`20qsort
- V`20`20`20bug`20`20(well`20`20known)`20`20was`20`20causing
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20aberrant`20images.`20`20There
- V`20are`20also`20remnants`20of`20a`20aborted
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20attempt`20at`20adding`20uncomp
- Vress`20support.
- X
- X`20`20`20`20VMSREADDIR.C`20`20-`20Substitute`20`20`20routines`20`20for`20`20UN
- VIX`20`20directory`20`20scan
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20routines`20`20(opendir),`20
- V`20perform`20`20equivalent`20`20VMS`20`20system
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20calls.
- X
- X`20`20`20`20DIRENT.H`20`20-`20Include`20file`20`20to`20`20use`20`20in`20conjun
- Vction`20with`20routines`20in
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20VMSREADDIR.C.
- X
- X`20`20`20`20PSEUDO_ROOT.C`20-`20`20Finds`20virtual`20root`20`20window`20`20for
- V`20DECWindows`20window
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20manager.
- X
- X`20`20`20`20DECOMPRESS.C`20-`20A`20decompression`20program`20`20for`20`20Unix-
- Vstyle`20`20.Z`20`20files
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20which`20can`20be`20used`20by
- V`20XV`20for`20automatic`20decompression`20of
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20.Z`20files.`20`20It`20can`20al
- Vso`20`20be`20`20used`20`20at`20`20the`20DCL`20level`20to
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20decompress`20files`20by`20hand
- V.
- X
- X`20`20`20`20OPTIONS.OPT`20-`20A`20linker`20options`20file`20for`20XV.
- X`20`20`20`20
- XNew`20Versions`20of`20the`20OLD`20VMS`20files`20provided`20with`20this`20VMS
- V`20patch`20kit:
- X
- X`20`20`20`20GIFMAPF.C`20-`20VMS`20optimized`20GIF`20file`20`20access`20routine
- Vs,`20maps`20the`20file
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20to`20virtual`20memory`20and
- V`20treats`20it`20as`20an`20array.
- X
- X`20`20`20`20GIFDECOMP.MAR`20-`20`20Optimized`20`20GIF`20decompressor`20routine
- Vs,`20written`20`20in
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20MACRO.
- X
- X`20`20`20`20ARGPROC.C`20`20-`20`20getredirection()`20routine`20`20to`20`20impl
- Vement`20`20the`20`20piping
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20and/or`20redirection`20o
- Vf`20I/O.`20`20Makes`20`20VMS`20command`20lines
- X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20work`20like`20the`20Unix
- V`20lines.
- X
- X`20`20`20`20INCLUDES.H`20-`20Header`20file`20for`20ARGPROC.C`20code.
- X
- XDocumentation`20files:
- X
- X`20`20`20`20XV.HLP`20-`20A`20brief`20VMS`20Help`20file`20written`20from`20the
- V`20man`20page.
- X
- X`20`20`20`20XV.TEX`20-`20A`20LaTeX`20formated`20version`20of`20the`20Unix`20ma
- Vn`20page`20(for`20v2.21).
- X
- +-+-+-+-+-+-+-+- END OF PART 2 +-+-+-+-+-+-+-+-
-