This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-mbse/lib
2003-08-10 11:27:31 +00:00
..
.cvsignore Added .cvsignore files 2002-06-15 14:22:21 +00:00
ansi.h Initial revision 2001-08-17 05:46:24 +00:00
attach.c Revised source dependencies 2002-06-30 12:48:44 +00:00
batchrd.c Revised source dependencies 2002-06-30 12:48:44 +00:00
bluewave.h Updated Offline Reader 2003-03-02 13:29:33 +00:00
clcomm.c Added binkp MD5 password crypt 2003-07-06 20:37:58 +00:00
clcomm.h Implemented nodelist fields8 search for FQDN 2002-12-31 15:27:18 +00:00
client.c Fix for FreeBSD compiler warning 2003-07-07 19:20:51 +00:00
common.h Added and changed program locks 2003-08-03 14:08:07 +00:00
crc.c Revised source dependencies 2002-06-30 12:48:44 +00:00
dbcfg.c Changed all error return codes 2002-10-20 20:58:55 +00:00
dbcfg.h Initial revision 2001-08-17 05:46:24 +00:00
dbdupe.c Changed all error return codes 2002-10-20 20:58:55 +00:00
dbdupe.h Initial revision 2001-08-17 05:46:24 +00:00
dbftn.c Revised source dependencies 2002-06-30 12:48:44 +00:00
dbftn.h Initial revision 2001-08-17 05:46:24 +00:00
dbmsgs.c Some tosser fixes 2002-12-11 18:26:05 +00:00
dbmsgs.h Initial revision 2001-08-17 05:46:24 +00:00
dbnode.c Revised source dependencies 2002-06-30 12:48:44 +00:00
dbnode.h Fixed filemgr tick=on crash, added auto echomail area create 2002-02-14 21:24:27 +00:00
dbtic.c Revised source dependencies 2002-06-30 12:48:44 +00:00
dbtic.h Initial revision 2001-08-17 05:46:24 +00:00
dbuser.c Revised source dependencies 2002-06-30 12:48:44 +00:00
dbuser.h Initial revision 2001-08-17 05:46:24 +00:00
diesel.c Revised source dependencies 2002-06-30 12:48:44 +00:00
Diesel.doc Added template processing for newfiles 2002-03-31 13:09:23 +00:00
diesel.h Fixes for compiling with memwatch 2002-05-11 11:14:35 +00:00
dostran.c Revised source dependencies 2002-06-30 12:48:44 +00:00
endian.c Added endian byteorder code for menu editor 2003-02-10 22:17:35 +00:00
execute.c Changed all error return codes 2002-10-20 20:58:55 +00:00
expipe.c Changed all error return codes 2002-10-20 20:58:55 +00:00
faddr.c Revised source dependencies 2002-06-30 12:48:44 +00:00
falists.c Revised source dependencies 2002-06-30 12:48:44 +00:00
FAQ Initial revision 2001-08-17 05:46:24 +00:00
ftn.c Removed charset translation code 2003-01-30 21:23:57 +00:00
ftnmsg.c Revised source dependencies 2002-06-30 12:48:44 +00:00
ftscprod.006 Upgraded to 0.37.2 and prepared for FTSC code 2003-02-23 21:00:12 +00:00
getheader.c Fix for stone-age packets 2003-05-14 20:25:51 +00:00
gmtoffset.c Revised source dependencies 2002-06-30 12:48:44 +00:00
hdr.c Revised source dependencies 2002-06-30 12:48:44 +00:00
jam.h Initial revision 2001-08-17 05:46:24 +00:00
jammsg.c Revised source dependencies 2002-06-30 12:48:44 +00:00
jammsg.h Added auto file areas create/delete 2002-04-28 14:27:23 +00:00
jamsys.h Initial revision 2001-08-17 05:46:24 +00:00
libs.h Cleaned defines 2003-05-10 14:14:16 +00:00
Makefile Added and changed program locks 2003-08-03 14:08:07 +00:00
mangle.c Changed hard links to symbolic links in download areas 2002-12-09 19:08:18 +00:00
mbdiesel.c Revised source dependencies 2002-06-30 12:48:44 +00:00
mberrors.h Changed all error return codes 2002-10-20 20:58:55 +00:00
mbfile.c Added new filecase test function 2003-02-27 20:57:36 +00:00
mbinet.h Initial revision 2001-08-17 05:46:24 +00:00
mbse.h Updated lines/cols definitions 2001-12-02 17:10:49 +00:00
memwatch.c Revised source dependencies 2002-06-30 12:48:44 +00:00
memwatch.c.org Initial revision 2001-08-17 05:46:24 +00:00
memwatch.h Initial revision 2001-08-17 05:46:24 +00:00
mkprod.awk Revised source dependencies 2002-06-30 12:48:44 +00:00
msg.c Revised source dependencies 2002-06-30 12:48:44 +00:00
msg.h Added auto file areas create/delete 2002-04-28 14:27:23 +00:00
msgtext.c Revised source dependencies 2002-06-30 12:48:44 +00:00
msgtext.h Initial revision 2001-08-17 05:46:24 +00:00
nntp.c Small temporary fix for newsserver connects 2002-08-15 20:08:59 +00:00
nodelist.c Fixed a bug where mbtask would not stop calling undialable nodes 2003-02-08 14:21:33 +00:00
nodelist.conf Default domain nodelists lookups made working 2003-02-06 20:06:07 +00:00
nodelist.h Rebuild for configurable nodelists handling 2002-12-30 22:13:33 +00:00
nodelock.c Added lockfile age check 2003-07-13 13:22:32 +00:00
noderecord.c Revised source dependencies 2002-06-30 12:48:44 +00:00
packet.c Revised source dependencies 2002-06-30 12:48:44 +00:00
parsedate.c Cleaned defines 2003-05-10 14:14:16 +00:00
pktname.c Revised source dependencies 2002-06-30 12:48:44 +00:00
pop3.c Revised source dependencies 2002-06-30 12:48:44 +00:00
proglock.c Added more program locks 2003-08-03 14:42:12 +00:00
rawio.c Changed all error return codes 2002-10-20 20:58:55 +00:00
README Initial revision 2001-08-17 05:46:24 +00:00
README.diesel Added DIESEL macro language 2002-03-29 22:58:53 +00:00
README.macro Added DIESEL macro language 2002-03-29 22:58:53 +00:00
README.memwatch Initial revision 2001-08-17 05:46:24 +00:00
records.h Removed safe cracker door 2003-02-23 15:55:36 +00:00
rfcaddr.c Revised source dependencies 2002-06-30 12:48:44 +00:00
rfcdate.c Revised source dependencies 2002-06-30 12:48:44 +00:00
rfcmsg.c Fixed a bug in rfcmsg when the Cc: header is empty 2003-07-12 20:34:04 +00:00
sectest.c Made bbs menus machine endian indepentant 2003-02-12 20:56:57 +00:00
semafore.c Revised source dependencies 2002-06-30 12:48:44 +00:00
signame.c Ported to HPPA, tested on HP 712/80 2002-08-25 11:25:46 +00:00
smtp.c Revised source dependencies 2002-06-30 12:48:44 +00:00
strcasestr.c Revised source dependencies 2002-06-30 12:48:44 +00:00
structs.h Added switches for binkp CRC32 mode 2003-08-10 11:27:31 +00:00
strutil.c Ported to HPPA, tested on HP 712/80 2002-08-25 11:25:46 +00:00
term.c Fixed deleting messages, added menu item 206 2003-02-20 21:06:46 +00:00
test.c Revised source dependencies 2002-06-30 12:48:44 +00:00
unpacker.c unpacker doesn't complain about small files 2002-12-07 15:33:47 +00:00
users.h Added support for external message editor 2002-03-05 21:32:52 +00:00
USING Initial revision 2001-08-17 05:46:24 +00:00

	Database structures.


Most databases have a structure with a header record. The header record
is at the beginning of the datafile and contains information about the
size of the header record and size of the database records. When a data
file is opened for reading the first thing to read the header record.
The field recsize contains the size of the datarecords and the field
hdrsize the offset to the first datarecord in the file.

If in the structure the size of the datarecords changes (grows), we can
allways read the old format in the correct way.

When a datafile is changed the datafile has to be rewritten completly.
Of course the new format is used then, and the new size must be stored in
the header.

The advantage of this technique is that updates can be performed automatic.
There is no need for free space for future use in the datarecords, the files
are thus smaller.


One other important thing, with some DOS based bbs'es, mail/tic processors
are using index files together with the data files to speed up the search in
the databases. Also some of them use internal memory cache for the data records.
I choose not to do this for two reasons, Linux like other Unices handles
file I/O very fast and when your system is not low on memory the kernel will
buffer all disk I/O in memory. Also Linux disks are very low fragmented due to
the design of the ext2fs. Whith all this in mind, using index files is only
extra overhead.
However, because of this you should not put the data files on a msdos
dos partition or on a nfs server.

The only exeption that uses index files are the nodelists.