home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume44
/
typhoon
/
part09
< prev
next >
Wrap
Internet Message Format
|
1994-09-17
|
30KB
From: zeppelin@login.dknet.dk (Thomas B. Pedersen)
Newsgroups: comp.sources.misc
Subject: v44i065: typhoon - Typhoon Relational Database Management System, Part09/09
Date: 17 Sep 1994 21:46:04 -0500
Organization: Sterling Software
Sender: kent@sparky.sterling.com
Approved: kent@sparky.sterling.com
Message-ID: <35g9lc$ok9@sparky.sterling.com>
X-Md4-Signature: ab98aeea2f517c487c102bea68b0dc9b
Submitted-by: zeppelin@login.dknet.dk (Thomas B. Pedersen)
Posting-number: Volume 44, Issue 65
Archive-name: typhoon/part09
Environment: SCO UNIX, Tandem NonStop UNIX, Sun Solaris, AIX, Linux, OS/2
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# Contents: typhoon/INSTALL typhoon/TODO typhoon/doc
# typhoon/examples/makefile typhoon/man/d_close.1
# typhoon/man/d_crget.1 typhoon/man/d_crset.1
# typhoon/man/d_dbdpath.1 typhoon/man/d_dbfpath.1
# typhoon/man/d_dbget.1 typhoon/man/d_dbset.1 typhoon/man/d_delete.1
# typhoon/man/d_keyread.1 typhoon/man/d_reclast.1
# typhoon/man/d_recprev.1 typhoon/man/d_recread.1
# typhoon/man/d_setfiles.1 typhoon/src/ty_lock.c
# typhoon/src/util/ddl_y.h typhoon/src/util/exp_y.h
# typhoon/src/util/lex.h
# Wrapped by kent@sparky on Sat Sep 17 21:38:19 1994
PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
echo If this archive is complete, you will see the following message:
echo ' "shar: End of archive 9 (of 9)."'
if test -f 'typhoon/INSTALL' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/INSTALL'\"
else
echo shar: Extracting \"'typhoon/INSTALL'\" \(760 characters\)
sed "s/^X//" >'typhoon/INSTALL' <<'END_OF_FILE'
XThe Typhoon RDBMS has been compiled and tested on the following platforms:
X
X IBM RS/6000 running AIX
X 386/486 running Linux 0.99
X 386/486 running OS/2 2.1
X 386/486 running SCO UNIX SVR3.2 Version 4.2
X Sun Solaris 2.3
X Tandem S2 running NonStop Unix SVR4 B.22
X
X-------------------------------------------------------------------------------
X
XInstallation:
X
XThe system hasn't been tested on more than a handful of different platforms,
Xso the makefile is really simple. You just run 'make' in the typhoon
Xdirectory.
X
X
XInclude directories:
X
XDue to development conventions at my company all library include files are
Xplaced in /usr/h. This may not be suitable for you and you may put them
Xelsewhere. Currently, only environ.h and typhoon.h are placed in /usr/h.
X
END_OF_FILE
if test 760 -ne `wc -c <'typhoon/INSTALL'`; then
echo shar: \"'typhoon/INSTALL'\" unpacked with wrong size!
fi
# end of 'typhoon/INSTALL'
fi
if test -f 'typhoon/TODO' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/TODO'\"
else
echo shar: Extracting \"'typhoon/TODO'\" \(174 characters\)
sed "s/^X//" >'typhoon/TODO' <<'END_OF_FILE'
XThis list contains a lot of things that needs to be done. The major goal of
Xthe library has been functionality more than performance. I am working on the
Xlast goal now.
X
X1.
X
END_OF_FILE
if test 174 -ne `wc -c <'typhoon/TODO'`; then
echo shar: \"'typhoon/TODO'\" unpacked with wrong size!
fi
# end of 'typhoon/TODO'
fi
if test -f 'typhoon/doc' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/doc'\"
else
echo shar: Extracting \"'typhoon/doc'\" \(663 characters\)
sed "s/^X//" >'typhoon/doc' <<'END_OF_FILE'
XThings to do before release
X---------------------------
X
X
X1) Remove macros that rename d_key to db_key, and rename btree functions
X to btree_add, btree_open ...
X
X2) Remove macros that rename d_rec to db_rec, and rename btree functions
X to rec_add, rec_open ...
X
X3) Replace file lock on /tmp/typhoon_sem with semaphore locking in
X unix.c
X
X4) Remove superfluous source files
X d_integ.c
X alog.c
X dumptree.c
X tyalloc.c
X
X5) Add locking (lock manager)
X
X6) Remove superfluous updates of current record buffer in ty_auxfn.
X
X7) Surround everything that relates to replication with #ifdef USE_REPLSERV.
X
X8) Remove the global curr_ variables and use only db->curr_.....
END_OF_FILE
if test 663 -ne `wc -c <'typhoon/doc'`; then
echo shar: \"'typhoon/doc'\" unpacked with wrong size!
fi
# end of 'typhoon/doc'
fi
if test -f 'typhoon/examples/makefile' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/examples/makefile'\"
else
echo shar: Extracting \"'typhoon/examples/makefile'\" \(193 characters\)
sed "s/^X//" >'typhoon/examples/makefile' <<'END_OF_FILE'
XCC = cc -DUNIX -I../src/h
XOBJS = demo.o
X
Xdemo: demo.dbd $(OBJS)
X $(CC) -o demo $(OBJS) ../src/libtyphoon.a
X
Xdemo.dbd: demo.ddl
X ../src/util/ddlp -a4 -f demo
X
X.c.o:
X $(CC) -c $<
X
X# end-of-file
END_OF_FILE
if test 193 -ne `wc -c <'typhoon/examples/makefile'`; then
echo shar: \"'typhoon/examples/makefile'\" unpacked with wrong size!
fi
# end of 'typhoon/examples/makefile'
fi
if test -f 'typhoon/man/d_close.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_close.1'\"
else
echo shar: Extracting \"'typhoon/man/d_close.1'\" \(771 characters\)
sed "s/^X//" >'typhoon/man/d_close.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_close.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_CLOSE 1 \*(Dt TYPHOON
X.SH NAME
Xd_open \- open a database
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_close()
X.SH DESCRIPTION
X\fBd_close\fP closes the current database. If no database is currently
Xopen, \fBS_NOCD\fP is returned.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XDatabase closed successfully.
X.TP
X.B S_NOCD
XNo current database.
X.SH CURRENCY CHANGES
XThere is no current database.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_open(1)
X
END_OF_FILE
if test 771 -ne `wc -c <'typhoon/man/d_close.1'`; then
echo shar: \"'typhoon/man/d_close.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_close.1'
fi
if test -f 'typhoon/man/d_crget.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_crget.1'\"
else
echo shar: Extracting \"'typhoon/man/d_crget.1'\" \(843 characters\)
sed "s/^X//" >'typhoon/man/d_crget.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_crget.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_CRGET 1 \*(Dt TYPHOON
X.SH NAME
Xd_crget \- get the database address of the current record
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_crget()
X.SH DESCRIPTION
X\fBd_crget\fP gets the database address of the current record.
XIf no database is currently open, \fBS_NOCD\fP is returned.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_NOCR
XThere is no current record.
X.SH CURRENCY CHANGES
XNone.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_crset(1)
X
END_OF_FILE
if test 843 -ne `wc -c <'typhoon/man/d_crget.1'`; then
echo shar: \"'typhoon/man/d_crget.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_crget.1'
fi
if test -f 'typhoon/man/d_crset.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_crset.1'\"
else
echo shar: Extracting \"'typhoon/man/d_crset.1'\" \(871 characters\)
sed "s/^X//" >'typhoon/man/d_crset.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_crset.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_CRSET 1 \*(Dt TYPHOON
X.SH NAME
Xd_crset \- set the current record
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_crset()
X.SH DESCRIPTION
X\fBd_crset\fP sets the current record. If no database is currently open,
X\fBS_NOCD\fP is returned.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_INVADDR
XThe specified address is invalid.
X.SH CURRENCY CHANGES
XThe record at the specified database address becomes the current record.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_crget(1)
X
END_OF_FILE
if test 871 -ne `wc -c <'typhoon/man/d_crset.1'`; then
echo shar: \"'typhoon/man/d_crset.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_crset.1'
fi
if test -f 'typhoon/man/d_dbdpath.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_dbdpath.1'\"
else
echo shar: Extracting \"'typhoon/man/d_dbdpath.1'\" \(931 characters\)
sed "s/^X//" >'typhoon/man/d_dbdpath.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_dbdpath.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_DBDPATH 1 \*(Dt TYPHOON
X.SH NAME
Xd_dbdpath \- set the path of the dbd-files
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_dbdpath(char *\fPpath\fB)
X.SH DESCRIPTION
X\fBd_dbdpath\fP sets the path of the database definition files. This
Xfunction should be called prior to calling \fBd_open(1)\fP. \fIpath\fP
Xcan be either a relative or an absolute path name. The validity of
X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XThis value is always returned.
X.SH CURRENCY CHANGES
XNone.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_dbfpath(1), d_open(1).
X
END_OF_FILE
if test 931 -ne `wc -c <'typhoon/man/d_dbdpath.1'`; then
echo shar: \"'typhoon/man/d_dbdpath.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_dbdpath.1'
fi
if test -f 'typhoon/man/d_dbfpath.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_dbfpath.1'\"
else
echo shar: Extracting \"'typhoon/man/d_dbfpath.1'\" \(1041 characters\)
sed "s/^X//" >'typhoon/man/d_dbfpath.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_dbfpath.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_DBFPATH 1 \*(Dt TYPHOON
X.SH NAME
Xd_dbfpath \- set the path of the database files
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_dbfpath(char *\fPpath\fB)
X.SH DESCRIPTION
X\fBd_dbdpath\fP sets the path of the database files. This
Xfunction should be called prior to calling \fBd_open(1)\fP as it
Xdetermines where database files are stored. \fIpath\fP
Xcan be either a relative or an absolute path name. The validity of
X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
X
XSetting the dbd-path does not affect previously opened databases.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XThis value is always returned.
X.SH CURRENCY CHANGES
XNone.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_dbdpath(1), d_open(1).
X
END_OF_FILE
if test 1041 -ne `wc -c <'typhoon/man/d_dbfpath.1'`; then
echo shar: \"'typhoon/man/d_dbfpath.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_dbfpath.1'
fi
if test -f 'typhoon/man/d_dbget.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_dbget.1'\"
else
echo shar: Extracting \"'typhoon/man/d_dbget.1'\" \(1138 characters\)
sed "s/^X//" >'typhoon/man/d_dbget.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_dbget.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_DBGET 1 \*(Dt TYPHOON
X.SH NAME
Xd_dbget \- get the id of the current database
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_crget()
X.SH DESCRIPTION
XWhen a database is opened it is assigned an internal id which it retains
Xuntil it is closed. \fBd_dbget\fP gets the id of the current database.
XThis id can be used in \fBd_dbset(1)\fP to make another open database the
Xcurrent database.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_NOCD
XThere is no current database.
X.SH CURRENCY CHANGES
XNone.
X.SH EXAMPLE
X#include <typhoon.h>
X.br
X
Xint cust_dbid;
X.br
X
Xd_open("customer", "s");
X.br
Xd_dbget(&cust_dbid);
X.br
X\|.\|.\|.
X.br
Xd_open(....);
X.br
X\|.\|.\|.
X.br
X/* Make the customer database the current database */
X.br
Xd_dbset(cust_dbid);
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_dbset(1)
X
END_OF_FILE
if test 1138 -ne `wc -c <'typhoon/man/d_dbget.1'`; then
echo shar: \"'typhoon/man/d_dbget.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_dbget.1'
fi
if test -f 'typhoon/man/d_dbset.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_dbset.1'\"
else
echo shar: Extracting \"'typhoon/man/d_dbset.1'\" \(773 characters\)
sed "s/^X//" >'typhoon/man/d_dbset.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_dbset.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_DBSET 1 \*(Dt TYPHOON
X.SH NAME
Xd_dbset \- set the current database
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_dbset(int \fPdbid\fB)
X.SH DESCRIPTION
XSets the database with id \fBdbid\fP to the current database.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_INVPARM
XThere database id specified is invalid.
X.SH CURRENCY CHANGES
XNone.
X.SH EXAMPLE
XSee d_dbget(1).
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_dbget(1)
X
END_OF_FILE
if test 773 -ne `wc -c <'typhoon/man/d_dbset.1'`; then
echo shar: \"'typhoon/man/d_dbset.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_dbset.1'
fi
if test -f 'typhoon/man/d_delete.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_delete.1'\"
else
echo shar: Extracting \"'typhoon/man/d_delete.1'\" \(1221 characters\)
sed "s/^X//" >'typhoon/man/d_delete.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_delete.1,v 1.1 1994/09/13 21:29:56 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_DELETE 1 \*(Dt TYPHOON
X.SH NAME
Xd_delete \- delete the current record
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_delete()
X.SH DESCRIPTION
X\fBd_delete\fP removes the current record from its table.
X.br
XIf there is no current record, \fBS_NOCR\fP is returned.
XIf the record has references, i.e. records with foreign keys that reference
Xthis record, \fBS_RESTRICT\fP is returned.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XThe record was successfully deleted.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_NOCR
XThere is no current record.
X.TP
X.B S_RESTRICT
XOne or more records currently reference this record and the record cannot
Xbe deleted.
X.SH CURRENCY CHANGES
XNone.
X.SH EXAMPLE
X#include <typhoon.h>
X.br
X
Xif( d_keyfind(CUSTOMER_NAME, "Pedersen") == S_OKAY )
X.br
X{
X.br
X if( d_delete() != S_OKAY )
X.br
X /* handle error */
X.br
X}
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_fillnew(1)
END_OF_FILE
if test 1221 -ne `wc -c <'typhoon/man/d_delete.1'`; then
echo shar: \"'typhoon/man/d_delete.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_delete.1'
fi
if test -f 'typhoon/man/d_keyread.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_keyread.1'\"
else
echo shar: Extracting \"'typhoon/man/d_keyread.1'\" \(1169 characters\)
sed "s/^X//" >'typhoon/man/d_keyread.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_keyread.1,v 1.1 1994/09/13 21:29:58 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_KEYREAD 1 \*(Dt TYPHOON
X.SH NAME
Xd_keyread \- read the most recently found key
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_keyread(void *\fPbuf\fB)
X.SH DESCRIPTION
X\fBd_keyread\fP copies the contents of the most recently accessed key
Xfield specified by \fIfieldid\fP
Xinto the buffer \fIbuf\fP. This can be used to determine the contents
Xof a key's fields without actually reading the record.
X.br
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_NOCR
XThere is no current record.
X.TP
XNone.
X.SH EXAMPLE
X/* Find the smallest customer name */
X.br
X
X#include <typhoon.h>
X.br
X
Xif( d_keyfrst(CUSTOMER_NAME) == S_OKAY )
X.br
X{
X.br
X char name[30];
X.br
X d_keyread(name);
X printf("Name %s\\n", name);
X.br
X}
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_recread(1), d_crread(1)
END_OF_FILE
if test 1169 -ne `wc -c <'typhoon/man/d_keyread.1'`; then
echo shar: \"'typhoon/man/d_keyread.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_keyread.1'
fi
if test -f 'typhoon/man/d_reclast.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_reclast.1'\"
else
echo shar: Extracting \"'typhoon/man/d_reclast.1'\" \(1057 characters\)
sed "s/^X//" >'typhoon/man/d_reclast.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_reclast.1,v 1.1 1994/09/13 21:29:59 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_RECLAST 1 \*(Dt TYPHOON
X.SH NAME
Xd_reclast \- find the last record in a table
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_reclast(ulong \fPrecid\fB)
X.SH DESCRIPTION
X\fBd_reclast\fP finds the last record in the table specified by
X\fIrecid\fP. If \fBd_reclast\fP returns \fBS_NOTFOUND\fP the table
Xis empty.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XA record was found.
X.TP
X.B S_NOTFOUND
XThe key value was not found, i.e. the index is empty.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_INVREC
XThe id is not a record id.
X.SH CURRENCY CHANGES
XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_recprev(1), d_recnext(1), d_recprev(1), d_recread(1).
X
END_OF_FILE
if test 1057 -ne `wc -c <'typhoon/man/d_reclast.1'`; then
echo shar: \"'typhoon/man/d_reclast.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_reclast.1'
fi
if test -f 'typhoon/man/d_recprev.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_recprev.1'\"
else
echo shar: Extracting \"'typhoon/man/d_recprev.1'\" \(1065 characters\)
sed "s/^X//" >'typhoon/man/d_recprev.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_recprev.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_RECPREV 1 \*(Dt TYPHOON
X.SH NAME
Xd_recprev \- find the previous record in a table
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_recprev(ulong \fPrecid\fB)
X.SH DESCRIPTION
X\fBd_recprev\fP finds the previous record in the table specified by
X\fIrecid\fP. If \fBd_recprev\fP returns \fBS_NOTFOUND\fP the table
Xis empty.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XA record was found.
X.TP
X.B S_NOTFOUND
XThe key value was not found, i.e. the index is empty.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_INVREC
XThe id is not a record id.
X.SH CURRENCY CHANGES
XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_recfrst(1), d_reclast(1), d_recnext(1), d_recread(1).
X
END_OF_FILE
if test 1065 -ne `wc -c <'typhoon/man/d_recprev.1'`; then
echo shar: \"'typhoon/man/d_recprev.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_recprev.1'
fi
if test -f 'typhoon/man/d_recread.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_recread.1'\"
else
echo shar: Extracting \"'typhoon/man/d_recread.1'\" \(1166 characters\)
sed "s/^X//" >'typhoon/man/d_recread.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_recread.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_RECREAD 1 \*(Dt TYPHOON
X.SH NAME
Xd_recread \- read the contents of the current record
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_recread(void *\fPbuf\fB)
X.SH DESCRIPTION
X\fBd_recread\fP reads the contents of the current record into \fIbuf\fP.
XIf there is no current record, \fBS_NOCR\fP is returned.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XThe record was successfully read.
X.TP
X.B S_NOCD
XThere is no current database.
X.TP
X.B S_NOCR
XThere is no current record.
X.TP
X.B S_INVREC
XThe record id is not valid.
X.TP
X.SH CURRENCY CHANGES
XNone.
X.SH EXAMPLE
X#include <typhoon.h>
X
Xstruct customer cust;
X.br
Xstrcpy(cust.name, "Pedersen");
X.br
Xif( d_keyfind(CUSTOMER_NAME, &cust.name) == S_OKAY )
X.br
X{
X.br
X d_recread(&cust);
X.br
X printf("account number is %lu\\n", cust.account);
X.br
X}
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_recwrite(1)
END_OF_FILE
if test 1166 -ne `wc -c <'typhoon/man/d_recread.1'`; then
echo shar: \"'typhoon/man/d_recread.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_recread.1'
fi
if test -f 'typhoon/man/d_setfiles.1' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/man/d_setfiles.1'\"
else
echo shar: Extracting \"'typhoon/man/d_setfiles.1'\" \(897 characters\)
sed "s/^X//" >'typhoon/man/d_setfiles.1' <<'END_OF_FILE'
X.de Id
X.ds Rv \\$3
X.ds Dt \\$4
X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
X..
X.Id $Id: d_setfiles.1,v 1.1 1994/09/13 21:30:01 tbp Exp $
X.ds r \s-1TYPHOON\s0
X.if n .ds - \%--
X.if t .ds - \(em
X.TH D_SETFILES 1 \*(Dt TYPHOON
X.SH NAME
Xd_setfiles \- set the maximum number of open files
X.SH SYNOPSIS
X.B #include <typhoon.h>
X.br
X
X\fBd_setfiles(int \fPmaxfiles\fB)
X.SH DESCRIPTION
X\fBd_setfiles\fP sets the maximum number of files that typhoon may have
Xopen at the same time. If the current number of open files exceeds
X\fImaxfiles\fP,
XTyphoon closes the least recently used files.
X.SH DIAGNOSTICS
XThe status code returned by the function is also stored in the global
Xvariable \fIdb_status\fP.
X.TP
X.B S_OKAY
XOperation successful.
X.TP
X.B S_INVPARM
XThe parameter is invalid.
X.SH CURRENCY CHANGES
XNone.
X.SH IDENTIFICATION
XAuthor: Thomas B. Pedersen.
X.br
XCopyright (c) 1994 Thomas B. Pedersen.
X.SH "SEE ALSO"
Xd_open(1)
X
END_OF_FILE
if test 897 -ne `wc -c <'typhoon/man/d_setfiles.1'`; then
echo shar: \"'typhoon/man/d_setfiles.1'\" unpacked with wrong size!
fi
# end of 'typhoon/man/d_setfiles.1'
fi
if test -f 'typhoon/src/ty_lock.c' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/src/ty_lock.c'\"
else
echo shar: Extracting \"'typhoon/src/ty_lock.c'\" \(908 characters\)
sed "s/^X//" >'typhoon/src/ty_lock.c' <<'END_OF_FILE'
X/*----------------------------------------------------------------------------
X * File : @(#)ty_lock.c 93/11/04 Copyright (c) 1991-93 CT Danmark
X * Library : typhoon
X * Compiler: UNIX C, Turbo C, Microsoft C
X * OS : UNIX, OS/2, DOS
X * Author : Thomas B. Pedersen
X *
X * Description:
X * Locking functions.
X *
X * Functions:
X * d_reclock
X * d_recunlock
X * d_tablock
X * d_tabunlock
X *
X * History
X * ------------------------------
X * 23-Dec-1993 tbp Initial version.
X *
X *--------------------------------------------------------------------------*/
X
Xstatic char rcsid[] = "$Id: ty_lock.c,v 1.2 1994/09/17 16:00:17 tbp Exp $";
X
X#ifdef UNIX
X# include <unistd.h>
X#endif
X#include <string.h>
X#include <stdio.h>
X#include <typhoon.h>
X#include "ty_dbd.h"
X#include "ty_type.h"
X#include "ty_glob.h"
X#include "ty_prot.h"
X
X
XFNCLASS d_reclock()
X{
X}
X
X
XFNCLASS d_recunlock()
X{
X}
X
X
X/* end-of-file */
END_OF_FILE
if test 908 -ne `wc -c <'typhoon/src/ty_lock.c'`; then
echo shar: \"'typhoon/src/ty_lock.c'\" unpacked with wrong size!
fi
# end of 'typhoon/src/ty_lock.c'
fi
if test -f 'typhoon/src/util/ddl_y.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/src/util/ddl_y.h'\"
else
echo shar: Extracting \"'typhoon/src/util/ddl_y.h'\" \(992 characters\)
sed "s/^X//" >'typhoon/src/util/ddl_y.h' <<'END_OF_FILE'
X#define T_DATABASE 257
X#define T_KEY 258
X#define T_DATA 259
X#define T_FILE 260
X#define T_CONTAINS 261
X#define T_RECORD 262
X#define T_UNIQUE 263
X#define T_DEFINE 264
X#define T_CONTROLLED 265
X#define T_MAP 266
X#define T_ARROW 267
X#define T_PRIMARY 268
X#define T_ALTERNATE 269
X#define T_FOREIGN 270
X#define T_ON 271
X#define T_DELETE 272
X#define T_RESTRICT 273
X#define T_REFERENCES 274
X#define T_UPDATE 275
X#define T_CASCADE 276
X#define T_NULL 277
X#define T_CHAR 278
X#define T_SHORT 279
X#define T_INT 280
X#define T_LONG 281
X#define T_SIGNED 282
X#define T_UNSIGNED 283
X#define T_FLOAT 284
X#define T_DOUBLE 285
X#define T_UCHAR 286
X#define T_USHORT 287
X#define T_ULONG 288
X#define T_STRUCT 289
X#define T_UNION 290
X#define T_COMPOUND 291
X#define T_ASC 292
X#define T_DESC 293
X#define T_VARIABLE 294
X#define T_BY 295
X#define T_IDENT 296
X#define T_STRING 297
X#define T_NUMBER 298
X#define T_CHARCONST 299
Xtypedef union {
X int val;
X char is_union;
X char s[IDENT_LEN+1];
X} YYSTYPE;
Xextern YYSTYPE yylval;
END_OF_FILE
if test 992 -ne `wc -c <'typhoon/src/util/ddl_y.h'`; then
echo shar: \"'typhoon/src/util/ddl_y.h'\" unpacked with wrong size!
fi
# end of 'typhoon/src/util/ddl_y.h'
fi
if test -f 'typhoon/src/util/exp_y.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/src/util/exp_y.h'\"
else
echo shar: Extracting \"'typhoon/src/util/exp_y.h'\" \(215 characters\)
sed "s/^X//" >'typhoon/src/util/exp_y.h' <<'END_OF_FILE'
X#define T_EXPORT 257
X#define T_RECORD 258
X#define T_STRUCT 259
X#define T_UNION 260
X#define T_IN 261
X#define T_IDENT 262
X#define T_STRING 263
Xtypedef union {
X char s[IDENT_LEN+1];
X} YYSTYPE;
Xextern YYSTYPE yylval;
END_OF_FILE
if test 215 -ne `wc -c <'typhoon/src/util/exp_y.h'`; then
echo shar: \"'typhoon/src/util/exp_y.h'\" unpacked with wrong size!
fi
# end of 'typhoon/src/util/exp_y.h'
fi
if test -f 'typhoon/src/util/lex.h' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'typhoon/src/util/lex.h'\"
else
echo shar: Extracting \"'typhoon/src/util/lex.h'\" \(1153 characters\)
sed "s/^X//" >'typhoon/src/util/lex.h' <<'END_OF_FILE'
X/*----------------------------------------------------------------------------
X * File : @(#)lex.h 93/11/08 Copyright (c) 1993-94 CT Danmark
X * Compiler: UNIX C, Turbo C, Microsoft C
X * OS : UNIX, OS/2, DOS
X * Author : Thomas B. Pedersen
X *
X * Description:
X * General functions for lexical analysers.
X *
X * Revision History
X * ----------------------------------------
X * 11-Nov-1993 tbp Initial version.
X *
X *--------------------------------------------------------------------------*/
X
X/*-------------------------- Function prototypes ---------------------------*/
Xvoid lex_skip_comment PRM( (void); )
Xint lex_parse_keyword PRM( (char); )
Xint lex_parse_number PRM( (char); )
Xint lex_parse_string PRM( (void); )
Xint lex_parse_charconst PRM( (void); )
Xvoid lex_skip_line PRM( (void); )
X
Xtypedef int (*LEX_CMPFUNC) PRM( (const void *, const void *); )
X
Xtypedef struct {
X short token;
X char *s;
X} LEX_KEYWORD;
X
X
X/* These variables must be defined in the program that uses lex.c
X */
Xextern LEX_KEYWORD lex_keywordtab[];
Xextern int lex_keywords;
Xextern FILE *lex_file;
Xextern int lex_lineno;
X
X
X/* end-of-file */
X
END_OF_FILE
if test 1153 -ne `wc -c <'typhoon/src/util/lex.h'`; then
echo shar: \"'typhoon/src/util/lex.h'\" unpacked with wrong size!
fi
# end of 'typhoon/src/util/lex.h'
fi
echo shar: End of archive 9 \(of 9\).
cp /dev/null ark9isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 9 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still must unpack the following archives:
echo " " ${MISSING}
fi
exit 0
exit 0 # Just in case...