Commit d6506493 authored by Linus Tolke's avatar Linus Tolke
Browse files

Iso-chars.

parent b2cbc951
......@@ -11,35 +11,35 @@
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.
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
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.
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:
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.
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:
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
......@@ -52,65 +52,65 @@ och utseende n{r du l{ser detta. S} h{r hette de den 3 juni 1991:
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.
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
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.
BLISS). Semikolon används som i C. De grundläggande typerna och deras
notation beskrivs härnäst.
Grundl{ggande datatyper
Grundläggande datatyper
Dataelementen som skickas med protokollet }tskiljs av (godtyckliga
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
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.
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.
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
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
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:
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".
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 (
......@@ -118,10 +118,10 @@ Exempel:
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:
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;
......@@ -131,33 +131,33 @@ svaret. Selectornumret skickas bara tillsammans med fr}gan. Exempel:
! 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
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
En session börjar alltid med en uppkoppling, där klienten väljer
protokoll genom att skicka en
uppkopplingsbeg{ran : ( "A"; loginnamn : HOLLERITH; )
uppkopplingsbegäran : ( "A"; loginnamn : HOLLERITH; )
vilken besvaras fr}n servern av en
vilken besvaras från servern av en
uppkopplingsbekr{ftelse : "LysKOM\n"
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.
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 : (
fråga : (
ref-no : INTEGER;
commands-call;
)
som, om allt g}r som det skall, besvaras fr}n servern med
som, om allt går som det skall, besvaras från servern med
ok-return : (
"=";
......@@ -165,7 +165,7 @@ som, om allt g}r som det skall, besvaras fr}n servern med
commands-return;
)
eller, om n}got misslyckades, med
eller, om något misslyckades, med
error-return : (
"%";
......@@ -174,69 +174,69 @@ eller, om n}got misslyckades, med
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
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ä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
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
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
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
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
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 Sätta supermöte
5 Radera texter
6 S{tta administrat|r
6 Sätta administratör
------------------------------------------------------
statistic Normalt ej tilldelad
2 L{sa statistikdelarna av Person-structen,
{ven om de {r skyddade.
2 Läsa statistikdelarna av Person-structen,
även om de är skyddade.
------------------------------------------------------
create_conf Normalt tilldelad
0 Skapa m|ten
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
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.
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
......@@ -264,7 +264,7 @@ ordning strax efter}t.
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.
! 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.
......@@ -319,14 +319,14 @@ ordning strax efter}t.
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
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}.
sorterad lista följer strax därpå.
asynk-meddelande ::= (
......@@ -338,17 +338,17 @@ asynk-meddelande ::= (
! 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.
! 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
! 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
! det hur som helst är taget ur bruk och ersatt av
! asynkrona anropet nummer 9.
3=conf-deleted ! Anv ej av Elispklienten
......@@ -359,7 +359,7 @@ asynk-meddelande ::= (
( conf-no : Conf-No;
old-name : HOLLERITH;
new-name : HOLLERITH; )
! G}r {ven under namnet "new-name" (i C-koden).
! Går även under namnet "new-name" (i C-koden).
6=i-am-on info : Who-Info;
7=database-is-syncing
......@@ -372,22 +372,22 @@ asynk-meddelande ::= (
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.
! 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
! 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.
! 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
! 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
......@@ -397,8 +397,8 @@ asynk-meddelande ::= (
)
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.
anropet ersatts av något annat. Se ovan under respektive anrop för
närmare beskrivning.
Nr Asynkront anrop Nr Asynkront anrop
------------------------------------------------------
......@@ -416,16 +416,16 @@ n{rmare beskrivning.
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.
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
! Datayp för anropsparameter
! Datatyp för returvärde
32=add-comment
params : ( comment : Text-No;
......@@ -444,11 +444,11 @@ commands : RPC (
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.
! 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.
......@@ -462,21 +462,21 @@ commands : RPC (
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.
! 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.
! 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.
! se även anropet nummer 51.
10=create-conf
params : ( name : HOLLERITH;
......@@ -487,7 +487,7 @@ commands : RPC (
create-person-params : ( name : HOLLERITH;
passwd : HOLLERITH; )
Pers-No;
! En ny person skapas med angivet namn och l|senord.
! En ny person skapas med angivet namn och lösenord.
! Den skapade personens personnummer returneras.
28=create-text
......@@ -500,7 +500,7 @@ commands : RPC (
11=delete-conf
conf : Conf-No;
;
! Utpl}na ett m|te eller en person.
! Utplåna ett möte eller en person.
29=delete-text
Text-No;
......@@ -523,17 +523,17 @@ commands : RPC (
50=get-conf-stat
conf-no : Conf-No;
result : Conference;
! Returnera m|tesstatus f|r angivet m|te
! 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,
! 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:
! 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
......@@ -572,16 +572,16 @@ commands : RPC (
49=get-person-stat
person : Pers-No;
result : Person;
! Personstatusen f|r den angivna personen returneras.
! 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,
! 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)
! 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
......@@ -625,8 +625,8 @@ commands : RPC (
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.
! 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
......@@ -644,45 +644,45 @@ commands : RPC (
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.
! 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.
! 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.
! 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.
! 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
! 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.
! 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.
! 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.
! Inlägg i mötet conf-no sparas i nice dagar innan de raderas.
41=set-motd-of-lyskom
motd : Text-No;
......@@ -696,61 +696,61 @@ commands : RPC (
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).
! 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.
! 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.
! Ändra presentationen för angivet möte eller person.