lyskom.5 8.89 KB
Newer Older
1
.\" $Id: lyskom.5,v 1.6 1996/06/09 13:49:08 byers Exp $
Linus Tolke's avatar
Linus Tolke committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.\" 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. 
.\"
24
25
.\" $Id: lyskom.5,v 1.6 1996/06/09 13:49:08 byers Exp $
.\" $Date: 1996/06/09 13:49:08 $
Per Cederqvist's avatar
Per Cederqvist committed
26
.TH lyskom 5 "August 24, 1991"
Linus Tolke's avatar
Linus Tolke committed
27
.SH NAME
Per Cederqvist's avatar
Per Cederqvist committed
28
lyskom - LysKOM 
Linus Tolke's avatar
Linus Tolke committed
29
30
.I database
format
Linus Tolke's avatar
Linus Tolke committed
31
.SH SYNOPSIS
Per Cederqvist's avatar
Per Cederqvist committed
32
.B /usr/lyskom/db/lyskomd-*
Linus Tolke's avatar
Linus Tolke committed
33
34
35
.br
and
.br
36
37
.B /usr/lyskom/etc/pid
.PP
Linus Tolke's avatar
Linus Tolke committed
38
.B #include <lyskom/kom-types.h>
39
40
41
.SH WARNING
This file and the data format it describes are obsolete starting with
version 1.9 of lyskomd. 
Linus Tolke's avatar
Linus Tolke committed
42
43
44
45
46
47
48
.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
Per Cederqvist's avatar
Per Cederqvist committed
49
.RB ( lyskomd-data ).
Linus Tolke's avatar
Linus Tolke committed
50
And one with all texts 
Per Cederqvist's avatar
Per Cederqvist committed
51
.RB ( lyskomd-texts ).
Linus Tolke's avatar
Linus Tolke committed
52
53
54
55
56
57
58
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
Per Cederqvist's avatar
Per Cederqvist committed
59
60
.BR lyskomd (8)
proglys will try to find the backupfile instead.
Linus Tolke's avatar
Linus Tolke committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
.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 .
93
94
95
96
97
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.
Linus Tolke's avatar
Linus Tolke committed
98
.PP
99
An array of things is represented in the database by a number telling
Linus Tolke's avatar
Linus Tolke committed
100
101
102
103
104
105
106
107
108
109
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.
Linus Tolke's avatar
Linus Tolke committed
110
.TP 15
111
.I Name
Linus Tolke's avatar
Linus Tolke committed
112
113
Name of the conference saved as a holerith string.
.TP
Linus Tolke's avatar
Linus Tolke committed
114
.I Member list
Linus Tolke's avatar
Linus Tolke committed
115
116
An array of the members in that conference.
.TP
Linus Tolke's avatar
Linus Tolke committed
117
.I First local number
Linus Tolke's avatar
Linus Tolke committed
118
119
120
121
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
Linus Tolke's avatar
Linus Tolke committed
122
.I Texts
Linus Tolke's avatar
Linus Tolke committed
123
124
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
Linus Tolke's avatar
Linus Tolke committed
125
126
.I first local
.IR number .
Linus Tolke's avatar
Linus Tolke committed
127
.TP
Linus Tolke's avatar
Linus Tolke committed
128
.I Type
Linus Tolke's avatar
Linus Tolke committed
129
130
131
132
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
Linus Tolke's avatar
Linus Tolke committed
133
.I Creation time
Linus Tolke's avatar
Linus Tolke committed
134
135
The time the conference was created.
.TP
Linus Tolke's avatar
Linus Tolke committed
136
.I Last written
Linus Tolke's avatar
Linus Tolke committed
137
138
The time the last text was sent to the conference.
.TP
Linus Tolke's avatar
Linus Tolke committed
139
.I Creator
Linus Tolke's avatar
Linus Tolke committed
140
141
142
The number of the person that has created the conference. This is 0
for conferences that are created initially.
.TP
Linus Tolke's avatar
Linus Tolke committed
143
.I Presentation
Linus Tolke's avatar
Linus Tolke committed
144
145
146
This is the number of the text containing a presentation of the
conference. If there is no presentation this number is 0.
.TP
Linus Tolke's avatar
Linus Tolke committed
147
.I Supervisor
Linus Tolke's avatar
Linus Tolke committed
148
149
150
151
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
Linus Tolke's avatar
Linus Tolke committed
152
.I Permitted submitters
Linus Tolke's avatar
Linus Tolke committed
153
154
This is the number of the conference whose members are allowed to
submit texts to this conference. If this is 0 (the default) all
155
156
157
persons i 
.B LysKOM
are allowed to submit.
Linus Tolke's avatar
Linus Tolke committed
158
.TP
Linus Tolke's avatar
Linus Tolke committed
159
.I Super conference
Linus Tolke's avatar
Linus Tolke committed
160
161
162
This is a number of a conference that comments to articles should be
sent to if this conference is original flagged.
.TP
Linus Tolke's avatar
Linus Tolke committed
163
.I Message of the day
Linus Tolke's avatar
Linus Tolke committed
164
165
166
167
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
Linus Tolke's avatar
Linus Tolke committed
168
.I Garb nice
Linus Tolke's avatar
Linus Tolke committed
169
170
171
172
173
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.
Linus Tolke's avatar
Linus Tolke committed
174
175
.TP 15
.I Password
Linus Tolke's avatar
Linus Tolke committed
176
177
178
179
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
Linus Tolke's avatar
Linus Tolke committed
180
.I Username
Linus Tolke's avatar
Linus Tolke committed
181
182
This is the username and machine from the last time the person logged in.
.TP
Linus Tolke's avatar
Linus Tolke committed
183
.I Privileges
Linus Tolke's avatar
Linus Tolke committed
184
185
186
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
Linus Tolke's avatar
Linus Tolke committed
187
188
.I Personal flags
The persons flags are stored here.
Linus Tolke's avatar
Linus Tolke committed
189
.TP
Linus Tolke's avatar
Linus Tolke committed
190
.I First local number
Linus Tolke's avatar
Linus Tolke committed
191
192
193
This is the local number of the first created text that still exists
in the database. Its local to this list.
.TP
Linus Tolke's avatar
Linus Tolke committed
194
.I Created text list
Linus Tolke's avatar
Linus Tolke committed
195
196
197
This is an array of all created texts beginning at the first local
number.
.TP
Linus Tolke's avatar
Linus Tolke committed
198
.I Marked texts
Linus Tolke's avatar
Linus Tolke committed
199
200
201
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
Linus Tolke's avatar
Linus Tolke committed
202
.I Membership
Linus Tolke's avatar
Linus Tolke committed
203
204
Here is the information about which conferences the person is member
in. Its an array where every element is of the type 
205
.B Membership
Linus Tolke's avatar
Linus Tolke committed
206
207
(See below).
.TP
Linus Tolke's avatar
Linus Tolke committed
208
.I Last login
Linus Tolke's avatar
Linus Tolke committed
209
210
Time of the last login.
.TP
Linus Tolke's avatar
Linus Tolke committed
211
.I User area
Linus Tolke's avatar
Linus Tolke committed
212
213
214
Number of the text being the persons user area. If there is no user
area this is 0.
.TP
Linus Tolke's avatar
Linus Tolke committed
215
.I Total time present
216
217
218
Time in 
.B LysKOM
in seconds.
Linus Tolke's avatar
Linus Tolke committed
219
.TP
Linus Tolke's avatar
Linus Tolke committed
220
.I Sessions
Linus Tolke's avatar
Linus Tolke committed
221
222
Number of logins made for that person.
.TP
Linus Tolke's avatar
Linus Tolke committed
223
.I Created lines
Linus Tolke's avatar
Linus Tolke committed
224
.TP
Linus Tolke's avatar
Linus Tolke committed
225
.I Created bytes
Linus Tolke's avatar
Linus Tolke committed
226
.TP
Linus Tolke's avatar
Linus Tolke committed
227
.I Read texts
Linus Tolke's avatar
Linus Tolke committed
228
229
Count of read marked texts.
.TP
Linus Tolke's avatar
Linus Tolke committed
230
.I No of fetches
Linus Tolke's avatar
Linus Tolke committed
231
232
This is the information about how many texts this person has fetched.
Using caching clients this number could increase well beyond
Linus Tolke's avatar
Linus Tolke committed
233
234
.I Read 
.IR texts .
Linus Tolke's avatar
Linus Tolke committed
235
.TP
Linus Tolke's avatar
Linus Tolke committed
236
.I Created persons
Linus Tolke's avatar
Linus Tolke committed
237
238
Count of created persons.
.TP 
Linus Tolke's avatar
Linus Tolke committed
239
.I Created conferences
Linus Tolke's avatar
Linus Tolke committed
240
241
242
Count of created conferences.
.SS Text statuses
This contains info about the texts.
Linus Tolke's avatar
Linus Tolke committed
243
244
.TP 15
.I Created time
Linus Tolke's avatar
Linus Tolke committed
245
246
Time this text was created.
.TP
Linus Tolke's avatar
Linus Tolke committed
247
.I Author
Linus Tolke's avatar
Linus Tolke committed
248
249
Person that wrote this text.
.TP
Linus Tolke's avatar
Linus Tolke committed
250
.I Start
Linus Tolke's avatar
Linus Tolke committed
251
Start pointer for the text in the
Per Cederqvist's avatar
Per Cederqvist committed
252
.I lyskomd-texts
Linus Tolke's avatar
Linus Tolke committed
253
254
file.
.TP
Linus Tolke's avatar
Linus Tolke committed
255
.I Number of lines
Linus Tolke's avatar
Linus Tolke committed
256
257
Length of the text in lines.
.TP
Linus Tolke's avatar
Linus Tolke committed
258
.I Number of chars
Linus Tolke's avatar
Linus Tolke committed
259
260
Length of the text in chars.
.TP
Linus Tolke's avatar
Linus Tolke committed
261
.I Number of marks
Linus Tolke's avatar
Linus Tolke committed
262
263
Count of existing marks on this text.
.TP
Linus Tolke's avatar
Linus Tolke committed
264
265
266
.I Header list
An array containing info about 
.IR recipients ,
Linus Tolke's avatar
Linus Tolke committed
267
268
.I comments
.IR to -pointers
Linus Tolke's avatar
Linus Tolke committed
269
270
etc. Every element is a 
.IR Misc_info .
Linus Tolke's avatar
Linus Tolke committed
271
272
273
274
.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
Linus Tolke's avatar
Linus Tolke committed
275
.I Last time read
Linus Tolke's avatar
Linus Tolke committed
276
277
Updated when we mark a text as read in this conference.
.TP
Linus Tolke's avatar
Linus Tolke committed
278
.I Conference number
Linus Tolke's avatar
Linus Tolke committed
279
280
The number telling what conf.
.TP
Linus Tolke's avatar
Linus Tolke committed
281
.I Priority
Linus Tolke's avatar
Linus Tolke committed
282
283
Used by the client to determine reading order.
.TP
Linus Tolke's avatar
Linus Tolke committed
284
.I Last text read
Linus Tolke's avatar
Linus Tolke committed
285
286
287
288
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
Linus Tolke's avatar
Linus Tolke committed
289
.I Read texts
Linus Tolke's avatar
Linus Tolke committed
290
An array containing the texts that we have read after the 
Linus Tolke's avatar
Linus Tolke committed
291
292
.I Last text 
.IR read .
Linus Tolke's avatar
Linus Tolke committed
293
This is necessary because its possible to read in any order.
294
295
.SH FILES
.TP 20
Per Cederqvist's avatar
Per Cederqvist committed
296
.IB database-directory /db/lyskomd-data
297
298
File with all the elements and pointers.
.TP
Per Cederqvist's avatar
Per Cederqvist committed
299
.IB database-directory /db/lyskomd-texts
300
301
302
303
304
File with the texts.
.TP
.IB database-directory /etc/pid
File with the pid of the lyskom-process.
.TP
Per Cederqvist's avatar
Per Cederqvist committed
305
.IB database-directory /db/lyskomd-backup
306
307
Backup file with all data.
.SH "SEE ALSO"
Per Cederqvist's avatar
Per Cederqvist committed
308
.BR lyskomd (8),
309
.BR dbck (8)
Linus Tolke's avatar
Linus Tolke committed
310
311
312
313
.SH BUGS
This is really a joke. Its not a database, not optimal in any way. But
it works.
.PP
314
315
316
The 
.I message of the day
text number is not saved anywhere. This makes the
Linus Tolke's avatar
Linus Tolke committed
317
server forget what text that is when restarting.
318
319
320
.SH NOTES
This will soon disapear and be replaced by something more bazaarly
inexplicable.