home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume44 / typhoon / part09 < prev    next >
Internet Message Format  |  1994-09-17  |  30KB

  1. From: zeppelin@login.dknet.dk (Thomas B. Pedersen)
  2. Newsgroups: comp.sources.misc
  3. Subject: v44i065:  typhoon - Typhoon Relational Database Management System, Part09/09
  4. Date: 17 Sep 1994 21:46:04 -0500
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <35g9lc$ok9@sparky.sterling.com>
  9. X-Md4-Signature: ab98aeea2f517c487c102bea68b0dc9b
  10.  
  11. Submitted-by: zeppelin@login.dknet.dk (Thomas B. Pedersen)
  12. Posting-number: Volume 44, Issue 65
  13. Archive-name: typhoon/part09
  14. Environment: SCO UNIX, Tandem NonStop UNIX, Sun Solaris, AIX, Linux, OS/2
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  typhoon/INSTALL typhoon/TODO typhoon/doc
  21. #   typhoon/examples/makefile typhoon/man/d_close.1
  22. #   typhoon/man/d_crget.1 typhoon/man/d_crset.1
  23. #   typhoon/man/d_dbdpath.1 typhoon/man/d_dbfpath.1
  24. #   typhoon/man/d_dbget.1 typhoon/man/d_dbset.1 typhoon/man/d_delete.1
  25. #   typhoon/man/d_keyread.1 typhoon/man/d_reclast.1
  26. #   typhoon/man/d_recprev.1 typhoon/man/d_recread.1
  27. #   typhoon/man/d_setfiles.1 typhoon/src/ty_lock.c
  28. #   typhoon/src/util/ddl_y.h typhoon/src/util/exp_y.h
  29. #   typhoon/src/util/lex.h
  30. # Wrapped by kent@sparky on Sat Sep 17 21:38:19 1994
  31. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  32. echo If this archive is complete, you will see the following message:
  33. echo '          "shar: End of archive 9 (of 9)."'
  34. if test -f 'typhoon/INSTALL' -a "${1}" != "-c" ; then 
  35.   echo shar: Will not clobber existing file \"'typhoon/INSTALL'\"
  36. else
  37.   echo shar: Extracting \"'typhoon/INSTALL'\" \(760 characters\)
  38.   sed "s/^X//" >'typhoon/INSTALL' <<'END_OF_FILE'
  39. XThe Typhoon RDBMS has been compiled and tested on the following platforms:
  40. X
  41. X    IBM RS/6000 running AIX
  42. X    386/486 running Linux 0.99    
  43. X    386/486 running OS/2 2.1
  44. X    386/486 running SCO UNIX SVR3.2 Version 4.2
  45. X    Sun Solaris 2.3
  46. X    Tandem S2 running NonStop Unix SVR4 B.22
  47. X
  48. X-------------------------------------------------------------------------------
  49. X
  50. XInstallation:
  51. X
  52. XThe system hasn't been tested on more than a handful of different platforms, 
  53. Xso the makefile is really simple. You just run 'make' in the typhoon
  54. Xdirectory.
  55. X
  56. X
  57. XInclude directories:
  58. X
  59. XDue to development conventions at my company all library include files are
  60. Xplaced in /usr/h. This may not be suitable for you and you may put them
  61. Xelsewhere. Currently, only environ.h and typhoon.h are placed in /usr/h.
  62. X
  63. END_OF_FILE
  64.   if test 760 -ne `wc -c <'typhoon/INSTALL'`; then
  65.     echo shar: \"'typhoon/INSTALL'\" unpacked with wrong size!
  66.   fi
  67.   # end of 'typhoon/INSTALL'
  68. fi
  69. if test -f 'typhoon/TODO' -a "${1}" != "-c" ; then 
  70.   echo shar: Will not clobber existing file \"'typhoon/TODO'\"
  71. else
  72.   echo shar: Extracting \"'typhoon/TODO'\" \(174 characters\)
  73.   sed "s/^X//" >'typhoon/TODO' <<'END_OF_FILE'
  74. XThis list contains a lot of things that needs to be done. The major goal of
  75. Xthe library has been functionality more than performance. I am working on the
  76. Xlast goal now.
  77. X
  78. X1.
  79. X
  80. END_OF_FILE
  81.   if test 174 -ne `wc -c <'typhoon/TODO'`; then
  82.     echo shar: \"'typhoon/TODO'\" unpacked with wrong size!
  83.   fi
  84.   # end of 'typhoon/TODO'
  85. fi
  86. if test -f 'typhoon/doc' -a "${1}" != "-c" ; then 
  87.   echo shar: Will not clobber existing file \"'typhoon/doc'\"
  88. else
  89.   echo shar: Extracting \"'typhoon/doc'\" \(663 characters\)
  90.   sed "s/^X//" >'typhoon/doc' <<'END_OF_FILE'
  91. XThings to do before release
  92. X---------------------------
  93. X
  94. X
  95. X1)    Remove macros that rename d_key to db_key, and rename btree functions
  96. X    to btree_add, btree_open ...
  97. X
  98. X2)    Remove macros that rename d_rec to db_rec, and rename btree functions
  99. X    to rec_add, rec_open ...
  100. X
  101. X3)    Replace file lock on /tmp/typhoon_sem with semaphore locking in
  102. X    unix.c
  103. X
  104. X4)    Remove superfluous source files
  105. X        d_integ.c
  106. X        alog.c
  107. X        dumptree.c
  108. X        tyalloc.c
  109. X
  110. X5)    Add locking (lock manager)
  111. X
  112. X6)    Remove superfluous updates of current record buffer in ty_auxfn.
  113. X
  114. X7)    Surround everything that relates to replication with #ifdef USE_REPLSERV.
  115. X
  116. X8)    Remove the global curr_ variables and use only db->curr_.....
  117. END_OF_FILE
  118.   if test 663 -ne `wc -c <'typhoon/doc'`; then
  119.     echo shar: \"'typhoon/doc'\" unpacked with wrong size!
  120.   fi
  121.   # end of 'typhoon/doc'
  122. fi
  123. if test -f 'typhoon/examples/makefile' -a "${1}" != "-c" ; then 
  124.   echo shar: Will not clobber existing file \"'typhoon/examples/makefile'\"
  125. else
  126.   echo shar: Extracting \"'typhoon/examples/makefile'\" \(193 characters\)
  127.   sed "s/^X//" >'typhoon/examples/makefile' <<'END_OF_FILE'
  128. XCC        = cc -DUNIX -I../src/h
  129. XOBJS    = demo.o
  130. X
  131. Xdemo: demo.dbd $(OBJS)
  132. X    $(CC) -o demo $(OBJS) ../src/libtyphoon.a
  133. X
  134. Xdemo.dbd: demo.ddl
  135. X    ../src/util/ddlp -a4 -f demo
  136. X
  137. X.c.o:
  138. X    $(CC) -c $<
  139. X
  140. X# end-of-file
  141. END_OF_FILE
  142.   if test 193 -ne `wc -c <'typhoon/examples/makefile'`; then
  143.     echo shar: \"'typhoon/examples/makefile'\" unpacked with wrong size!
  144.   fi
  145.   # end of 'typhoon/examples/makefile'
  146. fi
  147. if test -f 'typhoon/man/d_close.1' -a "${1}" != "-c" ; then 
  148.   echo shar: Will not clobber existing file \"'typhoon/man/d_close.1'\"
  149. else
  150.   echo shar: Extracting \"'typhoon/man/d_close.1'\" \(771 characters\)
  151.   sed "s/^X//" >'typhoon/man/d_close.1' <<'END_OF_FILE'
  152. X.de Id
  153. X.ds Rv \\$3
  154. X.ds Dt \\$4
  155. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  156. X..
  157. X.Id $Id: d_close.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
  158. X.ds r \s-1TYPHOON\s0
  159. X.if n .ds - \%--
  160. X.if t .ds - \(em
  161. X.TH D_CLOSE 1 \*(Dt TYPHOON
  162. X.SH NAME
  163. Xd_open \- open a database
  164. X.SH SYNOPSIS
  165. X.B #include <typhoon.h>
  166. X.br
  167. X
  168. X\fBd_close()
  169. X.SH DESCRIPTION
  170. X\fBd_close\fP closes the current database. If no database is currently
  171. Xopen, \fBS_NOCD\fP is returned.
  172. X.SH DIAGNOSTICS
  173. XThe status code returned by the function is also stored in the global
  174. Xvariable \fIdb_status\fP.
  175. X.TP
  176. X.B S_OKAY
  177. XDatabase closed successfully.
  178. X.TP
  179. X.B S_NOCD
  180. XNo current database.
  181. X.SH CURRENCY CHANGES
  182. XThere is no current database.
  183. X.SH IDENTIFICATION
  184. XAuthor: Thomas B. Pedersen.
  185. X.br
  186. XCopyright (c) 1994 Thomas B. Pedersen.
  187. X.SH "SEE ALSO"
  188. Xd_open(1)
  189. X
  190. END_OF_FILE
  191.   if test 771 -ne `wc -c <'typhoon/man/d_close.1'`; then
  192.     echo shar: \"'typhoon/man/d_close.1'\" unpacked with wrong size!
  193.   fi
  194.   # end of 'typhoon/man/d_close.1'
  195. fi
  196. if test -f 'typhoon/man/d_crget.1' -a "${1}" != "-c" ; then 
  197.   echo shar: Will not clobber existing file \"'typhoon/man/d_crget.1'\"
  198. else
  199.   echo shar: Extracting \"'typhoon/man/d_crget.1'\" \(843 characters\)
  200.   sed "s/^X//" >'typhoon/man/d_crget.1' <<'END_OF_FILE'
  201. X.de Id
  202. X.ds Rv \\$3
  203. X.ds Dt \\$4
  204. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  205. X..
  206. X.Id $Id: d_crget.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
  207. X.ds r \s-1TYPHOON\s0
  208. X.if n .ds - \%--
  209. X.if t .ds - \(em
  210. X.TH D_CRGET 1 \*(Dt TYPHOON
  211. X.SH NAME
  212. Xd_crget \- get the database address of the current record
  213. X.SH SYNOPSIS
  214. X.B #include <typhoon.h>
  215. X.br
  216. X
  217. X\fBd_crget()
  218. X.SH DESCRIPTION
  219. X\fBd_crget\fP gets the database address of the current record.
  220. XIf no database is currently open, \fBS_NOCD\fP is returned.
  221. X.SH DIAGNOSTICS
  222. XThe status code returned by the function is also stored in the global
  223. Xvariable \fIdb_status\fP.
  224. X.TP
  225. X.B S_OKAY
  226. XOperation successful.
  227. X.TP
  228. X.B S_NOCD
  229. XThere is no current database.
  230. X.TP
  231. X.B S_NOCR
  232. XThere is no current record.
  233. X.SH CURRENCY CHANGES
  234. XNone.
  235. X.SH IDENTIFICATION
  236. XAuthor: Thomas B. Pedersen.
  237. X.br
  238. XCopyright (c) 1994 Thomas B. Pedersen.
  239. X.SH "SEE ALSO"
  240. Xd_crset(1)
  241. X
  242. END_OF_FILE
  243.   if test 843 -ne `wc -c <'typhoon/man/d_crget.1'`; then
  244.     echo shar: \"'typhoon/man/d_crget.1'\" unpacked with wrong size!
  245.   fi
  246.   # end of 'typhoon/man/d_crget.1'
  247. fi
  248. if test -f 'typhoon/man/d_crset.1' -a "${1}" != "-c" ; then 
  249.   echo shar: Will not clobber existing file \"'typhoon/man/d_crset.1'\"
  250. else
  251.   echo shar: Extracting \"'typhoon/man/d_crset.1'\" \(871 characters\)
  252.   sed "s/^X//" >'typhoon/man/d_crset.1' <<'END_OF_FILE'
  253. X.de Id
  254. X.ds Rv \\$3
  255. X.ds Dt \\$4
  256. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  257. X..
  258. X.Id $Id: d_crset.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
  259. X.ds r \s-1TYPHOON\s0
  260. X.if n .ds - \%--
  261. X.if t .ds - \(em
  262. X.TH D_CRSET 1 \*(Dt TYPHOON
  263. X.SH NAME
  264. Xd_crset \- set the current record
  265. X.SH SYNOPSIS
  266. X.B #include <typhoon.h>
  267. X.br
  268. X
  269. X\fBd_crset()
  270. X.SH DESCRIPTION
  271. X\fBd_crset\fP sets the current record. If no database is currently open,
  272. X\fBS_NOCD\fP is returned.
  273. X.SH DIAGNOSTICS
  274. XThe status code returned by the function is also stored in the global
  275. Xvariable \fIdb_status\fP.
  276. X.TP
  277. X.B S_OKAY
  278. XOperation successful.
  279. X.TP
  280. X.B S_NOCD
  281. XThere is no current database.
  282. X.TP
  283. X.B S_INVADDR
  284. XThe specified address is invalid.
  285. X.SH CURRENCY CHANGES
  286. XThe record at the specified database address becomes the current record.
  287. X.SH IDENTIFICATION
  288. XAuthor: Thomas B. Pedersen.
  289. X.br
  290. XCopyright (c) 1994 Thomas B. Pedersen.
  291. X.SH "SEE ALSO"
  292. Xd_crget(1)
  293. X
  294. END_OF_FILE
  295.   if test 871 -ne `wc -c <'typhoon/man/d_crset.1'`; then
  296.     echo shar: \"'typhoon/man/d_crset.1'\" unpacked with wrong size!
  297.   fi
  298.   # end of 'typhoon/man/d_crset.1'
  299. fi
  300. if test -f 'typhoon/man/d_dbdpath.1' -a "${1}" != "-c" ; then 
  301.   echo shar: Will not clobber existing file \"'typhoon/man/d_dbdpath.1'\"
  302. else
  303.   echo shar: Extracting \"'typhoon/man/d_dbdpath.1'\" \(931 characters\)
  304.   sed "s/^X//" >'typhoon/man/d_dbdpath.1' <<'END_OF_FILE'
  305. X.de Id
  306. X.ds Rv \\$3
  307. X.ds Dt \\$4
  308. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  309. X..
  310. X.Id $Id: d_dbdpath.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
  311. X.ds r \s-1TYPHOON\s0
  312. X.if n .ds - \%--
  313. X.if t .ds - \(em
  314. X.TH D_DBDPATH 1 \*(Dt TYPHOON
  315. X.SH NAME
  316. Xd_dbdpath \- set the path of the dbd-files
  317. X.SH SYNOPSIS
  318. X.B #include <typhoon.h>
  319. X.br
  320. X
  321. X\fBd_dbdpath(char *\fPpath\fB)
  322. X.SH DESCRIPTION
  323. X\fBd_dbdpath\fP sets the path of the database definition files. This 
  324. Xfunction should be called prior to calling \fBd_open(1)\fP. \fIpath\fP
  325. Xcan be either a relative or an absolute path name. The validity of
  326. X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
  327. X.SH DIAGNOSTICS
  328. XThe status code returned by the function is also stored in the global
  329. Xvariable \fIdb_status\fP.
  330. X.TP
  331. X.B S_OKAY
  332. XThis value is always returned.
  333. X.SH CURRENCY CHANGES
  334. XNone.
  335. X.SH IDENTIFICATION
  336. XAuthor: Thomas B. Pedersen.
  337. X.br
  338. XCopyright (c) 1994 Thomas B. Pedersen.
  339. X.SH "SEE ALSO"
  340. Xd_dbfpath(1), d_open(1).
  341. X
  342. END_OF_FILE
  343.   if test 931 -ne `wc -c <'typhoon/man/d_dbdpath.1'`; then
  344.     echo shar: \"'typhoon/man/d_dbdpath.1'\" unpacked with wrong size!
  345.   fi
  346.   # end of 'typhoon/man/d_dbdpath.1'
  347. fi
  348. if test -f 'typhoon/man/d_dbfpath.1' -a "${1}" != "-c" ; then 
  349.   echo shar: Will not clobber existing file \"'typhoon/man/d_dbfpath.1'\"
  350. else
  351.   echo shar: Extracting \"'typhoon/man/d_dbfpath.1'\" \(1041 characters\)
  352.   sed "s/^X//" >'typhoon/man/d_dbfpath.1' <<'END_OF_FILE'
  353. X.de Id
  354. X.ds Rv \\$3
  355. X.ds Dt \\$4
  356. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  357. X..
  358. X.Id $Id: d_dbfpath.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
  359. X.ds r \s-1TYPHOON\s0
  360. X.if n .ds - \%--
  361. X.if t .ds - \(em
  362. X.TH D_DBFPATH 1 \*(Dt TYPHOON
  363. X.SH NAME
  364. Xd_dbfpath \- set the path of the database files
  365. X.SH SYNOPSIS
  366. X.B #include <typhoon.h>
  367. X.br
  368. X
  369. X\fBd_dbfpath(char *\fPpath\fB)
  370. X.SH DESCRIPTION
  371. X\fBd_dbdpath\fP sets the path of the database files. This 
  372. Xfunction should be called prior to calling \fBd_open(1)\fP as it
  373. Xdetermines where database files are stored. \fIpath\fP
  374. Xcan be either a relative or an absolute path name. The validity of
  375. X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
  376. X
  377. XSetting the dbd-path does not affect previously opened databases.
  378. X.SH DIAGNOSTICS
  379. XThe status code returned by the function is also stored in the global
  380. Xvariable \fIdb_status\fP.
  381. X.TP
  382. X.B S_OKAY
  383. XThis value is always returned.
  384. X.SH CURRENCY CHANGES
  385. XNone.
  386. X.SH IDENTIFICATION
  387. XAuthor: Thomas B. Pedersen.
  388. X.br
  389. XCopyright (c) 1994 Thomas B. Pedersen.
  390. X.SH "SEE ALSO"
  391. Xd_dbdpath(1), d_open(1).
  392. X
  393. END_OF_FILE
  394.   if test 1041 -ne `wc -c <'typhoon/man/d_dbfpath.1'`; then
  395.     echo shar: \"'typhoon/man/d_dbfpath.1'\" unpacked with wrong size!
  396.   fi
  397.   # end of 'typhoon/man/d_dbfpath.1'
  398. fi
  399. if test -f 'typhoon/man/d_dbget.1' -a "${1}" != "-c" ; then 
  400.   echo shar: Will not clobber existing file \"'typhoon/man/d_dbget.1'\"
  401. else
  402.   echo shar: Extracting \"'typhoon/man/d_dbget.1'\" \(1138 characters\)
  403.   sed "s/^X//" >'typhoon/man/d_dbget.1' <<'END_OF_FILE'
  404. X.de Id
  405. X.ds Rv \\$3
  406. X.ds Dt \\$4
  407. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  408. X..
  409. X.Id $Id: d_dbget.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
  410. X.ds r \s-1TYPHOON\s0
  411. X.if n .ds - \%--
  412. X.if t .ds - \(em
  413. X.TH D_DBGET 1 \*(Dt TYPHOON
  414. X.SH NAME
  415. Xd_dbget \- get the id of the current database
  416. X.SH SYNOPSIS
  417. X.B #include <typhoon.h>
  418. X.br
  419. X
  420. X\fBd_crget()
  421. X.SH DESCRIPTION
  422. XWhen a database is opened it is assigned an internal id which it retains
  423. Xuntil it is closed. \fBd_dbget\fP gets the id of the current database.
  424. XThis id can be used in \fBd_dbset(1)\fP to make another open database the
  425. Xcurrent database.
  426. X.SH DIAGNOSTICS
  427. XThe status code returned by the function is also stored in the global
  428. Xvariable \fIdb_status\fP.
  429. X.TP
  430. X.B S_OKAY
  431. XOperation successful.
  432. X.TP
  433. X.B S_NOCD
  434. XThere is no current database.
  435. X.SH CURRENCY CHANGES
  436. XNone.
  437. X.SH EXAMPLE
  438. X#include <typhoon.h>
  439. X.br
  440. X
  441. Xint cust_dbid;
  442. X.br
  443. X
  444. Xd_open("customer", "s");
  445. X.br
  446. Xd_dbget(&cust_dbid);
  447. X.br
  448. X\|.\|.\|.
  449. X.br
  450. Xd_open(....);
  451. X.br
  452. X\|.\|.\|.
  453. X.br
  454. X/* Make the customer database the current database */
  455. X.br
  456. Xd_dbset(cust_dbid);
  457. X.SH IDENTIFICATION
  458. XAuthor: Thomas B. Pedersen.
  459. X.br
  460. XCopyright (c) 1994 Thomas B. Pedersen.
  461. X.SH "SEE ALSO"
  462. Xd_dbset(1)
  463. X
  464. END_OF_FILE
  465.   if test 1138 -ne `wc -c <'typhoon/man/d_dbget.1'`; then
  466.     echo shar: \"'typhoon/man/d_dbget.1'\" unpacked with wrong size!
  467.   fi
  468.   # end of 'typhoon/man/d_dbget.1'
  469. fi
  470. if test -f 'typhoon/man/d_dbset.1' -a "${1}" != "-c" ; then 
  471.   echo shar: Will not clobber existing file \"'typhoon/man/d_dbset.1'\"
  472. else
  473.   echo shar: Extracting \"'typhoon/man/d_dbset.1'\" \(773 characters\)
  474.   sed "s/^X//" >'typhoon/man/d_dbset.1' <<'END_OF_FILE'
  475. X.de Id
  476. X.ds Rv \\$3
  477. X.ds Dt \\$4
  478. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  479. X..
  480. X.Id $Id: d_dbset.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
  481. X.ds r \s-1TYPHOON\s0
  482. X.if n .ds - \%--
  483. X.if t .ds - \(em
  484. X.TH D_DBSET 1 \*(Dt TYPHOON
  485. X.SH NAME
  486. Xd_dbset \- set the current database
  487. X.SH SYNOPSIS
  488. X.B #include <typhoon.h>
  489. X.br
  490. X
  491. X\fBd_dbset(int \fPdbid\fB)
  492. X.SH DESCRIPTION
  493. XSets the database with id \fBdbid\fP to the current database.
  494. X.SH DIAGNOSTICS
  495. XThe status code returned by the function is also stored in the global
  496. Xvariable \fIdb_status\fP.
  497. X.TP
  498. X.B S_OKAY
  499. XOperation successful.
  500. X.TP
  501. X.B S_INVPARM
  502. XThere database id specified is invalid.
  503. X.SH CURRENCY CHANGES
  504. XNone.
  505. X.SH EXAMPLE
  506. XSee d_dbget(1).
  507. X.SH IDENTIFICATION
  508. XAuthor: Thomas B. Pedersen.
  509. X.br
  510. XCopyright (c) 1994 Thomas B. Pedersen.
  511. X.SH "SEE ALSO"
  512. Xd_dbget(1)
  513. X
  514. END_OF_FILE
  515.   if test 773 -ne `wc -c <'typhoon/man/d_dbset.1'`; then
  516.     echo shar: \"'typhoon/man/d_dbset.1'\" unpacked with wrong size!
  517.   fi
  518.   # end of 'typhoon/man/d_dbset.1'
  519. fi
  520. if test -f 'typhoon/man/d_delete.1' -a "${1}" != "-c" ; then 
  521.   echo shar: Will not clobber existing file \"'typhoon/man/d_delete.1'\"
  522. else
  523.   echo shar: Extracting \"'typhoon/man/d_delete.1'\" \(1221 characters\)
  524.   sed "s/^X//" >'typhoon/man/d_delete.1' <<'END_OF_FILE'
  525. X.de Id
  526. X.ds Rv \\$3
  527. X.ds Dt \\$4
  528. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  529. X..
  530. X.Id $Id: d_delete.1,v 1.1 1994/09/13 21:29:56 tbp Exp $
  531. X.ds r \s-1TYPHOON\s0
  532. X.if n .ds - \%--
  533. X.if t .ds - \(em
  534. X.TH D_DELETE 1 \*(Dt TYPHOON
  535. X.SH NAME
  536. Xd_delete \- delete the current record
  537. X.SH SYNOPSIS
  538. X.B #include <typhoon.h>
  539. X.br
  540. X
  541. X\fBd_delete()
  542. X.SH DESCRIPTION
  543. X\fBd_delete\fP removes the current record from its table.
  544. X.br
  545. XIf there is no current record, \fBS_NOCR\fP is returned.
  546. XIf the record has references, i.e. records with foreign keys that reference
  547. Xthis record, \fBS_RESTRICT\fP is returned.
  548. X.SH DIAGNOSTICS
  549. XThe status code returned by the function is also stored in the global
  550. Xvariable \fIdb_status\fP.
  551. X.TP
  552. X.B S_OKAY
  553. XThe record was successfully deleted.
  554. X.TP
  555. X.B S_NOCD
  556. XThere is no current database.
  557. X.TP
  558. X.B S_NOCR
  559. XThere is no current record.
  560. X.TP
  561. X.B S_RESTRICT
  562. XOne or more records currently reference this record and the record cannot
  563. Xbe deleted.
  564. X.SH CURRENCY CHANGES
  565. XNone.
  566. X.SH EXAMPLE
  567. X#include <typhoon.h>
  568. X.br
  569. X
  570. Xif( d_keyfind(CUSTOMER_NAME, "Pedersen") == S_OKAY )
  571. X.br
  572. X{
  573. X.br
  574. X    if( d_delete() != S_OKAY )
  575. X.br
  576. X        /* handle error */
  577. X.br
  578. X}
  579. X.SH IDENTIFICATION
  580. XAuthor: Thomas B. Pedersen.
  581. X.br
  582. XCopyright (c) 1994 Thomas B. Pedersen.
  583. X.SH "SEE ALSO"
  584. Xd_fillnew(1)
  585. END_OF_FILE
  586.   if test 1221 -ne `wc -c <'typhoon/man/d_delete.1'`; then
  587.     echo shar: \"'typhoon/man/d_delete.1'\" unpacked with wrong size!
  588.   fi
  589.   # end of 'typhoon/man/d_delete.1'
  590. fi
  591. if test -f 'typhoon/man/d_keyread.1' -a "${1}" != "-c" ; then 
  592.   echo shar: Will not clobber existing file \"'typhoon/man/d_keyread.1'\"
  593. else
  594.   echo shar: Extracting \"'typhoon/man/d_keyread.1'\" \(1169 characters\)
  595.   sed "s/^X//" >'typhoon/man/d_keyread.1' <<'END_OF_FILE'
  596. X.de Id
  597. X.ds Rv \\$3
  598. X.ds Dt \\$4
  599. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  600. X..
  601. X.Id $Id: d_keyread.1,v 1.1 1994/09/13 21:29:58 tbp Exp $
  602. X.ds r \s-1TYPHOON\s0
  603. X.if n .ds - \%--
  604. X.if t .ds - \(em
  605. X.TH D_KEYREAD 1 \*(Dt TYPHOON
  606. X.SH NAME
  607. Xd_keyread \- read the most recently found key
  608. X.SH SYNOPSIS
  609. X.B #include <typhoon.h>
  610. X.br
  611. X
  612. X\fBd_keyread(void *\fPbuf\fB)
  613. X.SH DESCRIPTION
  614. X\fBd_keyread\fP copies the contents of the most recently accessed key
  615. Xfield specified by \fIfieldid\fP
  616. Xinto the buffer \fIbuf\fP. This can be used to determine the contents
  617. Xof a key's fields without actually reading the record.
  618. X.br
  619. X.SH DIAGNOSTICS
  620. XThe status code returned by the function is also stored in the global
  621. Xvariable \fIdb_status\fP.
  622. X.TP
  623. X.B S_OKAY
  624. XOperation successful.
  625. X.TP
  626. X.B S_NOCD
  627. XThere is no current database.
  628. X.TP
  629. X.B S_NOCR
  630. XThere is no current record.
  631. X.TP
  632. XNone.
  633. X.SH EXAMPLE
  634. X/* Find the smallest customer name */
  635. X.br
  636. X
  637. X#include <typhoon.h>
  638. X.br
  639. X
  640. Xif( d_keyfrst(CUSTOMER_NAME) == S_OKAY )
  641. X.br
  642. X{
  643. X.br
  644. X    char name[30];
  645. X.br
  646. X    d_keyread(name);
  647. X    printf("Name %s\\n", name);
  648. X.br
  649. X}
  650. X.SH IDENTIFICATION
  651. XAuthor: Thomas B. Pedersen.
  652. X.br
  653. XCopyright (c) 1994 Thomas B. Pedersen.
  654. X.SH "SEE ALSO"
  655. Xd_recread(1), d_crread(1)
  656. END_OF_FILE
  657.   if test 1169 -ne `wc -c <'typhoon/man/d_keyread.1'`; then
  658.     echo shar: \"'typhoon/man/d_keyread.1'\" unpacked with wrong size!
  659.   fi
  660.   # end of 'typhoon/man/d_keyread.1'
  661. fi
  662. if test -f 'typhoon/man/d_reclast.1' -a "${1}" != "-c" ; then 
  663.   echo shar: Will not clobber existing file \"'typhoon/man/d_reclast.1'\"
  664. else
  665.   echo shar: Extracting \"'typhoon/man/d_reclast.1'\" \(1057 characters\)
  666.   sed "s/^X//" >'typhoon/man/d_reclast.1' <<'END_OF_FILE'
  667. X.de Id
  668. X.ds Rv \\$3
  669. X.ds Dt \\$4
  670. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  671. X..
  672. X.Id $Id: d_reclast.1,v 1.1 1994/09/13 21:29:59 tbp Exp $
  673. X.ds r \s-1TYPHOON\s0
  674. X.if n .ds - \%--
  675. X.if t .ds - \(em
  676. X.TH D_RECLAST 1 \*(Dt TYPHOON
  677. X.SH NAME
  678. Xd_reclast \- find the last record in a table
  679. X.SH SYNOPSIS
  680. X.B #include <typhoon.h>
  681. X.br
  682. X
  683. X\fBd_reclast(ulong \fPrecid\fB)
  684. X.SH DESCRIPTION
  685. X\fBd_reclast\fP finds the last record in the table specified by 
  686. X\fIrecid\fP. If \fBd_reclast\fP returns \fBS_NOTFOUND\fP the table 
  687. Xis empty.
  688. X.SH DIAGNOSTICS
  689. XThe status code returned by the function is also stored in the global
  690. Xvariable \fIdb_status\fP.
  691. X.TP
  692. X.B S_OKAY
  693. XA record was found.
  694. X.TP
  695. X.B S_NOTFOUND
  696. XThe key value was not found, i.e. the index is empty.
  697. X.TP
  698. X.B S_NOCD
  699. XThere is no current database.
  700. X.TP
  701. X.B S_INVREC
  702. XThe id is not a record id.
  703. X.SH CURRENCY CHANGES
  704. XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
  705. X.SH IDENTIFICATION
  706. XAuthor: Thomas B. Pedersen.
  707. X.br
  708. XCopyright (c) 1994 Thomas B. Pedersen.
  709. X.SH "SEE ALSO"
  710. Xd_recprev(1), d_recnext(1), d_recprev(1), d_recread(1).
  711. X
  712. END_OF_FILE
  713.   if test 1057 -ne `wc -c <'typhoon/man/d_reclast.1'`; then
  714.     echo shar: \"'typhoon/man/d_reclast.1'\" unpacked with wrong size!
  715.   fi
  716.   # end of 'typhoon/man/d_reclast.1'
  717. fi
  718. if test -f 'typhoon/man/d_recprev.1' -a "${1}" != "-c" ; then 
  719.   echo shar: Will not clobber existing file \"'typhoon/man/d_recprev.1'\"
  720. else
  721.   echo shar: Extracting \"'typhoon/man/d_recprev.1'\" \(1065 characters\)
  722.   sed "s/^X//" >'typhoon/man/d_recprev.1' <<'END_OF_FILE'
  723. X.de Id
  724. X.ds Rv \\$3
  725. X.ds Dt \\$4
  726. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  727. X..
  728. X.Id $Id: d_recprev.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
  729. X.ds r \s-1TYPHOON\s0
  730. X.if n .ds - \%--
  731. X.if t .ds - \(em
  732. X.TH D_RECPREV 1 \*(Dt TYPHOON
  733. X.SH NAME
  734. Xd_recprev \- find the previous record in a table
  735. X.SH SYNOPSIS
  736. X.B #include <typhoon.h>
  737. X.br
  738. X
  739. X\fBd_recprev(ulong \fPrecid\fB)
  740. X.SH DESCRIPTION
  741. X\fBd_recprev\fP finds the previous record in the table specified by 
  742. X\fIrecid\fP. If \fBd_recprev\fP returns \fBS_NOTFOUND\fP the table 
  743. Xis empty.
  744. X.SH DIAGNOSTICS
  745. XThe status code returned by the function is also stored in the global
  746. Xvariable \fIdb_status\fP.
  747. X.TP
  748. X.B S_OKAY
  749. XA record was found.
  750. X.TP
  751. X.B S_NOTFOUND
  752. XThe key value was not found, i.e. the index is empty.
  753. X.TP
  754. X.B S_NOCD
  755. XThere is no current database.
  756. X.TP
  757. X.B S_INVREC
  758. XThe id is not a record id.
  759. X.SH CURRENCY CHANGES
  760. XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
  761. X.SH IDENTIFICATION
  762. XAuthor: Thomas B. Pedersen.
  763. X.br
  764. XCopyright (c) 1994 Thomas B. Pedersen.
  765. X.SH "SEE ALSO"
  766. Xd_recfrst(1), d_reclast(1), d_recnext(1), d_recread(1).
  767. X
  768. END_OF_FILE
  769.   if test 1065 -ne `wc -c <'typhoon/man/d_recprev.1'`; then
  770.     echo shar: \"'typhoon/man/d_recprev.1'\" unpacked with wrong size!
  771.   fi
  772.   # end of 'typhoon/man/d_recprev.1'
  773. fi
  774. if test -f 'typhoon/man/d_recread.1' -a "${1}" != "-c" ; then 
  775.   echo shar: Will not clobber existing file \"'typhoon/man/d_recread.1'\"
  776. else
  777.   echo shar: Extracting \"'typhoon/man/d_recread.1'\" \(1166 characters\)
  778.   sed "s/^X//" >'typhoon/man/d_recread.1' <<'END_OF_FILE'
  779. X.de Id
  780. X.ds Rv \\$3
  781. X.ds Dt \\$4
  782. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  783. X..
  784. X.Id $Id: d_recread.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
  785. X.ds r \s-1TYPHOON\s0
  786. X.if n .ds - \%--
  787. X.if t .ds - \(em
  788. X.TH D_RECREAD 1 \*(Dt TYPHOON
  789. X.SH NAME
  790. Xd_recread \- read the contents of the current record
  791. X.SH SYNOPSIS
  792. X.B #include <typhoon.h>
  793. X.br
  794. X
  795. X\fBd_recread(void *\fPbuf\fB)
  796. X.SH DESCRIPTION
  797. X\fBd_recread\fP reads the contents of the current record into \fIbuf\fP.
  798. XIf there is no current record, \fBS_NOCR\fP is returned.
  799. X.SH DIAGNOSTICS
  800. XThe status code returned by the function is also stored in the global
  801. Xvariable \fIdb_status\fP.
  802. X.TP
  803. X.B S_OKAY
  804. XThe record was successfully read.
  805. X.TP
  806. X.B S_NOCD
  807. XThere is no current database.
  808. X.TP
  809. X.B S_NOCR
  810. XThere is no current record.
  811. X.TP
  812. X.B S_INVREC
  813. XThe record id is not valid.
  814. X.TP
  815. X.SH CURRENCY CHANGES
  816. XNone.
  817. X.SH EXAMPLE
  818. X#include <typhoon.h>
  819. X
  820. Xstruct customer cust;
  821. X.br
  822. Xstrcpy(cust.name, "Pedersen");
  823. X.br
  824. Xif( d_keyfind(CUSTOMER_NAME, &cust.name) == S_OKAY )
  825. X.br
  826. X{
  827. X.br
  828. X    d_recread(&cust);
  829. X.br
  830. X    printf("account number is %lu\\n", cust.account);
  831. X.br
  832. X}
  833. X.SH IDENTIFICATION
  834. XAuthor: Thomas B. Pedersen.
  835. X.br
  836. XCopyright (c) 1994 Thomas B. Pedersen.
  837. X.SH "SEE ALSO"
  838. Xd_recwrite(1)
  839. END_OF_FILE
  840.   if test 1166 -ne `wc -c <'typhoon/man/d_recread.1'`; then
  841.     echo shar: \"'typhoon/man/d_recread.1'\" unpacked with wrong size!
  842.   fi
  843.   # end of 'typhoon/man/d_recread.1'
  844. fi
  845. if test -f 'typhoon/man/d_setfiles.1' -a "${1}" != "-c" ; then 
  846.   echo shar: Will not clobber existing file \"'typhoon/man/d_setfiles.1'\"
  847. else
  848.   echo shar: Extracting \"'typhoon/man/d_setfiles.1'\" \(897 characters\)
  849.   sed "s/^X//" >'typhoon/man/d_setfiles.1' <<'END_OF_FILE'
  850. X.de Id
  851. X.ds Rv \\$3
  852. X.ds Dt \\$4
  853. X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
  854. X..
  855. X.Id $Id: d_setfiles.1,v 1.1 1994/09/13 21:30:01 tbp Exp $
  856. X.ds r \s-1TYPHOON\s0
  857. X.if n .ds - \%--
  858. X.if t .ds - \(em
  859. X.TH D_SETFILES 1 \*(Dt TYPHOON
  860. X.SH NAME
  861. Xd_setfiles \- set the maximum number of open files
  862. X.SH SYNOPSIS
  863. X.B #include <typhoon.h>
  864. X.br
  865. X
  866. X\fBd_setfiles(int \fPmaxfiles\fB)
  867. X.SH DESCRIPTION
  868. X\fBd_setfiles\fP sets the maximum number of files that typhoon may have
  869. Xopen at the same time. If the current number of open files exceeds
  870. X\fImaxfiles\fP,
  871. XTyphoon closes the least recently used files.
  872. X.SH DIAGNOSTICS
  873. XThe status code returned by the function is also stored in the global
  874. Xvariable \fIdb_status\fP.
  875. X.TP
  876. X.B S_OKAY
  877. XOperation successful.
  878. X.TP
  879. X.B S_INVPARM
  880. XThe parameter is invalid.
  881. X.SH CURRENCY CHANGES
  882. XNone.
  883. X.SH IDENTIFICATION
  884. XAuthor: Thomas B. Pedersen.
  885. X.br
  886. XCopyright (c) 1994 Thomas B. Pedersen.
  887. X.SH "SEE ALSO"
  888. Xd_open(1)
  889. X
  890. END_OF_FILE
  891.   if test 897 -ne `wc -c <'typhoon/man/d_setfiles.1'`; then
  892.     echo shar: \"'typhoon/man/d_setfiles.1'\" unpacked with wrong size!
  893.   fi
  894.   # end of 'typhoon/man/d_setfiles.1'
  895. fi
  896. if test -f 'typhoon/src/ty_lock.c' -a "${1}" != "-c" ; then 
  897.   echo shar: Will not clobber existing file \"'typhoon/src/ty_lock.c'\"
  898. else
  899.   echo shar: Extracting \"'typhoon/src/ty_lock.c'\" \(908 characters\)
  900.   sed "s/^X//" >'typhoon/src/ty_lock.c' <<'END_OF_FILE'
  901. X/*----------------------------------------------------------------------------
  902. X * File    : @(#)ty_lock.c   93/11/04         Copyright (c) 1991-93 CT Danmark
  903. X * Library : typhoon
  904. X * Compiler: UNIX C, Turbo C, Microsoft C
  905. X * OS      : UNIX, OS/2, DOS
  906. X * Author  : Thomas B. Pedersen
  907. X *
  908. X * Description:
  909. X *   Locking functions.
  910. X *
  911. X * Functions:
  912. X *   d_reclock
  913. X *   d_recunlock
  914. X *   d_tablock
  915. X *   d_tabunlock
  916. X *
  917. X * History
  918. X * ------------------------------
  919. X * 23-Dec-1993 tbp  Initial version.
  920. X *
  921. X *--------------------------------------------------------------------------*/
  922. X
  923. Xstatic char rcsid[] = "$Id: ty_lock.c,v 1.2 1994/09/17 16:00:17 tbp Exp $";
  924. X
  925. X#ifdef UNIX
  926. X#    include <unistd.h>
  927. X#endif
  928. X#include <string.h>
  929. X#include <stdio.h>
  930. X#include <typhoon.h>
  931. X#include "ty_dbd.h"
  932. X#include "ty_type.h"
  933. X#include "ty_glob.h"
  934. X#include "ty_prot.h"
  935. X
  936. X
  937. XFNCLASS d_reclock()
  938. X{
  939. X}
  940. X
  941. X
  942. XFNCLASS d_recunlock()
  943. X{
  944. X}
  945. X
  946. X
  947. X/* end-of-file */
  948. END_OF_FILE
  949.   if test 908 -ne `wc -c <'typhoon/src/ty_lock.c'`; then
  950.     echo shar: \"'typhoon/src/ty_lock.c'\" unpacked with wrong size!
  951.   fi
  952.   # end of 'typhoon/src/ty_lock.c'
  953. fi
  954. if test -f 'typhoon/src/util/ddl_y.h' -a "${1}" != "-c" ; then 
  955.   echo shar: Will not clobber existing file \"'typhoon/src/util/ddl_y.h'\"
  956. else
  957.   echo shar: Extracting \"'typhoon/src/util/ddl_y.h'\" \(992 characters\)
  958.   sed "s/^X//" >'typhoon/src/util/ddl_y.h' <<'END_OF_FILE'
  959. X#define T_DATABASE 257
  960. X#define T_KEY 258
  961. X#define T_DATA 259
  962. X#define T_FILE 260
  963. X#define T_CONTAINS 261
  964. X#define T_RECORD 262
  965. X#define T_UNIQUE 263
  966. X#define T_DEFINE 264
  967. X#define T_CONTROLLED 265
  968. X#define T_MAP 266
  969. X#define T_ARROW 267
  970. X#define T_PRIMARY 268
  971. X#define T_ALTERNATE 269
  972. X#define T_FOREIGN 270
  973. X#define T_ON 271
  974. X#define T_DELETE 272
  975. X#define T_RESTRICT 273
  976. X#define T_REFERENCES 274
  977. X#define T_UPDATE 275
  978. X#define T_CASCADE 276
  979. X#define T_NULL 277
  980. X#define T_CHAR 278
  981. X#define T_SHORT 279
  982. X#define T_INT 280
  983. X#define T_LONG 281
  984. X#define T_SIGNED 282
  985. X#define T_UNSIGNED 283
  986. X#define T_FLOAT 284
  987. X#define T_DOUBLE 285
  988. X#define T_UCHAR 286
  989. X#define T_USHORT 287
  990. X#define T_ULONG 288
  991. X#define T_STRUCT 289
  992. X#define T_UNION 290
  993. X#define T_COMPOUND 291
  994. X#define T_ASC 292
  995. X#define T_DESC 293
  996. X#define T_VARIABLE 294
  997. X#define T_BY 295
  998. X#define T_IDENT 296
  999. X#define T_STRING 297
  1000. X#define T_NUMBER 298
  1001. X#define T_CHARCONST 299
  1002. Xtypedef union {
  1003. X    int     val;
  1004. X    char    is_union;
  1005. X    char    s[IDENT_LEN+1];
  1006. X} YYSTYPE;
  1007. Xextern YYSTYPE yylval;
  1008. END_OF_FILE
  1009.   if test 992 -ne `wc -c <'typhoon/src/util/ddl_y.h'`; then
  1010.     echo shar: \"'typhoon/src/util/ddl_y.h'\" unpacked with wrong size!
  1011.   fi
  1012.   # end of 'typhoon/src/util/ddl_y.h'
  1013. fi
  1014. if test -f 'typhoon/src/util/exp_y.h' -a "${1}" != "-c" ; then 
  1015.   echo shar: Will not clobber existing file \"'typhoon/src/util/exp_y.h'\"
  1016. else
  1017.   echo shar: Extracting \"'typhoon/src/util/exp_y.h'\" \(215 characters\)
  1018.   sed "s/^X//" >'typhoon/src/util/exp_y.h' <<'END_OF_FILE'
  1019. X#define T_EXPORT 257
  1020. X#define T_RECORD 258
  1021. X#define T_STRUCT 259
  1022. X#define T_UNION 260
  1023. X#define T_IN 261
  1024. X#define T_IDENT 262
  1025. X#define T_STRING 263
  1026. Xtypedef union {
  1027. X    char      s[IDENT_LEN+1];
  1028. X} YYSTYPE;
  1029. Xextern YYSTYPE yylval;
  1030. END_OF_FILE
  1031.   if test 215 -ne `wc -c <'typhoon/src/util/exp_y.h'`; then
  1032.     echo shar: \"'typhoon/src/util/exp_y.h'\" unpacked with wrong size!
  1033.   fi
  1034.   # end of 'typhoon/src/util/exp_y.h'
  1035. fi
  1036. if test -f 'typhoon/src/util/lex.h' -a "${1}" != "-c" ; then 
  1037.   echo shar: Will not clobber existing file \"'typhoon/src/util/lex.h'\"
  1038. else
  1039.   echo shar: Extracting \"'typhoon/src/util/lex.h'\" \(1153 characters\)
  1040.   sed "s/^X//" >'typhoon/src/util/lex.h' <<'END_OF_FILE'
  1041. X/*----------------------------------------------------------------------------
  1042. X * File    : @(#)lex.h       93/11/08         Copyright (c) 1993-94 CT Danmark
  1043. X * Compiler: UNIX C, Turbo C, Microsoft C
  1044. X * OS      : UNIX, OS/2, DOS
  1045. X * Author  : Thomas B. Pedersen
  1046. X *
  1047. X * Description:
  1048. X *   General functions for lexical analysers.
  1049. X *
  1050. X * Revision History
  1051. X * ----------------------------------------
  1052. X * 11-Nov-1993 tbp  Initial version.
  1053. X *
  1054. X *--------------------------------------------------------------------------*/
  1055. X
  1056. X/*-------------------------- Function prototypes ---------------------------*/
  1057. Xvoid    lex_skip_comment    PRM( (void); )
  1058. Xint        lex_parse_keyword    PRM( (char); )
  1059. Xint        lex_parse_number    PRM( (char); )
  1060. Xint        lex_parse_string    PRM( (void); )
  1061. Xint        lex_parse_charconst    PRM( (void); )
  1062. Xvoid    lex_skip_line        PRM( (void); )
  1063. X
  1064. Xtypedef int (*LEX_CMPFUNC) PRM( (const void *, const void *); )
  1065. X
  1066. Xtypedef struct {
  1067. X    short    token;
  1068. X    char    *s;    
  1069. X} LEX_KEYWORD;
  1070. X
  1071. X
  1072. X/* These variables must be defined in the program that uses lex.c 
  1073. X */
  1074. Xextern LEX_KEYWORD    lex_keywordtab[];
  1075. Xextern int             lex_keywords;
  1076. Xextern FILE           *lex_file;
  1077. Xextern int               lex_lineno;
  1078. X
  1079. X
  1080. X/* end-of-file */
  1081. X
  1082. END_OF_FILE
  1083.   if test 1153 -ne `wc -c <'typhoon/src/util/lex.h'`; then
  1084.     echo shar: \"'typhoon/src/util/lex.h'\" unpacked with wrong size!
  1085.   fi
  1086.   # end of 'typhoon/src/util/lex.h'
  1087. fi
  1088. echo shar: End of archive 9 \(of 9\).
  1089. cp /dev/null ark9isdone
  1090. MISSING=""
  1091. for I in 1 2 3 4 5 6 7 8 9 ; do
  1092.     if test ! -f ark${I}isdone ; then
  1093.     MISSING="${MISSING} ${I}"
  1094.     fi
  1095. done
  1096. if test "${MISSING}" = "" ; then
  1097.     echo You have unpacked all 9 archives.
  1098.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1099. else
  1100.     echo You still must unpack the following archives:
  1101.     echo "        " ${MISSING}
  1102. fi
  1103. exit 0
  1104. exit 0 # Just in case...
  1105.