diff --git a/doc/prot-A.txt b/doc/prot-A.txt index 7f025bca7c99a835419b69af0008f05f0b3c2863..c9ad3e48488bf517383269afcf39fdfa15964d50 100644 --- a/doc/prot-A.txt +++ b/doc/prot-A.txt @@ -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. + ! 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 + ! 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. + ! 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. + ! 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. + ! 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. + ! 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 + ! 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 @@ -759,7 +759,7 @@ commands : RPC ( ! 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. + ! Samma effekt nås genom kill -HUP mot servern. 33=sub-comment params : ( comment : Text-No; @@ -775,7 +775,7 @@ commands : RPC ( params : ( conf-no : Conf-No; pers-no : Pers-No; ) ; - ! Subtrahera angiven person som medlem i angivet m|te. + ! Subtrahera angiven person som medlem i angivet möte. 31=sub-recipient params : ( text-no : Text-No; @@ -787,7 +787,7 @@ commands : RPC ( ; ; ! Make LysKOM sync its files. This is a privileged call. - ! Samma effekt n}s med kill -SIGUSR1 mot servern. + ! Samma effekt nås med kill -SIGUSR1 mot servern. 56=who-am-i ; @@ -796,16 +796,16 @@ commands : RPC ( 39=who-is-on-old ; result : Who-Info-List-Old; - ! Anrop nummer 39 {r ersatt av anrop 51, vars svar ger + ! 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. + ! Svaret är en lista med information om nu aktiva sessioner. ) -De anrop vars nummer i listan nedan f|ljs av en asterisk (*) {r +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. @@ -846,21 +846,21 @@ Elisp-klienten. 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 +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-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. +! 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 }" @@ -892,10 +892,10 @@ 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 + 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 ) @@ -905,8 +905,8 @@ 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. + ! Servern ger sig inte på att tolka markeringstypen, + ! det är helt upp till klienten. Mark-List ::= ARRAY Mark; @@ -932,9 +932,9 @@ Misc-Info ::= SELECTION ( 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 + 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; @@ -964,17 +964,17 @@ Person ::= ( Personal-Flags ::= BITSTRING ( unread-is-secret; - ! V{rdet 1 betyder att antalet ol{sta texter h}lls hemligt + ! 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. +! 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 är väldigt likt Who-Info. Session-Info ::= ( person : Pers-No; working-conference : Conf-No; @@ -982,8 +982,8 @@ Session-Info ::= ( 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 + 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 @@ -1015,7 +1015,7 @@ Time ::= ( mday : INTEGER; ! 1 ... 31 month : INTEGER; ! jan = 0 ... dec = 11 year : INTEGER; ! Sedan 1900 - weekday : INTEGER; ! s|n = 0 ... SAT = 6 + weekday : INTEGER; ! sön = 0 ... SAT = 6 yearday : INTEGER; ! 0 ... 365 isdst : INTEGER; ! positivt = sommartid, 0 = normaltid ) @@ -1041,16 +1041,16 @@ 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. +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 + 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 @@ -1060,8 +1060,8 @@ det r}a protokollet ser ut. :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 + ! 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