home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / unix / volume26 / utree / part02 < prev    next >
Encoding:
Text File  |  1992-09-06  |  89.4 KB  |  2,338 lines

  1. Newsgroups: comp.sources.unix
  2. From: klin@iat.uni-paderborn.de (Peter Klingebiel)
  3. Subject: v26i065: utree - screen oriented filesystem utility (V3.03b-um), Part02/08
  4. Sender: unix-sources-moderator@pa.dec.com
  5. Approved: vixie@pa.dec.com
  6.  
  7. Submitted-By: klin@iat.uni-paderborn.de (Peter Klingebiel)
  8. Posting-Number: Volume 26, Issue 65
  9. Archive-Name: utree/part02
  10.  
  11. #! /bin/sh
  12. # This is a shell archive.  Remove anything before this line, then unpack
  13. # it by saving it into a file and typing "sh file".  To overwrite existing
  14. # files, type "sh file -c".  You can also feed this as standard input via
  15. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  16. # will see the following message at the end:
  17. #        "End of archive 2 (of 8)."
  18. # Contents:  CHANGES COPYRIGHT MANIFEST Makefile bin/utree.mklist2
  19. #   src/cmds.h src/help.c src/term.h src/vers.c sup/vfprintf.c
  20. #   sup/vsprintf.c sys/conf.h.286 sys/conf.h.AIX sys/conf.h.APP
  21. #   sys/conf.h.M16 sys/conf.h.M32 sys/conf.h.MIPS sys/conf.h.RCU
  22. #   sys/conf.h.SCO sys/conf.h.SEQ sys/conf.h.SGI sys/conf.h.ULT
  23. #   sys/conf.h.X23
  24. # Wrapped by vixie@cognition.pa.dec.com on Mon Sep  7 14:39:53 1992
  25. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  26. if test -f 'CHANGES' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'CHANGES'\"
  28. else
  29. echo shar: Extracting \"'CHANGES'\" \(4308 characters\)
  30. sed "s/^X//" >'CHANGES' <<'END_OF_FILE'
  31. X
  32. X       UTREE - screen oriented filesystem utility
  33. X       CHANGES, klin, Fri Mar  6 07:26:25 1992
  34. X
  35. X------------------------------------------------------------------------------
  36. X
  37. utree 3.00-um
  38. X      - Apr 20 1991, klin
  39. X       Initial version 3.00-um for distribution
  40. X      - May  5 1991, klin
  41. X       Minor bug fixes and extensions
  42. X
  43. utree 3.01-um
  44. X      - Jun  4 1991, klin
  45. X       Z-command for zooming filelist/files in/out added
  46. X      - Oct  7 1991, klin
  47. X       File size patterns =!<> added, time patterns changed to from <> to ()
  48. X       Bug in putchar() deleted
  49. X       Minor changes in screen handling
  50. X      - Oct 15 1991, klin
  51. X       Handling of symbolic links changed
  52. X       Option -L for following symbolic links added
  53. X       Option -f lst for building the tree from list file lst added
  54. X      - Oct 26 1991, klin
  55. X       Marking directories changed
  56. X       Sorting/zooming filelists on tree screen changed
  57. X       Copying and moving files changed (select directory)
  58. X       Select directory added
  59. X       Some more minor changes in functions
  60. X       Print formatted tree list added
  61. X       Filter utree.prlist for printing formatted tree list files created
  62. X
  63. utree 3.02-um
  64. X      - Nov  1 1991, klin
  65. X       Screen layout changed
  66. X       Goto parent directory on tree screen (<-command) added
  67. X       Option -u changed to -n (no scan tree)
  68. X       Option -u added (update file lists in tree)
  69. X       Stuff for APOLLO node names added
  70. X       Bug in calling editor in empty directory deleted
  71. X       Other minor changes
  72. X      - Nov 10 1991, klin
  73. X       Functions key handling changed (typedef kchar and ksymbol)
  74. X       Reading list files changed for handling relative given pathnames
  75. X       Postscript driver for utree.prlist
  76. X       Utree.backup.sh and utree.mklist.sh extended
  77. X      - Nov 24 1991, klin
  78. X       Some error fixes and extensions for XENIX reported and done by
  79. X       Rolf Gebhardt (Nov 22 1991)
  80. X       Change to current directory list for some commands on tree screen
  81. X       Video attributes changed
  82. X
  83. utree 3.03-um
  84. X      - Feb 11 1992, klin
  85. X       Shell screen put into own module hist.[ch] and command history added
  86. X       Status screen put into own module stat.c
  87. X       Generic list type glist for using from within line editor added
  88. X       Most list types changed for using of the generic list type glist
  89. X       Lineeditor extended for using of generic lists
  90. X       Handling of variables and filetype command changed
  91. X      - Feb 15 1992, klin
  92. X       Video handling and meaning of option -v changed
  93. X       Display attributes and user customizable video mode flag added
  94. X       Partinioning of directory and file window on tree screen changed
  95. X       Option -p for tree screen partitioning added
  96. X       Variables VIDEOMODE and FILELINES added
  97. X      - Feb 22 1992, klin
  98. X       Some commands on tree changed to work on current directory or subtree
  99. X       or tagged files dependent on command letter entered in lowercase or
  100. X       uppercase letter. The commands working on current directory/subtree
  101. X       are: f/F=find, g/G=grep, n/N=sort, t/T=tag, u/U=untag, z/Z=zoom.
  102. X       The commands working on current directory/tagged files are:
  103. X       b/B=backup, c/C=change/copy, l,L=list, m/M=mkdir/move, r/R=remove.
  104. X       Formatcharacters %H and %R for home and root directory added
  105. X      - Feb 22 1992, klin
  106. X       Many commands on tree changed to handle current directory or subtree
  107. X       (find, grep, sort, tag, untag, zoom) or tagged files in subtree
  108. X       (backup, copy, list, move, remove) dependent if command letter is
  109. X       entered in upper or lower case (like commands on file screen)
  110. X      - Feb 23 1992, klin
  111. X       Key handling changed. Bindings screen and user customizable and
  112. X       definable key bindings added. Key bindings from statically defined
  113. X       bindings to default bindings changed which are bound at startup.
  114. X       User defined key bindings can be done at startup in terminal
  115. X       dependent binding files or at run time on the bindings screen.
  116. X       Variable HISTSIZE (settable at startup only) added.
  117. X       Save variables, commands, history and key bindings if there were
  118. X       any changes and if the new variable AUTOSAVE is set to ON.
  119. X       Command line option -o for omitting saving changes added
  120. X      - Mar  6 1992, klin
  121. X       Some minor changes before distribution
  122. X
  123. END_OF_FILE
  124. if test 4308 -ne `wc -c <'CHANGES'`; then
  125.     echo shar: \"'CHANGES'\" unpacked with wrong size!
  126. fi
  127. # end of 'CHANGES'
  128. fi
  129. if test -f 'COPYRIGHT' -a "${1}" != "-c" ; then 
  130.   echo shar: Will not clobber existing file \"'COPYRIGHT'\"
  131. else
  132. echo shar: Extracting \"'COPYRIGHT'\" \(5309 characters\)
  133. sed "s/^X//" >'COPYRIGHT' <<'END_OF_FILE'
  134. X
  135. X             UTREE - screen oriented filesystem utility
  136. X     COPYRIGHT and distribution notice, klin, Sun Feb 16 16:28:43 1992
  137. X
  138. X------------------------------------------------------------------------------
  139. X
  140. X                  UTREE version 3.03-um
  141. X       Copyright (c) 1991/92 Peter Klingebiel & UNIX Magazin
  142. X                   All rights reserved.
  143. X
  144. X------------------------------------------------------------------------------
  145. X
  146. Remember, you get what you pay for. The author and UNIX Magazin are not liable
  147. for any bugs or consequential damages arising from the use of this software.
  148. However, they may fix bugs if they are asked nicely.
  149. X
  150. X------------------------------------------------------------------------------
  151. X
  152. X                       *** NO WARRANTY ***
  153. X
  154. BECAUSE THIS PROGRAM IS LICENSED FREE OF CHARGE, THE AUTHOR AND UNIX MAGAZIN
  155. PROVIDE ABSOLUTELY NO WARRANTY, TO THE EXTENT PERMITTED BY APPLICABLE STATE
  156. LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING, THE AUTHORS AND/OR OTHER
  157. PARTIES PROVIDE THIS PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  158. XEXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  159. MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
  160. THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
  161. PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
  162. CORRECTION.
  163. X
  164. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL THE AUTHORS AND/OR ANY
  165. OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THIS PROGRAM BE LIABLE TO YOU
  166. XFOR DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
  167. INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
  168. X(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE
  169. OR LOSSES SUSTAINED BY THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
  170. WITH ANY OTHER PROGRAMS) THIS PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE
  171. POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  172. X
  173. X------------------------------------------------------------------------------
  174. X
  175. X                 *** GENERAL PUBLIC LICENSE TO COPY ***
  176. X
  177. X1. You may copy and distribute verbatim copies of this program as you receive
  178. it, in any medium, provided that you conspicuously and appropriately publish on
  179. each copy a valid copyright notice,
  180. X
  181. X          "Copyright (c) 1991 Peter Klingebiel & UNIX Magazin"
  182. X
  183. and include following the copyright notice a verbatim copy of the above
  184. disclaimer of warranty and of this License. You may charge a distribution fee
  185. for the physical act of transferring a copy.
  186. X
  187. X2. You may modify your copy or copies of this source file or any portion of it,
  188. and copy and distribute such modifications under the terms of Paragraph 1 above,
  189. provided that you also do the following:
  190. X
  191. X  a) cause the modified files to carry prominent notices stating that you
  192. X     changed the files and the date of any change, and
  193. X
  194. X  b) cause the whole of any work that you distribute or publish, that in
  195. X     whole or in part contains or is a derivative of this program or any part
  196. X     thereof, to be licensed at no charge to all third parties on terms
  197. X     identical to those contained in this License Agreement (except that you
  198. X     may choose to grant more extensive warranty protection to third parties,
  199. X     at your option).
  200. X
  201. X  c) You may charge a distribution fee for the physical act of transferring
  202. X     a copy, and you may at your option offer warranty protection in
  203. X     exchange for a fee.
  204. X
  205. X3. You may copy and distribute this program or any portion of it in compiled,
  206. executable or object code form under the terms of Paragraphs 1 and 2 above
  207. provided that you do the following:
  208. X
  209. X  a) cause each such copy to be accompanied by the corresponding
  210. X     machine-readable source code, which must be distributed under the terms
  211. X     of Paragraphs 1 and 2 above, or
  212. X
  213. X  b) cause each such copy to be accompanied by a written offer, with no time
  214. X     limit, to give any third party free (except possibly for a nominal
  215. X     shipping charge) a machine readable copy of the corresponding source
  216. X     code, to be distributed under the terms of Paragraphs 1 and 2 above, or
  217. X
  218. X  c) in the case of a recipient of this program in compiled, executable or
  219. X     object code form (without the corresponding source code), you shall
  220. X     cause copies you distribute to be accompanied by a copy of the written
  221. X     offer of source code which you received along with the copy you received.
  222. X
  223. X4. You may not copy, sublicense, distribute or transfer this program except as
  224. expressly provided under this License Agreement. Any attempt otherwise to copy,
  225. sublicense, distribute or transfer this program is void and your rights to use
  226. the program under this License Agreement shall be automatically terminated.
  227. However, parties who have received computer software programs from you with
  228. this License Agreement will not have their licenses terminated so long as such
  229. parties remain in full compliance.
  230. X
  231. X------------------------------------------------------------------------------
  232. X
  233. In other words, you are welcome to use, share and improve this program. You
  234. are forbidden to forbid anyone else to use, share and improve what you
  235. give them. Help stamp out software-hoarding!
  236. X
  237. X------------------------------------------------------------------------------
  238. X
  239. END_OF_FILE
  240. if test 5309 -ne `wc -c <'COPYRIGHT'`; then
  241.     echo shar: \"'COPYRIGHT'\" unpacked with wrong size!
  242. fi
  243. # end of 'COPYRIGHT'
  244. fi
  245. if test -f 'MANIFEST' -a "${1}" != "-c" ; then 
  246.   echo shar: Will not clobber existing file \"'MANIFEST'\"
  247. else
  248. echo shar: Extracting \"'MANIFEST'\" \(5433 characters\)
  249. sed "s/^X//" >'MANIFEST' <<'END_OF_FILE'
  250. X
  251. X         UTREE 3.03-um - screen oriented filesystem utility
  252. X            MANIFEST, klin, Sun Feb 23 23:55:21 1992
  253. X
  254. X------------------------------------------------------------------------------
  255. X
  256. X       bin                     - Utree executable directory
  257. X       doc                     - Utree manual pages
  258. X       lib                     - Utree library files
  259. X       src                     - Utree source directory
  260. X       sup                     - Additional support routines from PD
  261. X       sys                     - Some system dependent make and conf files
  262. X       tst                     - Some simple test programs for configuration
  263. X
  264. X       README                  - Readme first
  265. X       MANIFEST                - This file
  266. X       COPYRIGHT               - Copyright and distribution notice
  267. X       CHANGES                 - Changes since utree version 3.00-um
  268. X       TODO                    - Ideas for further extensions
  269. X       Makefile                - Makefile for exes, manual and installation
  270. X
  271. X       src/Makefile            - Makefile for utree executable
  272. X       src/cmds.h              - Command definitions
  273. X       src/conf.h              - System dependent definitions
  274. X       src/defs.h              - General definitions
  275. X       src/help.h              - Help page definitions
  276. X       src/hist.h              - Shell execution and history definitions
  277. X       src/keys.h              - Keyboard and key definitions
  278. X       src/list.h              - Tree and file list definitions
  279. X       src/term.h              - Terminal and screen definitions
  280. X       src/vars.h              - Variable definitions
  281. X       src/bind.c              - Key binding routines
  282. X       src/comm.c              - Common commands for tree and file screen
  283. X       src/echo.c              - Utree input and output routines
  284. X       src/edit.c              - Line editor
  285. X       src/file.c              - File screen menu and functions
  286. X       src/help.c              - Help page menu and functions
  287. X       src/hist.c              - Shell execution and command history
  288. X       src/list.c              - Directory and file list handling
  289. X       src/main.c              - Main routine
  290. X       src/stat.c              - File status functions
  291. X       src/term.c              - Tty and screen handling
  292. X       src/tree.c              - Directory tree screen menu and functions
  293. X       src/util.c              - Utility routines
  294. X       src/vars.c              - Utree variable routines
  295. X       src/vers.c              - Utree version and history
  296. X       src/utree.prlist.c      - Filter for formatted tree list files
  297. X
  298. X       bin/utree.backup        - Example backup shell script (SYSV)
  299. X       bin/utree.mklist        - Example create tree list shell script
  300. X       bin/utree.mklist2       - Alternate utree.mklist from R. Gebhardt
  301. X       bin/qtree               - Shell script for quick startup
  302. X       bin/xtree               - Shell script for running utree in xterm
  303. X
  304. X       lib/utree.help          - Utree help pages
  305. X       lib/utree.binding       - Example keybinding file ($HOME/.utree-term)
  306. X       lib/utree.startup       - Example startup file ($HOME/.utree)
  307. X
  308. X       doc/utree.1             - Manual page for utree
  309. X       doc/utree.prlist.1      - Manual page for utree.prlist
  310. X
  311. X       sup/README              - Readme for varargs v[fs]printf
  312. X       sup/getopt.c            - PD command line option parser getopt(3)
  313. X       sup/vsprintf.c          - PD varargs sprintf(3)
  314. X       sup/vfprintf.c          - PD varargs fprintf(3) (not used by utree)
  315. X
  316. X       sys/Makefile.286        - UNIX V/286 compatible (MSC on SCO UNIX/386)
  317. X       sys/conf.h.286
  318. X       sys/Makefile.AIX        - AIX 3.1 (IBM RS/6000)
  319. X       sys/conf.h.AIX
  320. X       sys/Makefile.APP        - DomainIX 9.5 (BSD4.2 and SystemV)
  321. X       sys/conf.h.APP            Siemens WS30/360, Apollo Domain DN4500
  322. X       sys/Makefile.BSD        - BSD 4.2/4.3 (Generic)
  323. X       sys/conf.h.BSD
  324. X       sys/Makefile.CON        - ConvexOS 8.1 (Convex C120)
  325. X       sys/conf.h.CON
  326. X       sys/Makefile.M16        - MUNIX V2/07 (PCS Cadmus 9230, MC68010)
  327. X       sys/conf.h.M16
  328. X       sys/Makefile.M32        - MUNIX V3M3.2 (PCS Cadmus 9600, MC68020)
  329. X       sys/conf.h.M32
  330. X       sys/Makefile.MIPS       - RISC/os 4.51 (MIPS RC3230, R3000)
  331. X       sys/conf.h.MIPS
  332. X       sys/Makefile.RCU        - MUNIX V3R3.2 (PCS Cadmus 9900, MIPS R[23]000)
  333. X       sys/conf.h.RCU            derived from MIPS RISC/os 4.00
  334. X       sys/Makefile.SCO        - SCO UNIX System V/386 3.2
  335. X       sys/conf.h.SCO
  336. X       sys/Makefile.SEQ        - Dynix i386 (Sequent Symmetrie)
  337. X       sys/conf.h.SEQ
  338. X       sys/Makefile.SGI        - IRIX V.3.2 (Silicon Graphics)
  339. X       sys/conf.h.SGI
  340. X       sys/Makefile.SUN        - SunOS 4.1.x (SUN4, SPARC)
  341. X       sys/conf.h.SUN
  342. X       sys/Makefile.ULT        - Ultrix-32 3.1 (DECstation, VAXstation)
  343. X       sys/conf.h.ULT
  344. X       sys/Makefile.V.2        - System V.2 (Generic)
  345. X       sys/conf.h.V.2
  346. X       sys/Makefile.V.3        - System V.3 (Generic)
  347. X       sys/conf.h.V.3
  348. X       sys/Makefile.VAX        - 4.3 BSD UNIX (DEC VAX/750)
  349. X       sys/conf.h.VAX
  350. X       sys/Makefile.X23        - SCO XENIX SysV 2.3.2 386GT
  351. X       sys/conf.h.X23
  352. X
  353. X       tst/fionread.c          - Test ioctl(FIONREAD)
  354. X       tst/sigwinch.c          - Test signal SIGWINCH and ioctl(TIOCGWINSZ)
  355. X                                 after resizing a terminal window under X.
  356. X
  357. X------------------------------------------------------------------------------
  358. X
  359. END_OF_FILE
  360. if test 5433 -ne `wc -c <'MANIFEST'`; then
  361.     echo shar: \"'MANIFEST'\" unpacked with wrong size!
  362. fi
  363. # end of 'MANIFEST'
  364. fi
  365. if test -f 'Makefile' -a "${1}" != "-c" ; then 
  366.   echo shar: Will not clobber existing file \"'Makefile'\"
  367. else
  368. echo shar: Extracting \"'Makefile'\" \(5083 characters\)
  369. sed "s/^X//" >'Makefile' <<'END_OF_FILE'
  370. X#
  371. X#       Makefile for UTREE 3.03-um
  372. X#       klin, Sun Feb 16 16:35:52 1992
  373. X#
  374. X#       Steps to create an utree executable:
  375. X#       - First check src/Makefile if all definitions are correct for
  376. X#         your system. There are some Makefiles for SYSV.2, SYSV.3 and
  377. X#         BSD. Check and change the correct Makefile for your system and
  378. X#         copy it to Makefile.
  379. X#       - Then check src/conf.h if all definitions are correct for
  380. X#         your system. There are some conf.h for SYSV.2, SYSV.3 and
  381. X#         BSD. Check and change the correct conf.h for your system and
  382. X#         copy it to conf.h.
  383. X#       - Call make or make utree to create utree. The executable
  384. X#         is written into the bin directory. Test utree.
  385. X#
  386. X#       Steps to create utree man page:
  387. X#       - Check all manual definitions in this Makefile and change them if
  388. X#         needed.
  389. X#       - Call make man to create the utree manual page if your
  390. X#         systems needs formatted and/or packed manual pages.
  391. X#
  392. X#       Steps to install utree:
  393. X#       - Check all install definitions in this Makefile and change them if
  394. X#         needed.
  395. X#       - Call make install to install utree executables and manual
  396. X#         page (you must be super user to do this).
  397. X#
  398. X
  399. X# --------------------------------------------------------------------- #
  400. X
  401. X# Utree executables
  402. X#   The utree utility
  403. UTREE=utree
  404. X#   The tree list formatter
  405. UTPRL=utree.prlist
  406. X
  407. X# Utree support shell scripts
  408. UHELP=  utree.help      # Utree help pages
  409. UBACK=  utree.backup    # Utree backup shell script
  410. ULIST=  utree.mklist    # Create directory lists for quicker startup
  411. X
  412. UTMAN=  utree.1         # Utree man page
  413. UPMAN=  utree.prlist.1  # Utree.prlist man page
  414. X
  415. X# --------------------------------------------------------------------- #
  416. X
  417. X# Create utree executable
  418. X
  419. all:    $(UTREE) $(UTPRL)
  420. X
  421. clean:    clean.real
  422. X    ( cd src; make -f ../Makefile clean.real )
  423. X    ( cd bin; make -f ../Makefile clean.real )
  424. X
  425. clean.real:
  426. X    -rm -f *.o *.BAK *.CKP *~
  427. X    -rm -f core $(UTREE) $(UTPRL)
  428. X
  429. X# Compile and link utree executables
  430. X$(UTREE):
  431. X    @echo "Make $(UTREE)"
  432. X    cd src; make $@
  433. X
  434. X$(UTPRL):
  435. X    @echo "Make $(UTPRL)"
  436. X    cd src; make $@
  437. X
  438. X# Strip off symbols
  439. strip:
  440. X    @echo "Make stripped $(UTREE)"
  441. X    cd src; make $@
  442. X
  443. X# --------------------------------------------------------------------- #
  444. X
  445. X# Utree manual pages. Edit and change the following lines if needed!
  446. X
  447. X# Commands needed for utree manual page
  448. TBL=    tbl
  449. NROFF=  nroff
  450. CP=     cp
  451. RM=     rm
  452. PACK=   pack
  453. COMP=   compress
  454. X
  455. man:
  456. X# Unformatted manual pages
  457. X    $(CP)   doc/utree.m        doc/$(UTMAN).1
  458. X    $(CP)   doc/utree.prlist.m doc/$(UPMAN).1
  459. X# Formatted manual pages
  460. X#        $(TBL)  doc/utree.m        | $(NROFF) -man > doc/$(UTMAN)
  461. X#        $(TBL)  doc/utree.prlist.m | $(NROFF) -man > doc/$(UPMAN)
  462. X# Packed formatted manual pages
  463. X#         $(RM)   -f doc/$(UTMAN).z doc/$(UPMAN).z
  464. X#         $(PACK) doc/$(UTMAN) doc/$(UPMAN)
  465. X# Compressed formatted manual pages
  466. X#        $(RM)   -f doc/$(UTMAN).Z doc/$(UPMAN).Z
  467. X#        $(COMP) doc/$(UTMAN) doc/$(UPMAN)
  468. X
  469. X# --------------------------------------------------------------------- #
  470. X
  471. X# Install utree. Change the following lines if needed!
  472. X# WARNING: You must be super user to do this!
  473. X
  474. X# Bin, lib and man directories for utree files
  475. BINDIR= /usr/local/bin
  476. LIBDIR= /usr/local/lib
  477. MANDIR= /usr/local/man/man1
  478. X#MANDIR= /usr/local/man/cat1
  479. X
  480. X# Commands needed for installation of utree files
  481. CHMOD=  chmod
  482. CHOWN=  chown
  483. CHGRP=  chgrp
  484. MKDIR=    mkdir -p
  485. X
  486. X# Access modes and owner/group of utree binaries, help and man pages
  487. XXMODE=  0755
  488. RMODE=  0644
  489. OWNER=  bin
  490. GROUP=  bin
  491. X
  492. X# Sorry, not all UNIXes have the (BSD) install utility!
  493. install:
  494. X    @echo "Install $(UTREE)"
  495. X    -test -d $(BINDIR) || $(MKDIR) $(BINDIR)
  496. X    -test -d $(LIBDIR) || $(MKDIR) $(LIBDIR)
  497. X    -test -d $(MANDIR) || $(MKDIR) $(MANDIR)
  498. X    $(CP)    bin/$(UTREE) $(BINDIR)
  499. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UTREE)
  500. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UTREE)
  501. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UTREE)
  502. X    @echo "Install $(UTPRL)"
  503. X    $(CP)    bin/$(UTPRL) $(BINDIR)
  504. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UTPRL)
  505. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UTPRL)
  506. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UTPRL)
  507. X    @echo "Install $(UHELP) in $(LIBDIR)"
  508. X    $(CP)    lib/$(UHELP) $(LIBDIR)
  509. X    $(CHMOD) $(RMODE)     $(LIBDIR)/$(UHELP)
  510. X    $(CHOWN) $(OWNER)     $(LIBDIR)/$(UHELP)
  511. X    $(CHGRP) $(GROUP)     $(LIBDIR)/$(UHELP)
  512. X    @echo "Install $(UBACK) in $(BINDIR)"
  513. X    $(CP)    bin/$(UBACK) $(BINDIR)
  514. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(UBACK)
  515. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(UBACK)
  516. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(UBACK)
  517. X    @echo "Install $(ULIST) in $(BINDIR)"
  518. X    $(CP)    bin/$(ULIST) $(BINDIR)
  519. X    $(CHMOD) $(XMODE)     $(BINDIR)/$(ULIST)
  520. X    $(CHOWN) $(OWNER)     $(BINDIR)/$(ULIST)
  521. X    $(CHGRP) $(GROUP)     $(BINDIR)/$(ULIST)
  522. X    @echo "Install $(UTMAN) $(UPMAN) in $(MANDIR)"
  523. X    $(CP)    doc/$(UTMAN) doc/$(UPMAN) $(MANDIR)
  524. X    $(CHMOD) $(RMODE)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  525. X    $(CHOWN) $(OWNER)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  526. X    $(CHGRP) $(GROUP)    $(MANDIR)/$(UTMAN) $(MANDIR)/$(UPMAN)
  527. X
  528. X# --------------------------------------------------------------------- #
  529. X
  530. END_OF_FILE
  531. if test 5083 -ne `wc -c <'Makefile'`; then
  532.     echo shar: \"'Makefile'\" unpacked with wrong size!
  533. fi
  534. # end of 'Makefile'
  535. fi
  536. if test -f 'bin/utree.mklist2' -a "${1}" != "-c" ; then 
  537.   echo shar: Will not clobber existing file \"'bin/utree.mklist2'\"
  538. else
  539. echo shar: Extracting \"'bin/utree.mklist2'\" \(2580 characters\)
  540. sed "s/^X//" >'bin/utree.mklist2' <<'END_OF_FILE'
  541. X:
  542. X#       UTREE.MKLIST.SH
  543. X#       UTREE create tree directory list for quicker startup
  544. X#       3.00-um klin, Sat Apr 20 11:27:17 1991
  545. X#       Usage:          utree.mklist [-a]
  546. X#       Options:        -a      Read in all (including hidden) directories
  547. X#       Directory:      /usr/local/bin
  548. X#
  549. X#       Copyright (c) 1991 by Peter Klingebiel & UNIX Magazin Muenchen.
  550. X#       For copying and distribution information see the file COPYRIGHT.
  551. X#
  552. X#       SCCSID=@(#) utree.mklist.sh (utree 3.00-um) Apr 20 1991
  553. X#
  554. X#
  555. X#       Introduction of sort fields by Rolf Gebhardt
  556. X#
  557. X#       avoids funny sort orders, e.g.
  558. X#
  559. X#           /u/user/utree/utree.um
  560. X#           /u/user/utree/utree.um.1
  561. X#           /u/user/utree/utree.um.1/bin
  562. X#           /u/user/utree/utree.um.1/doc
  563. X#           /u/user/utree/utree.um/bin
  564. X#           /u/user/utree/utree.um/doc
  565. X#
  566. X#       the right sort order, which represents the directory-tree, is
  567. X#
  568. X#           /u/user/utree/utree.um
  569. X#           /u/user/utree/utree.um/bin
  570. X#           /u/user/utree/utree.um/doc
  571. X#           /u/user/utree/utree.um.1
  572. X#           /u/user/utree/utree.um.1/bin
  573. X#           /u/user/utree/utree.um.1/doc
  574. X#
  575. X#
  576. X#
  577. LIST=$HOME/.utreelist           # List file
  578. XFIELDS=""                       # Sort Field List generated below
  579. X                                # dependent on number of directory levels
  580. X
  581. if   test $# -eq 0              # Check option
  582. then
  583. X  AFLAG=
  584. elif test $# -eq 1 -a "$1" = "-a"
  585. then
  586. X  AFLAG=-a
  587. else
  588. X  echo "Usage: utree.mklist [-a]"
  589. X  exit 1
  590. fi
  591. X
  592. X         # count the number of directory levels
  593. X         # (to do it with 'awk' would be more elegant, but the method
  594. X         #  used here is faster than 'awk')
  595. X         #
  596. X         # e.g. for '/u/user/wrk/bin/xxx' we get 5 slashes plus one \n,
  597. X         # so 'wc' returns 6
  598. X         # the number of fields to sort is 5
  599. X         # sort field 0 is always empty
  600. X
  601. nofields=`find $HOME -type d -print | tr -cd "\012/" |\
  602. X          sort -r | head -1 | wc -c | tr -d "\040\011"`
  603. nofields=`expr $nofields - 1`
  604. X
  605. X         #  (debug statement)
  606. X         #  echo "nofields = $nofields"
  607. X         #
  608. X         #  generate the sort-fields parameter for 'sort'
  609. X         #
  610. X
  611. while [ $nofields -gt 1 ]
  612. do
  613. X  FIELDS="-$nofields +$nofields $FIELDS"
  614. X  nofields=`expr $nofields - 1`
  615. done
  616. X
  617. XFIELDS="+1 $FIELDS"
  618. X
  619. X         # (debug statements)
  620. X         # echo "fields: $FIELDS"
  621. X         # exit
  622. X
  623. echo "# utree tree list created at `date`" >$LIST
  624. if test "$AFLAG" = "-a"
  625. then
  626. X  find $HOME -type d -print | sort -t/ $FIELDS >>$LIST
  627. else
  628. X  find $HOME -type d -print | grep -v "/\." | sort -t/ $FIELDS >>$LIST
  629. fi
  630. exit 0
  631. X
  632. END_OF_FILE
  633. if test 2580 -ne `wc -c <'bin/utree.mklist2'`; then
  634.     echo shar: \"'bin/utree.mklist2'\" unpacked with wrong size!
  635. fi
  636. chmod +x 'bin/utree.mklist2'
  637. # end of 'bin/utree.mklist2'
  638. fi
  639. if test -f 'src/cmds.h' -a "${1}" != "-c" ; then 
  640.   echo shar: Will not clobber existing file \"'src/cmds.h'\"
  641. else
  642. echo shar: Extracting \"'src/cmds.h'\" \(2610 characters\)
  643. sed "s/^X//" >'src/cmds.h' <<'END_OF_FILE'
  644. X/*
  645. X *      CMDS.H
  646. X *      UTREE system command and filename definitions.
  647. X *      3.03-um klin, Tue Feb 11 19:23:58 1992, Splitted from conf.h
  648. X *
  649. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  650. X *      For copying and distribution information see the file COPYRIGHT.
  651. X */
  652. X#if     defined(_MAIN_) && !defined(lint)
  653. static char sccsid_cmds[] = "@(#) utree 3.03-um (klin) Feb 11 1992 cmds.h";
  654. X#endif  /* _MAIN_ && !lint */
  655. X
  656. X/*
  657. X *      SOME DEFAULT SYSTEM COMMANDS.
  658. X */
  659. X
  660. X/* May be overriden by environment or utree variables.                  */
  661. X#ifdef  BSD
  662. X# define SHELL    "csh"         /* Default shell. See csh(1)            */
  663. X# define EDITPRG  "vi"          /* Default editor. See vi(1)            */
  664. X# define PAGEPRG  "more"        /* Default pager. See more(1)           */
  665. X# define DUMPPRG  "od"          /* Default dumper. See od(1)            */
  666. X# define PRINTPRG "lpr"         /* Default printer. See lpr(1)          */
  667. X#else   /* SYSV */
  668. X# define SHELL    "sh"          /* Default shell. See sh(1)             */
  669. X# define EDITPRG  "ed"          /* Default editor. See ed(1)            */
  670. X# define PAGEPRG  "pg"          /* Default pager. See pg(1)             */
  671. X# define DUMPPRG  "od"          /* Default dumper. See od(1)            */
  672. X# define PRINTPRG "lp"          /* Default printer. See lp(1)           */
  673. X#endif  /* BSD */
  674. X
  675. X#define CPFILE  "cp"            /* Copy files. See cp(1)                */
  676. X#define MVFILE  "mv"            /* Move files. See mv(1)                */
  677. X#define LSFILE  "ls"            /* List files. See ls(1)                */
  678. X#define RMFILE  "rm"            /* Remove files. See rm(1)              */
  679. X#define RMOPTS  "-rf"           /* Remove all option                    */
  680. X#define MKDIR   "mkdir"         /* Create directory. See mkdir(1)       */
  681. X#define RMDIR   "rmdir"         /* Remove directory. See rmdir(1)       */
  682. X#define DUDIR   "du -s"         /* Directory disk usage. See du(1)      */
  683. X#define GRFILE  "grep"          /* Search in files. See grep(1)         */
  684. X#define GROPTS  "-c"            /* Print count only option              */
  685. X
  686. X/*
  687. X *      FILENAMES USED BY UTREE.
  688. X */
  689. X
  690. X#define UTBCKUP "utree.backup"  /* Utree backup shell script            */
  691. X#define UTBACK  "utree.bak"     /* Utree backup file list               */
  692. X#define UTHELP  "utree.help"    /* Utree help pages                     */
  693. X#define UTSTART "utree"         /* Utree startup file in home or libdir */
  694. X#define UTLIST  ".utreelist"    /* Utree tree list file in $HOME        */
  695. X#define UTHIST  ".utreehist"    /* Utree command history file in $HOME  */
  696. X
  697. END_OF_FILE
  698. if test 2610 -ne `wc -c <'src/cmds.h'`; then
  699.     echo shar: \"'src/cmds.h'\" unpacked with wrong size!
  700. fi
  701. # end of 'src/cmds.h'
  702. fi
  703. if test -f 'src/help.c' -a "${1}" != "-c" ; then 
  704.   echo shar: Will not clobber existing file \"'src/help.c'\"
  705. else
  706. echo shar: Extracting \"'src/help.c'\" \(5676 characters\)
  707. sed "s/^X//" >'src/help.c' <<'END_OF_FILE'
  708. X/*
  709. X *      HELP.C
  710. X *      UTREE help routines.
  711. X *      3.01-um klin, Sat Apr 20 11:02:33 1991
  712. X *      3.03-um klin, Sat Feb 15 18:34:27 1992, Minor changes
  713. X *
  714. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  715. X *      For copying and distribution information see the file COPYRIGHT.
  716. X */
  717. X#ifndef lint
  718. static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 help.c";
  719. X#endif  /* !lint */
  720. X
  721. X#include "defs.h"
  722. X
  723. X/* ---- Local variables and definitions ------------------------------- */
  724. X
  725. LOCAL hlist *hroot = HNULL;     /* Root of help pages                   */
  726. LOCAL char *helpmenu = NULL;    /* Help menuline                        */
  727. LOCAL char helpfile[NAMELEN];   /* Help file name                       */
  728. X
  729. X#define LINELEN 128             /* Max line length for help pages       */
  730. X
  731. X/* ---- External variables and functions ------------------------------ */
  732. X
  733. XEXTRN long ftell();
  734. X
  735. X/* ---- Functions and procedures -------------------------------------- */
  736. X
  737. X/*
  738. X *      INTERNAL USED ROUTINES
  739. X */
  740. X
  741. X/* Insert a help page for topic s into help page list for file fp */
  742. LOCAL VOID inserthelp(s, fp)
  743. X  register char *s;
  744. X  register FILE *fp;
  745. X{
  746. X  char buf[LINELEN];
  747. X  register hlist *hp, *np;
  748. X  register char *i, k;
  749. X  register long p;
  750. X  register int n;
  751. X
  752. X  p = ftell(fp);                /* Get position of topic in help file */
  753. X  i = s;                        /* and menu line item */
  754. X  while(*s && !(*s == ' ' || *s == '\t' || *s == '\n'))
  755. X    ++s;
  756. X  *s = '\0';
  757. X  /* Count number of lines for this help page */
  758. X  for(n = 0; fgets(buf, sizeof(buf), fp); n++)
  759. X    if(buf[0] == '#' && buf[1] == '@')
  760. X      break;
  761. X  if(*i && p > 0 && n > 0) {    /* Get the hotkey for help menu topic */
  762. X    s = i;
  763. X    k = *i;
  764. X    while(*s) {
  765. X      if(*s >= 'A' && *s <= 'Z') {
  766. X       k = *s;
  767. X       break;
  768. X      }
  769. X      ++s;
  770. X    }
  771. X    /* Get space for help page, fill up data and insert into list */
  772. X    hp = (hlist *) ualloc(1, sizeof(hlist));
  773. X    (void) strncpy(HITEM(hp), i, ITEMLEN-1);
  774. X    HHKEY(hp) = isupper(k) ? tolower(k) : k;
  775. X    HSPOS(hp) = p;
  776. X    HNLIN(hp) = n;
  777. X    HNEXT(hp) = HNULL;
  778. X    if(hroot == HNULL)
  779. X      hroot = hp;
  780. X    else {
  781. X      for(np = hroot; HNEXT(np); np = HNEXT(np))
  782. X       ;
  783. X      HNEXT(np) = hp;
  784. X    }
  785. X  }
  786. X
  787. X} /* inserthelp() */
  788. X
  789. X/* Show help page hp from help file fp */
  790. LOCAL int showhelppage(hp, fp)
  791. X  register hlist *hp;
  792. X  register FILE *fp;
  793. X{
  794. X  char buf[LINELEN];
  795. X  register int n, l, c;
  796. X
  797. X  puthelp("%s: About %s (Q:quit  ELSE:helpmenu)", who, HITEM(hp));
  798. X  clearwindow(firstline, lastline);
  799. X  flushout();
  800. X  c = RV_OK;
  801. X  for(n = 0, l = firstline; n < HNLIN(hp); ) {
  802. X    if(fgets(buf, sizeof(buf), fp))
  803. X      (void) putsxy(0, l, buf);
  804. X    else
  805. X      break;
  806. X    ++n;
  807. X    ++l;
  808. X    if(l > lastfline && n < HNLIN(hp)) {
  809. X      puthelp("%s: About %s (CR:continue  Q:quit  ELSE:helpmenu)", who, HITEM(hp));
  810. X      c = hitakey("Help:", echoline, DA_NONE);
  811. X      puthelp("%s: About %s (Q:quit  ELSE:help)", who, HITEM(hp));
  812. X      if( !(c == ' ' || c == '\n'))
  813. X       break;
  814. X      l = firstline;
  815. X      clearwindow(firstline, lastline);
  816. X      flushout();
  817. X    }
  818. X  }
  819. X  if(c == 'q' || c < RV_NUL)
  820. X    return(c);
  821. X  puthelp("%s: About %s %s", who, HITEM(hp), hitkey);
  822. X  (void) putecho("Help about %s done", HITEM(hp));
  823. X  return(hitakey(NULL));
  824. X
  825. X} /* showhelppage() */
  826. X
  827. X/* Utree help pages are contained in a help file. Each help page is     */
  828. X/* enclosed in a pair of lines '#@item' and '#@' which signal start and */
  829. X/* end of the help page to topic 'item'. This item is also copied into  */
  830. X/* the help menuline and the first character or the first upper case    */
  831. X/* character from item if found is used as hot key for selecting the    */
  832. X/* help page to this topic. The initialization routine scans the help   */
  833. X/* file and builds up a list of available help pages from this file.    */
  834. GLOBL VOID inithelp()
  835. X{
  836. X  char buf[NAMELEN];
  837. X  register FILE *fp;
  838. X  register hlist *hp;
  839. X  register int l, i;
  840. X
  841. X#ifdef  UTHELP
  842. X  if(startup(buf, UTHELP) && (fp = fopen(buf, "r"))) {
  843. X    (void) strcpy(helpfile, buf);
  844. X    /* First read help file and insert help pages into list */
  845. X    while(fgets(buf, sizeof(buf), fp))
  846. X      if(buf[0] == '#' && buf[1] == '@' && buf[2])
  847. X       inserthelp(&buf[2], fp);
  848. X    /* Second build from help items the help menu line */
  849. X    l = columns - 4;
  850. X    helpmenu = ualloc((unsigned) l, sizeof(char));
  851. X    for(hp = hroot, i = 0; hp; hp = HNEXT(hp)) {
  852. X      i += strlen(HITEM(hp)) + 1;
  853. X      if(i >= l)
  854. X       break;
  855. X      (void) strcat(helpmenu, " ");
  856. X      (void) strcat(helpmenu, HITEM(hp));
  857. X    }
  858. X    (void) fclose(fp);
  859. X    if((i + 5) < l)
  860. X      (void) strcat(helpmenu, " Quit");
  861. X  }
  862. X#endif
  863. X
  864. X} /* inithelp() */
  865. X
  866. X/* Display help menu and help pages */
  867. GLOBL int showhelp(k)
  868. X  register int k;
  869. X{
  870. X  register FILE *fp;
  871. X  register hlist *hp;
  872. X  register int c;
  873. X
  874. X  who = "HELP";
  875. X  if(hroot == HNULL || !(fp = fopen(helpfile, "r"))) {
  876. X    puthelp("%s %s", who, hitkey);
  877. X    return(errequest("Help", "Not available"));
  878. X  }
  879. X
  880. X  /* Help menu loop */
  881. X  do {
  882. X    if(k) {
  883. X      c = k;
  884. X      k = 0;
  885. X    }
  886. X    else {
  887. X      if( !keypressed()) {
  888. X       putmenu("HELP:", helpmenu);
  889. X       (void) putecho("Help about which topic:");
  890. X      }
  891. X      if((c = hitakey(NULL)) == 'q' || c < RV_NUL)
  892. X       break;
  893. X      else if(isupper(c))
  894. X       c = tolower(c);
  895. X    }
  896. X    for(hp = hroot; hp && HHKEY(hp) != c; hp = HNEXT(hp))
  897. X      ;
  898. X    if(hp == HNULL || fseek(fp, HSPOS(hp), 0))
  899. X      break;
  900. X    c = showhelppage(hp, fp);
  901. X    treeflag = fileflag = SF_FULL;
  902. X  } while(c != 'q' && c > RV_NUL);
  903. X
  904. X  /* Close help file and return */
  905. X  (void) fclose(fp);
  906. X  if(c == 'q' || c < RV_NUL)
  907. X    return(c);
  908. X  return(putversion(echoline, "HELP: Done"));
  909. X
  910. X} /* showhelp() */
  911. X
  912. END_OF_FILE
  913. if test 5676 -ne `wc -c <'src/help.c'`; then
  914.     echo shar: \"'src/help.c'\" unpacked with wrong size!
  915. fi
  916. # end of 'src/help.c'
  917. fi
  918. if test -f 'src/term.h' -a "${1}" != "-c" ; then 
  919.   echo shar: Will not clobber existing file \"'src/term.h'\"
  920. else
  921. echo shar: Extracting \"'src/term.h'\" \(4300 characters\)
  922. sed "s/^X//" >'src/term.h' <<'END_OF_FILE'
  923. X/*
  924. X *      TERM.H
  925. X *      UTREE terminal and screen definitions.
  926. X *      3.01-um klin, Wed May  1 14:34:34 1991
  927. X *              klin, Sat Oct 26 15:27:00 1991, Some additions
  928. X *      3.02-um klin, Fri Nov  1 10:44:45 1991, Screen layout changed
  929. X *              klin, Sun Nov 24 15:12:48 1991, Video attributes changed
  930. X *      3.03-um klin, Tue Feb 11 19:39:09 1992, Video attributes changed
  931. X *
  932. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  933. X *      For copying and distribution information see the file COPYRIGHT.
  934. X */
  935. X#if     defined(_MAIN_) && !defined(lint)
  936. static char sccsid_term[] = "@(#) utree 3.03-um (klin) Feb 11 1992 term.h";
  937. X#endif  /* _MAIN_ && !lint */
  938. X
  939. X#define MINCOLS 80              /* Min number of screen columns needed  */
  940. X#define MINLINS 24              /* Min number of screen lines needed    */
  941. X
  942. X/* Return values from getline()                                         */
  943. X#define EMPTY   0               /* Input is empty                       */
  944. X#define DONE    1               /* Input not empty and ok               */
  945. X
  946. X/* Video attribute flags                                                */
  947. X#define VA_NORMAL       0x00    /* Reset all video attributes           */
  948. X#define VA_REVERSE      0x01    /* Video reverse   attribute            */
  949. X#define VA_BLINK        0x02    /* Video blink     attribute            */
  950. X#define VA_HALF         0x04    /* Half bright     attribute            */
  951. X#define VA_BOLD         0x08    /* Video bold      attribute            */
  952. X#define VA_UNDERLINE    0x10    /* Video underline attribute            */
  953. X
  954. X/* Cursor functions                                                     */
  955. X#define CF_VISIBLE      0x01    /* Cursor visible                       */
  956. X#define CF_INVISIBLE    0x02    /* Cursor invisible                     */
  957. X#define CF_SAVE         0x04    /* Save cursor position                 */
  958. X#define CF_RESTORE      0x08    /* Restore cursor position              */
  959. X
  960. X/* Keypad functions                                                     */
  961. X#define KP_NORMAL       0x00    /* Switch keypad to normal mode         */
  962. X#define KP_XMIT         0x01    /* Switch keypad to transmit mode       */
  963. X
  964. X/* Graphical charset functions                                          */
  965. X#define GC_OFF          0x00    /* Turn off graph charset               */
  966. X#define GC_ON           0x01    /* Turn on graph charset                */
  967. X
  968. X/* The graph charset is accessed and hidden by the following macros     */
  969. X#define GC_HB   _graphset[0]    /* Horizontal bar                       */
  970. X#define GC_VB   _graphset[1]    /* Vertical bar                         */
  971. X#define GC_LT   _graphset[2]    /* Left tee                             */
  972. X#define GC_RT   _graphset[3]    /* Right tree                           */
  973. X#define GC_TT   _graphset[4]    /* Top tee                              */
  974. X#define GC_BT   _graphset[5]    /* Bottom tee                           */
  975. X#define GC_UL   _graphset[6]    /* Upper left corner                    */
  976. X#define GC_LL   _graphset[7]    /* Lower left corner                    */
  977. X#define GC_UR   _graphset[8]    /* Upper right corner                   */
  978. X#define GC_LR   _graphset[9]    /* Lower right corner                   */
  979. X#define GC_TG   _graphset[10]   /* Tag sign (diamond or plus)           */
  980. X
  981. X#define NGRAPH  11              /* Max number of graphic characters     */
  982. X
  983. X#ifdef _MAIN_
  984. int columns, lines;             /* Number of screen columns and lines   */
  985. int glitchcap;                  /* Standout mode/underline glitch flag  */
  986. int scrollcap;                  /* Window/scrolling capabilities flag   */
  987. int cursorcap;                  /* Cursor capabilities                  */
  988. int videocap;                   /* Video capabilities flag              */
  989. int graphcap;                   /* Graphic character set flag           */
  990. char _graphset[NGRAPH];         /* Graphic character set                */
  991. X#else   /* !_MAIN_ */
  992. extern int columns, lines;
  993. extern int glitchcap, scrollcap, cursorcap, videocap, graphcap;
  994. extern char _graphset[];
  995. X#endif  /* _MAIN_ */
  996. X
  997. X#ifdef  putchar                 /* Don't use stdio.h's putchar macro    */
  998. X# undef putchar
  999. X#endif
  1000. X#ifdef  getchar                 /* Don't use stdio.h's getchar macro    */
  1001. X# undef getchar
  1002. X#endif
  1003. X
  1004. X
  1005. END_OF_FILE
  1006. if test 4300 -ne `wc -c <'src/term.h'`; then
  1007.     echo shar: \"'src/term.h'\" unpacked with wrong size!
  1008. fi
  1009. # end of 'src/term.h'
  1010. fi
  1011. if test -f 'src/vers.c' -a "${1}" != "-c" ; then 
  1012.   echo shar: Will not clobber existing file \"'src/vers.c'\"
  1013. else
  1014. echo shar: Extracting \"'src/vers.c'\" \(4935 characters\)
  1015. sed "s/^X//" >'src/vers.c' <<'END_OF_FILE'
  1016. X/*
  1017. X *      VERS.C
  1018. X *      UTREE version and history.
  1019. X *      1.00    klin, Jul 12 1988 -- Initial version
  1020. X *      1.01    klin, Jul 17 1988 -- Remove filesystems completely
  1021. X *      1.02    klin, Feb  5 1990 -- Ported to BSD
  1022. X *                                   Filesystem independent directory handling
  1023. X *                                   Screen handling extracted from screen lib
  1024. X *      2.00    klin, Nov 10 1990 -- Changes and extensions
  1025. X *      2.01    klin, Jan 26 1991 -- Some bug fixes
  1026. X *      2.02    klin, Mar 23 1991 -- User defined commands
  1027. X *                                   File type commands
  1028. X *                                   Some minor changes and bug fixes
  1029. X *                    Apr  7 1991 -- File pattern extended
  1030. X *      3.00-um klin, Apr 20 1991 -- Bug fixes
  1031. X *                    May  5 1991 -- Some more extensions
  1032. X *      3.01-um klin, Jun  4 1991 -- File zooming added
  1033. X *                    Oct  7 1991 -- File size patterns added
  1034. X *                                   Bug in putchar() deleted
  1035. X *                    Oct 15 1991 -- Handling of symlinks changed
  1036. X *                                   Option -L added
  1037. X *                    Oct 26 1991 -- Marking directories changed
  1038. X *                                   Sorting and zooming filelists changed
  1039. X *                                   Print tree list added
  1040. X *                                   writedlist() changed
  1041. X *                                   Copying and moving files changed
  1042. X *                                   Select directory added
  1043. X *      3.02-um klin, Nov  1 1991 -- Screen layout changed
  1044. X *                                   Goto parent directory added
  1045. X *                                   Marking files changed
  1046. X *                                   Option -u changed to -n
  1047. X *                                   Option -u (update tree) added
  1048. X *              klin, Nov 10 1991 -- buildlist() changed
  1049. X *                                   Function key handling changed
  1050. X *              klin, Nov 24 1991 -- Some error fixes and extensions for XENIX
  1051. X *                                   reported and done by Rolf Gebhardt (Nov 22 1991)
  1052. X *                                   Video attributes changed
  1053. X *                                   Cd to current directory before executing
  1054. X *                                   some commands
  1055. X *      3.03-um klin, Feb 11 1992 -- Shell screen put into module hist.[ch]
  1056. X *                                   Shell command history added
  1057. X *                                   Status screen put into module stat.c
  1058. X *                                   Generic list type glist added
  1059. X *                                   Line editor extended, getline() and
  1060. X *                                   editline() changed
  1061. X *                                   Handling of variables and filetype
  1062. X *                                   commands changed
  1063. X *                                   Minor changes in screen layout
  1064. X *              klin, Feb 15 1992 -- Video handling changed, display attributes
  1065. X *                                   and video mode flag added
  1066. X *                                   Partitioning of directory and file window on
  1067. X *                                   tree screen changed and option -p added
  1068. X *              klin, Feb 22 1992 -- Many commands on tree screen changed
  1069. X *              klin, Feb 23 1992 -- Key handling and key bindings changed
  1070. X *                                   User customizable key bindings added
  1071. X *                                   Variables added
  1072. X *              klin, Mar  6 1992 -- Minor changes before distribution
  1073. X *            a klin, Mar 15 1992 -- Bug fixes and minor changes
  1074. X *            b klin, Mar 19 1992 -- Bug fixes in setvariable() and editline()
  1075. X *
  1076. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1077. X *      For copying and distribution information see the file COPYRIGHT.
  1078. X */
  1079. X#ifndef lint
  1080. static char sccsid[] = "@(#) utree 3.03-um (klin) Feb 15 1992 vers.c";
  1081. X#endif  /* !lint */
  1082. static char version[]   = "@(#) UTREE 3.03b-um";
  1083. static char copyright[] = "@(#) (C) 1991/92 P. Klingebiel & UNIX Magazin";
  1084. static char release[]   = "@(#) Release: Mar 19 1992";
  1085. X
  1086. X#define VERS    &version[5]
  1087. X#define COPY    ©right[5]
  1088. X#define DATE    &release[5]
  1089. X
  1090. X#include "defs.h"
  1091. X
  1092. X/* ---- Functions and procedures -------------------------------------- */
  1093. X
  1094. X/* Write version string to echoline or helpline */
  1095. GLOBL int putversion(l, s)
  1096. X  register int l;
  1097. X  register char *s;
  1098. X{
  1099. X  if(l == helpline) {
  1100. X    puthelp(" %s %s (%s)", VERS, COPY, DATE);
  1101. X    return(RV_OK);
  1102. X  }
  1103. X  else if(s) {
  1104. X    puthelp("%s %s", s, hitkey);
  1105. X    (void) putecho("%s %s (%s)", VERS, COPY, DATE);
  1106. X    return(hitakey(NULL));
  1107. X  }
  1108. X
  1109. X} /* putversion() */
  1110. X
  1111. X/* Print version string */
  1112. GLOBL VOID utreeversion()
  1113. X{
  1114. X  (void) fprintf(stdout, "%s %s (%s)\n", VERS, COPY, DATE);
  1115. X
  1116. X} /* utreeversion() */
  1117. X
  1118. X/* Return utree version */
  1119. GLOBL char *getversion()
  1120. X{
  1121. X  return(VERS);
  1122. X
  1123. X} /* getversion() */
  1124. X
  1125. END_OF_FILE
  1126. if test 4935 -ne `wc -c <'src/vers.c'`; then
  1127.     echo shar: \"'src/vers.c'\" unpacked with wrong size!
  1128. fi
  1129. # end of 'src/vers.c'
  1130. fi
  1131. if test -f 'sup/vfprintf.c' -a "${1}" != "-c" ; then 
  1132.   echo shar: Will not clobber existing file \"'sup/vfprintf.c'\"
  1133. else
  1134. echo shar: Extracting \"'sup/vfprintf.c'\" \(5468 characters\)
  1135. sed "s/^X//" >'sup/vfprintf.c' <<'END_OF_FILE'
  1136. X/* Portable vfprintf and vprintf by Robert A. Larson <blarson@skat.usc.edu> */
  1137. X
  1138. X/* Copyright 1989 Robert A. Larson.
  1139. X * Distribution in any form is allowed as long as the author
  1140. X * retains credit, changes are noted by their author and the
  1141. X * copyright message remains intact.  This program comes as-is
  1142. X * with no warentee of fitness for any purpouse.
  1143. X *
  1144. X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
  1145. X * the ansi printf specs.
  1146. X *
  1147. X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
  1148. X * The use of goto is NOT a bug.
  1149. X */
  1150. X
  1151. X/* Feb 9, 1989         blarson         First usenet release */
  1152. X
  1153. X/* This code implements the vfprintf function, without relying on
  1154. X * the existance of _doprint or other system specific code.
  1155. X *
  1156. X * Define NOVOID if void * is not a supported type.
  1157. X *
  1158. X * Two compile options are available for efficency:
  1159. X *     INTSPRINTF      should be defined if sprintf is int and returns
  1160. X *                     the number of chacters formated.
  1161. X *     LONGINT         should be defined if sizeof(long) == sizeof(int)
  1162. X *
  1163. X *     They only make the code smaller and faster, they need not be
  1164. X *     defined.
  1165. X *
  1166. X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
  1167. X * than int in argument passing.  If this is definded, and LONGINT is not,
  1168. X * the compiler must support the type unsingned long.
  1169. X *
  1170. X * Most quirks and bugs of the available fprintf fuction are duplicated,
  1171. X * however * in the width and precision fields will work correctly
  1172. X * even if fprintf does not support this.  The %n format and the return
  1173. X * count will only work if fprintf returns the number of characters
  1174. X * formatted.
  1175. X *
  1176. X * Bad format strings, or those with very long width and precision
  1177. X * fields (including expanded * fields) will cause undesired results.
  1178. X */
  1179. X
  1180. X#ifdef OSK             /* os9/68k can take advantage of both */
  1181. X#define INTSPRINTF
  1182. X#define LONGINT
  1183. X#endif
  1184. X
  1185. X/* This must be a typedef not a #define! */
  1186. X#ifdef NOVOID
  1187. typedef char *pointer;
  1188. X#else
  1189. typedef void *pointer;
  1190. X#endif
  1191. X
  1192. X#include <stdio.h>
  1193. X
  1194. X#ifdef INTSPRINTF
  1195. X#define Sprintf(string,format,arg)     (sprintf((string),(format),(arg)))
  1196. X#else
  1197. X#define Sprintf(string,format,arg)     (\
  1198. X       sprintf((string),(format),(arg)),\
  1199. X       strlen(string)\
  1200. X)
  1201. X#endif
  1202. X
  1203. X#ifdef __STDC__
  1204. X#include <stdarg.h>
  1205. X#else
  1206. X#include <varargs.h>
  1207. X#endif
  1208. X
  1209. typedef int *intp;
  1210. X
  1211. int vfprintf(dest, format, args)
  1212. XFILE *dest;
  1213. register char *format;
  1214. va_list args;
  1215. X{
  1216. X    register char c;
  1217. X    register char *tp;
  1218. X    register int count = 0;
  1219. X    char tempfmt[64];
  1220. X#ifndef LONGINT
  1221. X    int longflag;
  1222. X#endif
  1223. X
  1224. X    tempfmt[0] = '%';
  1225. X    while(c = *format++) {
  1226. X       if(c=='%') {
  1227. X           tp = &tempfmt[1];
  1228. X#ifndef LONGINT
  1229. X           longflag = 0;
  1230. X#endif
  1231. continue_format:
  1232. X           switch(c = *format++) {
  1233. X               case 's':
  1234. X                   *tp++ = c;
  1235. X                   *tp = '\0';
  1236. X                   count += fprintf(dest, tempfmt, va_arg(args, char *));
  1237. X                   break;
  1238. X               case 'u':
  1239. X               case 'x':
  1240. X               case 'o':
  1241. X               case 'X':
  1242. X#ifdef UNSIGNEDSPECIAL
  1243. X                   *tp++ = c;
  1244. X                   *tp = '\0';
  1245. X#ifndef LONGINT
  1246. X                   if(longflag)
  1247. X                       count += fprintf(dest, tempfmt, va_arg(args, unsigned long));
  1248. X                   else
  1249. X#endif
  1250. X                       count += fprintf(dest, tempfmt, va_arg(args, unsigned));
  1251. X                   break;
  1252. X#endif
  1253. X               case 'd':
  1254. X               case 'c':
  1255. X               case 'i':
  1256. X                   *tp++ = c;
  1257. X                   *tp = '\0';
  1258. X#ifndef LONGINT
  1259. X                   if(longflag)
  1260. X                       count += fprintf(dest, tempfmt, va_arg(args, long));
  1261. X                   else
  1262. X#endif
  1263. X                       count += fprintf(dest, tempfmt, va_arg(args, int));
  1264. X                   break;
  1265. X               case 'f':
  1266. X               case 'e':
  1267. X               case 'E':
  1268. X               case 'g':
  1269. X               case 'G':
  1270. X                   *tp++ = c;
  1271. X                   *tp = '\0';
  1272. X                   count += fprintf(dest, tempfmt, va_arg(args, double));
  1273. X                   break;
  1274. X               case 'p':
  1275. X                   *tp++ = c;
  1276. X                   *tp = '\0';
  1277. X                   count += fprintf(dest, tempfmt, va_arg(args, pointer));
  1278. X                   break;
  1279. X               case '-':
  1280. X               case '+':
  1281. X               case '0':
  1282. X               case '1':
  1283. X               case '2':
  1284. X               case '3':
  1285. X               case '4':
  1286. X               case '5':
  1287. X               case '6':
  1288. X               case '7':
  1289. X               case '8':
  1290. X               case '9':
  1291. X               case '.':
  1292. X               case ' ':
  1293. X               case '#':
  1294. X               case 'h':
  1295. X                   *tp++ = c;
  1296. X                   goto continue_format;
  1297. X               case 'l':
  1298. X#ifndef LONGINT
  1299. X                   longflag = 1;
  1300. X                   *tp++ = c;
  1301. X#endif
  1302. X                   goto continue_format;
  1303. X               case '*':
  1304. X                   tp += Sprintf(tp, "%d", va_arg(args, int));
  1305. X                   goto continue_format;
  1306. X               case 'n':
  1307. X                   *va_arg(args, intp) = count;
  1308. X                   break;
  1309. X               case '%':
  1310. X               default:
  1311. X                   putc(c, dest);
  1312. X                   count++;
  1313. X                   break;
  1314. X           }
  1315. X       } else {
  1316. X           putc(c, dest);
  1317. X           count++;
  1318. X       }
  1319. X    }
  1320. X    return count;
  1321. X}
  1322. X
  1323. vprintf(format, args)
  1324. char *format;
  1325. va_list args;
  1326. X{
  1327. X    return vfprintf(stdout, format, args);
  1328. X}
  1329. X
  1330. END_OF_FILE
  1331. if test 5468 -ne `wc -c <'sup/vfprintf.c'`; then
  1332.     echo shar: \"'sup/vfprintf.c'\" unpacked with wrong size!
  1333. fi
  1334. # end of 'sup/vfprintf.c'
  1335. fi
  1336. if test -f 'sup/vsprintf.c' -a "${1}" != "-c" ; then 
  1337.   echo shar: Will not clobber existing file \"'sup/vsprintf.c'\"
  1338. else
  1339. echo shar: Extracting \"'sup/vsprintf.c'\" \(5162 characters\)
  1340. sed "s/^X//" >'sup/vsprintf.c' <<'END_OF_FILE'
  1341. X/* Portable vsprintf  by Robert A. Larson <blarson@skat.usc.edu> */
  1342. X
  1343. X/* Copyright 1989 Robert A. Larson.
  1344. X * Distribution in any form is allowed as long as the author
  1345. X * retains credit, changes are noted by their author and the
  1346. X * copyright message remains intact.  This program comes as-is
  1347. X * with no warentee of fitness for any purpouse.
  1348. X *
  1349. X * Thanks to Doug Gwen, Chris Torek, and others who helped clarify
  1350. X * the ansi printf specs.
  1351. X *
  1352. X * Please send any bug fixes and improvments to blarson@skat.usc.edu .
  1353. X * The use of goto is NOT a bug.
  1354. X */
  1355. X
  1356. X/* Feb 7, 1989         blarson         First usenet release */
  1357. X
  1358. X/* This code implements the vsprintf function, without relying on
  1359. X * the existance of _doprint or other system specific code.
  1360. X *
  1361. X * Define NOVOID if void * is not a supported type.
  1362. X *
  1363. X * Two compile options are available for efficency:
  1364. X *     INTSPRINTF      should be defined if sprintf is int and returns
  1365. X *                     the number of chacters formated.
  1366. X *     LONGINT         should be defined if sizeof(long) == sizeof(int)
  1367. X *
  1368. X *     They only make the code smaller and faster, they need not be
  1369. X *     defined.
  1370. X *
  1371. X * UNSIGNEDSPECIAL should be defined if unsigned is treated differently
  1372. X * than int in argument passing.  If this is definded, and LONGINT is not,
  1373. X * the compiler must support the type unsingned long.
  1374. X *
  1375. X * Most quirks and bugs of the available sprintf fuction are duplicated,
  1376. X * however * in the width and precision fields will work correctly
  1377. X * even if sprintf does not support this, as will the n format.
  1378. X *
  1379. X * Bad format strings, or those with very long width and precision
  1380. X * fields (including expanded * fields) will cause undesired results.
  1381. X */
  1382. X
  1383. X#ifdef OSK             /* os9/68k can take advantage of both */
  1384. X#define LONGINT
  1385. X#define INTSPRINTF
  1386. X#endif
  1387. X
  1388. X/* This must be a typedef not a #define! */
  1389. X#ifdef NOVOID
  1390. typedef char *pointer;
  1391. X#else
  1392. typedef void *pointer;
  1393. X#endif
  1394. X
  1395. X#ifdef INTSPRINTF
  1396. X#define Sprintf(string,format,arg)     (sprintf((string),(format),(arg)))
  1397. X#else
  1398. X#define Sprintf(string,format,arg)     (\
  1399. X       sprintf((string),(format),(arg)),\
  1400. X       strlen(string)\
  1401. X)
  1402. X#endif
  1403. X
  1404. X#ifdef __STDC__
  1405. X#include <stdarg.h>
  1406. X#else
  1407. X#include <varargs.h>
  1408. X#endif
  1409. X
  1410. typedef int *intp;
  1411. X
  1412. int vsprintf(dest, format, args)
  1413. char *dest;
  1414. register char *format;
  1415. va_list args;
  1416. X{
  1417. X    register char *dp = dest;
  1418. X    register char c;
  1419. X    register char *tp;
  1420. X    char tempfmt[64];
  1421. X#ifndef LONGINT
  1422. X    int longflag;
  1423. X#endif
  1424. X
  1425. X    tempfmt[0] = '%';
  1426. X    while(c = *format++) {
  1427. X       if(c=='%') {
  1428. X           tp = &tempfmt[1];
  1429. X#ifndef LONGINT
  1430. X           longflag = 0;
  1431. X#endif
  1432. continue_format:
  1433. X           switch(c = *format++) {
  1434. X               case 's':
  1435. X                   *tp++ = c;
  1436. X                   *tp = '\0';
  1437. X                   dp += Sprintf(dp, tempfmt, va_arg(args, char *));
  1438. X                   break;
  1439. X               case 'u':
  1440. X               case 'x':
  1441. X               case 'o':
  1442. X               case 'X':
  1443. X#ifdef UNSIGNEDSPECIAL
  1444. X                   *tp++ = c;
  1445. X                   *tp = '\0';
  1446. X#ifndef LONGINT
  1447. X                   if(longflag)
  1448. X                       dp += Sprintf(dp, tempfmt, va_arg(args, unsigned long));
  1449. X                   else
  1450. X#endif
  1451. X                       dp += Sprintf(dp, tempfmt, va_arg(args, unsigned));
  1452. X                   break;
  1453. X#endif
  1454. X               case 'd':
  1455. X               case 'c':
  1456. X               case 'i':
  1457. X                   *tp++ = c;
  1458. X                   *tp = '\0';
  1459. X#ifndef LONGINT
  1460. X                   if(longflag)
  1461. X                       dp += Sprintf(dp, tempfmt, va_arg(args, long));
  1462. X                   else
  1463. X#endif
  1464. X                       dp += Sprintf(dp, tempfmt, va_arg(args, int));
  1465. X                   break;
  1466. X               case 'f':
  1467. X               case 'e':
  1468. X               case 'E':
  1469. X               case 'g':
  1470. X               case 'G':
  1471. X                   *tp++ = c;
  1472. X                   *tp = '\0';
  1473. X                   dp += Sprintf(dp, tempfmt, va_arg(args, double));
  1474. X                   break;
  1475. X               case 'p':
  1476. X                   *tp++ = c;
  1477. X                   *tp = '\0';
  1478. X                   dp += Sprintf(dp, tempfmt, va_arg(args, pointer));
  1479. X                   break;
  1480. X               case '-':
  1481. X               case '+':
  1482. X               case '0':
  1483. X               case '1':
  1484. X               case '2':
  1485. X               case '3':
  1486. X               case '4':
  1487. X               case '5':
  1488. X               case '6':
  1489. X               case '7':
  1490. X               case '8':
  1491. X               case '9':
  1492. X               case '.':
  1493. X               case ' ':
  1494. X               case '#':
  1495. X               case 'h':
  1496. X                   *tp++ = c;
  1497. X                   goto continue_format;
  1498. X               case 'l':
  1499. X#ifndef LONGINT
  1500. X                   longflag = 1;
  1501. X                   *tp++ = c;
  1502. X#endif
  1503. X                   goto continue_format;
  1504. X               case '*':
  1505. X                   tp += Sprintf(tp, "%d", va_arg(args, int));
  1506. X                   goto continue_format;
  1507. X               case 'n':
  1508. X                   *va_arg(args, intp) = dp - dest;
  1509. X                   break;
  1510. X               case '%':
  1511. X               default:
  1512. X                   *dp++ = c;
  1513. X                   break;
  1514. X           }
  1515. X       } else *dp++ = c;
  1516. X    }
  1517. X    *dp = '\0';
  1518. X    return dp - dest;
  1519. X}
  1520. X
  1521. END_OF_FILE
  1522. if test 5162 -ne `wc -c <'sup/vsprintf.c'`; then
  1523.     echo shar: \"'sup/vsprintf.c'\" unpacked with wrong size!
  1524. fi
  1525. # end of 'sup/vsprintf.c'
  1526. fi
  1527. if test -f 'sys/conf.h.286' -a "${1}" != "-c" ; then 
  1528.   echo shar: Will not clobber existing file \"'sys/conf.h.286'\"
  1529. else
  1530. echo shar: Extracting \"'sys/conf.h.286'\" \(2364 characters\)
  1531. sed "s/^X//" >'sys/conf.h.286' <<'END_OF_FILE'
  1532. X/*
  1533. X *      CONF.H
  1534. X *      UTREE system dependent configurable definitions.
  1535. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1536. X *
  1537. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1538. X *      For copying and distribution information see the file COPYRIGHT.
  1539. X *
  1540. X *      Version:        UNIX V/286 compatible (for MSC on SCO UNIX/386)
  1541. X */
  1542. X#if     defined(_MAIN_) && !defined(lint)
  1543. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1544. X#endif  /* _MAIN_ && !lint */
  1545. X
  1546. X/*
  1547. X *      This file contains definitions you can change for your needs.
  1548. X */
  1549. X
  1550. X/*
  1551. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1552. X */
  1553. X
  1554. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1555. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1556. X
  1557. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1558. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1559. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1560. X
  1561. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1562. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1563. X
  1564. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1565. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1566. X#define NODIRENT                /* Needed only for older SYSVs          */
  1567. X
  1568. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1569. X/*      handling of screen resizing is intended as a little bit support */
  1570. X/*      for window systems like X, but it may not run on your system.   */
  1571. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1572. X#define NOWINCHG                /* No screen resizing allowed           */
  1573. X
  1574. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1575. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1576. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1577. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1578. X
  1579. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1580. X#define UTCLOCK                 /* Show/update clock                    */
  1581. X
  1582. X/* ALL: directory for utree startup file and help pages                 */
  1583. X#ifndef UTLIB
  1584. X# define UTLIB "/usr/local/lib"
  1585. X#endif  /* !UTLIB */
  1586. X
  1587. END_OF_FILE
  1588. if test 2364 -ne `wc -c <'sys/conf.h.286'`; then
  1589.     echo shar: \"'sys/conf.h.286'\" unpacked with wrong size!
  1590. fi
  1591. # end of 'sys/conf.h.286'
  1592. fi
  1593. if test -f 'sys/conf.h.AIX' -a "${1}" != "-c" ; then 
  1594.   echo shar: Will not clobber existing file \"'sys/conf.h.AIX'\"
  1595. else
  1596. echo shar: Extracting \"'sys/conf.h.AIX'\" \(2346 characters\)
  1597. sed "s/^X//" >'sys/conf.h.AIX' <<'END_OF_FILE'
  1598. X/*
  1599. X *      CONF.H
  1600. X *      UTREE system dependent configurable definitions.
  1601. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1602. X *
  1603. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1604. X *      For copying and distribution information see the file COPYRIGHT.
  1605. X *
  1606. X *      Version:        IBM 520 (RS/6000),  AIX 3.1
  1607. X */
  1608. X#if     defined(_MAIN_) && !defined(lint)
  1609. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1610. X#endif  /* _MAIN_ && !lint */
  1611. X
  1612. X/*
  1613. X *      This file contains definitions you can change for your needs.
  1614. X */
  1615. X
  1616. X/*
  1617. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1618. X */
  1619. X
  1620. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1621. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1622. X
  1623. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1624. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1625. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1626. X
  1627. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1628. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1629. X
  1630. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1631. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1632. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1633. X
  1634. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1635. X/*      handling of screen resizing is intended as a little bit support */
  1636. X/*      for window systems like X, but it may not run on your system.   */
  1637. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1638. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1639. X
  1640. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1641. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1642. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1643. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1644. X
  1645. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1646. X#define UTCLOCK                 /* Show/update clock                    */
  1647. X
  1648. X/* ALL: directory for utree startup file and help pages                 */
  1649. X#ifndef UTLIB
  1650. X# define UTLIB "/usr/local/lib"
  1651. X#endif  /* !UTLIB */
  1652. X
  1653. END_OF_FILE
  1654. if test 2346 -ne `wc -c <'sys/conf.h.AIX'`; then
  1655.     echo shar: \"'sys/conf.h.AIX'\" unpacked with wrong size!
  1656. fi
  1657. # end of 'sys/conf.h.AIX'
  1658. fi
  1659. if test -f 'sys/conf.h.APP' -a "${1}" != "-c" ; then 
  1660.   echo shar: Will not clobber existing file \"'sys/conf.h.APP'\"
  1661. else
  1662. echo shar: Extracting \"'sys/conf.h.APP'\" \(2367 characters\)
  1663. sed "s/^X//" >'sys/conf.h.APP' <<'END_OF_FILE'
  1664. X/*
  1665. X *      CONF.H
  1666. X *      UTREE system dependent configurable definitions.
  1667. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1668. X *
  1669. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1670. X *      For copying and distribution information see the file COPYRIGHT.
  1671. X *
  1672. X *      Version:        Apollo Domain DN4500, DomainIX 9.5 (BSD4.2 + SYSV)
  1673. X */
  1674. X#if     defined(_MAIN_) && !defined(lint)
  1675. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1676. X#endif  /* _MAIN_ && !lint */
  1677. X
  1678. X/*
  1679. X *      This file contains definitions you can change for your needs.
  1680. X */
  1681. X
  1682. X/*
  1683. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1684. X */
  1685. X
  1686. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1687. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1688. X
  1689. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1690. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1691. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1692. X
  1693. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1694. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1695. X
  1696. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1697. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1698. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1699. X
  1700. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1701. X/*      handling of screen resizing is intended as a little bit support */
  1702. X/*      for window systems like X, but it may not run on your system.   */
  1703. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1704. X#define NOWINCHG                /* No screen resizing allowed           */
  1705. X
  1706. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1707. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1708. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1709. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1710. X
  1711. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1712. X#define UTCLOCK                 /* Show/update clock                    */
  1713. X
  1714. X/* ALL: directory for utree startup file and help pages                 */
  1715. X#ifndef UTLIB
  1716. X# define UTLIB "/usr/local/lib"
  1717. X#endif  /* !UTLIB */
  1718. X
  1719. END_OF_FILE
  1720. if test 2367 -ne `wc -c <'sys/conf.h.APP'`; then
  1721.     echo shar: \"'sys/conf.h.APP'\" unpacked with wrong size!
  1722. fi
  1723. # end of 'sys/conf.h.APP'
  1724. fi
  1725. if test -f 'sys/conf.h.M16' -a "${1}" != "-c" ; then 
  1726.   echo shar: Will not clobber existing file \"'sys/conf.h.M16'\"
  1727. else
  1728. echo shar: Extracting \"'sys/conf.h.M16'\" \(2355 characters\)
  1729. sed "s/^X//" >'sys/conf.h.M16' <<'END_OF_FILE'
  1730. X/*
  1731. X *      CONF.H
  1732. X *      UTREE system dependent configurable definitions.
  1733. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1734. X *
  1735. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1736. X *      For copying and distribution information see the file COPYRIGHT.
  1737. X *
  1738. X *      Version:        PCS Cadmus 9230, MUNIX V.2/07 (SYSV 2)
  1739. X */
  1740. X#if     defined(_MAIN_) && !defined(lint)
  1741. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1742. X#endif  /* _MAIN_ && !lint */
  1743. X
  1744. X/*
  1745. X *      This file contains definitions you can change for your needs.
  1746. X */
  1747. X
  1748. X/*
  1749. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1750. X */
  1751. X
  1752. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1753. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1754. X
  1755. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1756. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1757. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  1758. X
  1759. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1760. X#define HASVFORK                /* Not needed for BSD!                  */
  1761. X
  1762. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1763. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1764. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1765. X
  1766. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1767. X/*      handling of screen resizing is intended as a little bit support */
  1768. X/*      for window systems like X, but it may not run on your system.   */
  1769. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1770. X#define NOWINCHG                /* No screen resizing allowed           */
  1771. X
  1772. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1773. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1774. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1775. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1776. X
  1777. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1778. X#define UTCLOCK                 /* Show/update clock                    */
  1779. X
  1780. X/* ALL: directory for utree startup file and help pages                 */
  1781. X#ifndef UTLIB
  1782. X# define UTLIB "/usr/local/lib"
  1783. X#endif  /* !UTLIB */
  1784. X
  1785. END_OF_FILE
  1786. if test 2355 -ne `wc -c <'sys/conf.h.M16'`; then
  1787.     echo shar: \"'sys/conf.h.M16'\" unpacked with wrong size!
  1788. fi
  1789. # end of 'sys/conf.h.M16'
  1790. fi
  1791. if test -f 'sys/conf.h.M32' -a "${1}" != "-c" ; then 
  1792.   echo shar: Will not clobber existing file \"'sys/conf.h.M32'\"
  1793. else
  1794. echo shar: Extracting \"'sys/conf.h.M32'\" \(2367 characters\)
  1795. sed "s/^X//" >'sys/conf.h.M32' <<'END_OF_FILE'
  1796. X/*
  1797. X *      CONF.H
  1798. X *      UTREE system dependent configurable definitions.
  1799. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1800. X *
  1801. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1802. X *      For copying and distribution information see the file COPYRIGHT.
  1803. X *
  1804. X *      Version:        PCS Cadmus 9600 (MC68020), MUNIX V3M3.2 (SYSV.3)
  1805. X */
  1806. X#if     defined(_MAIN_) && !defined(lint)
  1807. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1808. X#endif  /* _MAIN_ && !lint */
  1809. X
  1810. X/*
  1811. X *      This file contains definitions you can change for your needs.
  1812. X */
  1813. X
  1814. X/*
  1815. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1816. X */
  1817. X
  1818. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1819. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1820. X
  1821. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1822. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1823. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1824. X
  1825. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1826. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1827. X
  1828. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1829. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1830. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1831. X
  1832. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1833. X/*      handling of screen resizing is intended as a little bit support */
  1834. X/*      for window systems like X, but it may not run on your system.   */
  1835. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1836. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1837. X
  1838. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1839. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1840. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1841. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1842. X
  1843. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1844. X#define UTCLOCK                 /* Show/update clock                    */
  1845. X
  1846. X/* ALL: directory for utree startup file and help pages                 */
  1847. X#ifndef UTLIB
  1848. X# define UTLIB "/usr/local/lib"
  1849. X#endif  /* !UTLIB */
  1850. X
  1851. END_OF_FILE
  1852. if test 2367 -ne `wc -c <'sys/conf.h.M32'`; then
  1853.     echo shar: \"'sys/conf.h.M32'\" unpacked with wrong size!
  1854. fi
  1855. # end of 'sys/conf.h.M32'
  1856. fi
  1857. if test -f 'sys/conf.h.MIPS' -a "${1}" != "-c" ; then 
  1858.   echo shar: Will not clobber existing file \"'sys/conf.h.MIPS'\"
  1859. else
  1860. echo shar: Extracting \"'sys/conf.h.MIPS'\" \(2351 characters\)
  1861. sed "s/^X//" >'sys/conf.h.MIPS' <<'END_OF_FILE'
  1862. X/*
  1863. X *      CONF.H
  1864. X *      UTREE system dependent configurable definitions.
  1865. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1866. X *
  1867. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1868. X *      For copying and distribution information see the file COPYRIGHT.
  1869. X *
  1870. X *      Version:        MIPS RC3230 (R3000) RISC/os 4.51
  1871. X */
  1872. X#if     defined(_MAIN_) && !defined(lint)
  1873. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1874. X#endif  /* _MAIN_ && !lint */
  1875. X
  1876. X/*
  1877. X *      This file contains definitions you can change for your needs.
  1878. X */
  1879. X
  1880. X/*
  1881. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1882. X */
  1883. X
  1884. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1885. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1886. X
  1887. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1888. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1889. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1890. X
  1891. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1892. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1893. X
  1894. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1895. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1896. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1897. X
  1898. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1899. X/*      handling of screen resizing is intended as a little bit support */
  1900. X/*      for window systems like X, but it may not run on your system.   */
  1901. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1902. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1903. X
  1904. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1905. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1906. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1907. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1908. X
  1909. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1910. X#define UTCLOCK                 /* Show/update clock                    */
  1911. X
  1912. X/* ALL: directory for utree startup file and help pages                 */
  1913. X#ifndef UTLIB
  1914. X# define UTLIB "/usr/local/lib"
  1915. X#endif  /* !UTLIB */
  1916. X
  1917. END_OF_FILE
  1918. if test 2351 -ne `wc -c <'sys/conf.h.MIPS'`; then
  1919.     echo shar: \"'sys/conf.h.MIPS'\" unpacked with wrong size!
  1920. fi
  1921. # end of 'sys/conf.h.MIPS'
  1922. fi
  1923. if test -f 'sys/conf.h.RCU' -a "${1}" != "-c" ; then 
  1924.   echo shar: Will not clobber existing file \"'sys/conf.h.RCU'\"
  1925. else
  1926. echo shar: Extracting \"'sys/conf.h.RCU'\" \(2376 characters\)
  1927. sed "s/^X//" >'sys/conf.h.RCU' <<'END_OF_FILE'
  1928. X/*
  1929. X *      CONF.H
  1930. X *      UTREE system dependent configurable definitions.
  1931. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1932. X *
  1933. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  1934. X *      For copying and distribution information see the file COPYRIGHT.
  1935. X *
  1936. X *      Version:        PCS Cadmus 9900 (MIPS R2000/3000), MUNIX V3R3.2A (SYSV.3)
  1937. X */
  1938. X#if     defined(_MAIN_) && !defined(lint)
  1939. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  1940. X#endif  /* _MAIN_ && !lint */
  1941. X
  1942. X/*
  1943. X *      This file contains definitions you can change for your needs.
  1944. X */
  1945. X
  1946. X/*
  1947. X *      SOME UTREE DEPENDENT DEFINITIONS.
  1948. X */
  1949. X
  1950. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  1951. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  1952. X
  1953. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  1954. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  1955. X#define HASFIONREAD             /* Not needed for BSD!                  */
  1956. X
  1957. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  1958. X/*#define HASVFORK                /* Not needed for BSD!                  */
  1959. X
  1960. X/* SYSV: define NODIRENT if your system not supports the directory type */
  1961. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  1962. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  1963. X
  1964. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  1965. X/*      handling of screen resizing is intended as a little bit support */
  1966. X/*      for window systems like X, but it may not run on your system.   */
  1967. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  1968. X/*#define NOWINCHG                /* No screen resizing allowed           */
  1969. X
  1970. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  1971. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  1972. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  1973. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  1974. X
  1975. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  1976. X#define UTCLOCK                 /* Show/update clock                    */
  1977. X
  1978. X/* ALL: directory for utree startup file and help pages                 */
  1979. X#ifndef UTLIB
  1980. X# define UTLIB "/usr/local/lib"
  1981. X#endif  /* !UTLIB */
  1982. X
  1983. END_OF_FILE
  1984. if test 2376 -ne `wc -c <'sys/conf.h.RCU'`; then
  1985.     echo shar: \"'sys/conf.h.RCU'\" unpacked with wrong size!
  1986. fi
  1987. # end of 'sys/conf.h.RCU'
  1988. fi
  1989. if test -f 'sys/conf.h.SCO' -a "${1}" != "-c" ; then 
  1990.   echo shar: Will not clobber existing file \"'sys/conf.h.SCO'\"
  1991. else
  1992. echo shar: Extracting \"'sys/conf.h.SCO'\" \(2459 characters\)
  1993. sed "s/^X//" >'sys/conf.h.SCO' <<'END_OF_FILE'
  1994. X/*
  1995. X *      CONF.H
  1996. X *      UTREE system dependent configurable definitions.
  1997. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  1998. X *
  1999. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2000. X *      For copying and distribution information see the file COPYRIGHT.
  2001. X *
  2002. X *      Version:        HP Vectra (i486), SCO UNIX System V/386 3.2
  2003. X */
  2004. X#if     defined(_MAIN_) && !defined(lint)
  2005. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2006. X#endif  /* _MAIN_ && !lint */
  2007. X
  2008. X/*
  2009. X *      This file contains definitions you can change for your needs.
  2010. X */
  2011. X
  2012. X/*
  2013. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2014. X */
  2015. X
  2016. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2017. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2018. X
  2019. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2020. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2021. X#define HASFIONREAD             /* Not needed for BSD!                  */
  2022. X#include <sys/types.h>
  2023. X#include <sys/socket.h>        /* For defining FIONREAD !                */
  2024. X
  2025. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2026. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2027. X
  2028. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2029. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2030. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2031. X
  2032. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2033. X/*      handling of screen resizing is intended as a little bit support */
  2034. X/*      for window systems like X, but it may not run on your system.   */
  2035. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2036. X#define NOWINCHG                /* No screen resizing allowed           */
  2037. X
  2038. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2039. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2040. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2041. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2042. X
  2043. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2044. X#define UTCLOCK                 /* Show/update clock                    */
  2045. X
  2046. X/* ALL: directory for utree startup file and help pages                 */
  2047. X#ifndef UTLIB
  2048. X# define UTLIB "/usr/local/lib"
  2049. X#endif  /* !UTLIB */
  2050. X
  2051. END_OF_FILE
  2052. if test 2459 -ne `wc -c <'sys/conf.h.SCO'`; then
  2053.     echo shar: \"'sys/conf.h.SCO'\" unpacked with wrong size!
  2054. fi
  2055. # end of 'sys/conf.h.SCO'
  2056. fi
  2057. if test -f 'sys/conf.h.SEQ' -a "${1}" != "-c" ; then 
  2058.   echo shar: Will not clobber existing file \"'sys/conf.h.SEQ'\"
  2059. else
  2060. echo shar: Extracting \"'sys/conf.h.SEQ'\" \(2358 characters\)
  2061. sed "s/^X//" >'sys/conf.h.SEQ' <<'END_OF_FILE'
  2062. X/*
  2063. X *      CONF.H
  2064. X *      UTREE system dependent configurable definitions.
  2065. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2066. X *
  2067. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2068. X *      For copying and distribution information see the file COPYRIGHT.
  2069. X *
  2070. X *      Version:        Sequent Symmetrie, DYNIX i386 (BSD 4.2)
  2071. X */
  2072. X#if     defined(_MAIN_) && !defined(lint)
  2073. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2074. X#endif  /* _MAIN_ && !lint */
  2075. X
  2076. X/*
  2077. X *      This file contains definitions you can change for your needs.
  2078. X */
  2079. X
  2080. X/*
  2081. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2082. X */
  2083. X
  2084. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2085. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2086. X
  2087. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2088. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2089. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2090. X
  2091. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2092. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2093. X
  2094. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2095. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2096. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2097. X
  2098. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2099. X/*      handling of screen resizing is intended as a little bit support */
  2100. X/*      for window systems like X, but it may not run on your system.   */
  2101. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2102. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2103. X
  2104. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2105. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2106. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2107. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2108. X
  2109. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2110. X#define UTCLOCK                 /* Show/update clock                    */
  2111. X
  2112. X/* ALL: directory for utree startup file and help pages                 */
  2113. X#ifndef UTLIB
  2114. X# define UTLIB "/usr/local/lib"
  2115. X#endif  /* !UTLIB */
  2116. X
  2117. END_OF_FILE
  2118. if test 2358 -ne `wc -c <'sys/conf.h.SEQ'`; then
  2119.     echo shar: \"'sys/conf.h.SEQ'\" unpacked with wrong size!
  2120. fi
  2121. # end of 'sys/conf.h.SEQ'
  2122. fi
  2123. if test -f 'sys/conf.h.SGI' -a "${1}" != "-c" ; then 
  2124.   echo shar: Will not clobber existing file \"'sys/conf.h.SGI'\"
  2125. else
  2126. echo shar: Extracting \"'sys/conf.h.SGI'\" \(2361 characters\)
  2127. sed "s/^X//" >'sys/conf.h.SGI' <<'END_OF_FILE'
  2128. X/*
  2129. X *      CONF.H
  2130. X *      UTREE system dependent configurable definitions.
  2131. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2132. X *
  2133. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2134. X *      For copying and distribution information see the file COPYRIGHT.
  2135. X *
  2136. X *      Version:        Silicon Graphics 4D, IRIX V.3.3.2 (SYSV 3)
  2137. X */
  2138. X#if     defined(_MAIN_) && !defined(lint)
  2139. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2140. X#endif  /* _MAIN_ && !lint */
  2141. X
  2142. X/*
  2143. X *      This file contains definitions you can change for your needs.
  2144. X */
  2145. X
  2146. X/*
  2147. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2148. X */
  2149. X
  2150. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2151. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2152. X
  2153. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2154. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2155. X#define HASFIONREAD             /* Not needed for BSD!                  */
  2156. X
  2157. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2158. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2159. X
  2160. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2161. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2162. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2163. X
  2164. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2165. X/*      handling of screen resizing is intended as a little bit support */
  2166. X/*      for window systems like X, but it may not run on your system.   */
  2167. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2168. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2169. X
  2170. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2171. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2172. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2173. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2174. X
  2175. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2176. X#define UTCLOCK                 /* Show/update clock                    */
  2177. X
  2178. X/* ALL: directory for utree startup file and help pages                 */
  2179. X#ifndef UTLIB
  2180. X# define UTLIB "/usr/local/lib"
  2181. X#endif  /* !UTLIB */
  2182. X
  2183. END_OF_FILE
  2184. if test 2361 -ne `wc -c <'sys/conf.h.SGI'`; then
  2185.     echo shar: \"'sys/conf.h.SGI'\" unpacked with wrong size!
  2186. fi
  2187. # end of 'sys/conf.h.SGI'
  2188. fi
  2189. if test -f 'sys/conf.h.ULT' -a "${1}" != "-c" ; then 
  2190.   echo shar: Will not clobber existing file \"'sys/conf.h.ULT'\"
  2191. else
  2192. echo shar: Extracting \"'sys/conf.h.ULT'\" \(2365 characters\)
  2193. sed "s/^X//" >'sys/conf.h.ULT' <<'END_OF_FILE'
  2194. X/*
  2195. X *      CONF.H
  2196. X *      UTREE system dependent configurable definitions.
  2197. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2198. X *
  2199. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2200. X *      For copying and distribution information see the file COPYRIGHT.
  2201. X *
  2202. X *      Version:        DECstation/VAXstation, ULTRIX-32 3.1 (BSD 4.3)
  2203. X */
  2204. X#if     defined(_MAIN_) && !defined(lint)
  2205. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2206. X#endif  /* _MAIN_ && !lint */
  2207. X
  2208. X/*
  2209. X *      This file contains definitions you can change for your needs.
  2210. X */
  2211. X
  2212. X/*
  2213. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2214. X */
  2215. X
  2216. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2217. X#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2218. X
  2219. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2220. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2221. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2222. X
  2223. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2224. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2225. X
  2226. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2227. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2228. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2229. X
  2230. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2231. X/*      handling of screen resizing is intended as a little bit support */
  2232. X/*      for window systems like X, but it may not run on your system.   */
  2233. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2234. X/*#define NOWINCHG                /* No screen resizing allowed           */
  2235. X
  2236. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2237. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2238. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2239. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2240. X
  2241. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2242. X#define UTCLOCK                 /* Show/update clock                    */
  2243. X
  2244. X/* ALL: directory for utree startup file and help pages                 */
  2245. X#ifndef UTLIB
  2246. X# define UTLIB "/usr/local/lib"
  2247. X#endif  /* !UTLIB */
  2248. X
  2249. END_OF_FILE
  2250. if test 2365 -ne `wc -c <'sys/conf.h.ULT'`; then
  2251.     echo shar: \"'sys/conf.h.ULT'\" unpacked with wrong size!
  2252. fi
  2253. # end of 'sys/conf.h.ULT'
  2254. fi
  2255. if test -f 'sys/conf.h.X23' -a "${1}" != "-c" ; then 
  2256.   echo shar: Will not clobber existing file \"'sys/conf.h.X23'\"
  2257. else
  2258. echo shar: Extracting \"'sys/conf.h.X23'\" \(2345 characters\)
  2259. sed "s/^X//" >'sys/conf.h.X23' <<'END_OF_FILE'
  2260. X/*
  2261. X *      CONF.H
  2262. X *      UTREE system dependent configurable definitions.
  2263. X *      3.03-um klin, Sat Feb 15 19:23:58 1992
  2264. X *
  2265. X *      Copyright (c) 1991/92 by Peter Klingebiel & UNIX Magazin Muenchen.
  2266. X *      For copying and distribution information see the file COPYRIGHT.
  2267. X *
  2268. X *      Version:        SCO XENIX SysV 2.3.2 386GT
  2269. X */
  2270. X#if     defined(_MAIN_) && !defined(lint)
  2271. static char sccsid_conf[] = "@(#) utree 3.03-um (klin) Feb 15 1992 conf.h";
  2272. X#endif  /* _MAIN_ && !lint */
  2273. X
  2274. X/*
  2275. X *      This file contains definitions you can change for your needs.
  2276. X */
  2277. X
  2278. X/*
  2279. X *      SOME UTREE DEPENDENT DEFINITIONS.
  2280. X */
  2281. X
  2282. X/* BSD: define HASVSPRINTF if your system supports vsprintf(3)          */
  2283. X/*#define HASVSPRINTF             /* Not needed for SYSV!                 */
  2284. X
  2285. X/* SYSV: define HASFIONREAD if your system supports the FIONREAD        */
  2286. X/*       ioctl(2) system call to check how many chars are typed ahead   */
  2287. X/*#define HASFIONREAD             /* Not needed for BSD!                  */
  2288. X
  2289. X/* SYSV: define HASVFORK if your system supports vfork(2)               */
  2290. X/*#define HASVFORK                /* Not needed for BSD!                  */
  2291. X
  2292. X/* SYSV: define NODIRENT if your system not supports the directory type */
  2293. X/*       struct dirent with opendir(3), closedir(3) and readdir(3)      */
  2294. X/*#define NODIRENT                /* Needed only for older SYSVs          */
  2295. X
  2296. X/* ALL: define NOWINCHG to ignore sreen resizing on window systems. The */
  2297. X/*      handling of screen resizing is intended as a little bit support */
  2298. X/*      for window systems like X, but it may not run on your system.   */
  2299. X/*      ATTENTION: Resizing may be confusing for utree anyway!          */
  2300. X#define NOWINCHG                /* No screen resizing allowed           */
  2301. X
  2302. X/* ALL: define STRUCTCOPY if your compiler doesn't support assignment   */
  2303. X/*      of struct variables, i.e. t[o] = f[rom].                        */
  2304. X/*#define STRUCTCOPY(f, t) memcpy(t, f, sizeof(f))        /* For SYSV     */
  2305. X/*#define STRUCTCOPY(f, t) bcopy(f, t, sizeof(f))         /* For BSD      */
  2306. X
  2307. X/* ALL: define UTCLOCK for a clock updated in echo line every second    */
  2308. X#define UTCLOCK                 /* Show/update clock                    */
  2309. X
  2310. X/* ALL: directory for utree startup file and help pages                 */
  2311. X#ifndef UTLIB
  2312. X# define UTLIB "/usr/local/lib"
  2313. X#endif  /* !UTLIB */
  2314. X
  2315. END_OF_FILE
  2316. if test 2345 -ne `wc -c <'sys/conf.h.X23'`; then
  2317.     echo shar: \"'sys/conf.h.X23'\" unpacked with wrong size!
  2318. fi
  2319. # end of 'sys/conf.h.X23'
  2320. fi
  2321. echo shar: End of archive 2 \(of 8\).
  2322. cp /dev/null ark2isdone
  2323. MISSING=""
  2324. for I in 1 2 3 4 5 6 7 8 ; do
  2325.     if test ! -f ark${I}isdone ; then
  2326.     MISSING="${MISSING} ${I}"
  2327.     fi
  2328. done
  2329. if test "${MISSING}" = "" ; then
  2330.     echo You have unpacked all 8 archives.
  2331.     rm -f ark[1-9]isdone
  2332. else
  2333.     echo You still need to unpack the following archives:
  2334.     echo "        " ${MISSING}
  2335. fi
  2336. ##  End of shell archive.
  2337. exit 0
  2338.