Commit a1b16e84 authored by Per Cederqvist's avatar Per Cederqvist
Browse files

(@req, @aux, @async, @type, @priv, @conftype, @misc, @rarg, @aarg)

(@errorcode, @field): New Texinfo macros.  Use them where appropriate.
parent ec05cb0f
......@@ -2,7 +2,7 @@
@c
@c FIXME: Explain how the garb works with nice and keep-commented
@c
@c $Id: Protocol-A.texi,v 1.108 2001/04/16 10:06:25 ceder Exp $
@c $Id: Protocol-A.texi,v 1.109 2001/04/16 18:06:17 ceder Exp $
@c %**start of header
@setfilename protocol-a.info
@settitle LysKOM Protocol A
......@@ -14,6 +14,64 @@
@set PROTOVER 10
@set VERSION 1.0.4
@c @req{login} is used for protocol requests.
@macro req {n}
@code{\n\}
@end macro
@c @aux{mx-allow-filter} is used for aux-item names.
@macro aux {n}
@code{\n\}
@end macro
@c @async{async-login} is used for async names.
@macro async {n}
@code{\n\}
@end macro
@c @type{Conference} is used for LysKOM types.
@macro type {n}
@code{\n\}
@end macro
@c @priv{wheel} is used for privilege bits.
@macro priv {n}
@code{\n\}
@end macro
@c @conftype{rd-prot} is used for conference type bits.
@macro conftype {n}
@code{\n\}
@end macro
@c @misc{bcc-recpt} is used for misc-info names.
@macro misc {n}
@code{\n\}
@end macro
@c @rarg{passwd} is used to reference arguments of requests. This is
@c *only* used in the nodes that defines the requests.
@macro rarg {n}
@code{\n\}
@end macro
@c @aarg{text-no} is used to reference arguments of asynchronous
@c messages. This is *only* used in the nodes that defines the
@c relevant asynchronous message.
@macro aarg {n}
@code{\n\}
@end macro
@c @errorcode{no-such-text} is used to mark error codes.
@macro errorcode {n}
@code{\n\}
@end macro
@c @field{ident-user} is used to mark fields of struct types.
@macro field {n}
@code{\n\}
@end macro
@ifinfo
This is the LysKOM Protocol A specification, edition
@value{PROTOEDITION}. It specifies version @value{PROTOVER} of the
......@@ -190,9 +248,9 @@ Editorial changes needed to publish an online version on the web at
@item 10.3: 2000-09-09
Several aux-items can be set on letterboxes and not only conferences. A
few can now be set on the server. The @code{allowed-content-type} and
@code{recommended-conf} aux-items were added. The
@code{mx-allow-filter} and @code{mx-reject-forward} aux-items are marked
few can now be set on the server. The @aux{allowed-content-type} and
@aux{recommended-conf} aux-items were added. The
@aux{mx-allow-filter} and @aux{mx-reject-forward} aux-items are marked
obsolete. Text regarding mail import was improved, based on actual
experience in writing an email importer. Reserved a range of aux-items
for komimportmail. Several minor corrections and clarifications made.
......@@ -203,7 +261,7 @@ Some typos and other minor errors were fixed. Distributed with lyskomd
2.0.2.
@item 10.1: 1999-07-12
Call @code{sub-comment} was incorrectly marked obsolete. This has been
Call @req{sub-comment} was incorrectly marked obsolete. This has been
corrected. Regexps are case sensitive. The Info-Type enumeration was
introduced in the description of the protocol. (Previous versions of
the protocol had broken definitions of add-recipient,
......@@ -213,7 +271,7 @@ async-new-recipient and async-sub-recipient.) Distributed with lyskomd
@item 10.0: 1999-06-27
The specification was translated to English and converted to Texinfo by
David Byers. Protocol version 10. Distributed with lyskomd 2.0.0.
Note: this edition incorrectly marked the @code{sub-comment} call as
Note: this edition incorrectly marked the @req{sub-comment} call as
obsolete, and stated that regexp lookup was case insensitive. Both
statements were wrong, and has since been fixed.
......@@ -386,7 +444,7 @@ and membership types. The magic is documented with each call.
@table @asis
@item New functionality
@itemize @bullet
@item The server shall now reply with error @code{not-implemented} when
@item The server shall now reply with error @errorcode{not-implemented} when
a client attempts to use an unimplemented call. This feature requires
that the client uses newline as call terminator.
@end itemize
......@@ -401,13 +459,13 @@ that the client uses newline as call terminator.
@end itemize
@item Changed names
@itemize @bullet
@item @code{change-conference} was previously called @code{pepsi}. The
@item @req{change-conference} was previously called @code{pepsi}. The
name was changed, but not the functionality.
@end itemize
@item Status change
@itemize @bullet
@item 63=@code{who-is-on-ident} is now considered obsolete.
@item 64=@code{get-session-info-ident} is now considered obsolete.
@item 63=@req{who-is-on-ident} is now considered obsolete.
@item 64=@req{get-session-info-ident} is now considered obsolete.
@end itemize
@end table
......@@ -417,11 +475,11 @@ name was changed, but not the functionality.
@item Added Functionality
@itemize @bullet
@item
30=add-recipient: Can change recpt to cc_recpt and vice versa.
30=add-recipient: Can change @misc{recpt} to @misc{cc-recpt} and vice versa.
@item
21=set-conf-type: Accepts Conf-Type and Extended-Conf-Type.
21=set-conf-type: Accepts @type{Conf-Type} and @type{Extended-Conf-Type}.
@item
10=create-conf: Accepts Conf-Type and Extended-Conf-Type.
10=create-conf: Accepts @type{Conf-Type} and @type{Extended-Conf-Type}.
@end itemize
@item New Commands
......@@ -550,12 +608,12 @@ its data elements.
Data fields have been given names that start with a lower-case letter.
Fundamental data types have names in all-caps (such as @code{INT32} and
@code{ARRAY}).
Fundamental data types have names in all-caps (such as @type{INT32} and
@type{ARRAY}).
Derived data types have names that start with an upper-case letter. (If
the type contains more than one word, all words start with an upper-case
letter, like this: @code{Text-Stat}.) The operator @code{::=} defines
letter, like this: @type{Text-Stat}.) The operator @code{::=} defines
the name to its left.
Comments start with @code{!} (exclamation mark) and alternatives are
......@@ -585,18 +643,18 @@ conferences and sessions.
@node Articles
@section Articles
An article is represented as a value of the type @code{Text-Stat} and a
An article is represented as a value of the type @type{Text-Stat} and a
string containing the article contents. An article will usually have one
or more recipients and may be a comment or footnote to other articles.
Each article is kept in the database until it is older than the
@code{nice} value of each of its recipients and it is not marked by any
@field{nice} value of each of its recipients and it is not marked by any
user.
Currently there is a structure called a @code{Misc-Info-List} associated
with the @code{Text-Stat}. This list contains information about
recipients, senders, comments and footnotes. In the future the
information contained in the @code{Misc-Info-List} will be integrated
into the @code{Text-Stat}.
Currently there is an array of @type{Misc-Info} included in the
@type{Text-Stat}. This array contains information about recipients,
senders, comments and footnotes. In the future the information
contained in the @type{Misc-Info} array will be integrated into the
@type{Text-Stat}.
Every article has at least one number, the global article number. Global
numbers are assigned in ascending order to new articles, and are never
......@@ -608,7 +666,7 @@ and are never reused for a particular recipient, though different
recipients will have articles with the same local numbers.
Occasionally it is necessary to map between local and global numbers.
The server call @code{local-to-global} does this.
The server call @req{local-to-global} does this.
......@@ -616,22 +674,22 @@ The server call @code{local-to-global} does this.
@section Conferences
Conferences hold articles. They are represented in the protocol as a
data type called @code{Conference}. Each conference has a
@emph{creator}, the person who created the conference, and a
@emph{supervisor}, a conference whose members can modify the conference.
data type called @type{Conference}. Each conference has a
@dfn{creator}, the person who created the conference, and a
@dfn{supervisor}, a conference whose members can modify the conference.
If the supervisor is a person, the members of that person's mailbox
are supervisors, which in most cases is only that person. We have also
introduced a type called @code{UConference} (pronounced micro-conf-stat)
introduced a type called @type{UConference} (pronounced micro-conf-stat)
which holds a subset of the information contained in the full
@code{Conference} type. Use the @code{UConference} type whenever
@type{Conference} type. Use the @type{UConference} type whenever
possible since it places a much smaller load on the LysKOM server.
Each conference has a type, which is essentially a collection of boolean
flags. Currently the flags @code{rd-prot}, @code{letterbox},
@code{secret}, @code{original}, @code{allow-anonymous} and
@code{forbid-secret} are defined.
Each conference has a type, which is essentially a collection of
boolean flags. Currently the flags @conftype{rd-prot},
@conftype{letterbox}, @conftype{secret}, @conftype{original},
@conftype{allow-anonymous} and @conftype{forbid-secret} are defined.
@table @code
@table @conftype
@item rd-prot
The conference is protected from reading by non-members. Persons become
members by having one of the existing members or supervisors add him or
......@@ -670,14 +728,14 @@ changed to this type, preexisting secret members remain secret.
@subsection Persons and Sessions
Persons are represented in the protocol by values of the type
@code{Person}. Associated with persons are statistics, a set of personal
@type{Person}. Associated with persons are statistics, a set of personal
flags and a set of privileges (@pxref{Security}.) Persons are also
associated with a conference that has the same number as the person and
the @code{letterbox} bit set.
the @conftype{letterbox} bit set.
Connections to the server are represented as values of the type
@code{Static-Session-Info}, @code{Session-Info-Ident} or
@code{Session-Info}. Sessions have session number that are unique for
@type{Static-Session-Info}, @type{Session-Info-Ident} or
@type{Session-Info}. Sessions have session number that are unique for
each session in the lifetime of the server execution. A single user can
have several sessions running at once. The session is not released until
the network connection is closed; a user can log in and out repeatedly
......@@ -687,7 +745,7 @@ in a single session.
@node The Misc-Info List
@section The Misc-Info List
The @code{Misc-Info} list contains tagged data. The fields are sent in
The @type{Misc-Info} list contains tagged data. The fields are sent in
groups pertaining to a particular type of information: information about
recipient; carbon copy recipient; blank carbon copy recipient;
comment to; footnote to; comment in
......@@ -697,14 +755,14 @@ always sent in the order listed below.
@subsection Recipient
@table @code
@table @misc
@item recpt
Starts a recipient group. It contains the conference number of a
recipient of the article.
@item loc-no
Always present within a recipient group. It contains the local text
number of the article in the conference specified by the preceding
@code{recpt} field.
@misc{recpt} field.
@item rec-time
If the recipient is a person, this element is added by the server when
the recipient marks the article as read. It contains the time when the
......@@ -727,14 +785,14 @@ or carbon-copy recipient are treated. A comment to an article is sent to
all recipients, but not to carbon-copy recipients of the original
article. This difference is enforced by the clients.
@table @code
@table @misc
@item cc-recpt
Starts a carbon-copy recipient group. It contains the conference number
of a carbon-copy recipient of the article.
@item loc-no
Always present in a CC recipient group. It contains the local text
number of the article in the conference specified by the most recent
@code{cc-recpt} field.
@misc{cc-recpt} field.
@item rec-time
Present after the CC recipient has read the article. It contains the
time when the article was read. Since only persons can read articles
......@@ -770,14 +828,14 @@ old-style calls such as get-text-stat-old (@pxref{get-text-stat-old})
are used this will be converted to a CC recipient group by the server
for the benefit of clients that don't understand this group.
@table @code
@table @misc
@item bcc-recpt
Starts a blank carbon-copy recipient group. It contains the conference
number of a blank carbon-copy recipient of the article.
@item loc-no
Always present in a BCC recipient group. It contains the local text
number of the article in the conference specified by the most recent
@code{bcc-recpt} field.
@misc{bcc-recpt} field.
@item rec-time
Present after the BCC recipient has read the article. It contains the
time when the article was read. Since only persons can read articles
......@@ -794,7 +852,7 @@ created. It is the time when the BCC recipient was added.
@subsection Comment To
@table @code
@table @misc
@item comm-to
Always present when the article is a comment to another article.
@item sent-by
......@@ -809,7 +867,7 @@ been created. It contains the time when it was added as a comment.
@subsection Footnote To
@table @code
@table @misc
@item footn-to
Always present when the article is a footnote to another article.
@item sent-at
......@@ -820,7 +878,7 @@ been created. It contains the time when it was added as a footnote.
@subsection Comment in
@table @code
@table @misc
@item comm-in
Present when there are comments to this article. It contains the article
number which is a comment to this article.
......@@ -829,7 +887,7 @@ number which is a comment to this article.
@subsection Footnote in
@table @code
@table @misc
@item footn-in
Present when there are footnotes to this article. It contains the
article number which is a footnote to this article.
......@@ -903,7 +961,7 @@ return an error (illegal-aux-item.)
Some of the aux-items below (mostly the ones that begin with "mx-") are
used by mail importers. For information about supplementary aux-items
introduced by @code{komimportmail}, see @ref{komimportmail Aux-Item Types}.
introduced by @command{komimportmail}, see @ref{komimportmail Aux-Item Types}.
@table @samp
@item content-type [1] (text)
......@@ -1074,7 +1132,7 @@ set, it cannot be removed or changed. A typical value would be
optional.
The data should be the client name, a space, and the client version used
in the @code{set-client-version} call. The server may enforce this
in the @req{set-client-version} call. The server may enforce this
restriction.
@item mx-author [16] (text)
......@@ -1096,8 +1154,8 @@ Data is the proper e-mail address (called @code{addr-spec} in the mail
standards) extracted from the @code{From} header of an imported
e-mail.
Clients should display this address together with the mx-author,
preferably inside angles. If mx-author is not present, this address
Clients should display this address together with the @aux{mx-author},
preferably inside angles. If @aux{mx-author} is not present, this address
should be shown anyway. It can also be used by clients to construct an
address for personal (e-mail) replies to an imported message.
......@@ -1115,7 +1173,7 @@ messages.
@item mx-to [19] (text)
Data is a single e-mail address from an email @code{To} header.
Multiple @code{mx-to} items may be present when multiple recipients are
Multiple @aux{mx-to} items may be present when multiple recipients are
specified in the header. Clients should display these items along
with the normal LysKOM recipient headers.
......@@ -1124,7 +1182,7 @@ Sample contents: Both @code{john.q.public@@example.com} and
@item mx-cc [20] (text)
Same as @code{mx-to}, but applies to the @code{CC} header rather than
Same as @aux{mx-to}, but applies to the @code{CC} header rather than
the @code{To} header.
@item mx-date [21] (text)
......@@ -1161,7 +1219,7 @@ of the imported e-mail, but it could also have been picked from the end
of the @code{References} header line.
If the text really comments more than one other text directly,
it is allowed to attach more than one @code{mx-in-reply-to} items to
it is allowed to attach more than one @aux{mx-in-reply-to} items to
it.
@item mx-misc [24] (text)
......@@ -1232,28 +1290,28 @@ should be prepared to hande them correctly.
This is a recommendation only; it is up to the client that creates a new
person to also add him to the conferences that are specified via
@code{recommended-conf}.
@aux{recommended-conf}.
@item allowed-content-type [30] (conference, letterbox, server)
Data is a non-negative decimal priority number, followed by a space,
followed by a LysKOM content type glob pattern. Clients should send
texts to a conference only if the content-type matches any of the
@code{allowed-content-type} glob patterns of that conference.
@aux{allowed-content-type} glob patterns of that conference.
If the conference doesn't have any @code{allowed-content-type}, the
@code{allowed-content-type} items of the server should be used. If the
server also has no @code{allowed-content-type} aux-items, it should be
interpreted as if a single @code{allowed-content-type} aux-item with the
If the conference doesn't have any @aux{allowed-content-type}, the
@aux{allowed-content-type} items of the server should be used. If the
server also has no @aux{allowed-content-type} aux-items, it should be
interpreted as if a single @aux{allowed-content-type} aux-item with the
value @samp{1 text/plain} exists.
If there are @code{allowed-content-type} aux-items with different
If there are @aux{allowed-content-type} aux-items with different
priority numbers, it is a hint to the client about which content-type is
most desirable. Content-types that matches a lower priority number are
preferred.
As an example, consider a conference with the following four
@code{allowed-content-type} aux-items:
@aux{allowed-content-type} aux-items:
@example
1 text/plain
......@@ -1305,7 +1363,7 @@ group.
@node komimportmail Aux-Item Types
@subsubsection komimportmail Aux-Item Types
During the design and implementation of the @code{komimportmail} mail
During the design and implementation of the @command{komimportmail} mail
importer, some new aux-items were defined to solve specific problems.
These aux-items are documented here:
......@@ -1388,15 +1446,14 @@ much less painful process than adding new calls.
@node Security
@section Security
Security in LysKOM is based on two components. Each person has a set of
privileges and each session has a security level. Rights in the system
require both the sufficient privileges and a sufficient security
level. The privileges currently available are wheel, admin, statistic,
create-conf, create-pers and change-name. Security levels range from 0
to 255.
Security in LysKOM is based on two components. Each person has a set
of privileges and each session has a security level. Rights in the
system require both the sufficient privileges and a sufficient
security level. The privileges currently available are @priv{wheel},
@priv{admin}, @priv{statistic}, @priv{create-conf}, @priv{create-pers}
and @priv{change-name}. Security levels range from 0 to 255.
@table @code
@table @priv
@item wheel
@emph{Normally not assigned}
@table @asis
......@@ -1417,8 +1474,8 @@ Person can read all articles.
@table @asis
@item Level 1
Shut down the server@*
Set motd_of_kom@*
Read last_login
Set motd-of-kom@*
Read last-login
@item Level 2
Read status of secret conferences and persons@*
Read the protected parts of person and conference statuses@*
......@@ -1442,14 +1499,14 @@ Set administrator
Read the statistics portions of persons, even if protected
@end table
@item create_conf
@item create-conf
@emph{Normally assigned}
@table @asis
@item Level 0
Create conferences
@end table
@item create_pers
@item create-pers
@emph{Normally assigned}
@table @asis
@item Level 0
......@@ -1463,7 +1520,7 @@ Create persons
@section Membership and Reading
Persons' memberships in conferences are represented in the protocol as
arrays of @code{Membership}-typed values. This structure contains
arrays of @type{Membership}-typed values. This structure contains
information about how and when the membership was created and which
texts have been read in the conference.
......@@ -1482,9 +1539,9 @@ passive memberships, but there was a convention that clients should
treat the priority level zero as a passive membership.
The membership record indicates which texts have been read through the
@code{last-text-read} and @code{read-texts} fields. All texts with local
numbers up to @code{last-text-read} have been read. In addition, all
texts with local numbers contained in the @code{read-texts} array have
@field{last-text-read} and @field{read-texts} fields. All texts with local
numbers up to @field{last-text-read} have been read. In addition, all
texts with local numbers contained in the @field{read-texts} array have
been read.
Finding out which articles a person has read in a particular conference
......@@ -1492,11 +1549,11 @@ requires a few calls. Normally, a client will retrieve a batch of
perhaps 50 articles at a time. The outline of the process is as follows:
@enumerate
@item Fetch the membership to get the @code{last-text-read}
@item Use @pxref{local-to-global} to translate a number of local numbers
to global numbers.
@item Fetch the membership to get the @field{last-text-read}
@item Use @req{local-to-global} (@pxref{local-to-global}) to translate
a number of local numbers to global numbers.
@item Remove the global numbers corresponding to local numbers contained
in @code{read-texts} from the result
in @field{read-texts} from the result.
@item Get and translate more texts as needed.
@end enumerate
......@@ -1515,7 +1572,7 @@ and the LysKOM session itself.
@subsection Connecting to the Server
A connection to the server is initiated by connecting to the appropriate
network port@footnote{The default port for a LysKOM server is 4894} and
network port@footnote{The default port for a LysKOM server is 4894.} and
sending a single letter which is used to select a protocol version
followed by connection information required by that protocol. In
protocol A the connection information is a Hollerith string saying who
......@@ -1585,10 +1642,11 @@ number.
protocol-error ::= "%% LysKOM protocol error."
@end example
Our notation is not flexible enough to specify the two-way nature of the
communication. @code{ref-no} in the reply is always the same as
@code{ref-no} in the corresponding request. @code{reply-data} depends on
which request was made and is specified together with each request.
Our notation is not flexible enough to specify the two-way nature of
the communication. @field{ref-no} in the reply is always the same as
@field{ref-no} in the corresponding request. @field{reply-data}
depends on which request was made and is specified together with each
request.
Note that there is no whitespace after the initial indicator in the
reply.
......@@ -1636,7 +1694,7 @@ while complex data types include things such as conferences and people.
@tindex INT16
@tindex INT8
@tindex BOOL
@dfn{INT32}, @dfn{INT16}, @dfn{INT8} and @dfn{BOOL} are non-negative
@type{INT32}, @type{INT16}, @type{INT8} and @type{BOOL} are non-negative
integers which must fit in 32, 16, 8 and 1 bits, respectively. They are
transmitted to the server in ASCII-encoded decimal notation.
......@@ -1644,7 +1702,7 @@ transmitted to the server in ASCII-encoded decimal notation.
@subsection Strings
@tindex HOLLERITH
@dfn{HOLLERITH} denotes character strings of arbitrary length. They are
@type{HOLLERITH} denotes character strings of arbitrary length. They are
transmitted as @code{@var{n}H@var{text}} where @var{text} is the string and
@var{n} is the number of characters in @var{text} in decimal
notation. All byte values are allowed in the string itself, including
......@@ -1657,7 +1715,7 @@ Long live FORTRAN!
@subsection Bit Strings
@tindex BITSTRING
@dfn{BITSTRING} is a string of bits, commonly used for a set of
@type{BITSTRING} is a string of bits, commonly used for a set of
boolean-valued flags. Bit strings are denoted as
@example
......@@ -1685,7 +1743,7 @@ most peoples idea of @code{shape-of-world} would be sent as @code{0101}
@subsection Enumerations
@tindex ENUMERATION
@dfn{ENUMERATION} is an integer constant. It is transmitted as an INT32,
@type{ENUMERATION} is an integer constant. It is transmitted as an INT32,
but only fixed values are permitted. Clients should be prepared to
receive numbers outside the enumeration and either handle this
gracefully as an error or use a reasonable default value in place of an
......@@ -1708,7 +1766,7 @@ value-3.
An enumeration can also be inherited from a SELECTION datatype:
Info-type : ENUMERATION_OF(Misc-Info))
Info-type : ENUMERATION_OF(Misc-Info))
This means that Info-type is an enumeration, that contains the same keys
and values as the SELECTION Misc-Info.
......@@ -1732,7 +1790,7 @@ integer 5.
@subsection Arrays
@tindex ARRAY
@dfn{ARRAY} is a list of a fixed number of elements of a single type.
@type{ARRAY} is a list of a fixed number of elements of a single type.
The specification for an array is @code{ARRAY @var{type}} where
@var{type} is the type of the array elements.
......@@ -1751,7 +1809,7 @@ contents, only its length. In these cases the array is transmitted as
@subsection Selection
@tindex SELECTION
@dfn{SELECTION} is tagged data. It consists of an INT32 selector
@type{SELECTION} is tagged data. It consists of an INT32 selector
followed by a tail of an arbitrary type and is specified as
@example
......@@ -1784,7 +1842,7 @@ two legal messages of the type @code{phrase} are @samp{1 4HJohn} and
@subsection RPC
@tindex RPC
@dfn{RPC} is a notation used to specify calls to the server. An RPC
@type{RPC} is a notation used to specify calls to the server. An RPC
specification has the following form:
@example
......@@ -1857,17 +1915,17 @@ the more complex data types.
)
@end example
@code{Time} is used to specify times in several data structures. The
fields @code{seconds}, @code{minutes} and @code{hours} give wall clock
time. @code{day} is the day of month and @code{month} is the current
month, starting with zero for January. @code{year} is the number of
years since 1900. @code{day-of-week} is the current weekday, with zero
used for Sunday. @code{day-of-year} is how many days of the year have
passed starting with zero and @code{is-dst} is true when the time
@type{Time} is used to specify times in several data structures. The
fields @field{seconds}, @field{minutes} and @field{hours} give wall clock
time. @field{day} is the day of month and @field{month} is the current
month, starting with zero for January. @field{year} is the number of
years since 1900. @field{day-of-week} is the current weekday, with zero
used for Sunday. @field{day-of-year} is how many days of the year have
passed starting with zero and @field{is-dst} is true when the time
indicated is daylight savings time.
When the server receives a @code{Time} structure from a client it
ignores the @code{day-of-week} and @code{day-of-year} fields.
When the server receives a @type{Time} structure from a client it
ignores the @field{day-of-week} and @field{day-of-year} fields.
All times are expressed in the time zone of the server.
......@@ -1896,8 +1954,8 @@ This type denotes a conference number.
@end example
These three types are used to indicate articles in the LysKOM database.
@code{Text-No} is a global text number and @code{Local-Text-No} a local
text number. @code{Text-List} is used when a mapping from local to
@type{Text-No} is a global text number and @type{Local-Text-No} a local
text number. @type{Text-List} is used when a mapping from local to
global numbers are required.
@subsubsection Person and Session Numbers
......@@ -1909,7 +1967,7 @@ global numbers are required.
Session-No ::= INT32;
@end example
@code{Pers-No} is used to indicate a person. @code{Session-No} is used
@type{Pers-No} is used to indicate a person. @type{Session-No} is used
in a few data structures relating to information about active LysKOM
sessions.
......@@ -1956,7 +2014,7 @@ used when the client wants to send an Aux-Item to the server, and it
only contains the elements that the client can affect. The fields in
Aux-Item and Aux-Item-Input have the following meaning: