From 2e3abe4cda90a5104aaf8abe6e914bf21f3bd4aa Mon Sep 17 00:00:00 2001 From: nobody <nomail@example.com> Date: Fri, 29 Aug 2003 17:27:51 +0000 Subject: [PATCH] This commit was manufactured by cvs2svn to create tag '2.1.2'. --- Build | 34 - Config | 60 - FileList | 136 -- MANIFEST | 23 - Makefile | 128 -- config/.cvsignore | 0 config/ChangeLog | 34 - config/Makefile | 47 - config/balance-config.h | 36 - config/balance-defs.make | 94 -- config/config-template.h | 82 -- config/sun4os4-config.h | 49 - config/sun4os4-defs.make | 116 -- config/vax-config.h | 28 - config/vax-defs.make | 85 -- db-crypt/db/ramkomd-data | Bin 621 -> 0 bytes db-crypt/db/ramkomd-texts | 0 doc/ADMINISTRATING | 46 - doc/Distfile | 1 - doc/Makefile | 39 - doc/Makefile.template | 63 - doc/coding-standards.txt | 77 -- doc/man/Makefile | 60 - doc/man/man1/.cvsignore | 0 doc/man/man3/.cvsignore | 0 doc/man/man3/isc3.x | 209 --- doc/man/man5/.cvsignore | 0 doc/man/man5/lyskom.5 | 317 ----- doc/man/man5/ramkom.5 | 317 ----- doc/man/man8/.cvsignore | 0 doc/man/man8/dbck.8 | 132 -- doc/man/man8/lyskomd.8 | 402 ------ doc/man/man8/ramkomd.8 | 118 -- doc/man/man8/updateLysKOM.8 | 36 - doc/prot-A.bnf | 1067 -------------- doc/prot-A.slightly-obsolete | 230 ---- doc/vad-aer-olaest.swe | 145 -- fixconfig | 9 - foo | 0 run-support/start_kom.sh | 6 - run-support/stop_kom.sh | 4 - run-support/updateLysKOM | 3 - scripts/Depend.make | 43 - scripts/Makefile | 42 - scripts/Parallell-depend.make | 53 - scripts/RCS-depend.make | 51 - scripts/Single-depend.make | 30 - scripts/import.make | 60 - scripts/install-includes.make | 33 - scripts/sub-binaries.make | 32 - scripts/sub-clean.make | 40 - scripts/sub-depend.make | 34 - scripts/sub-includes.make | 31 - scripts/sub-install.make | 31 - scripts/sub-libraries.make | 31 - src/Makefile | 46 - src/include/Makefile | 70 - src/include/com.h | 83 -- src/include/dependencies | 0 src/include/server/Makefile | 54 - src/include/server/dependencies | 0 src/libraries/Makefile | 44 - src/libraries/gnumalloc/Makefile | 57 - src/libraries/gnumalloc/gmalloc.c | 1350 ------------------ src/libraries/libansi/Makefile | 63 - src/libraries/libansi/config.h | 8 - src/libraries/libansi/dependencies | 1 - src/libraries/libansi/difftime.c | 38 - src/libraries/libansi/libansi.a | Bin 1280 -> 0 bytes src/libraries/libansi/mktime.c | 28 - src/libraries/libansi/strchr.c | 42 - src/libraries/libansi/tmp-difftime.h | 8 - src/libraries/libansi/vprintf.c | 3 - src/libraries/libcommon/Makefile | 97 -- src/libraries/libcommon/client-Makefile.in | 41 - src/libraries/libcommon/dependencies | 26 - src/libraries/libisc-new/src/Makefile | 61 - src/libraries/libmisc/Makefile | 71 - src/libraries/libmisc/client-Makefile.in | 50 - src/libraries/libmisc/dependencies | 46 - src/libraries/libmisc/missing.c | 137 -- src/libraries/libmisc/testnumlist | Bin 32768 -> 0 bytes src/server/FileList | 126 -- src/server/Makefile | 179 --- src/server/aux-item-def.tab.c | 1454 -------------------- src/server/memory.h | 83 -- src/server/missing-ansi.c | 114 -- src/server/tmp-difftime.h | 3 - src/server/version.incl | 30 - 89 files changed, 9157 deletions(-) delete mode 100755 Build delete mode 100755 Config delete mode 100644 FileList delete mode 100644 MANIFEST delete mode 100644 Makefile delete mode 100644 config/.cvsignore delete mode 100644 config/ChangeLog delete mode 100644 config/Makefile delete mode 100644 config/balance-config.h delete mode 100644 config/balance-defs.make delete mode 100644 config/config-template.h delete mode 100644 config/sun4os4-config.h delete mode 100644 config/sun4os4-defs.make delete mode 100644 config/vax-config.h delete mode 100644 config/vax-defs.make delete mode 100644 db-crypt/db/ramkomd-data delete mode 100644 db-crypt/db/ramkomd-texts delete mode 100644 doc/ADMINISTRATING delete mode 100644 doc/Distfile delete mode 100644 doc/Makefile delete mode 100644 doc/Makefile.template delete mode 100644 doc/coding-standards.txt delete mode 100644 doc/man/Makefile delete mode 100644 doc/man/man1/.cvsignore delete mode 100644 doc/man/man3/.cvsignore delete mode 100644 doc/man/man3/isc3.x delete mode 100644 doc/man/man5/.cvsignore delete mode 100644 doc/man/man5/lyskom.5 delete mode 100644 doc/man/man5/ramkom.5 delete mode 100644 doc/man/man8/.cvsignore delete mode 100644 doc/man/man8/dbck.8 delete mode 100644 doc/man/man8/lyskomd.8 delete mode 100644 doc/man/man8/ramkomd.8 delete mode 100644 doc/man/man8/updateLysKOM.8 delete mode 100644 doc/prot-A.bnf delete mode 100644 doc/prot-A.slightly-obsolete delete mode 100644 doc/vad-aer-olaest.swe delete mode 100755 fixconfig delete mode 100644 foo delete mode 100644 run-support/start_kom.sh delete mode 100644 run-support/stop_kom.sh delete mode 100644 run-support/updateLysKOM delete mode 100644 scripts/Depend.make delete mode 100644 scripts/Makefile delete mode 100644 scripts/Parallell-depend.make delete mode 100644 scripts/RCS-depend.make delete mode 100644 scripts/Single-depend.make delete mode 100644 scripts/import.make delete mode 100644 scripts/install-includes.make delete mode 100644 scripts/sub-binaries.make delete mode 100644 scripts/sub-clean.make delete mode 100644 scripts/sub-depend.make delete mode 100644 scripts/sub-includes.make delete mode 100644 scripts/sub-install.make delete mode 100644 scripts/sub-libraries.make delete mode 100644 src/Makefile delete mode 100644 src/include/Makefile delete mode 100644 src/include/com.h delete mode 100644 src/include/dependencies delete mode 100644 src/include/server/Makefile delete mode 100644 src/include/server/dependencies delete mode 100644 src/libraries/Makefile delete mode 100644 src/libraries/gnumalloc/Makefile delete mode 100644 src/libraries/gnumalloc/gmalloc.c delete mode 100644 src/libraries/libansi/Makefile delete mode 100644 src/libraries/libansi/config.h delete mode 100644 src/libraries/libansi/dependencies delete mode 100644 src/libraries/libansi/difftime.c delete mode 100644 src/libraries/libansi/libansi.a delete mode 100644 src/libraries/libansi/mktime.c delete mode 100644 src/libraries/libansi/strchr.c delete mode 100644 src/libraries/libansi/tmp-difftime.h delete mode 100644 src/libraries/libansi/vprintf.c delete mode 100644 src/libraries/libcommon/Makefile delete mode 100644 src/libraries/libcommon/client-Makefile.in delete mode 100644 src/libraries/libcommon/dependencies delete mode 100644 src/libraries/libisc-new/src/Makefile delete mode 100644 src/libraries/libmisc/Makefile delete mode 100644 src/libraries/libmisc/client-Makefile.in delete mode 100644 src/libraries/libmisc/dependencies delete mode 100644 src/libraries/libmisc/missing.c delete mode 100755 src/libraries/libmisc/testnumlist delete mode 100644 src/server/FileList delete mode 100755 src/server/Makefile delete mode 100644 src/server/aux-item-def.tab.c delete mode 100644 src/server/memory.h delete mode 100644 src/server/missing-ansi.c delete mode 100644 src/server/tmp-difftime.h delete mode 100644 src/server/version.incl diff --git a/Build b/Build deleted file mode 100755 index d3d138eae..000000000 --- a/Build +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -# -# $Id: Build,v 1.11 1994/04/05 07:50:22 ceder Exp $ -# Copyright (C) 1991, 1992, 1993 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: Build,v 1.11 1994/04/05 07:50:22 ceder Exp $ -date -make depend \ -&& echo '*** Depend ready. Making libraries. ***' \ -&& make -k libraries \ -&& echo '*** Libraries ready. Making binaries. ***' \ -&& make -k binaries \ -&& echo '*** All binaries might be built. Install manually.' -date diff --git a/Config b/Config deleted file mode 100755 index 5889b012c..000000000 --- a/Config +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/sh -# -# $Id: Config,v 1.11 1992/12/19 00:25:02 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: Config,v 1.11 1992/12/19 00:25:02 ceder Exp $ - -x= - -[ -d include ] && rm -rf include -mkdir include - -case "$1" in -+help | +hel | +he | +h | -h | -H) - echo Usage: ./Config hosttype - echo where hosttype is one of - echo balance sparc;; -balance) - x=balance;; -sun3 | sun3os4 | sun4 | sun4os4 | sparc | sparcos4) - x=sun4os4;; -vax) - x=vax;; -*) echo Unsupported host type "$1". - x=error;; -esac - -case "$x" in -error) false;; -*) - for i in `find . -type d -print` - do echo TOPDIR=`pwd` > $i/Topdir.make - done - - rm -f scripts/import.make - ln -s ../config/${x}-defs.make scripts/import.make - ( cd config; make SYSTEM=${x} config ) - ( cd src/include/ansi/${x} ; make SYSTEM=${x} config ) - ( cd src/libraries/regex ; ./configure ) -esac diff --git a/FileList b/FileList deleted file mode 100644 index 55815ac0e..000000000 --- a/FileList +++ /dev/null @@ -1,136 +0,0 @@ -(Hey, Emacs, this is a -*- Indented-text -*- file!) - -* ansi-include/ - Directory containing ANSI-fied header files for the standard - libraries. - - -* ChangeLog - Log file where the progressing work and changes are sporadically - documented. You are encouraged to add an entry in this file - whenever you change something in this directory. - - -* client/ - Directory containing a TTY-based client for LysKOM, very similar to - the original KOM program from QZ. - - -* config.h - Configuration parameters for compiling. Contains among other - things all the stupid limits you really want to be without, all the - smart limits that has to be there to make it impossible to crash - the server, and lots of constants and configuration options. - - -* debug.h - Some #defines for debugging purposes. - - -* doc/ - Documentation of LysKOM; both internal and external. Also some - random thoughts members of the development team wanted to write - down during development. - - -* FileList - This file, describing all the files. - - -* kom-errno.c - Defines the variable 'kom_errno' and the function 'kom_perror()'. - Used for error handling in LysKOM. - - -* kom-errno.h - Defines the type 'Kom_err' and declares the variable 'kom_errno'. - The server sets the value of 'kom_errno' when an error occurs. - The function 'kom_perror()' is declared. - - -* kom-types.h - Declares the types used by LysKOM. Here are the types that are - common to both the server and the client. Types that look - different to the server and the client, are found in - 'server/server-types.h' and 'client/client-types.h' respectively. - - -* ldb/ - Directory containing the low-level database routines for the LysKOM - server. 'ldb' stands for Lyskom DataBase. - - -* List-Files - Shell script to list the files in this directory not documented in - the file 'FileList' (the one you are reading now). - - -* Mailinglist - List of mail addresses of people who want to be informed of the - progress of LysKOM. - - -* Makefile - Exactly what the name says. - - -* misc-types.h - Miscellaneous types and constants that are useful in many places in - LysKOM, but are not very LysKOM-specific. - - -* s-collat-tables.c - Collating tables used for the 's_usr_strcmp()' and - 's_usr_strhead()' functions in 's-string.h' - - -* s-collat-tables.h - Header file for 's-collat-tables.c' - - -* s-string.c - Routines for manipulating objects of type String as defined in - 's-string.h' - - -* s-string.h - Header file for 's-string.c' - Definies our own string type 'String', and declares the functions - in 's-string.c' - - -* server/ - Directory containing the LysKOM server, except for the low-level - database routines, which for historical reasons are in the separate - directory 'ldb/'. - - -* services.h - Declares all the services available from the LysKOM server. - - -* Summarize-Headers - Since we write our .h files with documentation in line, they - tend to get rather long, and it gets somewhat difficult to get - a quick overview of what functions are declared in the file. - This script cuts out all the "unnecessary" information: all - comments and all preprocessor lines (starting with #). - - -* TAGS - Tags table for use with Emacs. - - -* Template - Template for automatically generating 'Makefile'. 'Makefile' is - updated with the command 'make depend'. This should be given - whenever a change to 'Template' is done, or any new files are - added, or any dependecies are changed. Dependencies for normal C - files are generated automatically by this. - If 'Makefile' should become garbled, copy 'Template' to 'Makefile' - and do a 'make depend'. - - -* test-services/ - Directory containing programs to test parts of the server. Used by - ceder, and should not be distributed. diff --git a/MANIFEST b/MANIFEST deleted file mode 100644 index 9e76727bc..000000000 --- a/MANIFEST +++ /dev/null @@ -1,23 +0,0 @@ -$Id: MANIFEST,v 1.2 1991/09/13 20:00:02 linus Exp $ - -Filename Description --------- ----------- -Config - Script to make the configuration for different - machines -Build - Script to build the server -Makefile - The Makefile of the topdir -src/ - Source dir -src/Makefile - The Makefile -src/libraries - Source dir for the libraries -src/libraries/Makefile - The Makefile for the libraries -src/libraries/libansi - Substitutes ansi functions if necessary. -src/libraries/libcommon - LysKOM functions for both server and clients. -src/libraries/libisc - interprocess communication package -src/libraries/libmisc - mixed functions -doc - Dir with documentation files. -config - Configuration files for the different machines -scripts - Installation scripts. includes for make -src/server - The server -src/include - The include files that will be referenced -db-crypt - Initial database for server with encrypted passwords -db-nocrypt - Initial database for server without encryption diff --git a/Makefile b/Makefile deleted file mode 100644 index f232adb19..000000000 --- a/Makefile +++ /dev/null @@ -1,128 +0,0 @@ -# -# $Id: Makefile,v 0.38 1993/10/03 16:01:14 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -SUBDIRS = doc junk scripts src config -SERVER-VER = 1.4.1 - -all: msg includes libraries binaries end-msg - -includes: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h - for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making includes in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) includes) } \ - done - - -libraries: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h - -$(MKDIR) $(LIBDIR) - for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making libraries in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) libraries) } \ - done - -include $(SCRIPTDIR)/sub-binaries.make -include $(SCRIPTDIR)/sub-install.make -include $(SCRIPTDIR)/sub-depend.make - -.PHONY: clean -clean: - $(RM) $(GENERIC-CLEAN) - -for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making clean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) clean) } \ - done - -distcleandescend: - $(RM) $(GENERIC-DIST-CLEAN) - $(RM) -r $(INCLUDEDIR) - $(RM) -r $(LIBDIR) - -for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making distclean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) distclean) } \ - done - -distclean: clean distcleandescend - $(RM) $(SCRIPTDIR)/import.make - -depend: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h msg includes - -distribution: distclean - find . -name '#*#' -print - -$(RM) -r lyskom-$(SERVER-VER) - $(MKDIR) lyskom-$(SERVER-VER) - cp README-serverrelease lyskom-$(SERVER-VER)/README - cp COPYING INSTALL Config Build Makefile lyskom-$(SERVER-VER)/ - $(MKDIR) lyskom-$(SERVER-VER)/src - cp src/Makefile lyskom-$(SERVER-VER)/src/ - $(MKDIR) lyskom-$(SERVER-VER)/src/libraries - cp src/libraries/Makefile lyskom-$(SERVER-VER)/src/libraries/ - $(MKDIR) lyskom-$(SERVER-VER)/doc - for i in ADMINISTRATION Makefile misc_items prot-A.txt \ - server-async.extend server.extend what-is-unread.swe; \ - do \ - cp doc/$$i lyskom-$(SERVER-VER)/doc/$i; \ - done - cp -r doc/man lyskom-$(SERVER-VER)/doc/man - cp -r config lyskom-$(SERVER-VER)/config - cp -r scripts lyskom-$(SERVER-VER)/scripts - $(RM) lyskom-$(SERVER-VER)/scripts/import.make - cp -r run-support lyskom-$(SERVER-VER)/run-support - cp -r src/libraries/libansi lyskom-$(SERVER-VER)/src/libraries - cp -r src/libraries/libcommon lyskom-$(SERVER-VER)/src/libraries - cp -r src/libraries/libisc-new lyskom-$(SERVER-VER)/src/libraries - cp -r src/libraries/libmisc lyskom-$(SERVER-VER)/src/libraries - cp -r src/libraries/regex lyskom-$(SERVER-VER)/src/libraries - cp -r src/server lyskom-$(SERVER-VER)/src - cp -r src/include lyskom-$(SERVER-VER)/src/include - cp -r db-crypt lyskom-$(SERVER-VER) - cp -r db-nocrypt lyskom-$(SERVER-VER) - find lyskom-$(SERVER-VER) -name CVS.adm -print -exec rm -rf {} \; -prune - find lyskom-$(SERVER-VER) -name Topdir.make -print -exec rm -rf {} \; - tar cvf lyskom-$(SERVER-VER).tar lyskom-$(SERVER-VER) - $(RM) lyskom-$(SERVER-VER).tar.Z - compress lyskom-$(SERVER-VER).tar - $(RM) -r lyskom-$(SERVER-VER) - -msg: - @echo Top-level source directory is believed to be $(TOPDIR) - @date - @echo - -end-msg: - @echo - @echo Finished at - @date - -$(INCLUDEDIR) $(INCLUDEDIR)/m-config.h: - @echo You must run Config before Build or make. - @exit 1 diff --git a/config/.cvsignore b/config/.cvsignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/config/ChangeLog b/config/ChangeLog deleted file mode 100644 index 5033a8fb3..000000000 --- a/config/ChangeLog +++ /dev/null @@ -1,34 +0,0 @@ -Tue Apr 14 17:38:37 1992 Per Cederqvist (ceder@lysator) - - * balance-defs.make: Updated. - - * sunos4-defs.make (PROFILE-LIB-SUFFIX): New variable. - -Sat Apr 4 19:11:53 1992 Per Cederqvist (ceder@lysator) - - * sun4os4-defs.make (CC): gcc2 has been renamed to gcc. - - * sun4os4-defs.make (ANSIDIR): Use new directory. - - * sun4os4-defs.make (LIBIDENT): New variable. - -Mon Mar 9 16:43:00 1992 Per Cederqvist (ceder@robin) - - * PIPE (sun4os4-defs.make): Added note about sun3 /bin/as. - -Wed Feb 26 19:53:05 1992 Per Cederqvist (ceder@lysator) - - * CC (sun4os4-defs.make): Use gcc2 with a fair amount of warnings. - -Mon Feb 10 03:18:20 1992 Linus Tolke Y (linus at robin) - - * Makefile: new target config, called from config. - - * sun4os4-defs.make: MKDIR macro added. This is not used though. - -Sun Feb 9 22:20:00 1992 Linus Tolke Y (linus at robin) - - * sun4os4-defs.make: New defaults. The defaults dirs are now: - for libraries /usr/local/lib/lyskom - for include files: /usr/local/include/lyskom - diff --git a/config/Makefile b/config/Makefile deleted file mode 100644 index f09bcaaf7..000000000 --- a/config/Makefile +++ /dev/null @@ -1,47 +0,0 @@ -# -# $Id: Makefile,v 1.6 1992/02/10 02:43:36 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -includes: $(INCLUDEDIR)/m-config.h - -$(INCLUDEDIR)/m-config.h: - @echo You must run Config before Build or make. - false - -libraries:; -binaries:; -clean: - $(RM) $(GENERIC-CLEAN) - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - -depend:; - -config: - cp $(SYSTEM)-config.h $(INCLUDEDIR)/m-config.h diff --git a/config/balance-config.h b/config/balance-config.h deleted file mode 100644 index 62819a5cc..000000000 --- a/config/balance-config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * $Id: balance-config.h,v 1.5 1992/03/31 20:50:21 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * $Id: balance-config.h,v 1.5 1992/03/31 20:50:21 ceder Exp $ - * - * This works on a Sequent Balance running Dynix 2.1.1. - */ - -/* See config-template.h for comments. */ - -#define HAVE_GETDTABLESIZE -#define HAVE_STRERROR -#define RFC_931 -#define ENCRYPT_PASSWORDS diff --git a/config/balance-defs.make b/config/balance-defs.make deleted file mode 100644 index 3f1931cce..000000000 --- a/config/balance-defs.make +++ /dev/null @@ -1,94 +0,0 @@ -# -# $Id: balance-defs.make,v 1.11 1992/04/14 15:56:27 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: balance-defs.make,v 1.11 1992/04/14 15:56:27 ceder Exp $ -# This file is included by all Makefiles in the LysKOM hierarchy. -# It gives default values for all variables that is normally used. -# TOPDIR and SCRIPTDIR must be set before this file is included. -# -# This version is tuned for a Sequent Balance. - -SHELL=/bin/sh -AWK = gawk -SED = /usr/bin/sed -CC = gcc -ansi -RM = /usr/gnu/bin/rm -vf -RANLIB = ranlib -TOUCHLIB = ranlib -SYMLINK = ln -s -YACC = bison -d -LEX = flex -MKDIR=/bin/mkdir - -INCLUDEDIR = $(TOPDIR)/include -LIBDIR = $(TOPDIR)/lib -ANSIDIR = $(INCLUDEDIR)/ansi - -INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR) -OPTIMIZE-FLAGS = -O -MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes -PIPE = -pipe - -# -h flag makes NULL pointer references generate runtime errors -LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS) - -# Library for hostname lookup. -LIBRESOLV = -lresolv - -# Our Sequent does not (yet) have the authuser library. - -#LIBIDENT = -lauthuser -LIBIDENT = - -CFLAGS = $(INCLUDES) $(OPTIMIZE-FLAGS) $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS) - -# Are we profiling? PROFILE-FLAGS are sent to CC when compiling and linking. -# PROFILE-LIB-SUFFIX are included in all library names so that we can have -# one profiled and one non-profiled version at the same time. But make sure -# to delete all .o files when switching between profiling and not profiling... -#PROFILE-FLAGS = -pg -static -#PROFILE-LIB-SUFFIX = -pg -PROFILE-FLAGS = -PROFILE-LIB-SUFFIX = - -# LysKOM executables that the typical user doesn't use go here. -# (The server, dbck, et c) - -LYSKOMSYSBIN = /usr/lyskom/bin - -# User executables (such as lyskom, kompost et c) - -LYSKOMUSRBIN = /usr/local/bin - - - -GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile - -GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies - -EXPORTS = - -# The Makefiles also dependes on the variables -# AR, ARFLAGS -# that are automatically set by GNU Make. diff --git a/config/config-template.h b/config/config-template.h deleted file mode 100644 index bdb5713cc..000000000 --- a/config/config-template.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * $Id: config-template.h,v 1.6 1992/03/31 20:50:25 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * $Id: config-template.h,v 1.6 1992/03/31 20:50:25 ceder Exp $ - * - * This is a generic configuration file for LysKOM. - */ - -/* - * Define BUGGY_INET_NTOA if inet_ntoa is buggy. This is the case for - * a Sun Sparc with SunOS 4.1.1. If you define BUGGY_INET_NTOA a - * replacement routine (from libraries/libisc/inet_ntoa.c) will be - * used. - */ - -#define BUGGY_INET_NTOA - -/* - * Define HAVE_LOCALE if you have it (and want to use it). - */ - -#define HAVE_LOCALE - -/* - * Define RFC_931 if you want to use authentication as in rfc 931. - * You need the authuser package that Daniel J. Bernstein has written. - */ - -#define RFC_931 - -/* - * Define HAVE_STRERROR if your libc.a have strerror. - */ - -#define HAVE_STRERROR - -/* - * If you have the getdtablesize system call. - */ - -#define HAVE_GETDTABLESIZE - -/* - * Max number of file descriptors that can be opened by a process. - * If this is set too large here, the server will crash when too many - * people try to connect at the same time. - */ - -#include <sys/param.h> /* One way to do it... */ -#define MAX_OPEN_FD NOFILE - -#include <limits.h> /* Another. (I'm not sure that this */ -#define MAX_OPEN_FD _POSIX_OPEN_MAX /* is correct - use at your own risk!*/ - - -/* - * Define ENCRYPT_PASSWORDS to encrypt the users password via crypt(3). - */ - -#define ENCRYPT_PASSWORDS diff --git a/config/sun4os4-config.h b/config/sun4os4-config.h deleted file mode 100644 index 147778286..000000000 --- a/config/sun4os4-config.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * $Id: sun4os4-config.h,v 1.5 1992/03/31 20:50:29 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * $Id: sun4os4-config.h,v 1.5 1992/03/31 20:50:29 ceder Exp $ - * - * Configure LysKOM for a Sun Sparc-server running SunOS 4.1.1. - * This is the configuration we are running at Lysator, so this is - * fairly well tested. - */ - -/* - * Define BUGGY_INET_NTOA if inet_ntoa is buggy. This is the case for - * a Sun Sparc with SunOS 4.1.1. If you define BUGGY_INET_NTOA a - * replacement routine (from libraries/libisc/inet_ntoa.c) will be - * used. - */ - -#define BUGGY_INET_NTOA - -#define RFC_931 - -#define HAVE_GETDTABLESIZE - -/* We have LOCALE. */ - -#define HAVE_LOCALE -#define ENCRYPT_PASSWORDS diff --git a/config/sun4os4-defs.make b/config/sun4os4-defs.make deleted file mode 100644 index 9483b5953..000000000 --- a/config/sun4os4-defs.make +++ /dev/null @@ -1,116 +0,0 @@ -# -# $Id: sun4os4-defs.make,v 1.26 1993/10/03 15:57:48 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: sun4os4-defs.make,v 1.26 1993/10/03 15:57:48 ceder Exp $ -# This file is included by all Makefiles in the LysKOM hierarchy. -# It gives default values for all variables that is normally used. -# TOPDIR and SCRIPTDIR must be set before this file is included. -# -# This version is tuned for a Sparc running SunOS 4.1.1 and a lot -# of Gnu utilities. - -SHELL=/bin/sh -AWK = awk -SED = /usr/bin/sed -CC = gcc -ansi -RM = /bin/rm -f -RANLIB = ranlib -#RANLIB = echo -TOUCHLIB = ranlib -#TOUCHLIB = ranlib -t -#TOUCHLIB = echo -SYMLINK = ln -s -YACC = bison -d -LEX = flex -MKDIR=/bin/mkdir - -#Use these in the distribution! -INCLUDEDIR = $(TOPDIR)/include -LIBDIR = $(TOPDIR)/lib -ANSIDIR = / -#ANSIDIR = $(INCLUDEDIR)/ansi - -# These are used at Lysator during development -#INCLUDEDIR = /usr/local/include/lyskom -#LIBDIR = /usr/local/lib/lyskom -#ANSIDIR = $(INCLUDEDIR)/ansi -#ANSIDIR=/usr/gnu/var/gcc/sunos4.1.1/2.1/proto-include - -INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR) -I/usr/local/include - -OPTIMIZE-FLAGS = -O3 -MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes \ - -Wpointer-arith - -# You sometimes can't use -pipe on a sun3, since Suns /bin/as can't read -# stdin. If you use gas you can use -pipe. -PIPE = -pipe -#PIPE = - -# -h flag makes NULL pointer references generate runtime errors -LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS) - -# Library for hostname lookup. -# There is a bug in SunOS 4.1.1 that makes it impossible to use -lresolv. -# It can be fixed by either installing the 4.0.3 version of -# /usr/lib/libreslov.a or by omitting -lresolv. -# -# Note that -lresolv is not necessary if YP/NIS is set up so that the NIS -# server asks the nameserver. - -LIBRESOLV = # -lresolv - -LIBIDENT = -lauthuser - -CFLAGS = $(INCLUDES) $(OPTIMIZE-FLAGS) $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS) - -# Are we profiling? PROFILE-FLAGS are sent to CC when compiling and linking. -# PROFILE-LIB-SUFFIX are included in all library names so that we can have -# one profiled and one non-profiled version at the same time. But make sure -# to delete all .o files when switching between profiling and not profiling... -#PROFILE-FLAGS = -pg -static -#PROFILE-LIB-SUFFIX = -pg -PROFILE-FLAGS = -PROFILE-LIB-SUFFIX = - -# LysKOM executables that the typical user doesn't use go here. -# (The server, dbck, et c) - -LYSKOMSYSBIN = /usr/lyskom/bin - -# User executables (such as lyskom, kompost et c) - -LYSKOMUSRBIN = /usr/local/bin - - - -GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile - -GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies - -EXPORTS = - -# The Makefiles also dependes on the variables -# AR, ARFLAGS -# that are automatically set by GNU Make. diff --git a/config/vax-config.h b/config/vax-config.h deleted file mode 100644 index 5ee137aa9..000000000 --- a/config/vax-config.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * $Id: vax-config.h,v 1.1 1992/04/14 19:19:48 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ - -#define RFC_931 -#define HAVE_GETDTABLESIZE -#define ENCRYPT_PASSWORDS diff --git a/config/vax-defs.make b/config/vax-defs.make deleted file mode 100644 index a4c6d771a..000000000 --- a/config/vax-defs.make +++ /dev/null @@ -1,85 +0,0 @@ -# -# $Id: vax-defs.make,v 1.1 1992/04/14 19:19:51 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: vax-defs.make,v 1.1 1992/04/14 19:19:51 ceder Exp $ -# This file is included by all Makefiles in the LysKOM hierarchy. -# It gives default values for all variables that is normally used. -# TOPDIR and SCRIPTDIR must be set before this file is included. -# -# This version is tuned for a Sparc running SunOS 4.1.1 and a lot -# of Gnu utilities. - -SHELL=/bin/sh -AWK = gawk -SED = /usr/bin/sed -CC = gcc -ansi -RM = rm -f -RANLIB = ranlib -TOUCHLIB = ranlib -t -SYMLINK = ln -s -YACC = bison -d -LEX = flex -MKDIR=/bin/mkdir - -INCLUDEDIR = $(TOPDIR)/include -LIBDIR = $(TOPDIR)/lib -ANSIDIR = $(INCLUDEDIR)/ansi - -INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR) -OPTIMIZE-FLAGS = -O -MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes -PIPE = -pipe - -# -h flag makes NULL pointer references generate runtime errors -LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS) - -LIBRESOLV = -lresolv - -LIBIDENT = -lauthuser - -CFLAGS = $(INCLUDES) $(OPTIMIZE-FLAGS) $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS) - -PROFILE-FLAGS = -PROFILE-LIB-SUFFIX = - -# LysKOM executables that the typical user doesn't use go here. -# (The server, dbck, et c) - -LYSKOMSYSBIN = /usr/lyskom/bin - -# User executables (such as lyskom, kompost et c) - -LYSKOMUSRBIN = /usr/local/bin - - - -GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile - -GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies - -EXPORTS = - -# The Makefiles also dependes on the variables -# AR, ARFLAGS -# that are automatically set by GNU Make. diff --git a/db-crypt/db/ramkomd-data b/db-crypt/db/ramkomd-data deleted file mode 100644 index bf280601c0ddcd88ebd7e3190f6727734d78053d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmbVKL2JVx6y7<%;#~$!3q@@b&8=l@2+O+B+m5o>EnQ-Qx<P3Bw|kzZ3ABS9mhYiH z5I?{7y?2-0uhu~l%m4`GFIpO@tguC`U?RRjwIYP-V5I^CQ^4Jh93Wv4r4dE!B17(a z2ueNY0{_J+^HNro(BpV9<C$n0_k7YEL&y(WkCliiU$-C9N)2@dS!*7jpT>zI318(^ zp$cQQuqUT&d(z=RiD3^h9D5HjLb!L1vGgK~-QRxsa2_uEm_ZWp^nF9O53ifu=gyj& z{{sl)Z!(wqwrq{CwO;n;yez)vMgsl?@U8Y3I^WH}{z@*1&vK`(w)0S=By!>xF_6BF Iu9^S`KMIhAP5=M^ diff --git a/db-crypt/db/ramkomd-texts b/db-crypt/db/ramkomd-texts deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/ADMINISTRATING b/doc/ADMINISTRATING deleted file mode 100644 index d7e2d490d..000000000 --- a/doc/ADMINISTRATING +++ /dev/null @@ -1,46 +0,0 @@ - Administrating a LysKOM site - ============================ - - This document is a short description of how to administrate a LysKOM -database on your site. - - The first thing you will have to do is to follow the instructions in -the file INSTALL. This will set up the LysKOM system with a database -containing a few necessary conferences and one person - the -administrator. - - Once the LysKOM system is running, there is not much you will have -to do to keep it that way. One thing to remember is that the current -release of the server (0.32) has an incomplete handling of garbage -collection of the database. The database is split into two files, the -information file and the text file. Newly written texts are -concatenated to the text file and old texts are never removed. The -information file contains information about conferences, users and -where in the text file the texts are. This file is properly garbage -collected, but not the text file. - - There is a program called dbck (Data Base Check) which is used to -check the consistency of the LysKOM database. This program can also -be used to shrink the text file. To do this, just type `dbck -g' in -the database directory, or give additional switches to dbck to use the -correct directory. See further the manual page for dbck. When dbck -is to be run on the database, the LysKOM server *must* be stopped, or -unrepairable damage may result. See below for a description on how to -stop the server. - - There is a shell script called updateLysKOM which is used to insure -continuous operation. This script is run with certain intervals and -if the LysKOM server has died for some reason, updateLysKOM restarts -it. If the server is still running properly, updateLysKOM sends a -signal (SIGUSR1) to it, which causes the server to write call -statistics to a file named etc/lyskomd-log in the lyskom directory. - - Taking the server down cleanly can be done in two ways: through the -use of the LysKOM protocol on a socket, preferably through the use of -a suitable client, or to send the signal SIGHUP to it. This will -cause the server to save the database and close all client -connections. It will also create a file named etc/memory-usage in -which the memory usage of the server is reported. There is currently -a small memory leak in the server. We know about it, so there is no -need to send bug reports to us about that (unless you have found where -the leak is). diff --git a/doc/Distfile b/doc/Distfile deleted file mode 100644 index a82a44195..000000000 --- a/doc/Distfile +++ /dev/null @@ -1 +0,0 @@ -(/usr/local/src/2kom/doc) -> (nanny.lysator.liu.se) install; diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 44636a5b4..000000000 --- a/doc/Makefile +++ /dev/null @@ -1,39 +0,0 @@ -# -# $Id: Makefile,v 0.6 1991/09/15 09:54:18 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -SUBDIRS = man - -all:; -depend:; -includes:; -libraries:; -binaries:; - -include $(SCRIPTDIR)/sub-clean.make -include $(SCRIPTDIR)/sub-install.make diff --git a/doc/Makefile.template b/doc/Makefile.template deleted file mode 100644 index f92cc4512..000000000 --- a/doc/Makefile.template +++ /dev/null @@ -1,63 +0,0 @@ -# -# $Id: Makefile.template,v 0.2 1991/09/15 09:54:15 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# Makefile for LysKOM -# -############################################################################### -# -# SPECIAL CONSIDERATIONS: -# -# - Requires GNU make. -# - CC, OPTIMIZE-FLAGS and other make variables are passed down -# in the environment. -# - C compiler must be ANSI conformant. -# -############################################################################### -# -# SPECIAL TARGETS: -############################################################################### - -# Directories that you might want to override via the environment. - -ifndef TOPDIR -TOPDIR := /usr/lyskom/src -endif - -ifndef SCRIPTDIR -SCRIPTDIR := $(TOPDIR)/scripts -endif - -include $(SCRIPTDIR)/import.make - - -# All directories that make should traverse to when doing clean etc. - -SUBDIRS = doc include junk lib scripts src - -all: - for i in $(SUBDIRS) ; \ - do \ - echo making all in directory $$i; \ - (cd $$i; $(MAKE) all) \ - done diff --git a/doc/coding-standards.txt b/doc/coding-standards.txt deleted file mode 100644 index b70117880..000000000 --- a/doc/coding-standards.txt +++ /dev/null @@ -1,77 +0,0 @@ -DENNA FIL [R V[LDIGT OBSOLETE NU! Vi anv{nder CVS nu. - - /ceder - -- hur man formatterar koden - - -- namnkonventioner - - -- Makefile - - -RCS - -Att skapa en ny fil: - -En ny fil placeras under RCS med "ci -r0.1 filnamn". I direktoryt -m}ste det finnas ett direktory som heter RCS. (Man kan skapa checka in -en ny fil fr}n emacs, men d} f}r den versionsnummer 1.0. Det g}r att -{ndra i RCS/*,v-filen, men det blir jobbigare..) - - -ATT TITTA P] EN FIL - -F|r att titta p} en fil g|r man "co filnamn". Med "make sources" -checkas alla filer ut (om Makefilen {r r{tt skriven). - - - -ATT EDITERA EN FIL - -Innan man editerar filen m}ste man l}sa den. Det g|r man med "co -l -filnamn" eller "C-x \"" om man anv{nder rcs-cks i emacs. - -Om man kommmer p} att man inte ville {ndra i filen kan man l}sa upp -den med "rcs -u filnamn". - -F|r att l{mna in den nya versionen g|r man "ci filnamn" eller "C-x #". - - - -RCSCLEAN - -"make rcsclean" tar bort all k{llkod som inte {r l}st f|r editering. -Med "make sources" kan man f} tillbaks den. - - -RCS anv{nder inte ChangeLog. Med "rlog file" f}r man se alla {ndringar -som gjorts i en fil. I filen RCS/.rcsfreeze.log kan man se de -logmeddelande som skrivits in n{r man gjort rcsfreeze. - -ChangeLoggen ska anv{ndas ({ven om det inte {r gjort p} slutet p} -servern). - -ATT INSTALLERA EN NY VERSION - -RCS: - -1) make -2) rcsclean # Se till att alla filer f|rsvinner -3) rcsfreeze v0-30-4 # Eller liknande -4) make sources -5) make -t # S} att man slipper kompilera om saker i on|dan. - -Bara steg 2 och 3 beh|vs. 1, 4 och 5 sparar lite tid. - -BIN[RER: - -Flytta server/diskomd till /usr/lyskom/bin/ramkomd. Se till att INNAN -dess spara den gamla ramkomd. Skriv inte |ver en exekverande fil! - -COMMON - -"make serverinstall" och "make clientinstall" skall g|ras n{r man har -{ndrat n}got. - -LIB - -"make install" skall g|ras n{r man har {ndrat n}got. diff --git a/doc/man/Makefile b/doc/man/Makefile deleted file mode 100644 index 71cdcfda7..000000000 --- a/doc/man/Makefile +++ /dev/null @@ -1,60 +0,0 @@ -# -# $Id: Makefile,v 1.9 1991/10/29 06:06:27 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -MANDIR = /usr/local/man -MANEXTS = 1 3 5 8 - -all:; -depend:; - -clean: - $(RM) $(GENERIC-CLEAN) - -for i in $(MANEXTS); \ - do \ - [ -d man$$i ] && { echo making clean in directory man$$i; \ - (cd man$$i; $(RM) *~ core) } \ - done - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - -for i in $(MANEXTS); \ - do \ - [ -d man$$i ] && { echo making clean in directory man$$i; \ - (cd man$$i; $(RM) *.ps *.cat *.man *.txt $(GENERIC-DIST-CLEAN)) } \ - done - -install: - for i in $(MANEXTS); \ - do \ - [ -d man$$i ] && { for page in man$$i/*.$$i; \ - do \ - echo installing $$page; \ - install $$page $(MANDIR)/man$$i; \ - done } \ - done diff --git a/doc/man/man1/.cvsignore b/doc/man/man1/.cvsignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/man/man3/.cvsignore b/doc/man/man3/.cvsignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/man/man3/isc3.x b/doc/man/man3/isc3.x deleted file mode 100644 index fa876e52f..000000000 --- a/doc/man/man3/isc3.x +++ /dev/null @@ -1,209 +0,0 @@ -.\" $Id: isc3.x,v 0.2 1991/09/15 09:54:51 linus Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Copyright: $ -.\" Copyright (c) 1991 Lysator Computer Club, Linkoping University, Sweden -.\" All rights reserved -... -.V= $Header: /home/ceder/convert-lyskomd/cvsroot/lyskom-server/doc/man/man3/Attic/isc3.x,v 0.2 1991/09/15 09:54:51 linus Exp $ -.TH ISC 3X "\*(V)" "LUNATIX" -.SH NAME -isc_initialize, isc_shutdown, isc_listen, isc_unlisten, -isc_opentcp, isc_openfile, isc_openfd, isc_close, -isc_sessions, isc_getnextevent, isc_dispose, -isc_flush, isc_write, isc_putc, isc_printf, -isc_allocmsg, isc_reallocmsg, isc_freemsg, isc_mkstrmsg, -isc_setmaxmsgsize, isc_setallocfn, isc_setlogfn, isc_setabortfn -.SH FUNCTIONS -.nf -.B IscMaster * -.B " isc_initialize (IscConfig *cfg)" -.PP -.B void -.B " isc_shutdown(IscMaster *mcb)" -.PP -.B int -.B " isc_listen(IscMaster *mcb, int port);" -.PP -.B void -.B " isc_unlisten(IscMaster *mcb, int port);" -.PP -.B "IscSession *" -.B " isc_opentcp(IscMaster *mcb, const char *host, int port)" -.PP -.B "IscSession *" -.B " isc_openfile(IscMaster *mcb, const char *path, int mode)" -.PP -.B "IscSession *" -.B " isc_openfd(IscMaster *mcb, int fd)" -.PP -.B "void" -.B " isc_close (IscSession *scb)" -.PP -.B "int" -.B " isc_sessions (IscMaster *mcb)" -.PP -.B "IscEvent *" -.B " isc_getnextevent (IscMaster *mcb, long timeout)" -.PP -.B "void" -.B " isc_dispose (IscEvent *ecb)" -.PP -.B "void" -.B " isc_flush (IscSession *scb)" -.PP -.B "int" -.B " isc_write (IscSession *scb, const void *buf, size_t len)" -.PP -.B "int" -.B " isc_printf (IscSession *scb, const char *format, ...)" -.PP -.B "int" -.B " isc_putc (int chr, IscSession *scb)" -.PP -.B "IscMessage *" -.B " isc_allocmsg(size_t size);" -.PP -.B "IscMessage *" -.B " isc_reallocmsg(IscMessage *msg, size_t size);" -.PP -.B "void" -.B " isc_freemsg(IscMessage *msg);" -.PP -.B "IscMessage *" -.B " isc_mkstrmsg(const char *str);" -.PP -.B "void" -.B " isc_setmaxmsgsize (IscMaster *mcb, size_t size)" -.PP -.B "void" -.B " isc_setlogfn (void (*logfnp)(const char *fmt, va_list AP))" -.PP -.B "void" -.B " isc_setallocfn (void * (*mallocfn)(size_t size)," -.B " void * (*reallocfn)(void *buf, size_t size)," -.B " void (*freefn)(void *buf))" -.PP -.B "void" -.B " isc_setabortfn (void (*abortfn)(const char *msg))" -.SH TYPES -.nf -.B typedef void IscConfig; -.PP -.B typedef enum -.B { -.B " ISC_EVENT_ERROR," -.B " ISC_EVENT_TIMEOUT," -.B " ISC_EVENT_LOGIN," -.B " ISC_EVENT_LOGOUT," -.B " ISC_EVENT_MESSAGE," -.B "} IscEventType;" -.PP -.B typedef enum -.B { -.B " ISC_TYPE_UNKNOWN," -.B " ISC_TYPE_TCP," -.B " ISC_TYPE_FILE" -.B "} IscSessionType;" -.PP -.B typedef struct isc_msg -.B { -.B " int size;" -.B " int length;" -.B " char *buffer;" -.B } IscMessage; -.PP -.B typedef struct isc_mcb -.B { -.B " int port;" -.B " int fd;" -.B " int maxmsgsize;" -.B " int maxqueuedsize;" -.B " int maxdequeuelen;" -.B " struct isc_scb *sessions;" -.B } IscMaster; -.PP -.B typedef struct isc_scb -.B { -.B " struct isc_scb * prev;" -.B " struct isc_scb * next;" -.B " IscMaster * mcb;" -.B " IscSessionType type;" -.B " int fd; -.B " IscMsgQueue * rd_msg_q;" -.B " IscMsgQueue * wr_msg_q;" -.B " char sendbuf[2048];" -.B " int sendindex;" -.B " union" -.B " {" -.B " struct" -.B " {" -.B " char * hostname;" -.B " int rport;" -.B " int lport;" -.B " } tcp;" -.B " struct" -.B " {" -.B " char * pathname;" -.B " int openmode;" -.B " } file;" -.B " } info;" -.B " int kill_him;" -.B " time_t logintime;" -.B " struct" -.B " {" -.B " struct" -.B " {" -.B " long bytes;" -.B " long packets;" -.B " } rx, tx;" -.B " } stats;" -.B "" -.B " ISC_UDGTYPE * udg; /* Reserved for user defined usage */" -.B "} IscSession;" -.PP -.B typedef struct isc_ecb -.B { -.B " IscEventType event;" -.B " IscSession * session;" -.B " IscMessage * msg;" -.B } IscEvent; -.SH DESCRIPTION -These functions implement an interface to the TCP/IP streams facitiliy. -The functions are obtained with the loader option -.BR \-lisc . -(More to come here...) -.PP -.SH DIAGNOSTICS -(And here... :\-) -.PP -.SH BUGS -Hehe... I'm sure they exists... -.SH GUILTY -Peter Eriksson <pen@lysator.liu.se> & -Per Cederqvist <ceder@lysator.liu.se> - - -ISC is Copyright (c) 1991 Lysator Computer Club, Linkoping University, Sweden, -in cooperation with the International Syndicate of Computation. -All rights reserved. diff --git a/doc/man/man5/.cvsignore b/doc/man/man5/.cvsignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/man/man5/lyskom.5 b/doc/man/man5/lyskom.5 deleted file mode 100644 index 981e6a83d..000000000 --- a/doc/man/man5/lyskom.5 +++ /dev/null @@ -1,317 +0,0 @@ -.\" $Id: lyskom.5,v 1.5 1991/09/21 03:02:33 ceder Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: lyskom.5,v 1.5 1991/09/21 03:02:33 ceder Exp $ -.\" $Date: 1991/09/21 03:02:33 $ -.TH lyskom 5 "August 24, 1991" -.SH NAME -lyskom - LysKOM -.I database -format -.SH SYNOPSIS -.B /usr/lyskom/db/lyskomd-* -.br -and -.br -.B /usr/lyskom/etc/pid -.PP -.B #include <lyskom/kom-types.h> -.SH DISCLAIMER -The -.I database -is not really a database but a sequential file where all data is saved -from the memory. -.SH DESCRIPTION -There are 2 files: One file with all the data -.RB ( lyskomd-data ). -And one with all texts -.RB ( lyskomd-texts ). -The texts file does not contain any information about where any text -starts of ends, all this is in the data file together with other infos -on the text. -.PP -If the first five chars of the data file is CLEAN then the -.I database -is considered clean. If its anything else the -.BR lyskomd (8) -proglys will try to find the backupfile instead. -.PP -Then there is a number telling the number of the next free conference -.RI ( next_free_num ). -.PP -Now follows a list of all conferences. One conference on each line. If -the conference is deleted the line consists of a -.B @ -otherwise it starts with a -.BR + . -.PP -Now follows a list of all person statuses. Here is also every person -on its own line and the deleted persons or the numbers that are not -persons but conferences are lines containing just a -.BR @ . -.PP -Both the conference status part and the person status part are exactly -.IR next_free_num -1 -lines long. -.PP -Now follows the number of the next text that is not used and a list of -text statuses. -Every text status has its own line just like the other statuses and -non-existent texts are represented by the -.BI @ . -.PP -The different statuses types are -.B conference -.BR statuses , -.B person statuses -and -.B text -.BR statuses . -These are in a struct in the include file but in this file they are -not saved as structs but every element is saved as a ascii string. -Strings are saved as holerith strings. The field of the struct is not -even saved in the same order as in the struct. -Their order in the database is followed below. -.PP -An array of things is represented in the database by a number telling -how many elements there are in the array and the either a -.B * -in the case no elements or a -.B { -followed by all the elements and a finishing -.BR } . -.SS Conference status -.LP -This contains all information for a conference. A conference is a -object that recieves texts. -.TP 15 -.I Name -Name of the conference saved as a holerith string. -.TP -.I Member list -An array of the members in that conference. -.TP -.I First local number -This is the local number of the first text in the conference. Its -saved here in order to save space in this file by not mentioning all -deleted texts in the beginning of the conference. -.TP -.I Texts -This is an array of recieved texts. The local number of the text is -determined by the position in this list and the value of the -.I first local -.IR number . -.TP -.I Type -This is the type of the conf, it contains the infomation that says if -the conference is read protected, original flagged conference, secret, -or if its a letter box. -.TP -.I Creation time -The time the conference was created. -.TP -.I Last written -The time the last text was sent to the conference. -.TP -.I Creator -The number of the person that has created the conference. This is 0 -for conferences that are created initially. -.TP -.I Presentation -This is the number of the text containing a presentation of the -conference. If there is no presentation this number is 0. -.TP -.I Supervisor -This is the number of the conference whose members are supervisors of -the conference. Initially this is set to be the number of the letter -box of the creator. -.TP -.I Permitted submitters -This is the number of the conference whose members are allowed to -submit texts to this conference. If this is 0 (the default) all -persons i -.B LysKOM -are allowed to submit. -.TP -.I Super conference -This is a number of a conference that comments to articles should be -sent to if this conference is original flagged. -.TP -.I Message of the day -This is the textnumber of the text containing a notice message about -the conference. Mostly used for letter boxes. If 0 then there is no -such message. -.TP -.I Garb nice -This is the number of days a text stays in the conference before it is -removed by the expiration routines. Its really the expiration rate. -.SS Person statuses -.LP -Person statuses contains all info about persons. -.TP 15 -.I Password -The password is stored as a string. The length of the string is 64 but -the length of the password itself is stored as the first char in the -string. Passwords longer that 63 chars are truncated. -.TP -.I Username -This is the username and machine from the last time the person logged in. -.TP -.I Privileges -The persons privileges are stored here. This is a bit array, length is -16 bits. It is not really welldetemined what bit does what. -.TP -.I Personal flags -The persons flags are stored here. -.TP -.I First local number -This is the local number of the first created text that still exists -in the database. Its local to this list. -.TP -.I Created text list -This is an array of all created texts beginning at the first local -number. -.TP -.I Marked texts -This is an array of all marked texts and their mark type. Every -element in the array is a text number and a mark number. -.TP -.I Membership -Here is the information about which conferences the person is member -in. Its an array where every element is of the type -.B Membership -(See below). -.TP -.I Last login -Time of the last login. -.TP -.I User area -Number of the text being the persons user area. If there is no user -area this is 0. -.TP -.I Total time present -Time in -.B LysKOM -in seconds. -.TP -.I Sessions -Number of logins made for that person. -.TP -.I Created lines -.TP -.I Created bytes -.TP -.I Read texts -Count of read marked texts. -.TP -.I No of fetches -This is the information about how many texts this person has fetched. -Using caching clients this number could increase well beyond -.I Read -.IR texts . -.TP -.I Created persons -Count of created persons. -.TP -.I Created conferences -Count of created conferences. -.SS Text statuses -This contains info about the texts. -.TP 15 -.I Created time -Time this text was created. -.TP -.I Author -Person that wrote this text. -.TP -.I Start -Start pointer for the text in the -.I lyskomd-texts -file. -.TP -.I Number of lines -Length of the text in lines. -.TP -.I Number of chars -Length of the text in chars. -.TP -.I Number of marks -Count of existing marks on this text. -.TP -.I Header list -An array containing info about -.IR recipients , -.I comments -.IR to -pointers -etc. Every element is a -.IR Misc_info . -.SS Membership -The membership type tells us about conferences we are member of and -how much we have already read of it. It is saved in this way: -.TP -.I Last time read -Updated when we mark a text as read in this conference. -.TP -.I Conference number -The number telling what conf. -.TP -.I Priority -Used by the client to determine reading order. -.TP -.I Last text read -Local number of the last text we have read. This is used to keep track -of which texts we have not yet read and calculate how many unread we -have in this conference. -.TP -.I Read texts -An array containing the texts that we have read after the -.I Last text -.IR read . -This is necessary because its possible to read in any order. -.SH FILES -.TP 20 -.IB database-directory /db/lyskomd-data -File with all the elements and pointers. -.TP -.IB database-directory /db/lyskomd-texts -File with the texts. -.TP -.IB database-directory /etc/pid -File with the pid of the lyskom-process. -.TP -.IB database-directory /db/lyskomd-backup -Backup file with all data. -.SH "SEE ALSO" -.BR lyskomd (8), -.BR dbck (8) -.SH BUGS -This is really a joke. Its not a database, not optimal in any way. But -it works. -.PP -The -.I message of the day -text number is not saved anywhere. This makes the -server forget what text that is when restarting. -.SH NOTES -This will soon disapear and be replaced by something more bazaarly -inexplicable. diff --git a/doc/man/man5/ramkom.5 b/doc/man/man5/ramkom.5 deleted file mode 100644 index fa0e2d1e1..000000000 --- a/doc/man/man5/ramkom.5 +++ /dev/null @@ -1,317 +0,0 @@ -.\" $Id: ramkom.5,v 1.4 1991/09/15 09:54:59 linus Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: ramkom.5,v 1.4 1991/09/15 09:54:59 linus Exp $ -.\" $Date: 1991/09/15 09:54:59 $ -.TH ramkom 5 "August 24, 1991" -.SH NAME -ramkom - LysKOM -.I database -format -.SH SYNOPSIS -.B /usr/lyskom/db/ramkomd-* -.br -and -.br -.B /usr/lyskom/etc/pid -.PP -.B #include <lyskom/kom-types.h> -.SH DISCLAIMER -The -.I database -is not really a database but a sequential file where all data is saved -from the memory. -.SH DESCRIPTION -There are 2 files: One file with all the data -.RB ( ramkomd-data ). -And one with all texts -.RB ( ramkomd-texts ). -The texts file does not contain any information about where any text -starts of ends, all this is in the data file together with other infos -on the text. -.PP -If the first five chars of the data file is CLEAN then the -.I database -is considered clean. If its anything else the -.BR ramkomd (8) -program will try to find the backupfile instead. -.PP -Then there is a number telling the number of the next free conference -.RI ( next_free_num ). -.PP -Now follows a list of all conferences. One conference on each line. If -the conference is deleted the line consists of a -.B @ -otherwise it starts with a -.BR + . -.PP -Now follows a list of all person statuses. Here is also every person -on its own line and the deleted persons or the numbers that are not -persons but conferences are lines containing just a -.BR @ . -.PP -Both the conference status part and the person status part are exactly -.IR next_free_num -1 -lines long. -.PP -Now follows the number of the next text that is not used and a list of -text statuses. -Every text status has its own line just like the other statuses and -non-existent texts are represented by the -.BI @ . -.PP -The different statuses types are -.B conference -.BR statuses , -.B person statuses -and -.B text -.BR statuses . -These are in a struct in the include file but in this file they are -not saved as structs but every element is saved as a ascii string. -Strings are saved as holerith strings. The field of the struct is not -even saved in the same order as in the struct. -Their order in the database is followed below. -.PP -An array of things is represented in the database by a number telling -how many elements there are in the array and the either a -.B * -in the case no elements or a -.B { -followed by all the elements and a finishing -.BR } . -.SS Conference status -.LP -This contains all information for a conference. A conference is a -object that recieves texts. -.TP 15 -.I Name -Name of the conference saved as a holerith string. -.TP -.I Member list -An array of the members in that conference. -.TP -.I First local number -This is the local number of the first text in the conference. Its -saved here in order to save space in this file by not mentioning all -deleted texts in the beginning of the conference. -.TP -.I Texts -This is an array of recieved texts. The local number of the text is -determined by the position in this list and the value of the -.I first local -.IR number . -.TP -.I Type -This is the type of the conf, it contains the infomation that says if -the conference is read protected, original flagged conference, secret, -or if its a letter box. -.TP -.I Creation time -The time the conference was created. -.TP -.I Last written -The time the last text was sent to the conference. -.TP -.I Creator -The number of the person that has created the conference. This is 0 -for conferences that are created initially. -.TP -.I Presentation -This is the number of the text containing a presentation of the -conference. If there is no presentation this number is 0. -.TP -.I Supervisor -This is the number of the conference whose members are supervisors of -the conference. Initially this is set to be the number of the letter -box of the creator. -.TP -.I Permitted submitters -This is the number of the conference whose members are allowed to -submit texts to this conference. If this is 0 (the default) all -persons i -.B LysKOM -are allowed to submit. -.TP -.I Super conference -This is a number of a conference that comments to articles should be -sent to if this conference is original flagged. -.TP -.I Message of the day -This is the textnumber of the text containing a notice message about -the conference. Mostly used for letter boxes. If 0 then there is no -such message. -.TP -.I Garb nice -This is the number of days a text stays in the conference before it is -removed by the expiration routines. Its really the expiration rate. -.SS Person statuses -.LP -Person statuses contains all info about persons. -.TP 15 -.I Password -The password is stored as a string. The length of the string is 64 but -the length of the password itself is stored as the first char in the -string. Passwords longer that 63 chars are truncated. -.TP -.I Username -This is the username and machine from the last time the person logged in. -.TP -.I Privileges -The persons privileges are stored here. This is a bit array, length is -16 bits. It is not really welldetemined what bit does what. -.TP -.I Personal flags -The persons flags are stored here. -.TP -.I First local number -This is the local number of the first created text that still exists -in the database. Its local to this list. -.TP -.I Created text list -This is an array of all created texts beginning at the first local -number. -.TP -.I Marked texts -This is an array of all marked texts and their mark type. Every -element in the array is a text number and a mark number. -.TP -.I Membership -Here is the information about which conferences the person is member -in. Its an array where every element is of the type -.B Membership -(See below). -.TP -.I Last login -Time of the last login. -.TP -.I User area -Number of the text being the persons user area. If there is no user -area this is 0. -.TP -.I Total time present -Time in -.B LysKOM -in seconds. -.TP -.I Sessions -Number of logins made for that person. -.TP -.I Created lines -.TP -.I Created bytes -.TP -.I Read texts -Count of read marked texts. -.TP -.I No of fetches -This is the information about how many texts this person has fetched. -Using caching clients this number could increase well beyond -.I Read -.IR texts . -.TP -.I Created persons -Count of created persons. -.TP -.I Created conferences -Count of created conferences. -.SS Text statuses -This contains info about the texts. -.TP 15 -.I Created time -Time this text was created. -.TP -.I Author -Person that wrote this text. -.TP -.I Start -Start pointer for the text in the -.I ramkomd-texts -file. -.TP -.I Number of lines -Length of the text in lines. -.TP -.I Number of chars -Length of the text in chars. -.TP -.I Number of marks -Count of existing marks on this text. -.TP -.I Header list -An array containing info about -.IR recipients , -.I comments -.IR to -pointers -etc. Every element is a -.IR Misc_info . -.SS Membership -The membership type tells us about conferences we are member of and -how much we have already read of it. It is saved in this way: -.TP -.I Last time read -Updated when we mark a text as read in this conference. -.TP -.I Conference number -The number telling what conf. -.TP -.I Priority -Used by the client to determine reading order. -.TP -.I Last text read -Local number of the last text we have read. This is used to keep track -of which texts we have not yet read and calculate how many unread we -have in this conference. -.TP -.I Read texts -An array containing the texts that we have read after the -.I Last text -.IR read . -This is necessary because its possible to read in any order. -.SH FILES -.TP 20 -.IB database-directory /db/ramkomd-data -File with all the elements and pointers. -.TP -.IB database-directory /db/ramkomd-texts -File with the texts. -.TP -.IB database-directory /etc/pid -File with the pid of the lyskom-process. -.TP -.IB database-directory /db/ramkomd-backup -Backup file with all data. -.SH "SEE ALSO" -.BR ramkomd (8), -.BR dbck (8) -.SH BUGS -This is really a joke. Its not a database, not optimal in any way. But -it works. -.PP -The -.I message of the day -text number is not saved anywhere. This makes the -server forget what text that is when restarting. -.SH NOTES -This will soon disapear and be replaced by something more bazaarly -inexplicable. diff --git a/doc/man/man8/.cvsignore b/doc/man/man8/.cvsignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/doc/man/man8/dbck.8 b/doc/man/man8/dbck.8 deleted file mode 100644 index 968e0184c..000000000 --- a/doc/man/man8/dbck.8 +++ /dev/null @@ -1,132 +0,0 @@ -.\" $Id: dbck.8,v 1.7 1992/02/23 02:56:43 ceder Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: dbck.8,v 1.7 1992/02/23 02:56:43 ceder Exp $ -.\" $Date: 1992/02/23 02:56:43 $ -.TH dbck 8 "August 22, 1991" -.SH NAME -dbck - reports and corrects errors in the LysKOM database. This -program is also used remove unreferenced texts from the texts file. -.SH SYNOPSIS -.B /usr/lyskom/bin/dbck -[ -.B -D -.I database-directory -] [ -.B -irvgs -] -.SH DESCRIPTION -This program should be run after something has happened that has made the -database corrupted. -.PP -It fixes the database, checking all references. -.PP -With argument -.B -g -the file with texts are rewritten without all unreferenced texts and -all pointers are adjusted. This does only happen if the database was -correct. -.PP -If none of the options -.B -r, -i -or -.B -g -are given the database is not changed. -.SH OPTIONS -.TP -.BI \-D " database-directory" -Use the database in the -.I database-directory -as the target of the checkup. -.br -Example: If your database is in -.ft B -$HOME/lyskom/db -.ft R -you should use the command -.ft B -.br -/usr/lyskom/bin/dbck -D $HOME/lyskom -.ft R -.TP -.B \-i -Run interactively asking the user questions. -.TP -.B \-r -Repair simple errors without asking. -.TP -.B \-v -Verbose mode. Report not only errors but other statuses of the -database. -.TP -.B \-g -Do the garbage collect of the texts part of the database. This is -sometimes called a compression of the text but it only removes -non-referenced texts. -.TP -.B \-s -Gather statistics about the lengths of texts. A table containing -the frequency of all lenghts that is currently used is printed. -.SH NOTES -The messages -.I Conference <confno> has a bad Text-list. Starts with 0 -and -.I Person <persno> has created <number> conferences, not <number> -.RI ( as -.I said in -.IR person-stat ). -are normal. If you get them when you specify -.B -g, -let -.B dbck -fix them and run -.B dbck -g -again. -.SH FILES -.TP 20 -.B /usr/lyskom -Default database directory. -.TP -.IB database-directory /db/ramkomd-data -File with all the elements and pointers. -.TP -.IB database-directory /db/ramkomd-texts -File with the texts. -.TP -.IB database-directory /db/ramkomd-backup -Backup file of -.B ramkomd-data. -.SH BUGS -Does not lock the database. -.PP -Does never check if the database is locked. -.PP -Should have an unlock database option. -.PP -Does not check that -.B ramkomd-data -and -.B ramkomd-texts -are consistent. -.SH AUTHOR -Per Cederqvist <ceder@lysator.liu.se> diff --git a/doc/man/man8/lyskomd.8 b/doc/man/man8/lyskomd.8 deleted file mode 100644 index 00e12627e..000000000 --- a/doc/man/man8/lyskomd.8 +++ /dev/null @@ -1,402 +0,0 @@ -.\" $Id: lyskomd.8,v 1.8 1994/02/19 04:57:37 ceder Exp $ -.\" Copyright (C) 1991, 1994 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: lyskomd.8,v 1.8 1994/02/19 04:57:37 ceder Exp $ -.\" $Date: 1994/02/19 04:57:37 $ -.TH lyskomd 8 "January 12, 1994" "Lysator" -.SH NAME -lyskomd - LysKOM server -.SH SYNOPSIS -.B /usr/lyskom/bin/lyskomd -[ -.B -d ... -] [ -.B config-file -] -.SH DESCRIPTION -This program runs a LysKOM server. -.PP -The server reads a configuration file (see CONFIGURATION below) and -then listensfor connections on the given ports (defaults are 4894 -for the -.I client_port -and 4895 for the -.IR mux_port ). -.SH OPTIONS -.TP -.B \-d -Adds one to the debug-level i.e. increases the amount of output on the -stderr from the process. This option can be given repeatedly. - -Using one -.B \-d -make the process print a -.I > -for every timeout, a message for every person that is connecting or -disconnecting and a message for every successful or unsuccessful -communication to the process. -.SH CONFIGURATION -The configuration file is line oriented. -Each line consists of one -.B parameter name, -a colon, and the -.B parameter value. -Empty lines, and lines whose first non-blank character is #, are -comment lines and ignored. -The configuration file is normally found in -.B /usr/lyskom/etc/config, -but the exact location can be changed at compile time (by modifying -.B DEFAULT_DBASE_DIR -and/or -.B CONFIG_FILE -in -.B src/server/server-config.c) -or at run time (by specifying a config file as an argument). - -The following parameters can be set in the config file: -.TP -.B Locale: locale_name -Use -.I locale_name -as the locale to run in. -This parameter is only available on systems which support the -.B setlocale() -call. If this parameter is not set, no call to -.B setlocale() -will be made. -.TP -.B Prefix: prefix -The default value of -.I prefix -is -.B /usr/lyskom -(unless changed in server-config.c). -All files that the server uses are found in sub-directories of this -directory. See FILES below. -.TP -.B Send async: bool -Do not send any non-requested messages. This disables the sending of -messages about events in the server to all connections. -Use of this parameter is not recommended. This option is on by -default. -.TP -.B Client port: portname -Listen for new clients on -.I portname, -which can be a symbolic port name (traditionally looked up in -.B /etc/services) -or a port number. This defaults to 4894, and all clients currently -expect that number. -.TP -.B Mux port: portname -Listen for mux connections on -.I portname. -Muxes can be used to multiplex several clients on a single file -descriptor. The mux runs as a separate process. This was used -historically when LysKOM ran on a machine were only 20 file -descriptors coule be open at once. The mux code has not been -released. Send a mail to -.B bug-lyskom@lysator.liu.se -if you need it. The default port number is 4895. -.TP -.B Presentation of conferences: conf-no -The number of the conference where presentations should be sent. -Defaults to 1. -.TP -.B Presentation of persons: conf-no -The number of the conference where presentations should be sent. -Defaults to 2. -.TP -.B Motd-conference: conf-no -The number of the conference where "message-of-the-day" messages -should be sent. -Defaults to 3. -.TP -.B News-conference: conf-no -The number of the conference where news of interest to the readers of -this LysKOM server should be written. This is typically a conference -with very low traffic which everyone shoule be a member of. Clients -should offer new users to join it. Defaults to 4. -.TP -.B Message of the day: text-no -Default message-of-the-day of this server. -The text will be showed automatically by conforming LysKOM clients -when a user logs on. -There is a question in protocol A which changes this number, but -(currently) a motd set by the protocol will be forgotten the next time -the server is restarted. -This may change in the future. -.TP -.B Never save: bool -Do not use unless you know what you are doing. -(Note: there is currently no-one in the LysKOM development group which -knows exactly what this option does!) -.TP -.B Log accesses: filename -This parameter can only be set if the server has been compiled with -.B LOGACCESSES -defined. It will save a trace of all activity in the database to a -file, for later use in simulations et c. -Compiling with -.B LOGECCESSES -slows the server down quite a lot, so it is normally not defined. -.TP -.B Data file: data_file -Part of the data base will be held in -.I prefix/data_file. -.TP -.B Backup file: backup_file -The file -.I prefix/backup_file -will always contain a complete data base, but it might be a little -outdated. -.TP -.B Text file: text_file -The file -.I prefix/text_file -holds all actual text which is written. -.TP -.B Text backup file: backup_text -When dbck is run with the -.I -g -option (see dbck(8)) it will store the previous contents of -.I prefix/text_file -in -.I prefix/backup_text. -This file is never used by lyskomd itself. -.TP -.B Log statistics: stat_file -Whenever lyskomd receives a SIGHUP it will append a timestamp and -a count of how many different atomic calls have been made in -.I prefix/stat_file. -.TP -.B Pid file: pid_file -When lyskomd is up-and-running it will write its pid in the file -.I prefix/pid_file. -This file is not currently used as a log file. It is present here -only so that the updateLysKOM script can easily find out what pid the -LysKOM server has. -.TP -.B Memory usage file: mem_file -When lyskomd exits normally it appends some info on its usage of -memory to -.I prefix/mem_file. -Almost any memory leak bugs should be detectable by looking in this -file. -.TP -.B Idle timeout: idle -Number of milliseconds to sleep when there is nothing for lyskomd -to do. -.TP -.B Garb timeout: garb -Number of milliseconds to sleep when the server is garbaging texts, -but has nothing else important to do. -.TP -.B Sync timeout: sync -Number of milliseconds to sleep when lyskomd is saving its database. -Defaults to 0. -.TP -.B Garb interval: garb_interval -Number of minutes between each garb sweep. Defaults to 1440, that is, -a garb sweep will be run once per day. -.TP -.B Sync interval: sync_interval -Number of minutes between syncs. Currently, lyskomd holds part of the -data base in main memory. It is dumped to -.I prefix/data_file -periodically. This parameter determines the period. -.TP -.B Sync retry interval: retry_interval -If anything goes wrong while trying to dump the data base to -.I prefix/data_file -(such as if the disk is full), -lyskomd will wait for this many minutes before trying again. -.TP -.B Max conference name length: int -.TP -.B Max password length: int -Only the first eight characters of the password are currently -significant, even if this number is much larger. -.TP -.B Max what am I doing length: int -.TP -.B Max username length: int -.TP -.B Max text length: int -.TP -.B Max broadcaset length: int -.TP -.B Max regexp length: int -.TP -.B Max marks per person: int -.TP -.B Max marks per text: int -.TP -.B Max recipients per text: int -.TP -.B Max comments per text: int -.TP -.B Max footnotes per text: int -.TP -.B Max links per text: int -.TP -.B Max mark_as_read chunks: int -.TP -.B Max super_conf loop: int -.TP -.B Default garb nice: int -Each conference has a lifetime for texts written in it. -The lifetime is counted in days, and can be set for each conference by -the administrator of the conference. -This is the default value assigned to new conferences. -.TP -.B Max client transmit queue: int -Mux number of pending data blocks in the reply queue to a client. If -there is ever more than this many data blocks in the queue the client -will be disconnected. Each atomic question typically generates two -data blocks. -.TP -.B Max simultaneous client replies: int -This is a performance tuning parameter of little real interest. -.TP -.B Anyone can create new persons: bool -If this is set, anyone can create a new person, even if he lacks -special bits for doing so. -.TP -.B Anyone can create new conferences: bool -If this is set, anyone can create a new conferences, even if he lacks -special bits for doing so. -.TP -.B Allow creation of persons before login: bool -If this is set, persons can connect the the server and create a new -person without logging in. This is how new users register in open -environments. -.TP -.B Default change name capability: bool -If this is set, new users are created with the ability to change their -own name. -.TP -.B Cache conference limit: int -How many conference statuses the server cache should hold in main -memory. -.TP -.B Cache person limit: assign_int -How many person statuses the server cache should hold in main -memory. -.TP -.B Cache text_stat limit: assign_int -How many text statuses the server cache should hold in main -memory. -.TP -.B Echo: text_string -Write -.I text_string -in the log. -.TP -.B Jubel: pers_no text_no -State that -.I pers_no -is not allowed to create text number -.I text_no -.TP -.B Jubel: pers_no divident remainder -Say that -.I pers_no -is not allowed to create any text number -.I T -which meets the condition -.I T \% divident == remainder -.SH SIGNALS -There are some signals that have a special meaning to the LysKOM -server. -.TP -.B SIGHUP -Logs out all sessions, saves the database and exits normally. -.TP -.B SIGQUIT -Saves the database and dump core. (This should only be used for -debugging purposes.) -.TP -.B SIGUSR1 -Print statistics about how often different commands have been used -since the process started. -.TP -.B SIGUSR2 -Forks a child that immediately dumps core. The main process just waits -until the child is done and then continues. (This does not work on -Suns.) -.SH FILES -.TP 20 -.B /usr/lyskom -Default value of -.I prefix. -.TP -.IB prefix /db/lyskomd-data -Half of the database: all status information. -.TP -.IB prefix /db/lyskomd-texts -The other half of the database: the actual texts. -.TP -.IB prefix /db/lyskomd-backup -A backup copy of -.I lyskomd-data. -Never, ever delete this file unless you know what you are doing, or -you may lose the entire data base. Most of the time this is the only -complete database file! -.TP -.IB prefix /etc/pid -File with the pid of the lyskom-process. -.TP -.IB database-directory /etc/memory-usage -On normal exit, -.I lyskomd -will append some statistics to this file. It can be used for -detecting memory leaks. -.SH BUGS -.PP -lyskomd should re-read the config file when a SIGHUP is received. -.PP -lyskomd should terminate when a SIGINT or SIGTERM is received. -.PP -A very small memory leak still remains. -.PP -There is no practical handling of security. -.PP -The choice of asynchronously issued messages is not very good. -.PP -The so called "data base" is a joke. -.PP -It uses too much memory. -.SH HISTORY -In 1990, Per Cederqvist <ceder@lysator.liu.se> and Peter Eriksson -<pen@lysator.liu.se> and a few other persons started to write the -server. It was operational in the summer of 1990, even though the -members of Lysator discovered a thing called MUD. We started using -RCS on 20 May 1991. The first release was made on 16 Sept 1991. -Around that time we switched from RCS to CVS, and ceder started to -write pcl-cvs (a GNU Emacs front-end to CVS) instead of LysKOM. After -a while, he started writing Bugtrack, to be able to handle all bug -reports he recieved about pcl-cvs. He hopes to be able to devote some -more time to LysKOM in the future. -.SH NOTE -Contact Per Cederqvist if you want commercial support of LysKOM. diff --git a/doc/man/man8/ramkomd.8 b/doc/man/man8/ramkomd.8 deleted file mode 100644 index 3f0646cdc..000000000 --- a/doc/man/man8/ramkomd.8 +++ /dev/null @@ -1,118 +0,0 @@ -.\" $Id: ramkomd.8,v 1.4 1991/09/15 09:54:39 linus Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: ramkomd.8,v 1.4 1991/09/15 09:54:39 linus Exp $ -.\" $Date: 1991/09/15 09:54:39 $ -.TH ramkomd 8 "August 22, 1991" -.SH NAME -ramkomd - LysKOM server -.SH SYNOPSIS -.B /usr/lyskom/bin/ramkomd -[ -.B -d -] [ -.B -q -] [ -.BI -D database-directory -] [ -.BI -p clientportnumber -] [ -.BI -P muxportnumber -] [ -.B -a -] -.SH DESCRIPTION -This program runs a LysKOM server. -.PP -It listens for connections on the given portnumbers (defaults are 4894 -for the -.I clientportnumber -and 4787 for the -.IR muxportnumber ). -.SH OPTIONS -.TP -.B \-d -Adds one to the debug-level i.e. increases the amount of output on the -stderr from the process. - -Using one -.B \-d -make the process print a -.I > -for every timeout, a message for every person that is connecting or -disconnecting and a message for every succesful or unsuccessful -communication to the process. -.TP -.B \-q -Never save the database. -.TP -.BI \-D database-directory -Use the database in the -.I database-directory. -.br -Example: If your database is in -.B $HOME/lyskom/db -you should use the option -.B \-D$HOME/lyskom -.TP -.BI \-p clientportnumber -listens for clients on the port number -.I clientportnumber. -.TP -.BI \-P muxportnumber -listens for mux connections on the port number -.I muxportnumber. -A mux connection is a connection using a special protocoll to allow -several sessions within one connection. -.TP -.B \-a -Do not send any non-requested messages. This disables the sending of -messages about events in the server to all connections. -.SH FILES -.TP 20 -.B /usr/lyskom -Default database directory. -.TP -.IB database-directory /db/ramkomd-data -File with all the elements and pointers. -.TP -.IB database-directory /db/ramkomd-texts -File with the texts. -.TP -.IB database-directory /etc/pid -File with the pid of the lyskom-process. -.TP -.IB database-directory /db/ramkomd-backup -Backup file with all data. -.SH BUGS -Small memory leak. -.PP -There is no practical handling of security. -.PP -The choice of asynchronously issued messages is not very good. -.PP -The so called "data base" is a joke. -.SH AUTHOR -Per Cederqvist <ceder@lysator.liu.se> -.SH NOTE -Version 2.0 on its way. diff --git a/doc/man/man8/updateLysKOM.8 b/doc/man/man8/updateLysKOM.8 deleted file mode 100644 index 8e75d624f..000000000 --- a/doc/man/man8/updateLysKOM.8 +++ /dev/null @@ -1,36 +0,0 @@ -.\" $Id: updateLysKOM.8,v 1.2 1991/09/15 09:54:36 linus Exp $ -.\" Copyright (C) 1991 Lysator Academic Computer Association. -.\" -.\" This file is part of the LysKOM server. -.\" -.\" LysKOM is free software; you can redistribute it and/or modify it -.\" under the terms of the GNU General Public License as published by -.\" the Free Software Foundation; either version 1, or (at your option) -.\" any later version. -.\" -.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT -.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -.\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -.\" for more details. -.\" -.\" You should have received a copy of the GNU General Public License -.\" along with LysKOM; see the file COPYING. If not, write to -.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -.\" MA 02139, USA. -.\" -.\" Please mail bug reports to bug-lyskom@lysator.liu.se. -.\" -.\" $Id: updateLysKOM.8,v 1.2 1991/09/15 09:54:36 linus Exp $ -.\" $Date: 1991/09/15 09:54:36 $ -.TH updateLysKOM 8 "August 22, 1991" -.SH NAME -updateLysKOM - tells the server to save the internal statistics -.SH SYNOPSIS -.B /usr/lyskom/bin/updateLysKOM -.SH DESCRIPTION -This program sends a USR1 signal to the LysKOM server. If the sending -of a signal fails it restarts the server. -.SH INSTALLATION -Make sure the source file contains the correct file to start, find the -pid in and the correct logfiles. diff --git a/doc/prot-A.bnf b/doc/prot-A.bnf deleted file mode 100644 index 7f025bca7..000000000 --- a/doc/prot-A.bnf +++ /dev/null @@ -1,1067 +0,0 @@ - - LysKOM-Projektet - -------------------------------- - Specifikation av protokoll A mellan klient och server - -------------------------------- - av Lars Aronsson - <Aronsson@Lysator.LiU.SE> - 25 juni 1991 - - - - LysKOM - -LysKOM {r ett datakonferenssystem. Andra liknande system {r QZ-KOM och -PortaCOM. LysKOM {r Copyright (C) 1990 datorf|reningen Lysator vid -Universitetet och Tekniska H|gskolan i Link|ping. Var och en till}ts -fritt kopiera, {ndra och distribuera LysKOM dokument och program, -givet att mottagarna ges samma r{ttigheter. Varken Lysator eller dess -medlemmar tar n}got som helst ansvar f|r dokumentens eller programmens -riktighet eller f|ljderna av deras anv{ndande. - - - Den h{r texten - -Den h{r texten specificerar version A av det protokoll som anv{nds -mellan en klient (anv{ndarens program) och en server (databasen). Den -h{r texten {r t{nkt att inneh}lla allt du beh|ver veta f|r att skriva -en klient utan att veta n}got om servern, eller tv{rtom. - -Mitt syfte {r att den h{r texten skall vara s} fullst{ndig och korrekt -som m|jligt. Om du hittar n}gra fel, eller kommer p} n}got som saknas, -s} h|r g{rna av dig till mig. F|ljande {r de saker som jag vet saknas -i den h{r texten: - - Vad som lagras i en anv{ndares "user-area", och hur. - - - Filer - -Den h{r filen {r en mer systematisk sammanst{llning av nedan -uppr{knade filer. Det {r m|jligt att filerna har {ndrat namn, antal -och utseende n{r du l{ser detta. S} h{r hette de den 3 juni 1991: - - 2kom/doc/com-spec -- borta! - 2kom/doc/security-levels.txt - 2kom/include/kom-types.h - 2kom/include/kom-errno.h - 2kom/isc-client/com.h - 2kom/server/fncdef.txt -- borta? - 2kom/include/services.h - - - Underliggande protokoll - -LysKOM Protokoll A kan k|ras ovanp} vilken tillf|rlitlig dubbelriktad -8-bitars bytekanal som helst. I n|dfall kan det ocks} k|ras p} en -7-bitars bytekanal. Idag k|rs det ovanp} Telnet/TCP/IP. P} Lysator -anv{nds telnetport 4894 p} IP-host 130.236.254.12 (laila). Data i -protokoll A sker i ASCII klartext. I hollerithstr{ngar (se nedan) f}r -godtyckliga 8-bitars bytes f|rekomma, men tanken {r att man skall -kunna k|ra protokollet "r}tt" fr}n en textterminal. - - - Abstrakt syntaxnotation - -I den h{r specifikationen har en BNF-liknande grammatik anv{nts f|r -att beskriva protokollets dataelement. Det {r mycket vetenskapligt, -f|r s} g|r de som specar OSI-protokoll. Den h{r grammatiken borde -likna ASN.1 mer {n den g|r, men jag har inte ASN.1-specen h{r. -Dataf{lt har givits namn med liten begynnelsebokstav, datatyper med -stor. Operatorn "::=" definierar (som i BNF) och ":" ger typ (som i -Pascal). Kommentarer inleds med "!" och avslutas med radslut (som i -BLISS). Semikolon anv{nds som i C. De grundl{ggande typerna och deras -notation beskrivs h{rn{st. - - - Grundl{ggande datatyper - -Dataelementen som skickas med protokollet }tskiljs av (godtyckliga -sekvenser av) mellanslag, tab-tecken, line-feed, return, eller NULL. -Undvik att skicka NULL, men var beredd p} att tolka det som ett -mellanslag. - -INTEGER {r icke-negativa heltal som skall rymmas p} 32 bitar. De -skickas som text p} decimal form. - -HOLLERITH {r textstr{ngar. F|rst skickas str{ngens l{ngd som en -INTEGER, sedan bokstaven "H" och d{refter (utan }tskiljande -mellanslag!) texten. Texten f}r inneh}lla vilka byte-v{rden som helst -fr}n 0 till 255. - -BITSTRING skickas som text representerande ett heltal p} bin{r form. -Antal bitar i str{ngen framg}r alltid av sammanhanget. [ven inledande -nollor m}ste skickas. Siffran "1" representerar sant v{rde och "0" -falskt. Bitarna skickas i den ordning de st}r listade i den abstrakta -syntaxen. - - shape-of-world : BITSTRING ( - is-flat; is-round; is-3d; is-2d; ! e.g. "0110" - ) - -ARRAY {r en lista med ett visst antal element. Elementens typ noteras -omedelbart efter ordet ARRAY. F|rst skickas en INTEGER som ger antalet -element, sedan skickas tecknet "{", d{refter alla elementen i f|ljd -och slutligen tecknet "}". Tecknen "{" och "}" fyller egentligen ingen -funktion, men underl{ttar n{r man k|r protokollet "r}tt". Exempel: - - hackers : ARRAY HOLLERITH; - ! e.g. 4 { 8Haronsson 7Hbellman 4Hinge 5Hceder } - -SELECTION {r en INTEGER med efterf|ljande svans. Vilken typ svansen -har beror p} v{rdet av heltalet. F|r vissa v{rden kan svansen vara -tom. V{rdet anges i den abstrakta syntaxen med "nummer=namn". -Exempel: - - phrase : SELECTION ( - 1=hello name:HOLLERITH; ! e.g. "1 4HJohn" - 2=howdy ; ! e.g. "2" - ) - -RPC {r en mycket speciell notation som anv{nds f|r protokoll med -remote procedure calls, dvs fr}gor och svar. Notationen f|r RPC ser ut -som SELECTION, men varje alternativ har tv} svansar: fr}gan och -svaret. Selectornumret skickas bara tillsammans med fr}gan. Exempel: - - phrases : RPC ( - 1=cost inventory:INTEGER; price:INTEGER; - 2=time timezone:INTEGER; hours:INTEGER; - 3=name ; name:HOLLERITH; - ) - ! e.g. "1 23"->"498" "3"->"4HLars" "2 1"->"1430" - -Datastrukturen struct/record markeras i den abstrakta syntaxen bara -med omgivande "(" och ")". Detta inneb{r inte att n}gra extra tecken -skickas i protokollet. - - - Dialog - -En session b|rjar alltid med en uppkoppling, d{r klienten v{ljer -protokoll genom att skicka en - - uppkopplingsbeg{ran : ( "A"; loginnamn : HOLLERITH; ) - -vilken besvaras fr}n servern av en - - uppkopplingsbekr{ftelse : "LysKOM\n" - -D{refter har vi finns bara RPC-protokollet commands. Klienten f}r -skicka flera fr}gor innan den f}tt svar p} det f|rsta. F|r att h}lla -reda p} till vilket anrop ett visst svar h|r, v{ljer klienten ett -referensnummer att medf|lja och samma nummer }terfinns i svaret. Det -{r klientens sak att fritt v{lja och h}lla reda p} referensnumren. - - fr}ga : ( - ref-no : INTEGER; - commands-call; - ) - -som, om allt g}r som det skall, besvaras fr}n servern med - - ok-return : ( - "="; - ref-no : INTEGER; - commands-return; - ) - -eller, om n}got misslyckades, med - - error-return : ( - "%"; - ref-no : INTEGER; - error-no : Error-No; - error-status : INTEGER; - ) - -Det skall inte vara n}got tomrum mellan "=" respektive "%" och ref-no. -Observera att {ven f|r de funktioner d{r f-return {r inneh}llsl|st -svarar servern med "=" eller "%" och ref-number. - - - S{kerhetsniv}er och privilegiebittar - -S{kerhet och privilegier byggs i LysKOM med tv} komponenter: Varje -person har sig ett antal bittar tilldelad (man kan s{ga att personen -tillh|r ett antal grupper) och varje session har dessutom en -s{kerhetsniv} (ett tal). Varje r{ttighet kr{ver en viss bitt och en -viss minsta niv}. De senast aktuella kombinationerna -bitt-niv}-r{ttighet beskrivs i filen 2kom/doc/security-levels.txt, h{r -ges en vackrare tabell: - - Bitt Niv} R{ttighet - ------------------------------------------------------ - wheel Normalt ej tilldelad - 0 Alltid logga in, {ven vid "crowded" - 6 S{tta alla Priv_bits f|r alla personer - 7 S{tta password f|r alla personer - 8 Vara organisat|r (supervisor) f|r allt - 10 Kan l{sa alla texter - ------------------------------------------------------ - admin Normalt ej tilldelad - 1 St{nga av servern - 1 S{tta motd_of_kom - 1 L{sa last_login - 2 L{sa status f|r hemliga m|ten och - personer - 2 L{sa de skyddade delarna av statusen - 2 L{sa hela text_statusen, - {ven vid hemliga mottagare - 3 Byta namn p} alla - 4 Addera/subtrahera medlemmar - 4 Addera/subtrahera mottagare till texter - 5 S{tta superm|te - 5 Radera texter - 6 S{tta administrat|r - ------------------------------------------------------ - statistic Normalt ej tilldelad - 2 L{sa statistikdelarna av Person-structen, - {ven om de {r skyddade. - ------------------------------------------------------ - create_conf Normalt tilldelad - 0 Skapa m|ten - ------------------------------------------------------ - create_pers Normalt tilldelad - 0 Skapa personer - ------------------------------------------------------ - -Enligt Thomas Bellmans erfarenheter anv{nder en administrat|r i -praktiskt arbete bara niv}erna 0 och 255. I st{llet f|r -s{kerhetsniv}er borde de enskilda privilegiebittarna sl}s p} och av -individuellt. Detta kanske l|ses elegantare i kommande versioner av -protokollet. - - - Felkoder - -De felkoder som f|rekommer som svar p} RPC-anrop {r nedanst}ende. H{r -{r de f|rklarade i nummerordning. Det finns en kort lista i alfabetisk -ordning strax efter}t. - - Error-No : SELECTION ( - 0=no-error; ! No error has occured - 2=not-impl; ! Not implemented yet - 3=obsolete; ! No longer implemented - 4=pwd; ! Wrong or illegal password - 5=long-str; ! String too long - 6=login; ! Not logged in. - 7=login-disallowed; ! System is in 'singel-user mode' - 8=conf-zero; ! Attempt to use conference number 0. - 9=undef-conf; ! Undefined or secret conference - 10=undef-pers; ! Undefined or secret person - 11=access; ! No 'read/write permission' - 12=perm; ! No permission - 13=not-member; ! Not member in conf - 14=no-such-text; ! No such global text-no, or no access - 15=text-zero; ! Can't use text no 0 - 16=no-such-local-text;! No such local text-no - 17=local-text-zero; ! Can't use local text no 0 - 18=bad-name; ! Too short or too long - ! or contains illegal chars - 19=index-out-of-range; - 20=conf-exists; ! Already exists - 21=pers-exists; ! Already exists - 22=secret-public; ! Cannot be secret and !rd-prot - 23=letter-box; ! Cannot change letter-box flag - 24=ldb-err; ! Should never happen, - ! unless Willf|r makes a mistake. - 25=ill-misc; ! Illegal misc field. - ! err-stat holds field no - 26=illegal-info-type; ! Info-type parameter was illegal. - ! This means that there is a - ! bug in the client. - 27=already-recipient; ! Already recipient to this text. - 28=already-comment; ! Already comment to this text. - 29=already-footnote; ! Already footnote to this text. - 30=not-recipient; ! Not recipient - 31=not-comment; ! Not comment to this text. - 32=not-footnote; ! Not footnote to this text. - 33=recipient-limit; ! Too many recipients - 34=comm-limit; ! Too many comments - 35=foot-limit; ! Too many footnotes - 36=mark-limit; ! Too many marks. - 37=not-author; ! Only the author may add footnotes or - ! delete texts. - 38=no-connect; ! Can't connect to specified server - 39=out-of-memory; ! Couldn't get memory for result - 40=server-is-crazy; ! Client can't understand server - 41=client-is-crazy; ! Client thinks that server says it - ! can't understand client. - 42=undef-session; ! This session doesn't exist - ) - - - Nummer Felmeddelande Nummer Felmeddelande - ------------------------------------------------------ - 11 access 28 already-comment - 29 already-footnote 27 already-recipient - 18 bad-name 41 client-is-crazy - 34 comm-limit 20 conf-exists - 8 conf-zero 35 foot-limit - 25 ill-misc 26 illegal-info-type - 19 index-out-of-range 24 ldb-err - 23 letter-box 17 local-text-zero - 6 login 7 login-disallowed - 5 long-str 36 mark-limit - 38 no-connect 0 no-error - 16 no-such-local-text 14 no-such-text - 37 not-author 31 not-comment - 32 not-footnote 2 not-impl - 13 not-member 30 not-recipient - 3 obsolete 39 out-of-memory - 12 perm 21 pers-exists - 4 pwd 33 recipient-limit - 22 secret-public 40 server-is-crazy - 15 text-zero 9 undef-conf - 10 undef-pers 42 undef-session - ------------------------------------------------------ - - - Asynkrona anrop - -N{r som helst kan servern skicka ut ett asynkront anrop. En klient -beh|ver inte bry sig om dem. Det g}r bra att l{sa undan dem n{r ett -svar skall l{sas. Asynkrona meddelanden b|rjar alltid med ":" och ett -heltal som talar om hur m}nga parametrar som kommer. D{refter kommer -en selector och parametrarna. Precis som f|r ok- och error-return {r -d{r inget tomrum mellan ":" och f|rsta heltalet. I f|rklaringen nedan -listas de asynkrona anropen i nummerordning, men en alfabetiskt -sorterad lista f|ljer strax d{rp}. - - -asynk-meddelande ::= ( - ":"; - antal-params:INTEGER; - meddelande : SELECTION ( - 0=new-text ( text-no : Text-No; - text-stat : Text-stat ) - ! En ny text har skapats. - - 1=logout person : Pers-No; - ! G}r {ven under namnet "i-am-off" (i C-koden). - ! K{llkoden f|r Elispklienten g|r g{llande att - ! asynkrona anropet nummer 1 {r taget ur bruk. - ! Det {r ersatt av anrop 13 som anger sessionsnummer. - - 2=who-info ( person : Pers-No; - conference : Conf-No; - what-am-i-doing : HOLLERITH; ) - ! K{llkoden f|r Elispklienten g|r g{llande att - ! asynkrona anropet nummer 2 heter login, men att - ! det hur som helst {r taget ur bruk och ersatt av - ! asynkrona anropet nummer 9. - - 3=conf-deleted ! Anv ej av Elispklienten - ??? - 4=conf-created ! Anv ej av Elispklienten - ??? - 5=conf-changed-name - ( conf-no : Conf-No; - old-name : HOLLERITH; - new-name : HOLLERITH; ) - ! G}r {ven under namnet "new-name" (i C-koden). - - 6=i-am-on info : Who-Info; - 7=database-is-syncing - ; - 8=forced-leave-conf ! Anv ej av Elispklienten - ??? - 9=login ( pers-no : Pers-No; - session-no : Session-No; ) - - 10=broadcast-message - ( sender : Pers-No; - message : HOLLERITH; ) - ! Det vore estetiskt f|rdelaktigt om servern aldrig skickade - ! asynkrona anropet nummer 10 utan h|ll sig till nummer 12. - - 11=crowded ; - ! Asynkrona anropet nummer 11 betyder att n}gon har - ! misslyckats logga in, eftersom servern inte har fler - ! lediga f|rbindelser. Den ansvarsk{nnande anv{ndaren - ! kan nu v{lja att logga ut f|r att bereda plats. - - 12=directed-message - ( recipient : Pers-No; - sender : Pers-No; - message : HOLLERITH; ) - ! Om argumentet recipient {r noll (0) i asynkrona anropet - ! nummer 12, s} {r meddelandet riktat till alla inloggade. - ! Det {r {nnu inte m|jligt att rikta ett meddelande till - ! en viss session. - - 13=new-logout - ( pers-no : Pers-No; - session-no : Session-No; ) - ) -) - -En asterisk (*) efter numret i tabellen nedan anger att det asynkrona -anropet ersatts av n}got annat. Se ovan under respektive anrop f|r -n{rmare beskrivning. - - Nr Asynkront anrop Nr Asynkront anrop - ------------------------------------------------------ - 10 broadcast-message 5 conf-changed-name - 4 conf-created 3 conf-deleted - 11 crowded 7 database-is-syncing - 12 directed-message 8 forced-leave-conf - 6 i-am-on 9 login - 1* logout 13 new-logout - 0 new-text 2* who-info - ------------------------------------------------------ - - - RPC-anrop - -Klienten skickar RPC-anrop med parametrar till servern. Servern svarar -endera med ett felmeddelande (se ovan i avsnitten Dialog och Felkoder) -eller med ett returv{rde. Nedan ges BNF-grammatiken f|r de datatyper -som anv{nds i parametrar och returv{rden. RPC-anropen listas i -alfabetisk ordning, men en numeriskt sorterad lista f|ljer strax -efter}t. - - -commands : RPC ( - ! Anropsnummer och -namn - ! Datayp f|r anropsparameter - ! Datatyp f|r returv{rde - - 32=add-comment - params : ( comment : Text-No; - comment-to : Text-No; ) - ; - - - 37=add-footnote - params : ( footnote : Text-No; - footnote-to : Text-No; ) - ; - - 14=add-member - params : ( conf-no : Conf-No; - pers-no : Pers-No; - priority : INTEGER; - where : INTEGER; ) - ; - ! Addera angiven person som medlem i angivet m|te - ! Priority {r prioriteten p} l{slistan - ! Where {r placering p} listan, 0 (noll) eller st|rre - ! RPC-anropet nummer 14 anv{nds {ven senare f|r att {ndra - ! prioritet och plats p} listan. - - 30=add-recipient - ! The sequence "conf-no, type" is a reversed Misc-Info. - ! Type is recpt or cc_recpt. - add-recipient-params : ( text-no : Text-No; - conf-no : Conf-No; - type : INTEGER; ) - ; - - 45=broadcast - message : HOLLERITH; - ; - ! Ett privilegierat anrop. - ! Samma effekt kan n}s genom magisk parameter till anrop 53. - ! En gammal felaktig kommentar g|r g{llande att parametern - ! skulle vara ett text-no, men s} {r inte fallet. - - 3=change-name - change-name-params : ( conf-no : Conf-No; - new-name : HOLLERITH; ) - ; - ! Anropet nummer 3 byter namn p} angivet m|te eller person. - - 4=change-what-i-am-doing - what-am-i-doing : HOLLERITH; - ; - ! Den medskickade texten kommer att visas i vilka-listan, - ! se {ven anropet nummer 51. - - 10=create-conf - params : ( name : HOLLERITH; - type : Conf-Type; ) - result : Conf-No; - - 5=create-person - create-person-params : ( name : HOLLERITH; - passwd : HOLLERITH; ) - Pers-No; - ! En ny person skapas med angivet namn och l|senord. - ! Den skapade personens personnummer returneras. - - 28=create-text - ! create-text-return returns text number zero on error - ! NB! Only Misc-Infos 0,1,2,4 can be sent here. - params : ( text : HOLLERITH; - misc-info : ARRAY Misc-Info ) - result : Text-No; - - 11=delete-conf - conf : Conf-No; - ; - ! Utpl}na ett m|te eller en person. - - 29=delete-text - Text-No; - ; - - 55=disconnect - session-no : Session-No; - ; - ! Disconnect a session. You can disconnect your own session - ! (even if you are not logged in) and any session where you - ! are supervisor of the user that is logged in on that - ! session. - - 42=enable - ena-level : INTEGER; - ; - ! This is a privileged call. - ! Set ena-level. Zero means don't use any privileges. - - 50=get-conf-stat - conf-no : Conf-No; - result : Conference; - ! Returnera m|tesstatus f|r angivet m|te - - 13=get-conf-stat-old - params : ( conf-no : Conf-No; - mask : INTEGER; ) - result : Conference - ! Eftersom den mask som ing}r i params f|ga beaktas, - ! har anropet nummer 13 ersatts av anropet 50. - ! M|tesstatusen f|r det angivna m|tet returneras. - ! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H) - ! name i svaret. Fr}n b|rjan var det t{nkt: - ! mask = name + members + texts + list-sizes -- just use 255 - - 47=get-created-texts - params : ( person : Pers-No; - first : Local-Text-No; - no-of-texts : INTEGER; ) - created-texts : Text-List; - ! NB! first is a text number local to the person who wrote it. - ! It is not a Local-Text-No in his mailbox. - - 34=get-map - params : ( conf-no : Conf-No; - first-local-no : Local-Text-No; - no-of-texts : INTEGER; ) - result : Text-List; - - 23=get-marks - ; - Mark-List; - - 48=get-members - params : ( conf : Conf-No; - first : INTEGER; - no-of-members : INTEGER; ) - members : Member-List; - ! first should perhaps be Local-Conf-No... - - 46=get-membership - params : ( person : Pers-No; - first : INTEGER; - no-of-confs : INTEGER; - mask : BITSTRING (want-read-texts); ) - memberships : Membership-List; - ! first should perhaps be Local-Conf-No... - - 49=get-person-stat - person : Pers-No; - result : Person; - ! Personstatusen f|r den angivna personen returneras. - - 6=get-person-stat-old - params : ( person : Pers-No; - mask : INTEGER; ) - result : Person; - ! Eftersom den mask som ing}r i params f|ga beaktas, - ! har anropet nummer 6 ersatts av anropet 49. - ! Personstatusen f|r den angivna personen returneras. - ! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H) - ! username i svaret. - - 36=get-server-info - ; - result : Info; - ! Return various information about the server. - ! Anrop 36 hette tidigare get-info med samma semantik. - - 54=get-session-info - session-no : Session-No; - result : Session-Info; - - 25=get-text - params : ( text : Text-No; - start-char : INTEGER; - end-char : INTEGER; ) - result : HOLLERITH; - - 26=get-text-stat - params : Text-No; - result : Text-Stat; - - 35=get-time - ; - Time; - - 52=get-unread-confs - pers-no : Pers-No; - conf-no-list : ARRAY Conf-No; - - 0=login - login-params : ( person : Pers-No; - passwd : HOLLERITH; ) - ; - - 1=logout - ; - ; - ! Anropet nummer 1 misslyckas aldrig. - - 12=lookup-name - name : HOLLERITH; - result : Conf-List-Old; - ! Expandera ett f|rkortat namn och returnera en lista - ! med nummer p} de m|ten och personer som det kan vara. - ! Se kommentaren vid definitionen av Conf-List. - - 27=mark-as-read - params : ( conference : Conf-No; - texts : ARRAY Local-Text-No; ) - ; - - 24=mark-text - params : ( text : Text-No; - mark-type : INTEGER; ) - ! mark-type = permanently-marked -- just use 255 (?) - ! The server only stores (does not act upon) this value. - ; - - 2=pepsi - Conf-No; - ; - ! Anropet nummer 2 anv{nds f|r att g} till det angivna m|tet. - ! Det engelska namnet {r change conference. - ! Namnet "Pepsi" h|r till avdelningen mer krystade vitsar. - - 9=query-read-texts - params : ( pers-no : Pers-No; - conf-no : Conf-No; ) - result : Membership; - ! Man kan fr}ga efter ol{sta utan att logga in. - - 53=send-message - params : ( recipient : Pers-No; - message : HOLLERITH; ) - ; - ! Ett privilegierat anrop. - ! Om mottagaren {r nummer noll, skickas meddlandet till - ! samtliga inloggade personer. Detta kan ers{tta anrop 45. - - 17=set-conf-motd - params : ( conf-no : Conf-No; - text-no : Text-No; ) - ; - ! S{tt lappen text-no p} d|rren till conf-no. - ! Set-presentation och set-etc-motd trollar dessutom - ! med f{ltet no-of-marks i textstatusen f|r den gamla - ! och den nya presentationstexten. - ! Anrop 17 hette f|rr set-etc-motd med samma semantik. - - 21=set-conf-type - params : ( conf-no : Conf-No; - type : Conf-Type ) - ; - ! M|tet conf-no {r av typen type. - - 22=set-garb-nice - params : ( conf-no : Conf-No; - nice : Garb-Nice; ) - ; - ! Inl{gg i m|tet conf-no sparas i nice dagar innan de raderas. - - 41=set-motd-of-lyskom - motd : Text-No; - ; - ! This is a privileged call. - ! The text indicated by the parameter is set to be the message - ! of the day of LysKOM. - - 8=set-passwd - params : ( person : Pers-No; - old-pwd : HOLLERITH; - new-pwd : HOLLERITH; ) - ; - ! Ge personen ett nytt l|senord. Old-pwd {r det (gamla) - ! l|senordet f|r personen som g|r RPC-anropet (inte - ! n|dv{ndigt samma som anges av f|rsta argumentet). - - 19=set-permitted-submitters - params : ( conf-no : Conf-No; - perm-sub : Conf-No; ) - ; - ! M|tet conf-no {r skrivskyddat. - ! Endast medlemmar i perm-sub f}r skriva inl{gg i conf-no. - ! Om perm-sub {r 0 (noll) (???) {r m|tet inte skrivskyddat. - - 16=set-presentation - params : ( conf-no : Conf-No; - text-no : Text-No; ) - ; - ! [ndra presentationen f|r angivet m|te eller person. - ! Ange text-no 0 (noll) f|r att ta bort presentationen. - ! Set-presentation och set-etc-motd trollar dessutom - ! med f{ltet no-of-marks i textstatusen f|r den gamla - ! och den nya presentationstexten. - - 7=set-priv-bits - params : ( person : Pers-No; - privileges : Priv-Bits ) - ; - ! Ge eller ta n}gra bittar f|r den angivna personen. - - 20=set-super-conf - params : ( conf-no : Conf-No; - super-conf : Conf-No; ) - ; - ! G|r super-conf till superm|te (organisat|r?) f|r m|tet - ! conf-no. Om conf-no {r skrivskyddat, s} skickas eventuella - ! brev vidare till superm|tet. - - 18=set-supervisor - params : ( conf-no : Conf-No; - admin : Conf-No; ) - ; - ! G|r alla medlemmar i m|tet admin till administrat|rer (???) - ! f|r m|tet conf-no. Admin {r typiskt en persons brevl}da. - - 40=set-unread - params : ( conference : Conf-No; - no-of-unread : INTEGER; ) - ; - ! Endast l{sa no-of-unread senaste i angivet m|te. - - 57=set-user-area - params : ( pers-no : Pers-No; - user-area : Text-No; ) - ; - ! Angiven text anv{nds f|r att lagra angiven persons - ! variabler. Hur detta g}r till borde kanske behandlas - ! i ett separat kapitel. - - 44=shutdown - exit-val : INTEGER; - ; - ! This is a privileged call. - ! Shutdown server. - ! An old comment says exit-val is not used by the server. - ! Samma effekt n}s genom kill -HUP mot servern. - - 33=sub-comment - params : ( comment : Text-No; - comment-to : Text-No; ) - ; - - 38=sub-footnote - params : ( footnote : Text-No; - footnote-to : Text-No; ) - ; - - 15=sub-member - params : ( conf-no : Conf-No; - pers-no : Pers-No; ) - ; - ! Subtrahera angiven person som medlem i angivet m|te. - - 31=sub-recipient - params : ( text-no : Text-No; - conf-no : Conf-No; ) - ; - - - 43=sync - ; - ; - ! Make LysKOM sync its files. This is a privileged call. - ! Samma effekt n}s med kill -SIGUSR1 mot servern. - - 56=who-am-i - ; - sesson-no : Session-No; - - 39=who-is-on-old - ; - result : Who-Info-List-Old; - ! Anrop nummer 39 {r ersatt av anrop 51, vars svar ger - ! mer information. - - 51=who-is-on - ; - result : Who-Info-List; - ! Svaret {r en lista med information om nu aktiva sessioner. -) - -De anrop vars nummer i listan nedan f|ljs av en asterisk (*) {r -ersatta av modernare verianter i den nuvarande versionen (0.33) av -Elisp-klienten. - - Nummer RPC-Anrop Nummer RPC-Anrop - ------------------------------------------------------ - 0 login 1 logout - 2 pepsi 3 change-name - 4 change-what-i-am-doing - 5 create-person 6* get-person-stat-old - 7 set-priv-bits 8 set-passwd - 9 query-read-texts 10 create-conf - 11 delete-conf 12 lookup-name - 13* get-conf-stat-old 14 add-member - 15 sub-member 16 set-presentation - 17 set-conf-motd 18 set-supervisor - 19 set-permitted-submitters - 20 set-super-conf 21 set-conf-type - 22 set-garb-nice 23 get-marks - 24 mark-text 25 get-text - 26 get-text-stat 27 mark-as-read - 28 create-text 29 delete-text - 30 add-recipient 31 sub-recipient - 32 add-comment 33 sub-comment - 34 get-map 35 get-time - 36 get-server-info 37 add-footnote - 38 sub-footnote 39* who-is-on-old - 40 set-unread 41 set-motd-of-lyskom - 42 enable 43 sync - 44 shutdown 45* broadcast - 46 get-membership 47 get-created-texts - 48 get-members 49 get-person-stat - 50 get-conf-stat 51 who-is-on - 52 get-unread-confs 53 send-message - 54 get-session-info 55 disconnect - 56 who-am-i 57 set-user-area - ------------------------------------------------------ - - - Konstruerade datatyper - -H{r definieras de datatyper som sedan anv{nds i RPC-anrop fr}n -klienten till servern och i asynkrona anrop fr}n servern till -klienten. Datatyperna listas i bokstavsordning. - - -! Pers-no and Conf-no are u_shorts in the same domain. -Conf-No ::= INTEGER; -Conf-No-List ::= ARRAY Conf-No; ! Anv{nds var? - -Conf-List ::= ARRAY ( conference : Conf-No; - type : Conf-Type; ) - -! Som svar p} anrop 12 ges Conf-List-Old, som inte kan formuleras -! med den h{r BNF-grammatiken. Conf-List borde returneras, men d} -! vore inte LysKOM bak}tkompatibelt. -! Conf-List-Old: "3 { 3 45 62 } { 1001 0000 1001 }" -! Conf-List: "3 { 3 1001 45 0000 62 1001 }" - -Conf-Type ::= BITSTRING ( - rd_prot; ! Can anyone become a member? - original; ! Comments forbidden? - secret; ! Secret mailboxes cannot easily login by name - letterbox; ! Mailbox -) - -Conference ::= ( - name : HOLLERITH; - type : Conf-Type; - creation-time : Time; - last-written : Time; - creator : Pers-No; - presentation : Text-No; - supervisor : Conf-No; - permitted-submitters : Conf-No; ! Zero means anybody - super-conf : Conf-No; ! Zero means author - msg-of-day : Text-No; ! Every conf has one - nice : Garb-Nice; - no-of-members : INTEGER; - first-local-no : Local-Text-No; ! Oldest text still stored - no-of-texts : INTEGER; ! How many texts stored -) - -Garb-Nice ::= INTEGER; ! Number of days - -Info ::= ( - version : INTEGER; - conf-pres-conf : Conf-No; ! M|tet Pres (nya) m|ten - pers-pres-conf : Conf-No; ! M|tet Pres (nya) medlemmar - motd-conf : Conf-No; ! M|tet Lappar p} d|rren - kom-news-conf : Conf-No; ! M|tet Nyheter om LysKOM - motd-of-lyskom : Text-No; ! Visas vid login -) - -! kom-types.h defines Info-Datum as the tail in Misc-Info -! kom-types.h defines Info-Type as the selector in Misc-Info - -Local-Text-No ::= INTEGER; - -Mark ::= ( text-no : Text-No; type : INTEGER ) - ! Servern ger sig inte p} att tolka markeringstypen, - ! det {r helt upp till klienten. - -Mark-List ::= ARRAY Mark; - - -Member ::= Pers-No; -Member-List ::= ARRAY Member; -Membership ::= ( - last-time-read : Time; - conference : Conf-No; - priority : INTEGER; - last-text-read : Local-Text-No; - read-texts : ARRAY Local-Text-No; -) - -Membership-List ::= ARRAY Membership; - -Misc-Info ::= SELECTION ( - 0=recpt recipient : Conf-No; ! Mottagare - 1=cc-recpt cc-recipient : Conf-No; ! Extra kopia - 2=comm-to comment-to : Text-No; ! Kommentar till - 3=comm-in commented-in: Text-No; ! Kommentar i - 4=footn-to footnote-to : Text-No; ! Fotnot till - 5=footn-in footnoted-in : Text-No; ! Fotnot i - 6=loc-no local-no : Local-Text-No ! Lokalt textnummer - 7=rec-time received-at : Time; ! Mottaget tid - 8=sent-by sender : Pers-No; ! S{nt av - 9=sent-at sent-at : Time; ! S{nt n{r -! 10=...-recpt ??? ! F|r k{nnedom -) - -Pers-List ::= ARRAY Pers-No; - -Pers-No ::= Conf-no; - -Person ::= ( - username : HOLLERITH; ! E-mail adress - privileges : Priv-Bits; - flags : Personal-Flags; - last-login : Time; ! Eller logout? - user-area : Text-No; - total-time-present : INTEGER; ! I sekunder - sessions : INTEGER; - created-lines : INTEGER; - created-bytes : INTEGER; - read-texts : INTEGER; - no-of-text-fetches : INTEGER; - created-persons : INTEGER; - created-confs : INTEGER; - first-created-local-no : INTEGER; ! Well, local isn't really true but... - no-of-created-texts : INTEGER; ! Numbers of texts in the ARRAY, - ! i.e. not erased ones. - no-of-marks : INTEGER; - no-of-confs : INTEGER; -) ! /mo - -Personal-Flags ::= BITSTRING ( - unread-is-secret; - ! V{rdet 1 betyder att antalet ol{sta texter h}lls hemligt - flg2; flg3; flg4; flg5; flg6; flg7; flg8; -) - -! Se avsnittet ovan om s{kerhetsniv}er och privilegiebittar. -Priv-Bits ::= BITSTRING ( - wheel; admin; statistic; create_pers; create_conf; change_name; - flg7; flg8; flg9; flg10; flg11; flg12; flg13; flg14; flg15; flg16; -) - -! Session-Info {r v{ldigt likt Who-Info. -Session-Info ::= ( - person : Pers-No; - working-conference : Conf-No; - session : Session-No; - what-am-i-doing : HOLLERITH; - username : HOLLERITH; ! user@host - idle-time : INTEGER; ! Sekunder sedan senaste anrop - connection-time : Time; ! Tid och datum f|r uppkoppling - ! Detta {r ej detsamma som login-tid -) - -! Session numbers are unique to each session. A person can have -! more than one session running at the same time. Session numbers -! are assigned starting from 1 up. Session numbers are not reused -! during the lifetime of the server. See Who-Info-List -Session-No ::= INTEGER; - -Text-List ::= ( first-local-no : Local-Text-No; - texts : ARRAY Text-No; ) - -! Text-No is a u_long. -Text-No ::= INTEGER; - -Text-Stat ::= ( - creation-time : Time; - author : Pers-No; - no-of-lines : INTEGER; - no-of-chars : String-Size; - no-of-marks : INTEGER; - misc-info : ARRAY Misc-Info; -) - -! UNIX <time.h> struct tm. No time zone. -Time ::= ( - seconds : INTEGER; ! 0 ... 59 - minutes : INTEGER; ! 0 ... 59 - hours : INTEGER; ! 0 ... 23 - mday : INTEGER; ! 1 ... 31 - month : INTEGER; ! jan = 0 ... dec = 11 - year : INTEGER; ! Sedan 1900 - weekday : INTEGER; ! s|n = 0 ... SAT = 6 - yearday : INTEGER; ! 0 ... 365 - isdst : INTEGER; ! positivt = sommartid, 0 = normaltid -) - -Who-Info-Old ::= ( - person : Pers-No; - what-am-i-doing : HOLLERITH; - working-conference : Conf-No; -) -Who-Info-List-Old ::= ARRAY Who-Info-Old; - -Who-Info ::= ( - person : Pers-No; - working-conference : Conf-No; - session : Session-No; - what-am-i-doing : HOLLERITH; - username : HOLLERITH; ! user@hostname -) - -Who-Info-List ::= ARRAY Who-Info; - - - - Exempel - -Nedan ett exempel fr}n en verklig LysKOM-session. Kommentarer har jag -gett med "!" som i grammatiken. Exemplet {r gammalt och inneh}ller en -del detaljer som senare tagits ur bruk, men det ger {nd} en ide om hur -det r}a protokollet ser ut. - - $ telnet laila 4894 - Trying 130.236.254.12 ... - Connected to laila.lysator.liu.se. - Escape character is '^]'. - A8Haronsson ! Jag k|r protokoll A - LysKOM ! LysKOM svarar - 1 12 13HLars Aronsson ! lookup-name - =1 2 { 8 38 } { 1001 1001 } ! Person 8 eller Person 38 - :3 2 21 7 0H ! Person 21 gick till m|te 7 - :1 1 56 ! Person 56 loggade just ut - 2 0 8 8H******** ! login Person 8 med password - :3 2 8 0 0H ! Person 8 loggade just in - =2 ! login OK - 3 10 23HAntikommunistiskt Forum 0000 - ! Jag skapar ett |ppet m|te - =3 57 ! OK, m|te 57 skapat - 4 1 ! Jag loggar ut - :1 1 8 ! Person 8 loggade just ut - =4 ! logout OK diff --git a/doc/prot-A.slightly-obsolete b/doc/prot-A.slightly-obsolete deleted file mode 100644 index 7664414be..000000000 --- a/doc/prot-A.slightly-obsolete +++ /dev/null @@ -1,230 +0,0 @@ - - - LysKOM-Projektet - -------------------------------- - Beskrivning av server-klient-protokollet, - version A, i LysKOM - -------------------------------- - av Lars Aronsson - <aronsson@lysator.liu.se> - datum ok{nt - - - -Kommunikationen till servern sker i klartext. P} s} vis {r det m|jligt -att provk|ra utan att ha en klient ig}ng. Avlusningen blev ocks} -enklare. - - -UPPKOPPLING - -Vid uppkoppling s{nder klienten ett 'A' f|ljt av login-identiteten f|r -anv{ndaren (en str{ng, se nedan). Servern svarar med att skicka -"LysKOM\n". Sedan {r uppkopplingen gjord. - -FUNKTIONSANROP - -Vid ett funktionsanrop skickas f|ljande data fr}n klienten till -servern: - - ref-nr funktions-nr parametrar - -ref-nr {r ett heltal (unsigned, max 32 bitar) som klienten kan v{lja -fritt, t ex som ett l|pnummer. - -funktions-nr {r ett heltal som anger vilken funktion man vill anropa. -De definieras i isc/com.h. - -Om anropet lyckades ser svaret ut s} h{r: - - =ref-nr svar - -Om det misslyckas: - - %ref-nr kom_errno err_stat - - - -DATAFORMAT - -Allt som skickas (utom m|jligtvis innuti str{ngar) {r ASCII. Bortsett -fr}n innuti str{ngar skickas inga kontrolltecken. Whitespace anv{nds -f|r att skilja olika f{lt }t. Som whitespace r{knas ' ', \r, \n, \t -och \000. (Ett funktionsanrop beh|ver inte avslutas med \n, det g}r -lika bra med vilken whitespace som helst, men det m}ste finnas en -whitespace - det r{cker inte med att paketet tar slut). - -Alla tal, (t ex int, Pers_no, Conf_no) skickas i decimal form. - -Enumar skickas i decimal form. - -Str{ngar skickas som Hollerith-str{ngar, dvs f|rst ett heltal som -anger l{ngden, sen ett H, sen str{ngen. Innuti en str{ng kan vilka -tecken som helst komma. (0-255). - -Arrayer skickas inom m}svingar. T ex kan en Text_list som ser ut s} -h{r: -typedef struct { - Local_text_no first_local_no, - no_of_texts; - Text_no * texts; -} Text_list; - -skickas s} h{r: - 5 3 { 8 9 11 } - -eller, om texts==NULL: - 5 3 * - -Asterisk anv{nds allts} f|r att markera en tom array. (Till exempel om -man inte fr}gar efter Membership). Asterisk-notationen kan bara -anv{ndas i rikting fr}n servern till klienten. - - -EXEMPEL - -S} h{r kan en k|rning se ut. - -Klienten skickar Servern svarar F|rklaring -================ ============== ========== - -A5Hceder LysKOM\n Uppkoppling. -1 37 =1 100 1 2 3 4 5712 Get_info -69 27 5712 =69 {textstat} Get_text_stat -18 26 5712 =18 {textmassa} Get_text -2 1 334 5HaBcdE %2 3 0 0 0 Login, misslyckas. (KOM_PWD) -3 1 334 5HaBcDe =3 Login, lyckas. -... -9 2 =9 Logout (beh|vs eg. ej) - - -FELHANTERING - -Om servern tar emot text som inte st{mmer med det protokoll som f|r -tillf{llet {r implementerat (f|rhoppningsvis, men ej n|dv{ndigtvis, -det som {r beskrivet h{r) skriver den ut "%% LysKOM protocol error.\n" - -ASYNKRONA MEDDELANDEN - -Servern skickar ibland ut meddelanden som clienterna kanske tycker {r -intressanta. Formatet f|r dessa {r: - - :no_of_tokens function < tokens > - -De b|rjar allts} med ":" i st{llet f|r "=" eller "%". Genom att -antalet token alltid s{nds s} kan {ven gamla klienter "|verleva" en ny -klient med nya asynkrona meddelanden. Det {r bara att hoppa |ver r{tt -antal token. - -Termen "asynkrona meddelanden" {r lite oegentlig. Meddelanden {r -synkroniserade med allt annat som skickas ut fr}n servern. Ett -meddelanden kommer bara n{r ett svar skulle ha kommit. - -DATAFORMAT F\R SAMMANSATTA TYPER - -Person - username str{ng - privileges bitstr{ng - personal_flags bitstr{ng - created_texts: - first_local_no - no_of_texts - texts array - marks: - no_of_marks - marks array - conferences: - no_of_confs - confs: array - conf_no - priority - last_time_read - last_text_read - no_of_read - read_texts array - user_area - last_login - total_time_present - sessions - created_lines - created_bytes - read_texts - no_of_text_fetches - created_persons - created_confs - - - -Conference - - name str{ng - members: - no_of_members - members: array - member (Pers_no) - texts: - first_local_no - no_of_texts - texts array (Text_no) - conf_type bitstr{ng - creator - creation_time - presentation - supervisor - permitted_submitters - super_conf - last_written - msg_of_day - nice - - -Text_stat - - author - creation_time - no_of_lines - no_of_marks - no_of_misc - misc_info: array - type 0 recpt - 1 cc_recpt - 2 comm_to - 3 comm_in - 4 footn_to - 5 footn_in - 6 loc_no - 7 rec_time - 8 sent_by - 9 sent_at - datum - - - -Info - version - conf_pres_conf - pers_pres_conf - motd_conf - kom_news_conf - motd_of_lyskom - -Membership - - no_of_confs - confs: array - conf_no - priority - last_time_read - last_text_read - no_of_read - read_texts array - - -Text_list - first_local_no - no_of_texts - texts array - -str{ng - 12HTolv tecken. - diff --git a/doc/vad-aer-olaest.swe b/doc/vad-aer-olaest.swe deleted file mode 100644 index f56926256..000000000 --- a/doc/vad-aer-olaest.swe +++ /dev/null @@ -1,145 +0,0 @@ -This swedish text describes how the client knows which texts the user -has not yet read. It is extracted from the LysKOM-server that runs -at lysator.liu.se. -------------------------------------------------------------------- - - -102868 1991-09-07 20:40 /132 rader/ ceder (Per Cederqvist Lysator) -Kommentar till text 102846 av Jonas S Karlsson (@Link ping enl CSN) -Mottagare: LysKOM internals <1804> -Markerad av dig och 2 andra. -[rende: Hur man vet vad som {r ol{st. ------------------------------------------------------------- -Varje person har en lista |ver vilka m|ten han {r med i. F|r varje -m|te han {r med i lagras i en struct som vi kallar Membership: - - * m|tesnumret - * prioriteten p} m|tet - * n{r man senast l{ste en text i m|tet (markerade en text i - m|tet som l{st) - * vilka texter man har l{st (lokala m|tesnummer) - Just nu lagras det som - - Local_text_no last_text_read; - u_short no_of_read_texts; - Local_text_no *read_texts; - - vilket inneb{r att man har l{st alla texter fram till och - med last_text_read, och dessutom alla texter som finns i den - dynamiskt allokerade arrayen read_texts (som inneh}ller - no_of_read_texts texter). - -query_read_texts tar som argument en person och ett m|te (som -eventuellt kan vara en brevl}da) och returnerar den personens -Membership f|r just det m|tet. Till protokoll B kommer vi att d|pa om -funktionen till get_membership. - -> 102846 1991-09-07 17:05 /16 rader/ Jonas S Karlsson (@Link ping enl CSN) -> Mottagare: LysKOM internals <1801> -> [rende: Protokollet fr{ga... - -102846 {r ett globalt textnummer. Vi anv{nder typen Text_no f|r att -lagra och hantera s}dana nummer. 1801 {r ett lokalt nummer f|r m|tet -LysKOM internals. S}dana nummer lagras i en Local_text_no. (B}de -Text_no och Local_text_no {r 32 bittar just nu). - -F|r varje m|te finns en relation MAP : Local_text_no -> Text_no. Med -anropet get_map kan man h{mta en tabell med vars hj{lp man kan g|ra den -|vers{ttningen f|r ett visst m|te. - - -get_created_texts ger en lista som inneh}ller de texter som en viss -person har skrivit. - -F|r att ta reda p} vilka m|ten man har ol{sta inl{gg i g|r man s} h{r: - -1) get_unread_confs (ditt personnummer) - -Du f}r en lista med m|tesnummer. LysKOM garanterar att du inte har -n}got ol{st i n}got annat m|te, men det kan h{nda att den ger tillbaks -n}gra m|ten som du i verkligheten inte har n}got ol{st i. - -De m|ten man f}r tillbaks {r de d{r de existerar (eller har existerat) -en text med ett h|gre lokalt textnummer {n last_text_read i ditt -Membership i m|tet i fr}ga. - -2a) G|r query_read_texts f|r alla m|ten i listan du fick i steg 1. - -2b) Samtidigt h{mtar du m|tesstatusen f|r de m|tena (med -get_conf_stat). - -3) Samla ihop alla svaren och sortera dom s} att man f}r l{sa -inl{ggen i r{tt ordning. - -4) Ta det f|rsta m|tet. J{mf|r det h|gsta lokala numret som existerar -(det kan du f} fram ur m|tesstatusen) med last_text_read i ditt -Membership. Om det visar sig att det finns texter du inte har l{st -m}ste du g|ra ett get_map f|r att ta reda p} vilket globalt textnummer -de ol{sta texterna har. - -5) Sl} upp varje lokalt textnummer som du inte har l{st i mappen. Du -f}r ett Text_no. Om du f}r en nolla inneb{r det att den text som hade -det numret har raderats eller subtraherats fr}n m|tet. Ignorera det -lokala numret och tag n{sta. - -6) N{r du f}r ett textnummer som inte {r noll h{mtar du textstatusen -och textmassan (sj{lva texten) med get_text_stat och get_text, och -visar den p} sk{rmen. N{r anv{ndaren har l{st klart texten talar du om -det f|r servern med mark_as_read (som tar ett m|tesnummer och ett -Local_text_no som argument och uppdaterar ditt Membership f|r det -m|tet). Om texten har flera mottagare som du {r medlem i ska du anropa -mark_as_read en g}ng f|r varje mottagare. - -Repetera steg 5 och 6 tills du har l{st ut m|tet. Se till att du -f|ljer kommentartr{det, om anv{ndaren vill det. - -Repetera steg 4 tills allt {r utl{st. - -Visa alla markerade. - -Se tiden. -================================================================= - -S} g}r det till, grovt sett. Saker och ting kompliceras av att det -hela tiden skrivs nya texter. Servern skickar ut ett asynkront -meddelande n{r en ny text skapas (i ett m|te som man {r medlem i). I -meddelandet finns hela textstatusen (s} att man slipper h{mta den). - -En annan grej som g|r det hela komplicerat {r att man g{rna vill att -klienten ska h{mta saker i f|rv{g n{r man inte har n}got annat att -g|ra. Man vill att klienten inte ska h{mta samma information mer {n en -g}ng. Man vill f} upp den f|rsta texten s} snabbt som m|jligt. Man -vill kunna g|ra Lista Nyheter s} snabbt som m|jligt. Det finns m}nga -saker man kan optimera p} olika s{tt. - -Elispklienten g|r inte riktigt som jag har beskrivit det p} alla -st{llen, men resultatet blir i princip det samma. En del av anropen -(t ex get_unread_confs) har vi inf|rt i efterhand f|r att vi m{rkte -att det var n|dv{ndigt f|r att f} saker och ting att g} n}gorlunda -snabbt. - -Vi har medvetet valt att g|ra s} mycket jobb som m|jligt i klienten, -och s} lite jobb som m|jligt i servern. Nu, n{r det blev s} att -klienten {r skriven i elisp, s} skulle vi nog ha f}tt ett snabbare -system (s{rskilt uppstarten) om servern varit mer intelligent och valt -i vilken ordning texter ska visas. Systemet {r designat med m}let att -det inte ska bli l}ngsammare {ven om m}nga klienter kopplar upp sig -samtidigt, och det m}let har vi nog n}tt. (Att det kan g} l}ngsamt n{r -5-6 personer k|r sin elispklient p} lysator.liu.se beror inte p} -svarstiderna fr}n LysKOM-servern, utan p} att emacsarna blir -l}ngsamma. De som k|r fr}n en obelastad maskin samtidigt m{rker inte -att det g}r l}ngsamt (skryt, skryt:-)). (Nej, det finns inga m{tningar -som bekr{ftar det h{r - men jag t{nker m{ta lite responstider senare i -h|st). - -Med en smart klient skriven i c kommer LysKOM att bli snabbt. Om -c-klienterna k|rs p} varsin maskin (var och en har sin egen -arbetsstation) tror jag att systemet kommer att klara "tillr{ckligt" -m}nga anv{ndare. (LysKOM {r ju ett lokalt media. Om hela v{rlden k|rde -p} samma LysKOM-server i st{llet f|r att skriva news skulle det bli -olidligt att l{sa LysKOM {ven om man bortser fr}n responstider...) - -P}peka g{rna eventuella oklarheter i den h{r texten. Jag t{nker skicka -med den bland dokumentationen vi har i serverreleasen som vi snart -g|r, s} jag vill att texten ska vara begriplig... -(102868) ----------------------------------- diff --git a/fixconfig b/fixconfig deleted file mode 100755 index 1992589ae..000000000 --- a/fixconfig +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -sed '/^s%@LIBOBJS@%$LIBOBJS%g$/a\ -" $top_srcdir/${file}.in | sed "\ -$prsub\ -$extrasub\ -' config.status \ -|sed 's/^" $top_srcdir.${file}.in >>/" >>/' > config.newstatus -mv config.newstatus config.status -chmod +x config.status diff --git a/foo b/foo deleted file mode 100644 index e69de29bb..000000000 diff --git a/run-support/start_kom.sh b/run-support/start_kom.sh deleted file mode 100644 index c18053588..000000000 --- a/run-support/start_kom.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -rm -f @ETCDIR@/status -if kill -HUP `cat @ETCDIR@/pid` -then true -else @BINDIR@/updateLysKOM -fi diff --git a/run-support/stop_kom.sh b/run-support/stop_kom.sh deleted file mode 100644 index c0077434e..000000000 --- a/run-support/stop_kom.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -whoami > @ETCDIR@/status -echo "$1" >> @ETCDIR@/status -kill -HUP `cat @ETCDIR@/pid` diff --git a/run-support/updateLysKOM b/run-support/updateLysKOM deleted file mode 100644 index d071a5f74..000000000 --- a/run-support/updateLysKOM +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -cd /usr/lyskom/cores -/bin/kill -USR1 `/bin/cat /usr/lyskom/etc/pid` 2>/dev/null >/dev/null || /usr/lyskom/bin/lyskomd >>/usr/lyskom/etc/stdout.log 2>>/usr/lyskom/etc/stderr.log & diff --git a/scripts/Depend.make b/scripts/Depend.make deleted file mode 100644 index a0468994f..000000000 --- a/scripts/Depend.make +++ /dev/null @@ -1,43 +0,0 @@ -# -# $Id: Depend.make,v 0.2 1991/09/15 09:58:55 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -depend: - ${SED} '/^# OBJECTS: @@@* #$$/q' Makefile > temp-Makefile - echo '# This line is generated by "make depend"'>>temp-Makefile - echo -n 'OBJECTS = ' >>temp-Makefile - ls *.c | ${AWK} 'BEGIN { pos = 10; } \ - { sub(/\.c$$/, ".o"); \ - pos += length($$0) + 1; \ - if (pos >= 75) \ - { printf("\\\n\t"); \ - pos = 9 + length($$0); \ - } \ - printf ("%s ", $$0); \ - }' >>temp-Makefile - echo >>temp-Makefile - ${SED} '/^# RULES: @@@* #$$/,/^# DEPENDENCIES: @@@* #$$/!d' \ - Makefile >>temp-Makefile - echo >>temp-Makefile - gcc -M -DCLIENT ${INCLUDES} *.c >>temp-Makefile - mv temp-Makefile Makefile diff --git a/scripts/Makefile b/scripts/Makefile deleted file mode 100644 index cca9a7eab..000000000 --- a/scripts/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -# -# $Id: Makefile,v 0.8 1991/09/15 09:58:48 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -all:; -depend:; -install:; -includes:; -libraries:; -binaries:; - - -clean: - $(RM) $(GENERIC-CLEAN) - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) diff --git a/scripts/Parallell-depend.make b/scripts/Parallell-depend.make deleted file mode 100644 index 5d369904d..000000000 --- a/scripts/Parallell-depend.make +++ /dev/null @@ -1,53 +0,0 @@ -# -# $Id: Parallell-depend.make,v 0.8 1993/10/16 16:33:06 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -depend: temp-A-Makefile temp-B-Makefile temp-C-Makefile \ - temp-D-Makefile temp-E-Makefile - rm -f dependencies - cat temp-?-Makefile >dependencies - rm temp-?-Makefile temp-?-files - echo depend ready. - -temp-A-Makefile: c-indexes - -$(CC) $(DEPENDFLAG) $(CFLAGS) `cat temp-A-files` >temp-A-Makefile - -temp-B-Makefile: c-indexes - -$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-B-files` >temp-B-Makefile - -temp-C-Makefile: c-indexes - -$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-C-files` >temp-C-Makefile - -temp-D-Makefile: c-indexes - -$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-D-files` >temp-D-Makefile - -temp-E-Makefile: c-indexes - -$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-E-files` >temp-E-Makefile - -c-indexes: specials - ls $(srcdir)/*.c|${AWK} '{ a[i++] = $$1; } \ - END { for ( j = 0; j < i; j++ ) \ - print a[j] > sprintf("temp-%c-files", 65 + j % 5); }' - -dependencies: - touch dependencies diff --git a/scripts/RCS-depend.make b/scripts/RCS-depend.make deleted file mode 100644 index c003347f3..000000000 --- a/scripts/RCS-depend.make +++ /dev/null @@ -1,51 +0,0 @@ -# -# $Id: RCS-depend.make,v 0.2 1991/09/15 09:58:40 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -depend: temp-A-Makefile temp-B-Makefile temp-C-Makefile temp-D-Makefile \ - temp-E-Makefile - rcs -l dependencies - rm -f dependencies - cat temp-?-Makefile >dependencies - rm temp-?-Makefile temp-?-files - echo " " | ci dependencies - -temp-A-Makefile: c-indexes - gcc -M ${TARGET} ${INCLUDES} `cat temp-A-files` >temp-A-Makefile - -temp-B-Makefile: c-indexes - gcc -M ${TARGET} ${INCLUDES} `cat temp-B-files` >temp-B-Makefile - -temp-C-Makefile: c-indexes - gcc -M ${TARGET} ${INCLUDES} `cat temp-C-files` >temp-C-Makefile - -temp-D-Makefile: c-indexes - gcc -M ${TARGET} ${INCLUDES} `cat temp-D-files` >temp-D-Makefile - -temp-E-Makefile: c-indexes - gcc -M ${TARGET} ${INCLUDES} `cat temp-E-files` >temp-E-Makefile - -c-indexes: sources - echo ${SRCS}|tr " " \\012 |${AWK} '{ a[i++] = $$1; } \ - END { for ( j = 0; j < i; j++ ) \ - print a[j] > sprintf("temp-%c-files", 65 + j % 5); } diff --git a/scripts/Single-depend.make b/scripts/Single-depend.make deleted file mode 100644 index a97523dd5..000000000 --- a/scripts/Single-depend.make +++ /dev/null @@ -1,30 +0,0 @@ -# -# $Id: Single-depend.make,v 1.6 1993/10/16 16:33:15 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: depend -depend: - $(CC) $(DEPENDFLAG) $(CFLAGS) $(srcdir)/*.c >dependencies - -dependencies: - touch dependencies diff --git a/scripts/import.make b/scripts/import.make deleted file mode 100644 index 06f8c61c3..000000000 --- a/scripts/import.make +++ /dev/null @@ -1,60 +0,0 @@ -# This file is included by all Makefiles in the LysKOM hierarchy. -# It gives default values for all variables that is normally used. -# TOPDIR and SCRIPTDIR must be set before this file is included. -# If any of the variables are defined in the environment, that value -# will override the value that is set here. -# -# ceder is guilty. -# - -SHELL=/bin/sh -AWK = gawk -SED = /usr/bin/sed -CC = gcc -ansi -RM = /usr/gnu/bin/rm -vf - -INCLUDEDIR = $(TOPDIR)/include -LIBDIR = $(TOPDIR)/lib -ANSIDIR = $(INCLUDEDIR)/ansi - -INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR) -OPTIMIZE-FLAGS = -O -MISC-CFLAGS = -g -Wall -PIPE = -pipe - -# -h flag makes NULL pointer references generate runtime errors -LDFLAGS = -h -L$(LIBDIR) - -CFLAGS = $(INCLUDES) $(OPTIMIZE-FLAGS) $(MISC-CFLAGS) $(PIPE) $(TARGET) - -# LysKOM executables that the typical user don't use go here. -# (The server, dbck, et c) - -LYSKOMSYSBIN = /usr/lyskom/bin - -# User executables (such as lyskom, kompost et c) - -LYSKOMUSRBIN = /usr/local/bin - - - -GENERIC-CLEAN = *~ *.o lib*.a dependencies core TAGS temp-Makefile \ - temp-?-Makefile - -# Too ugly... and it swells... -# -# EXPORTS = CC="${CC}" SHELL="${SHELL}" AWK="${AWK}" SED="${SED}" \ -# RM="${RM}" INCLUDEDIR="${INCLUDEDIR}" LIBDIR="${LIBDIR}" \ -# ANSIDIR="${ANSIDIR}" INCLUDES="${INCLUDES}" \ -# OPTIMIZE-FLAGS="${OPTIMIZE-FLAGS}" \ -# MISC-CFLAGS="${MISC-CFLAGS}" PIPE="${PIPE}" \ -# LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}" \ -# LYSKOMSYSBIN="${LYSKOMSYSBIN}" LYSKOMUSRBIN="${LYSKOMUSRBIN}" \ -# TOPDIR="${TOPDIR}" SCRIPTDIR="${SCRIPTDIR}" AR="${AR}" \ -# ARFLAGS="${ARFLAGS}" GENERIC-CLEAN="${GENERIC-CLEAN}" - -EXPORTS = - -# The Makefiles also dependes on the variables -# AR, ARFLAGS -# that are automatically set by GNU Make. diff --git a/scripts/install-includes.make b/scripts/install-includes.make deleted file mode 100644 index 4e3b874de..000000000 --- a/scripts/install-includes.make +++ /dev/null @@ -1,33 +0,0 @@ -# -# $Id: install-includes.make,v 1.4 1993/10/10 11:56:49 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: includes -includes: - for i in $(INSTALL-HDRS);\ - do \ - ( cmp $(srcdir)/$$i $(INCLUDEDIR)/$$i 2>/dev/null ) \ - || ( $(RM) $(INCLUDEDIR)/$$i; \ - cp $(srcdir)/$$i $(INCLUDEDIR)/$$i; \ - chmod a-w $(INCLUDEDIR)/$$i ) \ - done diff --git a/scripts/sub-binaries.make b/scripts/sub-binaries.make deleted file mode 100644 index f80cd9fef..000000000 --- a/scripts/sub-binaries.make +++ /dev/null @@ -1,32 +0,0 @@ -# -# $Id: sub-binaries.make,v 1.3 1991/09/15 09:58:25 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: binaries -binaries: - -for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making binaries in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) binaries) } \ - done - diff --git a/scripts/sub-clean.make b/scripts/sub-clean.make deleted file mode 100644 index c3835023c..000000000 --- a/scripts/sub-clean.make +++ /dev/null @@ -1,40 +0,0 @@ -# -# $Id: sub-clean.make,v 1.4 1991/09/15 09:58:22 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: clean -clean: - $(RM) $(GENERIC-CLEAN) - -for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making clean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) clean) } \ - done - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - -for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making distclean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) distclean) } \ - done diff --git a/scripts/sub-depend.make b/scripts/sub-depend.make deleted file mode 100644 index ee2548f89..000000000 --- a/scripts/sub-depend.make +++ /dev/null @@ -1,34 +0,0 @@ -# -# $Id: sub-depend.make,v 1.3 1991/09/15 09:58:18 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -dependencies: - touch dependencies - -.PHONY: depend -depend: - -for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making depend in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) depend) } \ - done diff --git a/scripts/sub-includes.make b/scripts/sub-includes.make deleted file mode 100644 index 39e3596b9..000000000 --- a/scripts/sub-includes.make +++ /dev/null @@ -1,31 +0,0 @@ -# -# $Id: sub-includes.make,v 1.3 1991/09/15 09:58:15 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: includes -includes: - -for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making includes in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) includes) } \ - done diff --git a/scripts/sub-install.make b/scripts/sub-install.make deleted file mode 100644 index ccf3c82af..000000000 --- a/scripts/sub-install.make +++ /dev/null @@ -1,31 +0,0 @@ -# -# $Id: sub-install.make,v 1.3 1991/09/15 09:58:11 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: install -install: - -for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making install in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) install) } \ - done diff --git a/scripts/sub-libraries.make b/scripts/sub-libraries.make deleted file mode 100644 index dbde07dcc..000000000 --- a/scripts/sub-libraries.make +++ /dev/null @@ -1,31 +0,0 @@ -# -# $Id: sub-libraries.make,v 1.3 1991/09/15 09:58:07 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -.PHONY: libraries -libraries: - -for i in $(SUBDIRS) ; \ - do \ - [ -d $$i ] && { echo making libraries in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) libraries) } \ - done diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 89cd06e93..000000000 --- a/src/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# -# $Id: Makefile,v 0.8 1991/09/15 09:59:02 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -# All directories that make should traverse to when doing clean etc. - -SUBDIRS = include libraries server komutils clients - -all: includes libraries binaries - -include $(SCRIPTDIR)/sub-includes.make -include $(SCRIPTDIR)/sub-libraries.make -include $(SCRIPTDIR)/sub-binaries.make -include $(SCRIPTDIR)/sub-install.make -include $(SCRIPTDIR)/sub-clean.make -include $(SCRIPTDIR)/sub-depend.make - - - - - diff --git a/src/include/Makefile b/src/include/Makefile deleted file mode 100644 index f223909e5..000000000 --- a/src/include/Makefile +++ /dev/null @@ -1,70 +0,0 @@ -# -# $Id: Makefile,v 0.11 1993/01/16 23:12:32 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -SUBDIRS = ansi server - -INSTALL-HDRS = compiler.h debug.h kom-types.h config.h kom-errno.h \ - misc-types.h services.h rcs.h - -all: includes libraries binaries - -libraries:; -binaries:; - - -.PHONY : includes -includes: - for i in $(INSTALL-HDRS) ; \ - do \ - ( cmp $$i $(INCLUDEDIR)/$$i 2>/dev/null ) \ - || cp $$i $(INCLUDEDIR)/$$i; \ - done; - for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && ( echo making includes in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) includes); ) \ - done; - -clean: - $(RM) $(GENERIC-CLEAN) - for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making clean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) clean); } \ - done - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - for i in $(SUBDIRS); \ - do \ - [ -d $$i ] && { echo making distclean in directory $$i; \ - (cd $$i; $(MAKE) $(EXPORTS) distclean); } \ - done - -depend:; diff --git a/src/include/com.h b/src/include/com.h deleted file mode 100644 index cc1ed5fbf..000000000 --- a/src/include/com.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Don't edit this file! It is generated from fncdef.txt - * and com-h.awk. - */ - -enum call_header { - call_fnc_login_old = 0, - call_fnc_logout = 1, - call_fnc_pepsi = 2, - call_fnc_change_name = 3, - call_fnc_change_what_i_am_doing = 4, - call_fnc_create_person = 5, - call_fnc_get_person_stat_old = 6, - call_fnc_set_priv_bits = 7, - call_fnc_set_passwd = 8, - call_fnc_query_read_texts = 9, - call_fnc_create_conf = 10, - call_fnc_delete_conf = 11, - call_fnc_lookup_name = 12, - call_fnc_get_conf_stat_old = 13, - call_fnc_add_member = 14, - call_fnc_sub_member = 15, - call_fnc_set_presentation = 16, - call_fnc_set_etc_motd = 17, - call_fnc_set_supervisor = 18, - call_fnc_set_permitted_submitters = 19, - call_fnc_set_super_conf = 20, - call_fnc_set_conf_type = 21, - call_fnc_set_garb_nice = 22, - call_fnc_get_marks = 23, - call_fnc_mark_text_old = 24, - call_fnc_get_text = 25, - call_fnc_get_text_stat = 26, - call_fnc_mark_as_read = 27, - call_fnc_create_text = 28, - call_fnc_delete_text = 29, - call_fnc_add_recipient = 30, - call_fnc_sub_recipient = 31, - call_fnc_add_comment = 32, - call_fnc_sub_comment = 33, - call_fnc_get_map = 34, - call_fnc_get_time = 35, - call_fnc_get_info = 36, - call_fnc_add_footnote = 37, - call_fnc_sub_footnote = 38, - call_fnc_who_is_on_old = 39, - call_fnc_set_unread = 40, - call_fnc_set_motd_of_lyskom = 41, - call_fnc_enable = 42, - call_fnc_sync = 43, - call_fnc_shutdown = 44, - call_fnc_broadcast = 45, - call_fnc_get_membership = 46, - call_fnc_get_created_texts = 47, - call_fnc_get_members = 48, - call_fnc_get_person_stat = 49, - call_fnc_get_conf_stat = 50, - call_fnc_who_is_on = 51, - call_fnc_get_unread_confs = 52, - call_fnc_send_message = 53, - call_fnc_get_session_info = 54, - call_fnc_disconnect = 55, - call_fnc_who_am_i = 56, - call_fnc_set_user_area = 57, - call_fnc_get_last_text = 58, - call_fnc_create_anonymous_text = 59, - call_fnc_find_next_text_no = 60, - call_fnc_find_previous_text_no = 61, - call_fnc_login = 62, - call_fnc_who_is_on_ident = 63, - call_fnc_get_session_info_ident = 64, - call_fnc_re_lookup_person = 65, - call_fnc_re_lookup_conf = 66, - call_fnc_lookup_person = 67, - call_fnc_lookup_conf = 68, - call_fnc_set_client_version = 69, - call_fnc_get_client_name = 70, - call_fnc_get_client_version = 71, - call_fnc_mark_text = 72, - call_fnc_unmark_text = 73 -}; - -typedef enum call_header Call_header; diff --git a/src/include/dependencies b/src/include/dependencies deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/include/server/Makefile b/src/include/server/Makefile deleted file mode 100644 index d35c56373..000000000 --- a/src/include/server/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -# -# $Id: Makefile,v 0.11 1992/02/10 02:53:56 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -TARGET = -DCLIENT - -INSTALL-HDRS = smalloc.h - -all: includes libraries binaries - -libraries:; -binaries:; - -.PHONY : includes -includes: - -$(MKDIR) $(INCLUDEDIR)/server - for i in $(INSTALL-HDRS);\ - do \ - ( cmp $$i $(INCLUDEDIR)/server/$$i 2>/dev/null ) \ - || cp $$i $(INCLUDEDIR)/server/$$i; \ - done - -clean: - $(RM) $(GENERIC-CLEAN) - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - -depend:; diff --git a/src/include/server/dependencies b/src/include/server/dependencies deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/libraries/Makefile b/src/libraries/Makefile deleted file mode 100644 index 3aef192e3..000000000 --- a/src/libraries/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# -# $Id: Makefile,v 0.11 1992/12/19 00:25:19 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -# All directories that make should traverse to when doing clean etc. -# Note that client-support depends on libmisc. - -SUBDIRS = libansi libmisc libisc libcommon client-support laclib libisc-new \ - regex - -all: includes libraries binaries - -include $(SCRIPTDIR)/sub-includes.make -include $(SCRIPTDIR)/sub-libraries.make -include $(SCRIPTDIR)/sub-clean.make -include $(SCRIPTDIR)/sub-depend.make -include $(SCRIPTDIR)/sub-install.make - -binaries:; diff --git a/src/libraries/gnumalloc/Makefile b/src/libraries/gnumalloc/Makefile deleted file mode 100644 index 36f66aa7d..000000000 --- a/src/libraries/gnumalloc/Makefile +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public License -# as published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public -# License along with the GNU C Library; see the file COPYING.LIB. If -# not, write to the Free Software Foundation, Inc., 675 Mass Ave, -# Cambridge, MA 02139, USA. - -# Makefile for standalone distribution of malloc. - -# Use this on System V. -#CPPFLAGS = -DUSG - -.PHONY: all -all: libmalloc.a gmalloc.o - -gmalloc = valloc.c malloc.c free.c cfree.c realloc.c calloc.c morecore.c memalign.c -sources = valloc.c malloc.c free.c cfree.c realloc.c calloc.c morecore.c memalign.c mcheck.c mtrace.c mstats.c vm-limit.c ralloc.c malloc-find.c -objects = valloc.o malloc.o free.o cfree.o realloc.o calloc.o morecore.o memalign.o mcheck.o mtrace.o mstats.o vm-limit.o ralloc.o malloc-find.o -headers = malloc.h - -libmalloc.a: $(objects) - ar crv $@ $(objects) - ranlib $@ - -$(objects): $(headers) - -gmalloc.c: gmalloc-head.c $(headers) $(gmalloc) Makefile - cat gmalloc-head.c $(headers) $(gmalloc) > $@-tmp - mv -f $@-tmp $@ -# Make it unwritable to avoid accidentally changing the file, -# since it is generated and any changes would be lost. - chmod a-w $@ - -.c.o: - $(CC) $(CFLAGS) $(CPPFLAGS) -I. -c $< $(OUTPUT_OPTION) - -.PHONY: clean realclean malloc-clean malloc-realclean -clean malloc-clean: - -rm -f libmalloc.a *.o core -realclean malloc-realclean: clean - -rm -f TAGS tags *~ - -# For inside the C library. -malloc.tar malloc.tar.Z: FORCE - $(MAKE) -C .. $@ -FORCE: diff --git a/src/libraries/gnumalloc/gmalloc.c b/src/libraries/gnumalloc/gmalloc.c deleted file mode 100644 index 859a29709..000000000 --- a/src/libraries/gnumalloc/gmalloc.c +++ /dev/null @@ -1,1350 +0,0 @@ -/* DO NOT EDIT THIS FILE -- it is automagically generated. -*- C -*- */ - -#define _MALLOC_INTERNAL - -/* The malloc headers and source files from the C library follow here. */ - -/* Declarations for `malloc' and friends. - Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. - Written May 1989 by Mike Haertel. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#ifndef _MALLOC_H - -#define _MALLOC_H 1 - -#ifdef _MALLOC_INTERNAL - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#if defined(_LIBC) || defined(STDC_HEADERS) || defined(USG) -#include <string.h> -#else -#ifndef memset -#define memset(s, zero, n) bzero ((s), (n)) -#endif -#ifndef memcpy -#define memcpy(d, s, n) bcopy ((s), (d), (n)) -#endif -#endif - -#if defined (__GNU_LIBRARY__) || (defined (__STDC__) && __STDC__) -#include <limits.h> -#else -#ifndef CHAR_BIT -#define CHAR_BIT 8 -#endif -#endif - -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#endif /* _MALLOC_INTERNAL. */ - - -#ifdef __cplusplus -extern "C" -{ -#endif - -#if defined (__cplusplus) || (defined (__STDC__) && __STDC__) -#undef __P -#define __P(args) args -#undef __ptr_t -#define __ptr_t void * -#else /* Not C++ or ANSI C. */ -#undef __P -#define __P(args) () -#undef const -#define const -#undef __ptr_t -#define __ptr_t char * -#endif /* C++ or ANSI C. */ - -#if defined (__STDC__) && __STDC__ -#include <stddef.h> -#define __malloc_size_t size_t -#define __malloc_ptrdiff_t ptrdiff_t -#else -#define __malloc_size_t unsigned int -#define __malloc_ptrdiff_t int -#endif - -#ifndef NULL -#define NULL 0 -#endif - - -/* Allocate SIZE bytes of memory. */ -extern __ptr_t malloc __P ((__malloc_size_t __size)); -/* Re-allocate the previously allocated block - in __ptr_t, making the new block SIZE bytes long. */ -extern __ptr_t realloc __P ((__ptr_t __ptr, __malloc_size_t __size)); -/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ -extern __ptr_t calloc __P ((__malloc_size_t __nmemb, __malloc_size_t __size)); -/* Free a block allocated by `malloc', `realloc' or `calloc'. */ -extern void free __P ((__ptr_t __ptr)); - -/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ -extern __ptr_t memalign __P ((__malloc_size_t __alignment, - __malloc_size_t __size)); - -/* Allocate SIZE bytes on a page boundary. */ -extern __ptr_t valloc __P ((__malloc_size_t __size)); - - -#ifdef _MALLOC_INTERNAL - -/* The allocator divides the heap into blocks of fixed size; large - requests receive one or more whole blocks, and small requests - receive a fragment of a block. Fragment sizes are powers of two, - and all fragments of a block are the same size. When all the - fragments in a block have been freed, the block itself is freed. */ -#define INT_BIT (CHAR_BIT * sizeof(int)) -#define BLOCKLOG (INT_BIT > 16 ? 12 : 9) -#define BLOCKSIZE (1 << BLOCKLOG) -#define BLOCKIFY(SIZE) (((SIZE) + BLOCKSIZE - 1) / BLOCKSIZE) - -/* Determine the amount of memory spanned by the initial heap table - (not an absolute limit). */ -#define HEAP (INT_BIT > 16 ? 4194304 : 65536) - -/* Number of contiguous free blocks allowed to build up at the end of - memory before they will be returned to the system. */ -#define FINAL_FREE_BLOCKS 8 - -/* Data structure giving per-block information. */ -typedef union - { - /* Heap information for a busy block. */ - struct - { - /* Zero for a large (multiblock) object, or positive giving the - logarithm to the base two of the fragment size. */ - int type; - union - { - struct - { - __malloc_size_t nfree; /* Free frags in a fragmented block. */ - __malloc_size_t first; /* First free fragment of the block. */ - } frag; - /* For a large object, in its first block, this has the number - of blocks in the object. In the other blocks, this has a - negative number which says how far back the first block is. */ - __malloc_ptrdiff_t size; - } info; - } busy; - /* Heap information for a free block - (that may be the first of a free cluster). */ - struct - { - __malloc_size_t size; /* Size (in blocks) of a free cluster. */ - __malloc_size_t next; /* Index of next free cluster. */ - __malloc_size_t prev; /* Index of previous free cluster. */ - } free; - } malloc_info; - -/* Pointer to first block of the heap. */ -extern char *_heapbase; - -/* Table indexed by block number giving per-block information. */ -extern malloc_info *_heapinfo; - -/* Address to block number and vice versa. */ -#define BLOCK(A) (((char *) (A) - _heapbase) / BLOCKSIZE + 1) -#define ADDRESS(B) ((__ptr_t) (((B) - 1) * BLOCKSIZE + _heapbase)) - -/* Current search index for the heap table. */ -extern __malloc_size_t _heapindex; - -/* Limit of valid info table indices. */ -extern __malloc_size_t _heaplimit; - -/* Doubly linked lists of free fragments. */ -struct list - { - struct list *next; - struct list *prev; - }; - -/* Free list headers for each fragment size. */ -extern struct list _fraghead[]; - -/* List of blocks allocated with `memalign' (or `valloc'). */ -struct alignlist - { - struct alignlist *next; - __ptr_t aligned; /* The address that memaligned returned. */ - __ptr_t exact; /* The address that malloc returned. */ - }; -extern struct alignlist *_aligned_blocks; - -/* Instrumentation. */ -extern __malloc_size_t _chunks_used; -extern __malloc_size_t _bytes_used; -extern __malloc_size_t _chunks_free; -extern __malloc_size_t _bytes_free; - -/* Internal version of `free' used in `morecore' (malloc.c). */ -extern void _free_internal __P ((__ptr_t __ptr)); - -#endif /* _MALLOC_INTERNAL. */ - -/* Given an address in the middle of a malloc'd object, - return the address of the beginning of the object. */ -extern __ptr_t malloc_find_object_address __P ((__ptr_t __ptr)); - -/* Underlying allocation function; successive calls should - return contiguous pieces of memory. */ -extern __ptr_t (*__morecore) __P ((__malloc_ptrdiff_t __size)); - -/* Default value of `__morecore'. */ -extern __ptr_t __default_morecore __P ((__malloc_ptrdiff_t __size)); - -/* If not NULL, this function is called after each time - `__morecore' is called to increase the data size. */ -extern void (*__after_morecore_hook) __P ((void)); - -/* Nonzero if `malloc' has been called and done its initialization. */ -extern int __malloc_initialized; - -/* Hooks for debugging versions. */ -extern void (*__malloc_initialize_hook) __P ((void)); -extern void (*__free_hook) __P ((__ptr_t __ptr)); -extern __ptr_t (*__malloc_hook) __P ((__malloc_size_t __size)); -extern __ptr_t (*__realloc_hook) __P ((__ptr_t __ptr, __malloc_size_t __size)); -extern __ptr_t (*__memalign_hook) __P ((__malloc_size_t __size, - __malloc_size_t __alignment)); - -/* Return values for `mprobe': these are the kinds of inconsistencies that - `mcheck' enables detection of. */ -enum mcheck_status - { - MCHECK_DISABLED = -1, /* Consistency checking is not turned on. */ - MCHECK_OK, /* Block is fine. */ - MCHECK_FREE, /* Block freed twice. */ - MCHECK_HEAD, /* Memory before the block was clobbered. */ - MCHECK_TAIL /* Memory after the block was clobbered. */ - }; - -/* Activate a standard collection of debugging hooks. This must be called - before `malloc' is ever called. ABORTFUNC is called with an error code - (see enum above) when an inconsistency is detected. If ABORTFUNC is - null, the standard function prints on stderr and then calls `abort'. */ -extern int mcheck __P ((void (*__abortfunc) __P ((enum mcheck_status)))); - -/* Check for aberrations in a particular malloc'd block. You must have - called `mcheck' already. These are the same checks that `mcheck' does - when you free or reallocate a block. */ -extern enum mcheck_status mprobe __P ((__ptr_t __ptr)); - -/* Activate a standard collection of tracing hooks. */ -extern void mtrace __P ((void)); -extern void muntrace __P ((void)); - -/* Statistics available to the user. */ -struct mstats - { - __malloc_size_t bytes_total; /* Total size of the heap. */ - __malloc_size_t chunks_used; /* Chunks allocated by the user. */ - __malloc_size_t bytes_used; /* Byte total of user-allocated chunks. */ - __malloc_size_t chunks_free; /* Chunks in the free list. */ - __malloc_size_t bytes_free; /* Byte total of chunks in the free list. */ - }; - -/* Pick up the current statistics. */ -extern struct mstats mstats __P ((void)); - -/* Call WARNFUN with a warning message when memory usage is high. */ -extern void memory_warnings __P ((__ptr_t __start, - void (*__warnfun) __P ((const char *)))); - - -/* Relocating allocator. */ - -/* Allocate SIZE bytes, and store the address in *HANDLEPTR. */ -extern __ptr_t r_alloc __P ((__ptr_t *__handleptr, __malloc_size_t __size)); - -/* Free the storage allocated in HANDLEPTR. */ -extern void r_alloc_free __P ((__ptr_t *__handleptr)); - -/* Adjust the block at HANDLEPTR to be SIZE bytes long. */ -extern __ptr_t r_re_alloc __P ((__ptr_t *__handleptr, __malloc_size_t __size)); - - -#ifdef __cplusplus -} -#endif - -#endif /* malloc.h */ -/* Allocate memory on a page boundary. - Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#if defined (__GNU_LIBRARY__) || defined (_LIBC) -#include <stddef.h> -#include <sys/cdefs.h> -extern size_t __getpagesize __P ((void)); -#else -#include "getpagesize.h" -#define __getpagesize() getpagesize() -#endif - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -static __malloc_size_t pagesize; - -__ptr_t -valloc (size) - __malloc_size_t size; -{ - if (pagesize == 0) - pagesize = __getpagesize (); - - return memalign (pagesize, size); -} -/* Memory allocator `malloc'. - Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - Written May 1989 by Mike Haertel. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -/* How to really get more memory. */ -__ptr_t (*__morecore) __P ((ptrdiff_t __size)) = __default_morecore; - -/* Debugging hook for `malloc'. */ -__ptr_t (*__malloc_hook) __P ((__malloc_size_t __size)); - -/* Pointer to the base of the first block. */ -char *_heapbase; - -/* Block information table. Allocated with align/__free (not malloc/free). */ -malloc_info *_heapinfo; - -/* Number of info entries. */ -static __malloc_size_t heapsize; - -/* Search index in the info table. */ -__malloc_size_t _heapindex; - -/* Limit of valid info table indices. */ -__malloc_size_t _heaplimit; - -/* Free lists for each fragment size. */ -struct list _fraghead[BLOCKLOG]; - -/* Instrumentation. */ -__malloc_size_t _chunks_used; -__malloc_size_t _bytes_used; -__malloc_size_t _chunks_free; -__malloc_size_t _bytes_free; - -/* Are you experienced? */ -int __malloc_initialized; - -void (*__malloc_initialize_hook) __P ((void)); -void (*__after_morecore_hook) __P ((void)); - -/* Aligned allocation. */ -static __ptr_t align __P ((__malloc_size_t)); -static __ptr_t -align (size) - __malloc_size_t size; -{ - __ptr_t result; - unsigned long int adj; - - result = (*__morecore) (size); - adj = (unsigned long int) ((unsigned long int) ((char *) result - - (char *) NULL)) % BLOCKSIZE; - if (adj != 0) - { - adj = BLOCKSIZE - adj; - (void) (*__morecore) (adj); - result = (char *) result + adj; - } - - if (__after_morecore_hook) - (*__after_morecore_hook) (); - - return result; -} - -/* Set everything up and remember that we have. */ -static int initialize __P ((void)); -static int -initialize () -{ - if (__malloc_initialize_hook) - (*__malloc_initialize_hook) (); - - heapsize = HEAP / BLOCKSIZE; - _heapinfo = (malloc_info *) align (heapsize * sizeof (malloc_info)); - if (_heapinfo == NULL) - return 0; - memset (_heapinfo, 0, heapsize * sizeof (malloc_info)); - _heapinfo[0].free.size = 0; - _heapinfo[0].free.next = _heapinfo[0].free.prev = 0; - _heapindex = 0; - _heapbase = (char *) _heapinfo; - - /* Account for the _heapinfo block itself in the statistics. */ - _bytes_used = heapsize * sizeof (malloc_info); - _chunks_used = 1; - - __malloc_initialized = 1; - return 1; -} - -/* Get neatly aligned memory, initializing or - growing the heap info table as necessary. */ -static __ptr_t morecore __P ((__malloc_size_t)); -static __ptr_t -morecore (size) - __malloc_size_t size; -{ - __ptr_t result; - malloc_info *newinfo, *oldinfo; - __malloc_size_t newsize; - - result = align (size); - if (result == NULL) - return NULL; - - /* Check if we need to grow the info table. */ - if ((__malloc_size_t) BLOCK ((char *) result + size) > heapsize) - { - newsize = heapsize; - while ((__malloc_size_t) BLOCK ((char *) result + size) > newsize) - newsize *= 2; - newinfo = (malloc_info *) align (newsize * sizeof (malloc_info)); - if (newinfo == NULL) - { - (*__morecore) (-size); - return NULL; - } - memcpy (newinfo, _heapinfo, heapsize * sizeof (malloc_info)); - memset (&newinfo[heapsize], 0, - (newsize - heapsize) * sizeof (malloc_info)); - oldinfo = _heapinfo; - newinfo[BLOCK (oldinfo)].busy.type = 0; - newinfo[BLOCK (oldinfo)].busy.info.size - = BLOCKIFY (heapsize * sizeof (malloc_info)); - _heapinfo = newinfo; - /* Account for the _heapinfo block itself in the statistics. */ - _bytes_used += newsize * sizeof (malloc_info); - ++_chunks_used; - _free_internal (oldinfo); - heapsize = newsize; - } - - _heaplimit = BLOCK ((char *) result + size); - return result; -} - -/* Allocate memory from the heap. */ -__ptr_t -malloc (size) - __malloc_size_t size; -{ - __ptr_t result; - __malloc_size_t block, blocks, lastblocks, start; - register __malloc_size_t i; - struct list *next; - - /* ANSI C allows `malloc (0)' to either return NULL, or to return a - valid address you can realloc and free (though not dereference). - - It turns out that some extant code (sunrpc, at least Ultrix's version) - expects `malloc (0)' to return non-NULL and breaks otherwise. - Be compatible. */ - -#if 0 - if (size == 0) - return NULL; -#endif - - if (__malloc_hook != NULL) - return (*__malloc_hook) (size); - - if (!__malloc_initialized) - if (!initialize ()) - return NULL; - - if (size < sizeof (struct list)) - size = sizeof (struct list); - -#ifdef SUNOS_LOCALTIME_BUG - if (size < 16) - size = 16; -#endif - - /* Determine the allocation policy based on the request size. */ - if (size <= BLOCKSIZE / 2) - { - /* Small allocation to receive a fragment of a block. - Determine the logarithm to base two of the fragment size. */ - register __malloc_size_t log = 1; - --size; - while ((size /= 2) != 0) - ++log; - - /* Look in the fragment lists for a - free fragment of the desired size. */ - next = _fraghead[log].next; - if (next != NULL) - { - /* There are free fragments of this size. - Pop a fragment out of the fragment list and return it. - Update the block's nfree and first counters. */ - result = (__ptr_t) next; - next->prev->next = next->next; - if (next->next != NULL) - next->next->prev = next->prev; - block = BLOCK (result); - if (--_heapinfo[block].busy.info.frag.nfree != 0) - _heapinfo[block].busy.info.frag.first = (unsigned long int) - ((unsigned long int) ((char *) next->next - (char *) NULL) - % BLOCKSIZE) >> log; - - /* Update the statistics. */ - ++_chunks_used; - _bytes_used += 1 << log; - --_chunks_free; - _bytes_free -= 1 << log; - } - else - { - /* No free fragments of the desired size, so get a new block - and break it into fragments, returning the first. */ - result = malloc (BLOCKSIZE); - if (result == NULL) - return NULL; - - /* Link all fragments but the first into the free list. */ - for (i = 1; i < (__malloc_size_t) (BLOCKSIZE >> log); ++i) - { - next = (struct list *) ((char *) result + (i << log)); - next->next = _fraghead[log].next; - next->prev = &_fraghead[log]; - next->prev->next = next; - if (next->next != NULL) - next->next->prev = next; - } - - /* Initialize the nfree and first counters for this block. */ - block = BLOCK (result); - _heapinfo[block].busy.type = log; - _heapinfo[block].busy.info.frag.nfree = i - 1; - _heapinfo[block].busy.info.frag.first = i - 1; - - _chunks_free += (BLOCKSIZE >> log) - 1; - _bytes_free += BLOCKSIZE - (1 << log); - _bytes_used -= BLOCKSIZE - (1 << log); - } - } - else - { - /* Large allocation to receive one or more blocks. - Search the free list in a circle starting at the last place visited. - If we loop completely around without finding a large enough - space we will have to get more memory from the system. */ - blocks = BLOCKIFY (size); - start = block = _heapindex; - while (_heapinfo[block].free.size < blocks) - { - block = _heapinfo[block].free.next; - if (block == start) - { - /* Need to get more from the system. Check to see if - the new core will be contiguous with the final free - block; if so we don't need to get as much. */ - block = _heapinfo[0].free.prev; - lastblocks = _heapinfo[block].free.size; - if (_heaplimit != 0 && block + lastblocks == _heaplimit && - (*__morecore) (0) == ADDRESS (block + lastblocks) && - (morecore ((blocks - lastblocks) * BLOCKSIZE)) != NULL) - { - /* Which block we are extending (the `final free - block' referred to above) might have changed, if - it got combined with a freed info table. */ - block = _heapinfo[0].free.prev; - _heapinfo[block].free.size += (blocks - lastblocks); - _bytes_free += (blocks - lastblocks) * BLOCKSIZE; - continue; - } - result = morecore (blocks * BLOCKSIZE); - if (result == NULL) - return NULL; - block = BLOCK (result); - _heapinfo[block].busy.type = 0; - _heapinfo[block].busy.info.size = blocks; - ++_chunks_used; - _bytes_used += blocks * BLOCKSIZE; - return result; - } - } - - /* At this point we have found a suitable free list entry. - Figure out how to remove what we need from the list. */ - result = ADDRESS (block); - if (_heapinfo[block].free.size > blocks) - { - /* The block we found has a bit left over, - so relink the tail end back into the free list. */ - _heapinfo[block + blocks].free.size - = _heapinfo[block].free.size - blocks; - _heapinfo[block + blocks].free.next - = _heapinfo[block].free.next; - _heapinfo[block + blocks].free.prev - = _heapinfo[block].free.prev; - _heapinfo[_heapinfo[block].free.prev].free.next - = _heapinfo[_heapinfo[block].free.next].free.prev - = _heapindex = block + blocks; - } - else - { - /* The block exactly matches our requirements, - so just remove it from the list. */ - _heapinfo[_heapinfo[block].free.next].free.prev - = _heapinfo[block].free.prev; - _heapinfo[_heapinfo[block].free.prev].free.next - = _heapindex = _heapinfo[block].free.next; - --_chunks_free; - } - - _heapinfo[block].busy.type = 0; - _heapinfo[block].busy.info.size = blocks; - ++_chunks_used; - _bytes_used += blocks * BLOCKSIZE; - _bytes_free -= blocks * BLOCKSIZE; - - /* Mark all the blocks of the object just allocated except for the - first with a negative number so you can find the first block by - adding that adjustment. */ - while (--blocks > 0) - _heapinfo[block + blocks].busy.info.size = -blocks; - } - - return result; -} - -#ifndef _LIBC - -/* On some ANSI C systems, some libc functions call _malloc, _free - and _realloc. Make them use the GNU functions. */ - -__ptr_t -_malloc (size) - __malloc_size_t size; -{ - return malloc (size); -} - -void -_free (ptr) - __ptr_t ptr; -{ - free (ptr); -} - -__ptr_t -_realloc (ptr, size) - __ptr_t ptr; - __malloc_size_t size; -{ - return realloc (ptr, size); -} - -#endif -/* Free a block of memory allocated by `malloc'. - Copyright 1990, 1991, 1992, 1994 Free Software Foundation, Inc. - Written May 1989 by Mike Haertel. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -/* Debugging hook for free. */ -void (*__free_hook) __P ((__ptr_t __ptr)); - -/* List of blocks allocated by memalign. */ -struct alignlist *_aligned_blocks = NULL; - -/* Return memory to the heap. - Like `free' but don't call a __free_hook if there is one. */ -void -_free_internal (ptr) - __ptr_t ptr; -{ - int type; - __malloc_size_t block, blocks; - register __malloc_size_t i; - struct list *prev, *next; - - block = BLOCK (ptr); - - type = _heapinfo[block].busy.type; - switch (type) - { - case 0: - /* Get as many statistics as early as we can. */ - --_chunks_used; - _bytes_used -= _heapinfo[block].busy.info.size * BLOCKSIZE; - _bytes_free += _heapinfo[block].busy.info.size * BLOCKSIZE; - - /* Find the free cluster previous to this one in the free list. - Start searching at the last block referenced; this may benefit - programs with locality of allocation. */ - i = _heapindex; - if (i > block) - while (i > block) - i = _heapinfo[i].free.prev; - else - { - do - i = _heapinfo[i].free.next; - while (i > 0 && i < block); - i = _heapinfo[i].free.prev; - } - - /* Determine how to link this block into the free list. */ - if (block == i + _heapinfo[i].free.size) - { - /* Coalesce this block with its predecessor. */ - _heapinfo[i].free.size += _heapinfo[block].busy.info.size; - block = i; - } - else - { - /* Really link this block back into the free list. */ - _heapinfo[block].free.size = _heapinfo[block].busy.info.size; - _heapinfo[block].free.next = _heapinfo[i].free.next; - _heapinfo[block].free.prev = i; - _heapinfo[i].free.next = block; - _heapinfo[_heapinfo[block].free.next].free.prev = block; - ++_chunks_free; - } - - /* Now that the block is linked in, see if we can coalesce it - with its successor (by deleting its successor from the list - and adding in its size). */ - if (block + _heapinfo[block].free.size == _heapinfo[block].free.next) - { - _heapinfo[block].free.size - += _heapinfo[_heapinfo[block].free.next].free.size; - _heapinfo[block].free.next - = _heapinfo[_heapinfo[block].free.next].free.next; - _heapinfo[_heapinfo[block].free.next].free.prev = block; - --_chunks_free; - } - - /* Now see if we can return stuff to the system. */ - blocks = _heapinfo[block].free.size; - if (blocks >= FINAL_FREE_BLOCKS && block + blocks == _heaplimit - && (*__morecore) (0) == ADDRESS (block + blocks)) - { - register __malloc_size_t bytes = blocks * BLOCKSIZE; - _heaplimit -= blocks; - (*__morecore) (-bytes); - _heapinfo[_heapinfo[block].free.prev].free.next - = _heapinfo[block].free.next; - _heapinfo[_heapinfo[block].free.next].free.prev - = _heapinfo[block].free.prev; - block = _heapinfo[block].free.prev; - --_chunks_free; - _bytes_free -= bytes; - } - - /* Set the next search to begin at this block. */ - _heapindex = block; - break; - - default: - /* Do some of the statistics. */ - --_chunks_used; - _bytes_used -= 1 << type; - ++_chunks_free; - _bytes_free += 1 << type; - - /* Get the address of the first free fragment in this block. */ - prev = (struct list *) ((char *) ADDRESS (block) + - (_heapinfo[block].busy.info.frag.first << type)); - - if (_heapinfo[block].busy.info.frag.nfree == (BLOCKSIZE >> type) - 1) - { - /* If all fragments of this block are free, remove them - from the fragment list and free the whole block. */ - next = prev; - for (i = 1; i < (__malloc_size_t) (BLOCKSIZE >> type); ++i) - next = next->next; - prev->prev->next = next; - if (next != NULL) - next->prev = prev->prev; - _heapinfo[block].busy.type = 0; - _heapinfo[block].busy.info.size = 1; - - /* Keep the statistics accurate. */ - ++_chunks_used; - _bytes_used += BLOCKSIZE; - _chunks_free -= BLOCKSIZE >> type; - _bytes_free -= BLOCKSIZE; - - free (ADDRESS (block)); - } - else if (_heapinfo[block].busy.info.frag.nfree != 0) - { - /* If some fragments of this block are free, link this - fragment into the fragment list after the first free - fragment of this block. */ - next = (struct list *) ptr; - next->next = prev->next; - next->prev = prev; - prev->next = next; - if (next->next != NULL) - next->next->prev = next; - ++_heapinfo[block].busy.info.frag.nfree; - } - else - { - /* No fragments of this block are free, so link this - fragment into the fragment list and announce that - it is the first free fragment of this block. */ - prev = (struct list *) ptr; - _heapinfo[block].busy.info.frag.nfree = 1; - _heapinfo[block].busy.info.frag.first = (unsigned long int) - ((unsigned long int) ((char *) ptr - (char *) NULL) - % BLOCKSIZE >> type); - prev->next = _fraghead[type].next; - prev->prev = &_fraghead[type]; - prev->prev->next = prev; - if (prev->next != NULL) - prev->next->prev = prev; - } - break; - } -} - -/* Return memory to the heap. */ -void -free (ptr) - __ptr_t ptr; -{ - register struct alignlist *l; - - if (ptr == NULL) - return; - - for (l = _aligned_blocks; l != NULL; l = l->next) - if (l->aligned == ptr) - { - l->aligned = NULL; /* Mark the slot in the list as free. */ - ptr = l->exact; - break; - } - - if (__free_hook != NULL) - (*__free_hook) (ptr); - else - _free_internal (ptr); -} -/* Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -#ifdef _LIBC - -#include <ansidecl.h> -#include <gnu-stabs.h> - -#undef cfree - -function_alias(cfree, free, void, (ptr), - DEFUN(cfree, (ptr), PTR ptr)) - -#else - -void -cfree (ptr) - __ptr_t ptr; -{ - free (ptr); -} - -#endif -/* Change the size of a block allocated by `malloc'. - Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. - Written May 1989 by Mike Haertel. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -#if (defined (MEMMOVE_MISSING) || \ - !defined(_LIBC) && !defined(STDC_HEADERS) && !defined(USG)) - -/* Snarfed directly from Emacs src/dispnew.c: - XXX Should use system bcopy if it handles overlap. */ -#ifndef emacs - -/* Like bcopy except never gets confused by overlap. */ - -static void -safe_bcopy (from, to, size) - char *from, *to; - int size; -{ - if (size <= 0 || from == to) - return; - - /* If the source and destination don't overlap, then bcopy can - handle it. If they do overlap, but the destination is lower in - memory than the source, we'll assume bcopy can handle that. */ - if (to < from || from + size <= to) - bcopy (from, to, size); - - /* Otherwise, we'll copy from the end. */ - else - { - register char *endf = from + size; - register char *endt = to + size; - - /* If TO - FROM is large, then we should break the copy into - nonoverlapping chunks of TO - FROM bytes each. However, if - TO - FROM is small, then the bcopy function call overhead - makes this not worth it. The crossover point could be about - anywhere. Since I don't think the obvious copy loop is too - bad, I'm trying to err in its favor. */ - if (to - from < 64) - { - do - *--endt = *--endf; - while (endf != from); - } - else - { - for (;;) - { - endt -= (to - from); - endf -= (to - from); - - if (endt < to) - break; - - bcopy (endf, endt, to - from); - } - - /* If SIZE wasn't a multiple of TO - FROM, there will be a - little left over. The amount left over is - (endt + (to - from)) - to, which is endt - from. */ - bcopy (from, to, endt - from); - } - } -} -#endif /* Not emacs. */ - -#define memmove(to, from, size) safe_bcopy ((from), (to), (size)) - -#endif - - -#define min(A, B) ((A) < (B) ? (A) : (B)) - -/* Debugging hook for realloc. */ -__ptr_t (*__realloc_hook) __P ((__ptr_t __ptr, __malloc_size_t __size)); - -/* Resize the given region to the new size, returning a pointer - to the (possibly moved) region. This is optimized for speed; - some benchmarks seem to indicate that greater compactness is - achieved by unconditionally allocating and copying to a - new region. This module has incestuous knowledge of the - internals of both free and malloc. */ -__ptr_t -realloc (ptr, size) - __ptr_t ptr; - __malloc_size_t size; -{ - __ptr_t result; - int type; - __malloc_size_t block, blocks, oldlimit; - - if (size == 0) - { - free (ptr); - return malloc (0); - } - else if (ptr == NULL) - return malloc (size); - - if (__realloc_hook != NULL) - return (*__realloc_hook) (ptr, size); - - block = BLOCK (ptr); - - type = _heapinfo[block].busy.type; - switch (type) - { - case 0: - /* Maybe reallocate a large block to a small fragment. */ - if (size <= BLOCKSIZE / 2) - { - result = malloc (size); - if (result != NULL) - { - memcpy (result, ptr, size); - _free_internal (ptr); - return result; - } - } - - /* The new size is a large allocation as well; - see if we can hold it in place. */ - blocks = BLOCKIFY (size); - if (blocks < _heapinfo[block].busy.info.size) - { - /* The new size is smaller; return - excess memory to the free list. */ - _heapinfo[block + blocks].busy.type = 0; - _heapinfo[block + blocks].busy.info.size - = _heapinfo[block].busy.info.size - blocks; - _heapinfo[block].busy.info.size = blocks; - /* We have just created a new chunk by splitting a chunk in two. - Now we will free this chunk; increment the statistics counter - so it doesn't become wrong when _free_internal decrements it. */ - ++_chunks_used; - _free_internal (ADDRESS (block + blocks)); - result = ptr; - } - else if (blocks == _heapinfo[block].busy.info.size) - /* No size change necessary. */ - result = ptr; - else - { - /* Won't fit, so allocate a new region that will. - Free the old region first in case there is sufficient - adjacent free space to grow without moving. */ - blocks = _heapinfo[block].busy.info.size; - /* Prevent free from actually returning memory to the system. */ - oldlimit = _heaplimit; - _heaplimit = 0; - _free_internal (ptr); - _heaplimit = oldlimit; - result = malloc (size); - if (result == NULL) - { - /* Now we're really in trouble. We have to unfree - the thing we just freed. Unfortunately it might - have been coalesced with its neighbors. */ - if (_heapindex == block) - (void) malloc (blocks * BLOCKSIZE); - else - { - __ptr_t previous = malloc ((block - _heapindex) * BLOCKSIZE); - (void) malloc (blocks * BLOCKSIZE); - _free_internal (previous); - } - return NULL; - } - if (ptr != result) - memmove (result, ptr, blocks * BLOCKSIZE); - } - break; - - default: - /* Old size is a fragment; type is logarithm - to base two of the fragment size. */ - if (size > (__malloc_size_t) (1 << (type - 1)) && - size <= (__malloc_size_t) (1 << type)) - /* The new size is the same kind of fragment. */ - result = ptr; - else - { - /* The new size is different; allocate a new space, - and copy the lesser of the new size and the old. */ - result = malloc (size); - if (result == NULL) - return NULL; - memcpy (result, ptr, min (size, (__malloc_size_t) 1 << type)); - free (ptr); - } - break; - } - - return result; -} -/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. - - The author may be reached (Email) at the address mike@ai.mit.edu, - or (US mail) as Mike Haertel c/o Free Software Foundation. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -/* Allocate an array of NMEMB elements each SIZE bytes long. - The entire array is initialized to zeros. */ -__ptr_t -calloc (nmemb, size) - register __malloc_size_t nmemb; - register __malloc_size_t size; -{ - register __ptr_t result = malloc (nmemb * size); - - if (result != NULL) - (void) memset (result, 0, nmemb * size); - - return result; -} -/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc. -This file is part of the GNU C Library. - -The GNU C Library is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with the GNU C Library; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -#ifndef __GNU_LIBRARY__ -#define __sbrk sbrk -#endif - -#ifdef __GNU_LIBRARY__ -/* It is best not to declare this and cast its result on foreign operating - systems with potentially hostile include files. */ -extern __ptr_t __sbrk __P ((int increment)); -#endif - -#ifndef NULL -#define NULL 0 -#endif - -/* Allocate INCREMENT more bytes of data space, - and return the start of data space, or NULL on errors. - If INCREMENT is negative, shrink data space. */ -__ptr_t -__default_morecore (increment) -#ifdef __STDC__ - ptrdiff_t increment; -#else - int increment; -#endif -{ - __ptr_t result = (__ptr_t) __sbrk ((int) increment); - if (result == (__ptr_t) -1) - return NULL; - return result; -} -/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with this library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ - -#ifndef _MALLOC_INTERNAL -#define _MALLOC_INTERNAL -#include <malloc.h> -#endif - -__ptr_t (*__memalign_hook) __P ((size_t __size, size_t __alignment)); - -__ptr_t -memalign (alignment, size) - __malloc_size_t alignment; - __malloc_size_t size; -{ - __ptr_t result; - unsigned long int adj; - - if (__memalign_hook) - return (*__memalign_hook) (alignment, size); - - size = ((size + alignment - 1) / alignment) * alignment; - - result = malloc (size); - if (result == NULL) - return NULL; - adj = (unsigned long int) ((unsigned long int) ((char *) result - - (char *) NULL)) % alignment; - if (adj != 0) - { - struct alignlist *l; - for (l = _aligned_blocks; l != NULL; l = l->next) - if (l->aligned == NULL) - /* This slot is free. Use it. */ - break; - if (l == NULL) - { - l = (struct alignlist *) malloc (sizeof (struct alignlist)); - if (l == NULL) - { - free (result); - return NULL; - } - l->next = _aligned_blocks; - _aligned_blocks = l; - } - l->exact = result; - result = l->aligned = (char *) result + alignment - adj; - } - - return result; -} diff --git a/src/libraries/libansi/Makefile b/src/libraries/libansi/Makefile deleted file mode 100644 index b809cba6a..000000000 --- a/src/libraries/libansi/Makefile +++ /dev/null @@ -1,63 +0,0 @@ -# -# $Id: Makefile,v 0.14 1992/04/14 19:20:21 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -LIBNAME = libansi$(PROFILE-LIB-SUFFIX).a - -LIBOBJS = strerror.o vprintf.o - -all: $(LIBNAME) - -$(LIBNAME): $(LIBOBJS) - $(AR) $(ARFLAGS) $(LIBNAME) $? - $(RANLIB) $(LIBNAME) - -includes:; - -libraries: $(LIBNAME) - $(RM) $(LIBDIR)/$(LIBNAME) - cp $(LIBNAME) $(LIBDIR)/$(LIBNAME) - $(RANLIB) $(LIBDIR)/$(LIBNAME) - -binaries:; - -clean: - $(RM) ${LIBOBJS} $(GENERIC-CLEAN) - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - - -# Recreate the Makefile -include $(SCRIPTDIR)/Single-depend.make - - -tags: - etags -t *.[hc] - -include dependencies diff --git a/src/libraries/libansi/config.h b/src/libraries/libansi/config.h deleted file mode 100644 index 80afad665..000000000 --- a/src/libraries/libansi/config.h +++ /dev/null @@ -1,8 +0,0 @@ -/* -** config.h -** -** System: SunOS 4.1.1 -*/ - - -/* #define HAVE_STRERROR */ diff --git a/src/libraries/libansi/dependencies b/src/libraries/libansi/dependencies deleted file mode 100644 index 00b32730b..000000000 --- a/src/libraries/libansi/dependencies +++ /dev/null @@ -1 +0,0 @@ -strerror.o : strerror.c config.h diff --git a/src/libraries/libansi/difftime.c b/src/libraries/libansi/difftime.c deleted file mode 100644 index b3b65a3df..000000000 --- a/src/libraries/libansi/difftime.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - * $Id: difftime.c,v 1.3 1994/03/06 19:41:33 ceder Exp $ - * Copyright (C) 1993, 1994 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ - -static char *rcsid = "$Id: difftime.c,v 1.3 1994/03/06 19:41:33 ceder Exp $"; -#include "rcs.h" -USE(rcsid); - -#include <time.h> -#include <sys/types.h> /* Needed for time_t on dynix.*/ -#include "tmp-difftime.h" - -extern double -difftime(time_t t1, time_t t2) -{ - return (double) t1 - (double) t2; -} diff --git a/src/libraries/libansi/libansi.a b/src/libraries/libansi/libansi.a deleted file mode 100644 index da20a4f3e62e290cd2381b772fd4d11db21625e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1280 zcmaKrzl#$=6vyA@;$4gfo)M1|ELKsFgNr+x{gvH|1pHBnTp@On<nkNhZrI%jTIEDU zusKw&6U10(XK$g1U@Q0s7_hO^%F_7W%qE#wI56`*^PTtJ%)Hq>y<H3Ior~Eh4x3>Z zg!w?_&9ZGxW2WxljOh%=f=LTZ(=5y4noe_7t!9-aWd#5_*r{y*D6a&<1F}~rv3jmS z{QUd-{bvUN%R^XEaK4273shnFa+pCaOWHB)`#BYkqb*~9lB)tkyEcU7x9jR`{pse5 z)UOmA-upbx?EOFofKveJN1Omu<i`nX0GSLjozXx(lCXn5q*L1lNIjfPCZCYYsFM%1 z%Tnw$DRu`>Ki%sF@^r6sTEx+qOOn&RC+TiUJ0tN0iHnDX!z!9fykKH}eJCuAeTnZ& z{6^xB5|1VRGiPN(Vprl@65o^fK;qXDzmxduoO$8s9@MFbN71Y$Oizq&!u6amoKGNQ zT{*9#sp7Zv?JNmAkMgt35wfWNJ};PR3m*jY{0Z~?W1;h$30Lu*SKIY^r5@bwcYDo7 z9xA(oR$hZj)DOFU+(Nh;Rq%i4b)#5Je4HUAe+f(>Uk40uV^#{8x1}?~Hk^WGINl6x z59*y-=*D^})IH5(Ix4-uZ>v18@V~%;A9dS)vmsm!a@D*omc%cvn)B7D6NIsdv3UA| zZd;B=<8<%&0qlR{7SlRn*)q+7ne5AB7rly75^-X2XQuJ}neK>t&!UoLUN+6sP0Zcu z1vRQ9)`@urUKAR^V7J#qi5JNsiSIqrc}2K>C+IfN(JV1@_BQTSW|cN|X!?P>!vLSy Ry~*rSjaQKsJsn1)(O=y(>$Cs> diff --git a/src/libraries/libansi/mktime.c b/src/libraries/libansi/mktime.c deleted file mode 100644 index c21728590..000000000 --- a/src/libraries/libansi/mktime.c +++ /dev/null @@ -1,28 +0,0 @@ -#if 0 -/* mktime is no longer used in LysKOM. This fact was discovered by - ceder 1993-10-02. */ -#include <time.h> - -/* - * This version in NOT 100 % ANSI-conformant, but it is enough to run LysKOM - * (I hope) /ceder - */ - -extern time_t -mktime (const struct tm * temeptr ) -{ - int nyears; - int nleaps; - int ndays; - - nyears = temeptr->tm_year - 70; - nleaps = (nyears+2) / 4; - - ndays = 365 * nyears + nleaps + temeptr->tm_yday; - - return (time_t) ( temeptr->tm_sec - + 60 * ( temeptr->tm_min - + 60 * ( temeptr->tm_hour - + 24 * ndays ))); -} -#endif diff --git a/src/libraries/libansi/strchr.c b/src/libraries/libansi/strchr.c deleted file mode 100644 index 817e53d4f..000000000 --- a/src/libraries/libansi/strchr.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * $Id: strchr.c,v 1.1 1993/10/14 22:13:37 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ - -static char *rcsid = "$Id: strchr.c,v 1.1 1993/10/14 22:13:37 ceder Exp $"; -#include "rcs.h" -USE(rcsid); - -#ifdef HAVE_STRING_H -# include <string.h> -#endif -#ifdef HAVE_STRINGS_H -# include <strings.h> -#endif - -int -strchr(const char *s, - int c) -{ - return index(s, c); -} diff --git a/src/libraries/libansi/tmp-difftime.h b/src/libraries/libansi/tmp-difftime.h deleted file mode 100644 index d93ae2e21..000000000 --- a/src/libraries/libansi/tmp-difftime.h +++ /dev/null @@ -1,8 +0,0 @@ -/* Provide a prototype for difftime. Since it returns a double, and - not an int, it is essential that we always have a prototype for - difftime in scope when we use it. All files in the LysKOM server - which use difftime includes this file. - - This file is hereby placed in the public domain. */ - -extern double difftime(time_t t1, time_t t2); diff --git a/src/libraries/libansi/vprintf.c b/src/libraries/libansi/vprintf.c deleted file mode 100644 index 00f910501..000000000 --- a/src/libraries/libansi/vprintf.c +++ /dev/null @@ -1,3 +0,0 @@ -#ifdef __vax__ -#error "No vfprinf supported yet. Tell bug-lyskom@lysator.liu.se to fix this." -#endif diff --git a/src/libraries/libcommon/Makefile b/src/libraries/libcommon/Makefile deleted file mode 100644 index 87b5f898e..000000000 --- a/src/libraries/libcommon/Makefile +++ /dev/null @@ -1,97 +0,0 @@ -# -# $Id: Makefile,v 0.12 1992/07/06 13:36:11 linus Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -TARGET = -DCLIENT - - -LIBOBJS = kom-errno.o misc-parser.o parser.o -INSTALL-HDRS = misc-parser.h parser.h -LIBRARIES = liblyskom-server$(PROFILE-LIB-SUFFIX).a \ - liblyskom-client$(PROFILE-LIB-SUFFIX).a - -all: $(LIBRARIES) - -client-dir: - $(MKDIR) client-dir - ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \ - tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` client-dir/ - -server-dir: - $(MKDIR) server-dir - ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \ - tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` server-dir/ - -.PHONY: liblyskom-server$(PROFILE-LIB-SUFFIX).a -liblyskom-server$(PROFILE-LIB-SUFFIX).a: server-dir - (cd server-dir;$(MAKE) $(EXPORTS) -f ../Makefile ../$@ TARGET=-DSERVER) - $(RANLIB) $@ - - -../liblyskom-server$(PROFILE-LIB-SUFFIX).a: $(LIBOBJS) - $(AR) $(ARFLAGS) $@ $? - -.PHONY: liblyskom-client$(PROFILE-LIB-SUFFIX).a -liblyskom-client$(PROFILE-LIB-SUFFIX).a: client-dir - (cd client-dir;$(MAKE) $(EXPORTS) -f ../Makefile ../$@ TARGET=-DCLIENT) - $(RANLIB) $@ - - -../liblyskom-client$(PROFILE-LIB-SUFFIX).a: $(LIBOBJS) - $(AR) $(ARFLAGS) $@ $? - - -clean: - $(RM) $(GENERIC-CLEAN) $(LIBRARIES) - -for i in client-dir server-dir; \ - do \ - [ -d $$i ] && { echo cleaning directory $$i ; \ - (cd $$i; $(RM) $(GENERIC-CLEAN)) } \ - done - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - $(RM) -r client-dir server-dir - -libraries: includes all - (cd $(LIBDIR); $(RM) $(LIBRARIES)) - cp $(LIBRARIES) $(LIBDIR) - (cd $(LIBDIR); $(TOUCHLIB) $(LIBRARIES)) - -include $(SCRIPTDIR)/install-includes.make - -binaries:; - -tags: - etags -t $(INCLUDEDIR)/*.h *.[hc] - -# Recreate the Makefile from Makefile - -include $(SCRIPTDIR)/Single-depend.make - -include dependencies diff --git a/src/libraries/libcommon/client-Makefile.in b/src/libraries/libcommon/client-Makefile.in deleted file mode 100644 index be64a5958..000000000 --- a/src/libraries/libcommon/client-Makefile.in +++ /dev/null @@ -1,41 +0,0 @@ -AR = @AR@ -RANLIB = @RANLIB@ -srcdir = @srcdir@ -VPATH = @srcdir@ -CC = @CC@ -ansi -DEFS = @DEFS@ - -CFLAGS = -g -Wall ${OPTFLAGS} ${DEFS} \ - -I${srcdir}/../../include \ - -I${srcdir}/../libmisc - -../liblyskom-client.a: kom-errno.o misc-parser.o parser.o - $(AR) $(ARFLAGS) $@ $? - $(RANLIB) $@ - -# dependencies - -kom-errno.o : kom-errno.c \ - ../../include/config.h \ - ../../include/kom-errno.h \ - ../../include/m-config.h \ - ../../include/rcs.h - -misc-parser.o : misc-parser.c \ - misc-parser.h \ - ../../include/kom-types.h \ - ../../include/misc-types.h \ - ../../include/rcs.h \ - ../libmisc/s-collat-tabs.h \ - ../libmisc/s-string.h - -parser.o : parser.c \ - parser.h \ - ../../include/compiler.h \ - ../../include/misc-types.h \ - ../../include/rcs.h \ - ../libmisc/s-collat-tabs.h \ - ../libmisc/s-string.h \ - ../libmisc/zmalloc.h - - diff --git a/src/libraries/libcommon/dependencies b/src/libraries/libcommon/dependencies deleted file mode 100644 index dc0646a6b..000000000 --- a/src/libraries/libcommon/dependencies +++ /dev/null @@ -1,26 +0,0 @@ -kom-errno.o : kom-errno.c /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/config.h \ - /users/ceder/lyskom/include/kom-errno.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h -misc-parser.o : misc-parser.c misc-parser.h \ - /users/ceder/lyskom/include/kom-types.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /usr/gnu/lib/gcc-include/limits.h \ - /users/ceder/lyskom/include/ansi/time.h /usr/include/time.h \ - /users/ceder/lyskom/include/s-string.h \ - /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/misc-types.h \ - /users/ceder/lyskom/include/s-collat-tabs.h -parser.o : parser.c /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/s-string.h \ - /usr/gnu/lib/gcc-include/limits.h /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/misc-types.h \ - /users/ceder/lyskom/include/s-collat-tabs.h parser.h \ - /users/ceder/lyskom/include/zmalloc.h \ - /users/ceder/lyskom/include/compiler.h diff --git a/src/libraries/libisc-new/src/Makefile b/src/libraries/libisc-new/src/Makefile deleted file mode 100644 index 5aaac806f..000000000 --- a/src/libraries/libisc-new/src/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# -# Makefile for libisc -# -# Copyright (c) 1992 Peter Eriksson and Per Cederqvist of the -# Lysator Academic Computer Association. -# -# -# -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - - -SOURCES=isc_event.c isc_session.c isc_abort.c isc_alloc.c isc_master.c\ - isc_output.c isc_queue.c isc_message.c isc_handler.c\ - isc_stdout.c isc_socket.c isc_tcp.c isc_udp.c printf.c -LIBOBJS=isc_event.o isc_session.o isc_abort.o isc_alloc.o isc_master.o\ - isc_output.o isc_queue.o isc_message.o isc_handler.o\ - isc_stdout.o isc_socket.o isc_tcp.o isc_udp.o printf.o - - -LIBNAME = libisc-new$(PROFILE-LIB-SUFFIX).a - -INSTALL-HDRS = isc.h - -all: $(LIBNAME) - -binaries:; - -libraries: $(LIBDIR)/$(LIBNAME) - -includes: - ( cmp isc.h $(INCLUDEDIR)/isc-new.h 2>/dev/null ) \ - || ( $(RM) $(INCLUDEDIR)/isc-new.h; \ - cp isc.h $(INCLUDEDIR)/isc-new.h; \ - chmod a-w $(INCLUDEDIR)/isc-new.h ) \ - -$(LIBDIR)/$(LIBNAME): $(LIBNAME) - $(RM) $(LIBDIR)/$(LIBNAME) - cp $(LIBNAME) $(LIBDIR)/$(LIBNAME) - $(TOUCHLIB) $(LIBDIR)/$(LIBNAME) - -tags: - etags -t *.[hc] - - -clean: - $(RM) ${OBJECTS} $(GENERIC-CLEAN) Distfile testnumlist - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - -include $(SCRIPTDIR)/Single-depend.make - -include dependencies - -$(LIBNAME): $(LIBOBJS) - $(AR) $(ARFLAGS) $(LIBNAME) $? - $(RANLIB) $(LIBNAME) diff --git a/src/libraries/libmisc/Makefile b/src/libraries/libmisc/Makefile deleted file mode 100644 index 7a282aab0..000000000 --- a/src/libraries/libmisc/Makefile +++ /dev/null @@ -1,71 +0,0 @@ -# -# $Id: Makefile,v 0.12 1992/04/14 15:43:20 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -TARGET = -DCLIENT - -LIBNAME = libmisc$(PROFILE-LIB-SUFFIX).a - -LIBOBJS = pom.o s-collat-tabs.o s-string.o zmalloc.o - -INSTALL-HDRS = pom.h s-collat-tabs.h s-string.h zmalloc.h - -all: $(LIBNAME) - -$(LIBNAME): $(LIBOBJS) - $(AR) $(ARFLAGS) $(LIBNAME) $? - $(RANLIB) $(LIBNAME) - -libraries: $(LIBNAME) - $(RM) $(LIBDIR)/$(LIBNAME) - cp $(LIBNAME) $(LIBDIR)/$(LIBNAME) - $(TOUCHLIB) $(LIBDIR)/$(LIBNAME) - -include $(SCRIPTDIR)/install-includes.make - -binaries:; - -testnumlist: testnumlist.o numlist.o - $(CC) -o testnumlist testnumlist.o numlist.o - - -clean: - $(RM) ${OBJECTS} $(GENERIC-CLEAN) Distfile testnumlist - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) - - -# Recreate the Makefile -include $(SCRIPTDIR)/Single-depend.make - - -tags: - etags -t $(INCLUDEDIR)/*.h *.[hc] - -include dependencies diff --git a/src/libraries/libmisc/client-Makefile.in b/src/libraries/libmisc/client-Makefile.in deleted file mode 100644 index 401767b24..000000000 --- a/src/libraries/libmisc/client-Makefile.in +++ /dev/null @@ -1,50 +0,0 @@ -AR = @AR@ -RANLIB = @RANLIB@ -srcdir = @srcdir@ -VPATH = @srcdir@ -CC = @CC@ -ansi -DEFS = @DEFS@ - -CFLAGS = -g -Wall ${OPTFLAGS} ${DEFS} \ - -I${srcdir}/../../include - -../libmisc.a: pom.o s-collat-tabs.o s-string.o zmalloc.o missing.o - $(AR) $(ARFLAGS) $@ $? - $(RANLIB) $@ - - -# dependencies - -missing.o : missing.c - -numlist.o : numlist.c \ - numlist.h \ - ../../include/misc-types.h - -numlist2.o : numlist2.c \ - ../../include/misc-types.h \ - numlist2.h - -pom.o : pom.c \ - pom.h \ - ../../include/rcs.h - -s-collat-tabs.o : s-collat-tabs.c \ - s-collat-tabs.h \ - ../../include/rcs.h - -s-string.o : s-string.c \ - ../../include/misc-types.h \ - ../../include/rcs.h \ - s-collat-tabs.h \ - s-string.h - -testnumlist.o : testnumlist.c \ - numlist.h \ - ../../include/misc-types.h - -zmalloc.o : zmalloc.c \ - zmalloc.h \ - ../../include/compiler.h \ - ../../include/rcs.h - diff --git a/src/libraries/libmisc/dependencies b/src/libraries/libmisc/dependencies deleted file mode 100644 index 123b2966a..000000000 --- a/src/libraries/libmisc/dependencies +++ /dev/null @@ -1,46 +0,0 @@ -numlist.o : numlist.c /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/ansi/stdlib.h \ - /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \ - numlist.h -testnumlist.o : testnumlist.c /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/ansi/stdlib.h \ - /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \ - numlist.h -numlist2.o : numlist2.c /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/ansi/stdlib.h \ - /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \ - numlist2.h -zmalloc.o : zmalloc.c /users/ceder/lyskom/include/ansi/stddef.h \ - /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \ - /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \ - /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/ansi/malloc.h \ - /users/ceder/lyskom/include/ansi/string.h \ - /users/ceder/lyskom/include/compiler.h zmalloc.h -pom.o : pom.c /users/ceder/lyskom/include/ansi/sys/types.h \ - /usr/include/sys/types.h /usr/gnu/lib/gcc-include/sys/stdtypes.h \ - /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \ - /users/ceder/lyskom/include/ansi/time.h /usr/include/time.h \ - /users/ceder/lyskom/include/ansi/math.h /usr/include/math.h \ - /usr/include/floatingpoint.h /usr/include/sys/ieeefp.h \ - /users/ceder/lyskom/include/ansi/stdio.h pom.h -s-collat-tabs.o : s-collat-tabs.c s-collat-tabs.h \ - /usr/gnu/lib/gcc-include/limits.h -s-string.o : s-string.c /users/ceder/lyskom/include/ansi/sys/types.h \ - /usr/include/sys/types.h /usr/gnu/lib/gcc-include/sys/stdtypes.h \ - /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \ - /users/ceder/lyskom/include/ansi/stdio.h \ - /users/ceder/lyskom/include/ansi/string.h \ - /users/ceder/lyskom/include/ansi/ctype.h /usr/include/ctype.h \ - /users/ceder/lyskom/include/ansi/stdlib.h \ - /users/ceder/lyskom/include/ansi/stddef.h /usr/gnu/lib/gcc-include/assert.h \ - /users/ceder/lyskom/include/misc-types.h s-collat-tabs.h \ - /usr/gnu/lib/gcc-include/limits.h s-string.h diff --git a/src/libraries/libmisc/missing.c b/src/libraries/libmisc/missing.c deleted file mode 100644 index 8a5f3492c..000000000 --- a/src/libraries/libmisc/missing.c +++ /dev/null @@ -1,137 +0,0 @@ -/* - * $Id: missing.c,v 1.3 1993/10/10 17:11:07 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * Missing functions. - */ - -static char *rcsid = "$Id: missing.c,v 1.3 1993/10/10 17:11:07 ceder Exp $"; - -#ifdef __sequent__ - -#include <stdio.h> -#include <strings.h> -#include <time.h> - -char * -cuserid(char *s) -{ - char *tmp; - - tmp = getenv("USER"); - if ( tmp == NULL ) - { - if ( s != NULL ) - *s = '\n'; - return NULL; - } - else - { - if ( s != NULL ) - strcpy(s, tmp); - return tmp; - } -} - - -void * -memcpy (void * s1, const void * s2, unsigned int n) -{ - extern bcopy(const char *b1, char *b2, unsigned int length); - - bcopy(s2, s1, n); - return s1; -} - -char *memchr(s, c, n) -char *s; -int c, n; -{ - int r = 0; - - while (r <= n) { - if (s[r] == c) - return s + r; - r++; - } - return NULL; -} - -char *strchr(s, c) -char *s; -int c; -{ - return memchr(s, c, strlen(s)); -} - - -char * memset(s, c, n) -char *s; -int c, n; -{ - while(n>=0) { - s[n] = c; - n--; - } - return s; -} - -#if 0 -extern struct tm -mktime (const struct tm * temeptr ) -{ - int nyears; - int nleaps; - int ndays; - - nyears = temeptr->tm_year - 70; - nleaps = (nyears+2) / 4; - - ndays = 365 * nyears + nleaps + temeptr->tm_yday; - - return (struct tm) ( temeptr->tm_sec - + 60 * ( temeptr->tm_min - + 60 * ( temeptr->tm_hour - + 24 * ndays ))); -} -#endif - - -/* Mathematical things. */ - -#include <math.h> - -double fmod(double t, double n) -{ - double lastt = t; - while((n > 0.0 && t > n) - || (n < 0.0 && t < n)) - if (t == lastt) - return HUGE; - else - t = t - n; - return t; -} - -#endif diff --git a/src/libraries/libmisc/testnumlist b/src/libraries/libmisc/testnumlist deleted file mode 100755 index 103245d0a3816fd38dda3481d15c1add2871998a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 zcmeI44|G)3oyYG?CLtsf8Wk~8ijNpW2>CaYKZFU`fQW%&NE5KAXeP<bgwbIVXC@Y@ zt3$+gOFc?m_1Ko$RJ&cYmLg@@uFJML9&4?oNLh-1>e|$!mD5dK7PFe#$n5v`d%u@= z1K86&d(NJo-S-Y}-e-RI_kQ<xfA@Fqojhi4+U?3$%24Ksi@G=$OaeZx9#^X5qO1O0 zd5Ya{ZCmwjk>}Dw%B_Z1|D#gHIlW5dbSYKdvaY40+TBXBhv~Jn@%0JityW;S+O*+5 zq5jruGS9cXU87pIx}I#=qUgG#^=VhbuP0DhZe?@kB&0@5Jo7y6c-pmu<%QlfN{!y! zWgob14JuciH}1;Mybw8AvP7v%GRO904!H+2r{T&VYEy>$$ezp*oX23jn`)`9%ABkY zxE{tiRINzT`m{R4wu?~b36viaoh{JW0zSf4PLLPsQB$*2J%F03-9}aB1gsz8vYlM! zMNP$Kd(=;HN2KjO*d1LBA0nO&_XWAETETV^pH-P-$Khjj7Iaszg*nSUIQ@KOOJ<_- zHi~X$ymG6GWyTPR6R_(taQ($Qnb%r(w%xbp*UH;^W9xv?r@Sc34$cA10bLb5Uu3I- zxu8PGvRa$N?$&|oqLwzibK|7;ds>^TZ%0h;R35x@wKh}Sst1yZ>R7b9Iu@!*_NnSn z_}1#J;Y1(wlq%{;q-p|2yw8}bmWQ&-%(AHk#^$d6{%E|{h;&6`1Boyxstar@mi0W9 zR?3a@e3VbanT-=i>mT3~yuGaFvikLx^;94w`KVCHq45snmCK79#Ovns4aCe<Sa?uf z-%gUkV60{_u5;YYD!sb7x5c1$-WBP+R9X~kwDq~9Q0|)BKQkwdTF0xEsj)m=SXiyP zGRpO@skXJjS#~+1c0J2CwykZwW%-`WM8dNVubb~M;wrbeDl@TfXY58|WXnWlzt@u) z2aUVa!)Ti~-Hg|Wr~mSxyWc=<T=L0GCS$Rwl{U4Om|87cPmfWZuN}eIDhwj$PXC_Y z4{uo8j=F;?bNffc<%a)eTyFSt<MJBXe@0wxV4qgBt^EjJ^2C?;ls;O0Mjr(x`zS9s z<InZxSBKB?CXc-N)dBPpMog?Lnd*!WY(^q2H7;A9r&th;hr(M#fZUp(UaKxsxh-2W zNBHibND3i&ktMApscg$kP)}f#PxQ{hoH5a*J`7=`PE>AEMVW~WYlCn8@5kWP7tS4n zSNEAQxN>uU>NW#Gh((jBfXc)8TCXl!Z$#tCa3U2B<<Xl^I2LAJA5VmP`g-Hht>KW- z)3<qZS3DFjF6+soQFs!uQ0^0$=_U}F-4vNuSD0}){R51N@wT;y&3HtqXZlYaxwl&N zzfZ5w{SxaI(i%}%m3iN*RH%0iy~bzYHLo{;SEDx;jNuyX&Bg02z1IY9gzZyoANA%O zrgyM)CE0rApw!z8n=^xJbj`ebM6--F?-$KktXZ6JRW8en2WJP1$dgsW>>p>%E1M8W zG!Ww|uslsfIdn}lks9cV8JokK`x3Vq;VqlG29k&sW-R0m=7l+2%SMXI25SFAWDdN1 zp})+UTe!TAUrXE8QobzT$*;Rr5zQ7>O=J&i>Md5Tm7r|@9_8(uLlV*~#<f_zwQb&0 zMat{x*n@jtHOrKD-X2xx_0YTaow#$Hd}j}_`nKLu8CNqo)4fJvM|v;r>@%S2Wvf-n zTcX|?JUUpstZmi2FMB;ayBwwR4tT1(t9M4OSq=M<xnv(+c#X&5I~XOobX~q%d4i>& zLMojXRYhibX_@jI*rU9WJkpwna^<P6QeKM2%QYL;u6aj!Gh^cGc(uDroqmEMN%5It z$vY1cRfKjFVrE4h)W-cgWAF&t?w#<C^ot>#_tYE@w_!YZ+_F=0-UHAu2I)?N2;P*y zH;S+28|-^v)$)e=b|(4xQhI9Ne)!JRzI|x}Ypp(`Z_yW6B{K7tnSE#XGE$u*_nF~@ zYj~TX?2^n_wHwjN?NY87>Kxy&HkH|r5!H*<DlbvDJD9_{IZ8HYM&j8>DQPKUao$^L zqb3(iEUhnl(Y~-!PhfP8kw4TvL`|uO=^c81%&75tY~3Ey`n^+2hZU`1X}m_7r<PcC zbQhbMlo@+#+mUTXb6bm1Xj=_?`dz_BWYt)3mUVv#>gDKD*&HrY8LXhzY>H7>YK}tq zeA3EhGdiaa8VX}A-J8>&2`&lZV+vy2R*e31ZzGQ|!g*HboZ<XLZsgAUH2NM_<Z2;# z8<Y{w<F1OLembPtEe)1%j5jF{S)+VBGrF1u^c-n(KkZhz5#{3dSQ)&gFCflbyhDzf zQ6EM`C9X>(e&gqgU(amIcKhJG<&;m#+m0E^wKqs(b(~J}P{u?JX|uPesl<o=9i*u6 zohU(6#?296VAX?_o9w9b{B=IvpJIK)SGiUP>nw{U3lQTotzlNDa*ivmVs$3TC_~$k zgOa5moI8$^rH9YT(u1Ur$efX-;YQ0JDm!Nj#V53NOl#{MQ|)Q-Z;|+)JAY|rquI-g z)-hqO;5LhW^hdCm`(jKo89AwCvYX<l+*&4&n)zZz+05z>w_wbVZCHzOKGvI%5kJ<w z$%-S#@VY+{K|kVmlFF$bjPhb>?a8TQJnTWAZh)UBgP7wdy&U3tDBH(T(|Dw&OZ{Q4 z!E+Uj9z$K)tUN}Vw2Zcti|0}hM};gR-!tRLy78$qP%&cDv29;ELJ>Km+>C#-!n`s^ zFQvBUKBMN&8_cEIaW|EvJo|TUj_6uqd2g<YARlboro6-j3zv`uDnsv%7dIQ{*_N?F zd^w05wac)AdRf}grN&Flmd~R$vu*T$RC&x*%|MhUBLKEy;6`?EzMc{BUTPiXvB>Rq z_qu}=yCdf+Pg7hl^7K1t98>$+DWXMInY0S6^^&za(0?cU)>)<2dSKVe@nV0hGRrRa z)NK1sJ6_ZiF3gCT3GNA{IMXn`N0Du#$k~(hIfZ>4MHWm<`J6Hue3gA#X<OEM5A&7T z#<$Yv=sWh)_5&^C`AR;=oa}2wTqlYV+sT=e;*;LH(~g}UpL1)MD9Sfu5Py4!FJ?B7 zw$a?aGgyXCktgYsq&ZgKZx_7@$|@^!=<{vR9Ooxw#X8aQ_9uA^=_CCQ_i7{ETHD94 zwxjnv=Bk5vlRi=Nm{;mB)kaaBI<{oq+;zsdS89jV3TpZOy<Sgmn<Y7G<)N{o<tAkU z+3hw+PO}7Ja7I3d+(CD6$+_?AK^wAyJiDk&tP(cNwaNS&39EV)%A2R&OPRSk9hoCB z9=GHCpO+)1g}7s~U#8Aw5i=LyVFy|{)he}wB*iFwYg=(mkupCWVC2-CUDMbxv#)9H z>=>+Eo;l&(OBO0TrU&kOEbIE1p-4qALtFXVj@ih1XM0ML;<LS|IENRU%|>%6d2yHN z!4k`ZJj=4~fsCVcWO8iT^-j(d<!0N;$m({}>KczJD~HUKY^1s4+g2TVo;0I>BJ}qL zkNH#<)|M417mfMNvne~)rSYt*${HJE4LlBtrFAl5#yFqMETDWPovC$Ev?p70j;!Q5 zcno%_Q_@=%sJ;F3>-NSdMl|+*ORX|vJ@s?wWGt3{lm<VGnQRN{=r<!&MRj~({odQH zItIz_lEQY%l2Nn$_={>ZZmqYYsDFa~qAFf~^ozyIuI0a}5WP{Xw`Y2X@!65KW*@yY z<vo@*;495#Tz&~wT-<FmuiJ^gnkF(wXof+@xYbQcd1m68z#~<<ZpEL}bRAUcV|3kt z2XS=09}nH=`c<W7(DhL~=A-KqN?k<PeM-%u>(h89Jd-V(Pw41T-o-fSn1Qo^$t=U4 z>R1((!ZT&%!Z{sh7EU}<<|lh}Zw}6jM1~9NkPW)$Je*|XV>ronq3{L5b8sacdRj>5 zESywE{?U1%oS(pz%8GDOT^|>ojjQE5F&$J!2icyBlkTO1n2&5V?H;89WNX?qmGc|r z&cc&PHDkKU#<Otd3$j%<{51^7FLtS{AzbOWWSW|Wr;p4FvQ^d{^lTjOs=?j#v>e>z zQaNw1hEmI?sq6&whw=VXF6C(!c?a~rCHkG&$_4#m^p8qTQ(0Be9|zy&QtpW854u!t zk?@Xed}zUwREp<UvQ^GgN-Zb_KMwoUM|6D8rKXWRIu4+{2bHSa4t@^$tCaHLPegSb zetw4(aJ=qP+3<&tw;_L7_#L$UHsLYY`4s9(BNej2>%ho0*M;yO@mz@hb6tvd!RK=1 zn9C3O0m#>N;^EVll<EwJx>8-Z#6v2X>PnDgOBAo2E3R!_cJ-<&ROjZdXxuF8jKuo7 zsLWIe$8U`$`r_*9<Y%L)o=qy!(Ae1M>l{epNew*$q^Dn<@xD;Fvp*4y(|ystZoEcf z$?k!OGNrg$s-k7R?MZ~YQemhKq>`#L+0zx*bj?R;_PyrQG;%f;>+4aS5jKV!y1M(Q zQISL#rYzIZWSAb&*#bOi>JBID_w>-xeiw-*^tW*e+~kvZv(@O1i^tFjbkMj`J@n!n zP6V6?I1z9n@c%smS@`_m#aZ&F199=2SVxXQZzIkiK58AoN31e@yfWmzY52JH0M_wl zd=4T}5PJ0gxO{Zs(|qPVh5t>(@s4uw^|#8+*Vk1RUymyfUk|HnzCMR<7m)rB)ik~y zz*AXzzei2y>$eqsp5&vs?9v5S<G+`ERY}8F)nGI>R@eBeYZ{F!`ucB67{0}g^+v}) z+_*a0Bmbps-6>b=laMZUpF@~~MmdKQ0Ve`Z1e^#s5pW{lM8JuF69FdzP6V6?I1z9n z;6%WQfD-{H0!{>+2sjaNBH%>8iGULUCjw3coCr7(_{)ocCx?78|66;8hy61QTrM=3 zzoYmG;UUNuYP>iE0ltekgqN$*c#$KTwn(YZY5b_h|D^FN8ozI|>pYEXHNHmUq{jDY z{7sGbYkWxKmu+_EXxyOjN{!n!zCmNHz3zl2*V^vBTa)k9_-h*ft;YK_{*lH%*Z3uk z-_ZE?8jstY<<dA`;|n$ZgvM8B+^X@l8gJ707LB)Re3!=eX#AkYk7)e3##-NHjcD?J zv)QBdou^cj>p7`b@OORrd$YusAa4&S9AHDKOL1YI2W}HC25%HD0pBEC3dVO<C+~eu zcmd>xh0C#X#&yCA!6)$5=o`}{;KQTks^_O^k>YF8Gc>*gmEs_uvm1t(>ATd~m#4w_ zCd>qQxiG#1oZT`EIgVN2RU?e<7P_EuKKTwXaUB@nzh!wnn5%)j0gRL7i@=u)H-arY zi@{cWn!q=T&Jyq_>Rrvo`1{7$8;7WnzyF=xn+Ax_@nJ9~odopzMwqkK&;>p$m+wdu zuLQ#`%dZ0CJu`eMwR~6&-XL;(-?-H3ueIQa$e~+$yKp=BN#PE#)sOgoa_RFTUk^Sa z4BMs0g|7v_DU7}?JtcfS_yb|YV?H7I-wDnU?g8ft!>{>y!oA=*!Z(9Ug=63f#HYW6 z1pK}6>@8`K#PAMb>h~SPkmIZNyTD&cgP`+1n8z0werA7d7;@-52i`Tp>=^`qUHBgG zBOaE|uL1AY_&~^(52u;wCHoDH$865|xW;uFw`<(5@eYlj)c8e>M{S;#tMP1&D>c4S z<4<dRr^esY_(vN5OylDkYwew;%|Fw$wof~4>*r3_c&5g4HD0K3qsA*WZqxXBjUyUs zb8qfeO}<^@do_MY<AWOiMB}3x|3>5AY5cCn6E;uJ)>xa<reCDVi#68zZo0O<Ob=-~ zTHj6oh9=i?a{5b>x2qM76&OVLXK^{WRpbl78-+2>=7)qU!CQoDz-eL3pYuO2TnoNe z7<1|Thww8NEkE<LH8k%tY=D$i-Y$*5Tf#E(E$_!9H^+6}p<$NO?@#i6K4NkNd|2A` zRT80Hm?!63d?ol%k*@^r7bf`&!k9nj9}#W=zb?EA{3h(bE&jk}e%25b^1Pj&Kg3AC z%gLW9TnOedZu*>m$*`%@54ka7GJMFNCq9po2tH%}oNw_B;P*s+qf%vg!jPA-E6~UM zSynFcZZP_T?O-k~YZMNFFBcAjR|_L%W$nV7z*b*J!8eH<*D|ZGW8guN$HC~|{6*{t z`<&l4M1^Kdt{-CLn1qBWCJEu0;LoL@Bk{R&7>wgt$kQW?F0?s+n}@mVVY;kP>UPv? zaT@%H$hU#NEes#atp42&{-Mb41|Jb7`3d1KfZq}RYw&5|9r!&?j_{Yj@R@zM2Rs+P zJy=2l_9y?zA!hpQk^g;RFZiG^wOz~M{9mM@kG79P{>x!7z88#`<{uw1+4AQrsH>Dj zX!|a3x$xJ)jlzh*f@a}wfY%8l-xpYY`WP7b!FIj{w)z(_TaXg@-+>X|{FlsjQN8)U zOQTTw=;SadD%S^)|HlZkdktOS+f%qVExZrBUHJRphoFB-Y(mGIGem`)CwwpZhkp0O z{497#_{ZQUg`WdIBm6uVC+q(dZ1w32;Fm@IGw^%Dhw=L<^b7012sVU|g00vd12>EO zm*884kAt@g!*+RE_!aQ|!l<hpZDjkegV7(%BVfz_-+&PpZ-K-C?e!W%q{wmb&L3i= z@#3vYgUy(G>xGdg-X+3g;O1fI;PYWWc-aVZ)*xM0;Fsp8>uKS4!H6%*abG!N!Hn3H zqs`3t98`Wn81<B&68;1DwD2GCXKjw~hu|5gce&XXs>|CkM1^Ksu1f>N|L$QhK2zNb zot_bsU#H6oMf>W}Z`_z+Z{aNAkAbCMT<3u+L=N4B4Z<_QZLk?KeIPsD)DRV#K4^1` z_pV_UXZ;pB+eer^23_ET0Xyq}#Ph+|373IojJOtnQz9=1-yw{3aN)zkRp0}{)!=7^ zePGE?S3Ou_?m{~jzAQS6z;6mSf+gmz#Y$C3-nuRaqs{E+C&6=to536c_`eJcKUn7q zuobHn;58z@5`2yDRp1+iQC?xS_iAuL<gMUah1Y`b5Jv1PFduPU?chDa9pLAL5!Z?l z;q~C(38VgsF=52J;<WJf_)TSzFy^gF%YUqQmCYiDzm=<ngJ9IbK45OEl)26Y-zrhY z@?P*JVYIK(YRk=F%yr(oIe44{-Uo+B(afJ+LySBgA4`KJpPvvO$G!W6(H8H4Vd&uR z*K+Vbj4<a|F-M*JTT#lfzXI=|V(^{d2ZYn$Az`d#mHUJ-rYmJEyY2!Hi+nryHQ~F# zqr#t8s>);QR9X4+MaXA}{66q(;hkU(0sQ$JF#KoV;8#_%@Ppvh!ViP3G4fR~-n0HL z@P6S(z&{io0v{LtCis-_WB7@$<<D-g<-_A(zvw&xZWjIy*ox<O!Ilqy4@OR~4+p^a z3qK8hNcf+@hlHO6zbX6^rE08tv5wSSE^_GBSnd5e*vc!CCq(Bkc#H6hV5=XGfcJ>} zC>ZszZ~p=w6+Xs~8caE2<1<8#HN{sYJOXYM#@gX)5yl+m3ktst4k6!uz>VM>^Zsmz z3e6loI>g91{7M=uIXogfj(blCkAdG6J_&wb7(RRdIIQT%LCn1qBg}bqbV1IXf)6oa ztQWqNFxCs-9l{gf9l{@i9}&)gA2r#Hix2%xHt9!2K8c|l1wQmE%d^0U9rH9WV!@0Y z_e*@-Ua<6?y8zrRI=IiSJBg|WW)#b@^g;6ahk24gI-{W)OdH?sl$fp9Sx{mpW8 zf&Vq(Ql)Bhgy(}{i*?Gu0pSYpI$`vAt>tG8_#TmC?Wi3R#@bPPP#Eh)?R&z=k-9wL zC168%DcGv387#T&UIw;ebp^Oh^sfTnB#iR9t-`Co+l4Xz*IB-`gLjL(1N^-3dhm$w zwMx~yg|7pn%^ZhL@CxA|c%vrYBHRVJ<c}M%soy2?9<UXMUhuQX$qx~H9F&Izg+t8r zIlSN^VJ~=Y8geuL3rdBN{{>aTW8lTYC&5dFN5RX66&-o-xnTJS^Na_;S9qA~kpl&* z>^%?)+Uz|L3O-}+fl#o~-UFea+urM-V3WPqK|#vi-=N^H>^%(%zG&}hQ1EqoPlJNT z?7a&L_St(E6g*?^QBZKy-lL%44SUalf_Lpb2WDj1dk)Mv&)#!jhGFeFfbATr?2QFz zpW3QEW&WVBPo=`il>9y)(%zn)PV9x*AB}}WRa44(6!sDbq<l*gzNSjQuWnIYV{JoS zW78xqYEnI$x)Onue`&(sRMX`1LlW!5Ho1Ib?Vq}FAfAl&#<344tJaZfO;e>$?w?v( zZ<i)FVUq##o(48w>tEE+*hH^Z-L?aZ&b)7`*+#Rtp}xMhUh3t0r)n+MjF=vqZT8i0 z{XT!A+3v}^q?p52)8wy*ZQjiRkwlz)O?7Cf3iS<i$HEYCkQzzEbx+DUA}qhPFB*bk z{Ze1OqJ13(B7t?jhNVe=O=l1K$5&BPQR{E&>`x^EzC}yReLlP;$wt-L-IWYOSkX|& zD!4Tn-HJOFH}LyNtgAQBP=O{?_!>w*f+Ps|D|~fz6^%_z3O$qzr#dMIRI)!D4iVO= zR1e)qT(6KkRP0mzQ7-kV&9n^#WQ{5wi^gvzY*0PeDuS_ArJ|d;ycYXYbiy5egZop7 zP&5)@YgF=C3ZrSqQmR*z!df-ZX~h}HSwU3}beib|pm36h19qX5b>1@2Mb57CH7-py z-r5xl_!cki;so?H)gqh?b!faOrLeGvx<VoLrB?M==&xB??#BS>BOmJ(Hh?B*P<>__ z;Gh|hM%8P<&EeZfr&ifER3wCrG?F)y6o_aC*7<!)lePXxDB0N^O(g?<zxcL@ee>5h zz&X)P`F(16UtbI(uy$#9<+3#$R|aY-*0ry{5}n+nItF@r!pS5`>z0Psek$OruUNTk z)tdF~C|-o}R&D1HDAh0BlC<{ipv^=AmIBHe?6QCoCAi9I$eVTq{K!3jy_t-(sRsm; ziD+$A9H^I6GzC-#w9IT|5$|3M-zg=L!cA6HytxVLt4G>5qI%k21lx!tt?akn`Wq!! zbxrkDyRV@Jc}?4hP({AQJTRtOH8)2Iti<Sw$Krv0{~{F)_^9Flmhnjkc$X8=g3@9% zwt;VezEZSv3ko3!_!p~4G#*WE3WoyzT5L}u`waUhO<Fe3ntV|w?c`GBOuV%2I1?{| z;7q*E#A{8;0ehb$-s?%WZIW5z|Hy1?HYyOov`W)4&#sfZNpZ8y4XH?GO{C`5SGGJ5 z(I<1-5I@jw&glL1Jh|h4VkBzjt=QA*Y<nUUWA>a+s}`*i{Ryo3yiW3(VO2wm$C>t% z{W0wHHKj@xX|~nbmg3>hn)XqdY1OhIL0XBm#$0jibxJne3arH1gEFjCll7WgZ=F#R zKu9FeylPtkvZ^u{_m!l?#?1Hn%E-6b3jCJ4%`(BuudM*FR;jG`XEf04OKrKOMre0g zmC%)X4l$<)-NdoC>NR&NJGT)ZWft1)r|UVb;FC5M=#SpK?d;9ktX<mv%-z{6H$P%C zHmmrf_FtPU|DW%$#(x+)FHQuU2sjaNBH%>8iGULUCjw3coCr7(a3bJDz=?np0Ve`Z W1e^#s5pW{lM8JuF6M?_T2>chUK90Wt diff --git a/src/server/FileList b/src/server/FileList deleted file mode 100644 index d08e0d917..000000000 --- a/src/server/FileList +++ /dev/null @@ -1,126 +0,0 @@ -This is a list of all files in the server directory. - -Atomic calls ------------- -* services.h -* manipulate.h -* admin.c -* admin.h -* conference.c -* membership.c -* person.c -* session.c -* text.c - -* version.incl - Inkluderas av admin.c. Inneh}ller versionsnummret multiplicerat med 100. - I b-server blir det en str{ng. - -* parser.c@ -* parser.h@ - Matchar namn. Samma fil som anv{nds i tty-klienten. Ska bort till b-server. - - -Data cache ----------- -* cache.c -* cache.h - H{r skulle det ha legat en fungerande cache om inte mud funnits... - -Highest level of I/O --------------------- -* async.h -* send-async.c -* send-async.h -* call-switch.incl -* com-h.awk -* com.h -* connections.c -* connections.h -* end-of-atomic.c -* end-of-atomic.h -* fnc-def-init.awk -* fnc-def-init.incl -* fncdef-no-str-limit.txt -* fncdef.txt -* isc-parse.c -* isc-parse.h - -Low-level I/O -------------- -* isc-server.c -* isc-server.h -* printf.c - -Awk scripts ------------ -* call-switch.awk - -Misc ----- -* config.c -* kom-types.c -* kom-errno.c@ -* log.c -* log.h -* minmax.h -* missing-ansi.c -* smalloc.c -* smalloc.h -* std-disclaimer.h - -Dbck ----- -* dbck -* dbck-cache.c -* dbck.c -* misc-parser.c@ -* misc-parser.h@ - -Non-sources ------------ -* ChangeLog -* FileList -* Makefile -* TAGS -* To-do - -Main ----- -* lyskomd.c -* lyskomd.h -* text-garb.c -* text-garb.h - -Protocol A ----------- -* prot-a-output.c -* prot-a-output.h -* prot-a-parse-arg-c.awk -* prot-a-parse-arg-h.awk -* prot-a-parse-arg.c -* prot-a-parse-arg.h -* prot-a-parse.c -* prot-a-parse.h -* prot-a-send-async.c -* prot-a-send-async.h -* prot-a.c -* prot-a.h - -String packet -------------- -* s-collat-tables.c@ -* s-string.c@ - -Ramkomd -------- -* ram-cache.c -* ram-output.c -* ram-output.h -* ram-output2.c -* ram-parse.c -* ram-parse.h -* ram-smalloc.c -* ramkomd -* ramkomd.c - diff --git a/src/server/Makefile b/src/server/Makefile deleted file mode 100755 index 05e8b6a7c..000000000 --- a/src/server/Makefile +++ /dev/null @@ -1,179 +0,0 @@ -# -# $Id: Makefile,v 0.28 1992/12/19 01:56:20 ceder Exp $ -# Copyright (C) 1991 Lysator Academic Computer Association. -# -# This file is part of the LysKOM server. -# -# LysKOM is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 1, or (at your option) -# any later version. -# -# LysKOM is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -# for more details. -# -# You should have received a copy of the GNU General Public License -# along with LysKOM; see the file COPYING. If not, write to -# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, -# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, -# MA 02139, USA. -# -# Please mail bug reports to bug-lyskom@lysator.liu.se. -# -# $Id: Makefile,v 0.28 1992/12/19 01:56:20 ceder Exp $ - -include Topdir.make -SCRIPTDIR = $(TOPDIR)/scripts - -include $(SCRIPTDIR)/import.make - -HDRS = admin.h isc-parse.h prot-a-output.h async.h isc-interface.h \ - prot-a-parse.h cache.h tmp-limits.h prot-a-send-async.h connections.h \ - log.h prot-a.h dbck-cache.h lyskomd.h ram-output.h disk-cache.h \ - manipulate.h ram-parse.h end-of-atomic.h memory.h send-async.h exp.h \ - minmax.h internal-connections.h mux-parse.h \ - internal-services.h mux.h text-garb.h \ - version.incl cache-node.h - -# See config/sun4os4-defs.make about LIBRESOLV if you are running SunOS 4.1.1. - -LIBS = -lisc-new$(PROFILE-LIB-SUFFIX) -lmisc$(PROFILE-LIB-SUFFIX) \ - -llyskom-server$(PROFILE-LIB-SUFFIX) -lansi$(PROFILE-LIB-SUFFIX) \ - $(LIBRESOLV) $(LIBIDENT) -lregex - -TARGET = -DSERVER - - -# Files that implements protocol A. -PROTA = prot-a-output.o prot-a-parse-arg.o prot-a-parse.o prot-a.o \ - prot-a-send-async.o - -PROTA_SRCS = prot-a-output.c prot-a-parse-arg.c prot-a-parse.c prot-a.c \ - prot-a-send-async.c - -MUX = mux.o mux-parse.o - -MUX_SRCS = mux.c mux-parse.c -# Implementations of the atomic calls. - -ATOMS = text.o membership.o person.o conference.o session.o admin.o \ - regex-match.o -ATOMS_SRCS = text.c membership.c person.c conference.c session.c admin.c \ - regex-match.o - -# These files are needed by all versions of the LysKOM server. -GENOBJS = connections.o log.o $(ATOMS) \ - kom-types.o \ - send-async.o server-config.o text-garb.o \ - missing-ansi.o isc-parse.o memory.o $(PROTA) $(MUX) \ - internal-connections.o rfc931.o isc-malloc.o - -GEN_SRCS = connections.c log.c $(ATOMS_SRCS) \ - kom-types.c \ - send-async.c server-config.c text-garb.c \ - missing-ansi.c isc-parse.c memory.c $(PROTA_SRCS) $(MUX_SRCS) \ - internal-connections.c rfc931.c isc-malloc.c - -# Files for lyskomd. - -DISKOBJS = ramkomd.o ram-smalloc.o simple-cache.o ram-parse.o ram-output.o \ - disk-end-of-atomic.o cache-node.o string-malloc.o - -DISK_SRCS = ramkomd.c ram-smalloc.c simple-cache.c ram-parse.c ram-output.c \ - disk-end-of-atomic.c cache-node.c string-malloc.c - - -DBCK = dbck.o dbck-cache.o ram-smalloc.o ram-parse.o server-config.o\ - kom-types.o\ - missing-ansi.o ram-output.o memory.o - -DBCK_SRCS = dbck.c dbck-cache.c ram-smalloc.c ram-parse.c server-config.c\ - kom-types.c\ - missing-ansi.c ram-output.c memory.c - -ENCRYPT = encrypt-passwd.o dbck-cache.o ram-smalloc.o ram-parse.o server-config.o\ - kom-types.o\ - missing-ansi.o ram-output.o memory.o - -SPECIALS = call-switch.incl com.h fnc-def-init.incl prot-a-parse-arg.c\ - prot-a-parse-arg.h fncdef-no-str-limit.txt .gdbinit - -SRCS = $(GEN_SRCS) $(RAM_SRCS) $(DISK_SRCS) $(LYS_SRCS) $(DBCK_SRCS) - -PROGRAMS = lyskomd dbck - - -all binaries: $(PROGRAMS) - -includes: com.h - cp com.h $(INCLUDEDIR) - -libraries:; - -lyskomd: $(DISKOBJS) $(GENOBJS) - $(CC) $(LDFLAGS) -o lyskomd $(DISKOBJS) $(GENOBJS) $(LIBS) - -encrypt: $(ENCRYPT) - $(CC) $(LDFLAGS) -o enrypt $(ENCRYPT) $(LIBS) - -dbck: $(DBCK) - $(CC) $(LDFLAGS) -o dbck $(DBCK) $(LIBS) - -call-switch.incl: call-switch.awk fncdef-no-str-limit.txt - $(AWK) -f call-switch.awk fncdef-no-str-limit.txt > call-switch.incl - -com.h: com-h.awk fncdef-no-str-limit.txt - $(AWK) -f com-h.awk fncdef-no-str-limit.txt > com.h - -fnc-def-init.incl: fnc-def-init.awk fncdef-no-str-limit.txt - $(AWK) -f fnc-def-init.awk fncdef-no-str-limit.txt > fnc-def-init.incl - -prot-a-parse-arg.c: prot-a-parse-arg-c.awk fncdef.txt prot-a-parse-arg.h - $(AWK) -f prot-a-parse-arg-c.awk fncdef.txt > prot-a-parse-arg.c - -prot-a-parse-arg.h: prot-a-parse-arg-h.awk fncdef-no-str-limit.txt - $(AWK) -f prot-a-parse-arg-h.awk fncdef-no-str-limit.txt > \ - prot-a-parse-arg.h - -fncdef-no-str-limit.txt: fncdef.txt - (echo \# Do not edit this file! It is generated from fncdef.txt.;\ - cat fncdef.txt) | sed 's/([^)]*)//g' > fncdef-no-str-limit.txt - -.gdbinit: Topdir.make - $(RM) -f .gdbinit - echo handle 13 nostop noprint >.gdbinit - echo dir $(TOPDIR)/src/libraries/libcommon >>.gdbinit - echo dir $(TOPDIR)/src/libraries/libansi >>.gdbinit - echo dir $(TOPDIR)/src/libraries/libisc >>.gdbinit - echo dir $(TOPDIR)/src/libraries/libmisc >>.gdbinit - - -install: $(PROGRAMS) - echo Server not installed. -# cp lyskomd $(DESTDIR)/ramkomd # The utilites wants ramkomd. -# cp dbck $(DESTDIR)/ -# strip $(DESTDIR)/dbck -# Don't strip ramkomd - we want debugging info! - -clean: - $(RM) $(GENERIC-CLEAN) $(PROGRAMS) - -distclean: clean - $(RM) $(GENERIC-DIST-CLEAN) $(SPECIALS) - -specials: $(SPECIALS) - -tags: - $(RM) TAGS - etags -t $(INCLUDEDIR)/*.h *.h \ - $(TOPDIR)/src/libraries/libisc-new/src/*.h \ - $(TOPDIR)/src/libraries/lib*/*.h \ - *.c \ - $(TOPDIR)/src/libraries/libisc-new/src/*.c \ - $(TOPDIR)/src/libraries/lib*/*.c - -include $(SCRIPTDIR)/Parallell-depend.make - -include dependencies diff --git a/src/server/aux-item-def.tab.c b/src/server/aux-item-def.tab.c deleted file mode 100644 index 4cdfff867..000000000 --- a/src/server/aux-item-def.tab.c +++ /dev/null @@ -1,1454 +0,0 @@ - -/* A Bison parser, made from ./aux-item-def.y - by GNU Bison version 1.25 - */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define yyparse aux_item_def_parse -#define yylex aux_item_def_lex -#define yyerror aux_item_def_error -#define yylval aux_item_def_lval -#define yychar aux_item_def_char -#define yydebug aux_item_def_debug -#define yynerrs aux_item_def_nerrs -#define YYLSP_NEEDED - -#define NUMBER 258 -#define BOOLEAN 259 -#define ID 260 -#define STRING 261 -#define DISABLED 262 -#define TEXT 263 -#define CONFERENCE 264 -#define LETTERBOX 265 -#define TOK_SERVER 266 -#define TOK_ANY 267 -#define VOID 268 -#define CREATE 269 -#define MODIFY 270 - -#line 1 "./aux-item-def.y" - -/* - * $Id: aux-item-def.tab.c,v 1.6 1999/05/12 13:24:56 byers Exp $ - * Copyright (C) 1994, 1995, 1996 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ - - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -#ifdef HAVE_STRING_H -# include <string.h> -#endif -#if STDC_HEADERS || HAVE_STRING_H -# include <string.h> -#else -# include <strings.h> -#endif -#ifdef HAVE_STDARG_H -# include <stdarg.h> -#endif -#include <malloc.h> - -#include "kom-types.h" -#include "aux-items.h" -#include "s-string.h" -#include "server/smalloc.h" -#include "lyskomd.h" -#include "debug.h" -#include "log.h" - -BUGDECL; - -#define YYDEBUG 1 - -static Aux_item_definition def; -static Bool errorFlag = FALSE; - -#define CHK_ASSIGN(_i_, _f_, _t_, _d_, _e_, _l_) \ - found = found || aux_item_def_check_assign(_i_,_d_,&def._f_,_t_,&(_e_),_l_) - -#define CHK_FLAG_A(_i_, _f_, _d_, _e_, _l_) \ - if (!s_strcmp(s_fcrea_str(_i_),_d_)) \ - { \ - found = 1; \ - if (_e_.type != BOOLEAN ) \ - { \ - aux_item_def_error_line = _l_; \ - yyerror("invalid type: expected %s, got %s", \ - aux_item_def_typename(BOOLEAN), \ - aux_item_def_typename(_e_.type)); \ - } \ - if (_e_.val.num) { def.set_flags._f_ = 1; } \ - else { def.clear_flags._f_ = 1; } \ - } - -#define yyin aux_item_def_in -#define yylineno aux_item_def_lineno - -extern int yylex(void); - -static char *inputFile; -int aux_item_def_error_line; -extern int yylineno; - -#if defined(HAVE_VFPRINTF) && defined(HAVE_STDARG_H) -void yyerror(const char * format, ...) -# if HAVE_ATTRIBUTE_FORMAT_PRINTF - __attribute__ ((format (printf, 1, 2))) -# endif - ; -#else -void yyerror(); -#endif - -struct aux_item_def_value_type; -static int aux_item_def_check_assign(const char *, - String, - void *, - int, - struct aux_item_def_value_type *, - int); -static const char *aux_item_def_typename(int); -short aux_item_def_check_trigger(const char *check_name, - int type, - String trigger_name, - String function_name, - unsigned long *counter, - Aux_item_trigger **triggers); - -short aux_item_def_check_validate(const char *check_name, - String field_name, - int type, - String data, - Aux_item_definition *def); - - -#define YYERROR_VERBOSE - -#line 122 "./aux-item-def.y" -typedef union -{ - String str; - unsigned long num; - struct aux_item_def_value_type - { - int type; - union - { - String str; - unsigned long num; - } val; - } value; -} YYSTYPE; - -#ifndef YYLTYPE -typedef - struct yyltype - { - int timestamp; - int first_line; - int first_column; - int last_line; - int last_column; - char *text; - } - yyltype; - -#define YYLTYPE yyltype -#endif - -#include <stdio.h> - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 39 -#define YYFLAG -32768 -#define YYNTBASE 24 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 270 ? yytranslate[x] : 33) - -static const char yytranslate[] = { 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 19, - 20, 2, 2, 21, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 18, 23, 2, - 22, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 16, 2, 17, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 3, 4, 9, 16, 24, 28, 30, 33, 36, - 39, 41, 44, 47, 50, 51, 54, 57, 58, 63, - 65, 67, 69, 73 -}; - -static const short yyrhs[] = { 24, - 25, 0, 0, 26, 16, 30, 17, 0, 3, 18, - 5, 19, 27, 20, 0, 3, 18, 5, 19, 27, - 20, 7, 0, 27, 21, 28, 0, 28, 0, 29, - 8, 0, 29, 9, 0, 29, 10, 0, 11, 0, - 29, 12, 0, 29, 14, 0, 29, 15, 0, 0, - 30, 31, 0, 30, 1, 0, 0, 5, 22, 32, - 23, 0, 4, 0, 6, 0, 3, 0, 5, 19, - 20, 0, 13, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 147, 148, 151, 161, 174, 184, 185, 188, 189, 190, - 192, 193, 202, 203, 204, 206, 207, 208, 211, 293, - 294, 295, 296, 297 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","NUMBER", -"BOOLEAN","ID","STRING","DISABLED","TEXT","CONFERENCE","LETTERBOX","TOK_SERVER", -"TOK_ANY","VOID","CREATE","MODIFY","'{'","'}'","':'","'('","')'","','","'='", -"';'","items","item","head","targets","target","action","body","assign","value", NULL -}; -#endif - -static const short yyr1[] = { 0, - 24, 24, 25, 26, 26, 27, 27, 28, 28, 28, - 28, 28, 29, 29, 29, 30, 30, 30, 31, 32, - 32, 32, 32, 32 -}; - -static const short yyr2[] = { 0, - 2, 0, 4, 6, 7, 3, 1, 2, 2, 2, - 1, 2, 2, 2, 0, 2, 2, 0, 4, 1, - 1, 1, 3, 1 -}; - -static const short yydefact[] = { 2, - 0, 0, 1, 0, 0, 18, 0, 0, 15, 17, - 0, 3, 16, 11, 0, 7, 0, 0, 4, 15, - 8, 9, 10, 12, 13, 14, 22, 20, 0, 21, - 24, 0, 5, 6, 0, 19, 23, 0, 0 -}; - -static const short yydefgoto[] = { 1, - 3, 4, 15, 16, 17, 8, 13, 32 -}; - -static const short yypact[] = {-32768, - 10, -15,-32768, -7, 6,-32768, -5, -1, 1,-32768, - -2,-32768,-32768,-32768, -19,-32768, 9, 2, 15, 1, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 7,-32768, --32768, 4,-32768,-32768, 5,-32768,-32768, 28,-32768 -}; - -static const short yypgoto[] = {-32768, --32768,-32768,-32768, 11,-32768,-32768,-32768,-32768 -}; - - -#define YYLAST 31 - - -static const short yytable[] = { 10, - 19, 20, 5, 11, 27, 28, 29, 30, 6, 38, - 7, 14, 2, 9, 31, 12, 21, 22, 23, 18, - 24, 33, 25, 26, 37, 35, 36, 39, 0, 0, - 34 -}; - -static const short yycheck[] = { 1, - 20, 21, 18, 5, 3, 4, 5, 6, 16, 0, - 5, 11, 3, 19, 13, 17, 8, 9, 10, 22, - 12, 7, 14, 15, 20, 19, 23, 0, -1, -1, - 20 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/sw/gnu/share/bison.simple" - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include <alloca.h> -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include <malloc.h> -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include <malloc.h> - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, int count) -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 196 "/sw/gnu/share/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 3: -#line 152 "./aux-item-def.y" -{ - if (def.tag != 0) - { - aux_item_definition_add(&def); - } - def = empty_aux_item_definition; - ; - break;} -case 4: -#line 162 "./aux-item-def.y" -{ - def.tag = yyvsp[-5].num; - def.name = s_crea_c_str(yyvsp[-3].str); - if (buglevel) - { - kom_log("Parsing definition of aux-iem %ld (%s)\n", - def.tag, def.name); - } - s_clear(&(yyvsp[-3].str)); - yyvsp[-3].str = EMPTY_STRING; - yylval.str = EMPTY_STRING; - ; - break;} -case 5: -#line 175 "./aux-item-def.y" -{ - def.tag = 0; - def.name = s_crea_c_str(yyvsp[-4].str); - s_clear(&(yyvsp[-4].str)); - yyvsp[-4].str = EMPTY_STRING; - yylval.str = EMPTY_STRING; - ; - break;} -case 8: -#line 188 "./aux-item-def.y" -{ def.texts = TRUE; def.text_a = yyvsp[-1].num; ; - break;} -case 9: -#line 189 "./aux-item-def.y" -{ def.confs = TRUE; def.conf_a = yyvsp[-1].num; ; - break;} -case 10: -#line 190 "./aux-item-def.y" -{ def.letterboxes = TRUE; - def.conf_a = yyvsp[-1].num; ; - break;} -case 11: -#line 192 "./aux-item-def.y" -{ def.system = TRUE; ; - break;} -case 12: -#line 194 "./aux-item-def.y" -{ - def.texts = TRUE; def.text_a = yyvsp[-1].num; - def.confs = TRUE; def.conf_a = yyvsp[-1].num; - def.letterboxes = TRUE; - def.system = TRUE; - ; - break;} -case 13: -#line 202 "./aux-item-def.y" -{ yyval.num = yyvsp[-1].num | AUX_ITEM_ADD_ON_CREATE; ; - break;} -case 14: -#line 203 "./aux-item-def.y" -{ yyval.num = yyvsp[-1].num | AUX_ITEM_ADD_ON_MODIFY; ; - break;} -case 15: -#line 204 "./aux-item-def.y" -{ yyval.num = 0; ; - break;} -case 19: -#line 212 "./aux-item-def.y" -{ - int found = 0; - - CHK_ASSIGN("author-only", author_only, BOOLEAN, - yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_ASSIGN("supervisor-only", supervisor_only, - BOOLEAN, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_ASSIGN("system-only", system_only, - BOOLEAN, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_ASSIGN("inherit-limit", inherit_limit, NUMBER, - yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_ASSIGN("unique", one_per_person, BOOLEAN, - yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_ASSIGN("permanent", may_not_delete, BOOLEAN, - yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("inherit", inherit, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("secret", secret, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("hide-creator", hide_creator, - yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("dont-garb", dont_garb, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("reserved-2", reserved3, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("reserved-3", reserved4, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - CHK_FLAG_A("reserved-4", reserved5, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); - - - found = found ? 1 : - aux_item_def_check_validate("validate", - yyvsp[-3].str, - yyvsp[-1].value.type, - yyvsp[-1].value.val.str, - &def); - - found = found ? 1 : - aux_item_def_check_trigger("delete-trigger", - yyvsp[-1].value.type, - yyvsp[-3].str, - yyvsp[-1].value.val.str, - &def.num_delete_triggers, - &def.delete_triggers); - - - found = found ? 1 : - aux_item_def_check_trigger("undelete-trigger", - yyvsp[-1].value.type, - yyvsp[-3].str, - yyvsp[-1].value.val.str, - &def.num_undelete_triggers, - &def.undelete_triggers); - - - found = found ? 1 : - aux_item_def_check_trigger("add-trigger", - yyvsp[-1].value.type, - yyvsp[-3].str, - yyvsp[-1].value.val.str, - &def.num_add_triggers, - &def.add_triggers); - - - if (found == 0) - { - char *tmp; - - tmp = s_crea_c_str(yyvsp[-3].str); - aux_item_def_error_line = yylsp[-3].first_line; - yyerror("invalid field name: %s", tmp); - free(tmp); - } - - if (yyvsp[-1].value.type == STRING) - { - s_clear(&(yyvsp[-1].value).val.str); - yyvsp[-1].value.val.str = EMPTY_STRING; - yylval.value.val.str = EMPTY_STRING; - } - s_clear(&(yyvsp[-3].str)); - yyvsp[-3].str = EMPTY_STRING; - yylval.str = EMPTY_STRING; - ; - break;} -case 20: -#line 293 "./aux-item-def.y" -{ yyval.value.val.num = yyvsp[0].num; yyval.value.type = BOOLEAN; ; - break;} -case 21: -#line 294 "./aux-item-def.y" -{ yyval.value.val.str = yyvsp[0].str; yyval.value.type = STRING; ; - break;} -case 22: -#line 295 "./aux-item-def.y" -{ yyval.value.val.num = yyvsp[0].num; yyval.value.type = NUMBER; ; - break;} -case 23: -#line 296 "./aux-item-def.y" -{ yyval.value.val.str = yyvsp[-2].str; yyval.value.type = ID;; - break;} -case 24: -#line 297 "./aux-item-def.y" -{ YYERROR; ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 498 "/sw/gnu/share/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; -} -#line 300 "./aux-item-def.y" - - -extern FILE *yyin; - -#if defined(HAVE_VFPRINTF) && defined(HAVE_STDARG_H) -void yyerror(const char *format, ...) -{ - va_list AP; - - va_start(AP, format); - fprintf(stderr, "%s: %d: ", inputFile, aux_item_def_error_line); - vfprintf(stderr, format, AP); - fprintf(stderr, "\n"); - fflush(stderr); - - errorFlag = TRUE; - va_end(AP); -} -#else -void yyerror(const char *s, - int a, int b, int c, int d, int e, int f, int g) -{ - fprintf(stderr, "%s: %d: ", inputFile, aux_item_def_error_line); - fprintf(stderr, format, a, b, c, d, e, f, g); - fprintf(stderr, "\n"); - fflush(stderr); - - errorFlag = TRUE; -} -#endif - -static const char *aux_item_def_typename(int type) -{ - switch (type) - { - case STRING: return "string"; - case NUMBER: return "number"; - case BOOLEAN: return "boolean"; - case ID: return "identifier"; - default: - return "unknown"; - } -} - -static int aux_item_def_check_assign(const char *id, - String field, - void *data, - int type, - struct aux_item_def_value_type *val, - int lineno) -{ - if (!s_strcmp(s_fcrea_str(id), field)) - { - if (type != val->type) - { - aux_item_def_error_line = lineno; - yyerror("invalid type: expected %s, got %s", - aux_item_def_typename(type), - aux_item_def_typename(val->type)); - return 0; - } - else if (type == STRING) - { - *((char **)data) = s_crea_c_str(val->val.str); - } - else if (type == NUMBER) - { - *((unsigned long *)data) = val->val.num; - } - else if (type == BOOLEAN) - { - *((Bool *)data) = val->val.num ? TRUE : FALSE; - } - else - { - restart_kom("Internal error: bad type in aux-item definition " - "assignment (can't happen.)\n"); - } - return 1; - } - else - { - return 0; - } -} - -short aux_item_def_check_trigger(const char *check_name, - int type, - String trigger_name, - String function_name, - unsigned long *counter, - Aux_item_trigger **triggers) -{ - Aux_item_trigger trigger; - char *tmp_string; - - if (s_strcmp(s_fcrea_str(check_name), trigger_name) == 0) - { - if (type != ID) - { - yyerror("invalid type: expected %s, got %s", - aux_item_def_typename(ID), - aux_item_def_typename(type)); - return 0; - } - - tmp_string = s_crea_c_str(function_name); - trigger = aux_item_find_trigger(tmp_string); - sfree(tmp_string); - - if (trigger == NULL) - { - yyerror("undefined function: %s", - tmp_string); - return 1; - } - - *counter += 1; - *triggers = - srealloc(*triggers, - *counter * - sizeof(Aux_item_trigger)); - *triggers[*counter-1] = trigger; - - return 1; - } - return 0; -} - -void parse_aux_item_definitions(char *file) -{ - inputFile = file; - yyin = fopen(file, "r"); - if (yyin == NULL) - { - perror(file); - restart_kom("Unable to open aux-item definition file\n"); - } - - def = empty_aux_item_definition; - yyparse(); - - if (errorFlag == TRUE) - { - restart_kom("Errors reading aux-item definition file\n"); - } - - /* - { - extern Aux_item_definition *aux_item_definition_list; - extern unsigned long num_aux_item_definitions; - Aux_item_definition *def; - - fprintf(stderr, "Number of defs: %ld\n", num_aux_item_definitions); - def = aux_item_definition_list; - - while (def != NULL) - { - fprintf(stderr, "Name: '%s'\n", def->name); - fprintf(stderr, "Tag: %ld\n", def->tag); - fprintf(stderr, "Clear flags: "); - if (def->clear_flags.deleted) fprintf(stderr, "deleted "); - if (def->clear_flags.inherit) fprintf(stderr, "inherit "); - if (def->clear_flags.secret) fprintf(stderr, "secret "); - if (def->clear_flags.hide_creator) fprintf(stderr,"hide_creator "); - if (def->clear_flags.reserved2) fprintf(stderr, "reserved2 "); - if (def->clear_flags.reserved3) fprintf(stderr, "reserved3 "); - if (def->clear_flags.reserved4) fprintf(stderr, "reserved4 "); - if (def->clear_flags.reserved5) fprintf(stderr, "reserved5 "); - fprintf(stderr, "\n"); - fprintf(stderr, "Set flags: "); - if (def->set_flags.deleted) fprintf(stderr, "deleted "); - if (def->set_flags.inherit) fprintf(stderr, "inherit "); - if (def->set_flags.secret) fprintf(stderr, "secret "); - if (def->set_flags.hide_creator) fprintf(stderr,"hide_creator "); - if (def->set_flags.reserved2) fprintf(stderr, "reserved2 "); - if (def->set_flags.reserved3) fprintf(stderr, "reserved3 "); - if (def->set_flags.reserved4) fprintf(stderr, "reserved4 "); - if (def->set_flags.reserved5) fprintf(stderr, "reserved5 "); - fprintf(stderr, "\n"); - fprintf(stderr, "Author only: %d\n", def->author_only); - fprintf(stderr, "Supervisor only: %d\n", def->supervisor_only); - fprintf(stderr, "Unique: %d\n", def->one_per_person); - fprintf(stderr, "Permanent: %d\n", def->may_not_delete); - fprintf(stderr, "Inherit limit: %ld\n", def->inherit_limit); - fprintf(stderr, "Texts: %d\n", def->texts); - fprintf(stderr, "Conferences: %d\n", def->confs); - fprintf(stderr, "Letterboxes: %d\n", def->letterboxes); - fprintf(stderr, "Validate regexp: '%s'\n", - def->validate_regexp?def->validate_regexp:"0x0"); - def = def->next; - } - } - */ -} - - -short aux_item_def_check_validate(const char *check_name, - String field_name, - int type, - String data, - Aux_item_definition *def) -{ - Aux_item_validation_function validator; - char *tmp_string; - - if (s_strcmp(s_fcrea_str(check_name), field_name) == 0) - { - /* - * Validator is a function - */ - - if (type == ID) - { - tmp_string = s_crea_c_str(data); - validator = aux_item_find_validator(tmp_string); - sfree(tmp_string); - - if (validator == NULL) - { - yyerror("undefined function: %s", - tmp_string); - return 1; - } - - def->num_validators += 1; - def->validators = srealloc(def->validators, - def->num_validators * - sizeof(*def->validators)); - - def->validators[def->num_validators-1].type = AUX_VALIDATE_FUNCTION; - def->validators[def->num_validators-1].v.fn.function = validator; - - return 1; - - } - else if (type == STRING) - { - /* - * Validator is a string (regexp) - */ - - def->num_validators += 1; - def->validators = srealloc(def->validators, - def->num_validators * - sizeof(*def->validators)); - - - def->validators[def->num_validators-1].type = AUX_VALIDATE_REGEXP; - def->validators[def->num_validators-1].v.re.regexp = s_crea_c_str(data); - } - else - { - yyerror("invalid type: expected %s or %s, got %s", - aux_item_def_typename(ID), - aux_item_def_typename(STRING), - aux_item_def_typename(type)); - return 0; - } - - return 1; - } - return 0; -} diff --git a/src/server/memory.h b/src/server/memory.h deleted file mode 100644 index a495495c2..000000000 --- a/src/server/memory.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * $Id: memory.h,v 0.6 1991/09/15 10:31:06 linus Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * $Id: memory.h,v 0.6 1991/09/15 10:31:06 linus Exp $ - * - * The time has come to get some order into this mess. - * - * From now on the following terminology is used: - * - * alloc_ smalloc() the object. Increase _cnt. - * free_ sfree() the object. Decrease _cnt. - * clear_ free_() any objects contained in the object, - * but not the object itself. - * copy_ smalloc() a new object and also smalloc() - * any objects contained in it. - */ - - - -extern Person * -alloc_person(void); - -extern Conference * -alloc_conference(void); - -extern Text_stat * -alloc_text_stat(void); - -extern void -free_person(Person *person); - -extern void -free_conference(Conference *confp); - -extern void -free_text_stat(Text_stat *t); - -extern Person * -copy_person(Person *p); - -extern Conference * -copy_conf(Conference *c); - -extern Text_stat * -copy_text_stat(Text_stat *c); - -extern void -clear_conference(Conference *c); - -extern void -clear_person(Person *p); - -extern void -clear_text_stat(Text_stat *t); - -#ifdef FILE - -extern void -dump_alloc_counts(FILE *stat_file); - -#endif diff --git a/src/server/missing-ansi.c b/src/server/missing-ansi.c deleted file mode 100644 index 88f703c7b..000000000 --- a/src/server/missing-ansi.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * $Id: missing-ansi.c,v 0.9 1993/08/05 00:06:38 ceder Exp $ - * Copyright (C) 1991 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ -/* - * Some missing functions that are needed. - * - * Written by ceder. - */ - -static char *rcsid = "$Id: missing-ansi.c,v 0.9 1993/08/05 00:06:38 ceder Exp $"; -#include "rcs.h" -USE(rcsid); - - -#include <string.h> -#include <time.h> - -#if defined(__sequent__) && !defined(DEBUG_MALLOC) - -void * -memcpy (void * s1, const void * s2, size_t n) -{ - extern bcopy(const char *b1, char *b2, unsigned int length); - - /* bcopy takes the parameters the other way round. */ - - bcopy(s2, s1, n); - return s1; /* Since ANSI says so */ -} - -#endif - -#if defined(__sequent__) || defined(__sun__) || defined(__vax__) - -#include "tmp-difftime.h" - -extern double -difftime(time_t t1, time_t t2) -{ - return (double) t1 - (double) t2; -} - -#endif - -#ifdef __sequent__ - -/* - * This version in NOT 100 % ANSI-conformant, but it is enough to run LysKOM - * (I hope) /ceder - */ - -extern time_t -mktime (const struct tm * temeptr ) -{ - int nyears; - int nleaps; - int ndays; - - nyears = temeptr->tm_year - 70; - nleaps = (nyears+2) / 4; - - ndays = 365 * nyears + nleaps + temeptr->tm_yday; - - return (time_t) ( temeptr->tm_sec - + 60 * ( temeptr->tm_min - + 60 * ( temeptr->tm_hour - + 24 * ndays ))); -} - -#endif - - -#if defined(__sequent__) || defined(__sun__) -#include <errno.h> -#include <stdio.h> - -extern char *sys_errlist[]; -extern int sys_nerr; - -const char *strerror(int eno) -{ - static char buf[200]; - - - if (eno < 0 || eno >= sys_nerr) - { - sprintf(buf, "error #%d", eno); - return buf; - } - else - return sys_errlist[eno]; -} -#endif diff --git a/src/server/tmp-difftime.h b/src/server/tmp-difftime.h deleted file mode 100644 index cf8028425..000000000 --- a/src/server/tmp-difftime.h +++ /dev/null @@ -1,3 +0,0 @@ -/* This file should be removed as soon as possible. autoconf should - fix this instead. */ -extern double difftime(time_t t1, time_t t2); diff --git a/src/server/version.incl b/src/server/version.incl deleted file mode 100644 index 010940605..000000000 --- a/src/server/version.incl +++ /dev/null @@ -1,30 +0,0 @@ -/* - * $Id: version.incl,v 0.50 1994/11/15 00:09:41 ceder Exp $ - * Copyright (C) 1991, 1992, 1993, 1994 Lysator Academic Computer Association. - * - * This file is part of the LysKOM server. - * - * LysKOM is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 1, or (at your option) - * any later version. - * - * LysKOM is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * for more details. - * - * You should have received a copy of the GNU General Public License - * along with LysKOM; see the file COPYING. If not, write to - * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN, - * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * Please mail bug reports to bug-lyskom@lysator.liu.se. - */ - -/* - * The version number is encoded in a long. It shall be printed as - * in sed s/\(.*\)\(..\)\(..\)/\1.\2.\3/ - */ -10606 -- GitLab