From 039513b3e35a029b0ab7cee2cab4f90e14e76fe5 Mon Sep 17 00:00:00 2001 From: Linus Tolke Y <linus@lysator.liu.se> Date: Sat, 24 Aug 1991 10:07:34 +0000 Subject: [PATCH] Initial revision --- doc/man/lyskom.5 | 267 ++++++++++++++++++++++++++++++++++++++++++ doc/man/man5/lyskom.5 | 267 ++++++++++++++++++++++++++++++++++++++++++ doc/man/man5/ramkom.5 | 267 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 801 insertions(+) create mode 100644 doc/man/lyskom.5 create mode 100644 doc/man/man5/lyskom.5 create mode 100644 doc/man/man5/ramkom.5 diff --git a/doc/man/lyskom.5 b/doc/man/lyskom.5 new file mode 100644 index 000000000..242ad9bc5 --- /dev/null +++ b/doc/man/lyskom.5 @@ -0,0 +1,267 @@ +.\" $Id: lyskom.5,v 1.1 1991/08/24 10:07:34 linus Exp $ +.\" $Date: 1991/08/24 10:07:34 $ +.TH ramkom 5 "August 24, 1991" +.SH NAME +ramkom - LysKOM database format +.SH SYNOPSIS +.B /usr/lyskom/db/ramkomd-* +.br +and +.PP +.B /usr/lyskom/etc/pid +.br +.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 +.IR 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 . +I consider them as structs but in this file they are not saved as +structs but every element is save 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. The order they are saved in is +described below. +.PP +An array of things is reprecented 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 5 +.B Name +Name of the conference saved as a holerith string. +.TP +.B Member list +An array of the members in that conference. +.TP +.B 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 +.B 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 +.B first local +.BR number . +.TP +.B 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 +.B Creation time +The time the conference was created. +.TP +.B Last written +The time the last text was sent to the conference. +.TP +.B Creator +The number of the person that has created the conference. This is 0 +for conferences that are created initially. +.TP +.B Presentation +This is the number of the text containing a presentation of the +conference. If there is no presentation this number is 0. +.TP +.B 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 +.B 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 LysKOM are allowed to submit. +.TP +.B Super conference +This is a number of a conference that comments to articles should be +sent to if this conference is original flagged. +.TP +.B 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 +.B 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 5 +.B 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 +.B Username +This is the username and machine from the last time the person logged in. +.TP +.B 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 +.B Personal flags +The persons flags are stored here. Anybody that would like to explain +what they do can fill in: +............................................................. +.TP +.B 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 +.B Created text list +This is an array of all created texts beginning at the first local +number. +.TP +.B 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 +.B 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 +.B Last login +Time of the last login. +.TP +.B User area +Number of the text being the persons user area. If there is no user +area this is 0. +.TP +.B Total time present +Time in LysKOM in seconds. +.TP +.B Sessions +Number of logins made for that person. +.TP +.B Created lines +.TP +.B Created bytes +.TP +.B Read texts +Count of read marked texts. +.TP +.B No of fetches +This is the information about how many texts this person has fetched. +Using caching clients this number could increase well beyond +.B Read +.BR texts . +.TP +.B Created persons +Count of created persons. +.TP +.B Created conferences +Count of created conferences. +.SS Text statuses +This contains info about the texts. +.TP 5 +.B Created time +Time this text was created. +.TP +.B Author +Person that wrote this text. +.TP +.B Start +Start pointer for the text in the +.B ramkomd-texts +file. +.TP +.B Number of lines +Length of the text in lines. +.TP +.B Number of chars +Length of the text in chars. +.TP +.B Number of marks +Count of existing marks on this text. +.TP +.B Header list +An array containing info about recipients, +.I comments +.IR to -pointers +etc. Every element is a 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 +.B Last time read +Updated when we mark a text as read in this conference. +.TP +.B Conference number +The number telling what conf. +.TP +.B Priority +Used by the client to determine reading order. +.TP +.B 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 +.B Read texts +An array containing the texts that we have read after the +.B Last text +.BR read . +This is necessary because its possible to read in any order. +.SH BUGS +This is really a joke. Its not a database, not optimal in any way. But +it works. +.PP +The motd-of-lyskom text number is not saved anywhere. This makes the +server forget what text that is when restarting. diff --git a/doc/man/man5/lyskom.5 b/doc/man/man5/lyskom.5 new file mode 100644 index 000000000..242ad9bc5 --- /dev/null +++ b/doc/man/man5/lyskom.5 @@ -0,0 +1,267 @@ +.\" $Id: lyskom.5,v 1.1 1991/08/24 10:07:34 linus Exp $ +.\" $Date: 1991/08/24 10:07:34 $ +.TH ramkom 5 "August 24, 1991" +.SH NAME +ramkom - LysKOM database format +.SH SYNOPSIS +.B /usr/lyskom/db/ramkomd-* +.br +and +.PP +.B /usr/lyskom/etc/pid +.br +.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 +.IR 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 . +I consider them as structs but in this file they are not saved as +structs but every element is save 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. The order they are saved in is +described below. +.PP +An array of things is reprecented 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 5 +.B Name +Name of the conference saved as a holerith string. +.TP +.B Member list +An array of the members in that conference. +.TP +.B 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 +.B 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 +.B first local +.BR number . +.TP +.B 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 +.B Creation time +The time the conference was created. +.TP +.B Last written +The time the last text was sent to the conference. +.TP +.B Creator +The number of the person that has created the conference. This is 0 +for conferences that are created initially. +.TP +.B Presentation +This is the number of the text containing a presentation of the +conference. If there is no presentation this number is 0. +.TP +.B 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 +.B 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 LysKOM are allowed to submit. +.TP +.B Super conference +This is a number of a conference that comments to articles should be +sent to if this conference is original flagged. +.TP +.B 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 +.B 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 5 +.B 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 +.B Username +This is the username and machine from the last time the person logged in. +.TP +.B 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 +.B Personal flags +The persons flags are stored here. Anybody that would like to explain +what they do can fill in: +............................................................. +.TP +.B 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 +.B Created text list +This is an array of all created texts beginning at the first local +number. +.TP +.B 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 +.B 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 +.B Last login +Time of the last login. +.TP +.B User area +Number of the text being the persons user area. If there is no user +area this is 0. +.TP +.B Total time present +Time in LysKOM in seconds. +.TP +.B Sessions +Number of logins made for that person. +.TP +.B Created lines +.TP +.B Created bytes +.TP +.B Read texts +Count of read marked texts. +.TP +.B No of fetches +This is the information about how many texts this person has fetched. +Using caching clients this number could increase well beyond +.B Read +.BR texts . +.TP +.B Created persons +Count of created persons. +.TP +.B Created conferences +Count of created conferences. +.SS Text statuses +This contains info about the texts. +.TP 5 +.B Created time +Time this text was created. +.TP +.B Author +Person that wrote this text. +.TP +.B Start +Start pointer for the text in the +.B ramkomd-texts +file. +.TP +.B Number of lines +Length of the text in lines. +.TP +.B Number of chars +Length of the text in chars. +.TP +.B Number of marks +Count of existing marks on this text. +.TP +.B Header list +An array containing info about recipients, +.I comments +.IR to -pointers +etc. Every element is a 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 +.B Last time read +Updated when we mark a text as read in this conference. +.TP +.B Conference number +The number telling what conf. +.TP +.B Priority +Used by the client to determine reading order. +.TP +.B 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 +.B Read texts +An array containing the texts that we have read after the +.B Last text +.BR read . +This is necessary because its possible to read in any order. +.SH BUGS +This is really a joke. Its not a database, not optimal in any way. But +it works. +.PP +The motd-of-lyskom text number is not saved anywhere. This makes the +server forget what text that is when restarting. diff --git a/doc/man/man5/ramkom.5 b/doc/man/man5/ramkom.5 new file mode 100644 index 000000000..d9e0ff4ee --- /dev/null +++ b/doc/man/man5/ramkom.5 @@ -0,0 +1,267 @@ +.\" $Id: ramkom.5,v 1.1 1991/08/24 10:07:34 linus Exp $ +.\" $Date: 1991/08/24 10:07:34 $ +.TH ramkom 5 "August 24, 1991" +.SH NAME +ramkom - LysKOM database format +.SH SYNOPSIS +.B /usr/lyskom/db/ramkomd-* +.br +and +.PP +.B /usr/lyskom/etc/pid +.br +.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 +.IR 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 . +I consider them as structs but in this file they are not saved as +structs but every element is save 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. The order they are saved in is +described below. +.PP +An array of things is reprecented 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 5 +.B Name +Name of the conference saved as a holerith string. +.TP +.B Member list +An array of the members in that conference. +.TP +.B 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 +.B 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 +.B first local +.BR number . +.TP +.B 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 +.B Creation time +The time the conference was created. +.TP +.B Last written +The time the last text was sent to the conference. +.TP +.B Creator +The number of the person that has created the conference. This is 0 +for conferences that are created initially. +.TP +.B Presentation +This is the number of the text containing a presentation of the +conference. If there is no presentation this number is 0. +.TP +.B 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 +.B 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 LysKOM are allowed to submit. +.TP +.B Super conference +This is a number of a conference that comments to articles should be +sent to if this conference is original flagged. +.TP +.B 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 +.B 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 5 +.B 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 +.B Username +This is the username and machine from the last time the person logged in. +.TP +.B 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 +.B Personal flags +The persons flags are stored here. Anybody that would like to explain +what they do can fill in: +............................................................. +.TP +.B 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 +.B Created text list +This is an array of all created texts beginning at the first local +number. +.TP +.B 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 +.B 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 +.B Last login +Time of the last login. +.TP +.B User area +Number of the text being the persons user area. If there is no user +area this is 0. +.TP +.B Total time present +Time in LysKOM in seconds. +.TP +.B Sessions +Number of logins made for that person. +.TP +.B Created lines +.TP +.B Created bytes +.TP +.B Read texts +Count of read marked texts. +.TP +.B No of fetches +This is the information about how many texts this person has fetched. +Using caching clients this number could increase well beyond +.B Read +.BR texts . +.TP +.B Created persons +Count of created persons. +.TP +.B Created conferences +Count of created conferences. +.SS Text statuses +This contains info about the texts. +.TP 5 +.B Created time +Time this text was created. +.TP +.B Author +Person that wrote this text. +.TP +.B Start +Start pointer for the text in the +.B ramkomd-texts +file. +.TP +.B Number of lines +Length of the text in lines. +.TP +.B Number of chars +Length of the text in chars. +.TP +.B Number of marks +Count of existing marks on this text. +.TP +.B Header list +An array containing info about recipients, +.I comments +.IR to -pointers +etc. Every element is a 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 +.B Last time read +Updated when we mark a text as read in this conference. +.TP +.B Conference number +The number telling what conf. +.TP +.B Priority +Used by the client to determine reading order. +.TP +.B 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 +.B Read texts +An array containing the texts that we have read after the +.B Last text +.BR read . +This is necessary because its possible to read in any order. +.SH BUGS +This is really a joke. Its not a database, not optimal in any way. But +it works. +.PP +The motd-of-lyskom text number is not saved anywhere. This makes the +server forget what text that is when restarting. -- GitLab