Commit 63a5219d authored by Per Cederqvist's avatar Per Cederqvist

Use @reqlink and @reqdlink where appropriate. Fix lots of malformed

@ref, @xref and @pxref usages.  Also:
(@reqlink, @reqdlink, @linkhere): New markup macros.
(Document Edition History): Added missing @async markup.
(About Aux-Items): Added missing @field markup.
(Simple Data Types): Removed an unbalanced close parenthesis.
(LysKOM Data Types): Added missing @field markup. Removed an
	unbalanced close parenthesis.
(lookup-name): Added a missing close parenthesis.
(get-info-old): Added a missing close parenthesis.  This returns
	Info-Old, not Info.
(create-anonymous-text-old): Added missing @field markup.
(login): Added missing close parenthesis.
(local-to-global): Don't use fancy mathemtical notations for
	half-closed intervals.  Added missing @type markup.
parent 05b20d96
......@@ -2,10 +2,9 @@
@c
@c FIXME: Explain how the garb works with nice and keep-commented
@c FIXME: @i{Example:} is only used in front of some examples.
@c FIXME: @ref, @xref and @pxref are used wrongly.
@c FIXME: Make all types clickable in HTML (and info?)
@c
@c $Id: Protocol-A.texi,v 1.113 2001/04/23 21:15:26 ceder Exp $
@c $Id: Protocol-A.texi,v 1.114 2001/04/28 18:56:09 ceder Exp $
@c %**start of header
@setfilename protocol-a.info
@settitle LysKOM Protocol A
......@@ -18,10 +17,67 @@
@set VERSION 1.0.4
@c @req{login} is used for protocol requests.
@macro req {n}
@code{\n\}
@end macro
@c @reqlink{login} is used for protocol requests, that shuld be linked.
@ifhtml
@macro reqlink {n}
@code{@ref{\n\}}
@end macro
@end ifhtml
@ifnothtml
@macro reqlink {n}
@code{\n\} (@pxref{\n\})
@end macro
@end ifnothtml
@c @reqdlink{login}...@linkhere{} is used for protocol requests, that
@c shuld be linked, where the link should occur a few words after the
@c request itself.
@ifhtml
@c HTML version: make the word a link.
@macro reqdlink {n}
@code{@ref{\n\}}@c
@unmacro linkhere
@macro linkhere
@end macro
@end macro
@end ifhtml
@ifnothtml
@ifnottex
@c Info version: create linkhere as a macro that contains a reference.
@macro reqdlink {n}
@code{\n\}@c
@unmacro linkhere
@macro linkhere
(@pxref{\n\})
@end macro
@end macro
@end ifnottex
@iftex
@c TeX version: for now, do like @reqlink{}.
@c FIXME: TeX magic here to simulate the Info version of the macro.
@macro reqdlink {n}
@code{\n\} (@pxref{\n\})
@end macro
@macro linkhere
@end macro
@end iftex
@end ifnothtml
@c @aux{mx-allow-filter} is used for aux-item names.
@macro aux {n}
@code{\n\}
......@@ -267,9 +323,9 @@ Some typos and other minor errors were fixed. Distributed with lyskomd
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,
async-new-recipient and async-sub-recipient.) Distributed with lyskomd
2.0.1.
the protocol had broken definitions of @req{add-recipient},
@async{async-new-recipient} and @async{async-sub-recipient}.) Distributed
with lyskomd 2.0.1.
@item 10.0: 1999-06-27
The specification was translated to English and converted to Texinfo by
......@@ -435,8 +491,8 @@ It was largely up to the client to implement this. True passive
memberships have been introduced in this protocol version through the
Membership-type extension to the Membership type. In order to maintain
compatibility with clients that interpret priority 0 as passive
membership, the old calls @pxref{add-member-old} and
@pxref{get-membership-old} perform magic, translating between priorities
membership, the old calls @reqlink{add-member-old} and
@reqlink{get-membership-old} perform magic, translating between priorities
and membership types. The magic is documented with each call.
@end itemize
@end table
......@@ -669,7 +725,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 @req{local-to-global} does this.
The server call @reqlink{local-to-global} does this.
......@@ -732,7 +788,7 @@ changed to this type, preexisting secret members remain secret.
Persons are represented in the protocol by values of the type
@type{Person}. Associated with persons are statistics, a set of personal
flags and a set of privileges (@pxref{Security}.) Persons are also
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 @conftype{letterbox} bit set.
......@@ -827,7 +883,7 @@ member of the recipient can also see it, as can the author of the text
server.
This type of group was introduced in protocol version 10. When
old-style calls such as get-text-stat-old (@pxref{get-text-stat-old})
old-style calls such as @reqlink{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.
......@@ -921,25 +977,26 @@ out a case where setting an aux-item on the mailbox wasn't as good as
setting it on the person (another reason was that I was fed up writing
aux-item code by the time they were working on texts and conferences.)
The exact structure of an aux item is specified elsewhere (@pxref{LysKOM
Data Types}). The important fields here are the aux-no, tag and data
fields.
The exact structure of an aux item is specified elsewhere
(@pxref{LysKOM Data Types}). The important fields here are the
@field{aux-no}, @field{tag} and @field{data} fields.
The aux-no field is used to identify an item. The aux-no together with a
text or conference number uniquely identifies a particular aux item.
Items are numbered from one and up within each item list. Once assigned,
the aux-no for an item is never changed. New items are guaranteed to
be assigned numbers that have never been used before within a particular
list.
The @field{aux-no} field is used to identify an item. The
@field{aux-no} together with a text or conference number uniquely
identifies a particular aux item. Items are numbered from one and up
within each item list. Once assigned, the @field{aux-no} for an item
is never changed. New items are guaranteed to be assigned numbers that
have never been used before within a particular list.
The tag field identifies the type of aux item. It is used by the server
and by clients to figure out how to interpret the data field, and by the
server to decide if the item needs special treatment.
The @field{tag} field identifies the type of aux item. It is used by
the server and by clients to figure out how to interpret the data
field, and by the server to decide if the item needs special
treatment.
The data field is a simple string. The meaning of the string is
determined by the tag field, but since it is a string, clients that have
no understanding of the contents can successfully parse the item anyway
(in contrast to items in the misc-info list.)
The @field{data} field is a simple string. The meaning of the string
is determined by the @field{tag} field, but since it is a string,
clients that have no understanding of the contents can successfully
parse the item anyway (in contrast to items in the misc-info list.)
......@@ -969,7 +1026,7 @@ introduced by @command{komimportmail}, see @ref{komimportmail Aux-Item Types}.
@table @samp
@item content-type [1] (text)
Specifies the content type of a text. Data is a valid MIME type or one
of the special LysKOM types (@pxref{LysKOM Content Types}.)
of the special LysKOM types (@pxref{LysKOM Content Types}).
This item may only be set by the author of a text. The inherit, secret
and hide-owner bits are cleared. Only one content-type item can be
......@@ -1135,7 +1192,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 @req{set-client-version} call. The server may enforce this
in the @reqlink{set-client-version} call. The server may enforce this
restriction.
@item mx-author [16] (text)
......@@ -1553,17 +1610,18 @@ perhaps 50 articles at a time. The outline of the process is as follows:
@enumerate
@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 Use @reqlink{local-to-global} to translate a number of local
numbers to global numbers.
@item Remove the global numbers corresponding to local numbers contained
in @field{read-texts} from the result.
@item Get and translate more texts as needed.
@end enumerate
The process is complicated because of the translation between local and
global text numbers. If the server does not implement the
@pxref{local-to-global} call, it is possible to use the less
efficient but perfectly serviceable @pxref{get-map} call instead.
The process is complicated because of the translation between local
and global text numbers. If the server does not implement the
@reqdlink{local-to-global} call@linkhere{}, it is possible to use the less
efficient but perfectly serviceable @reqdlink{get-map} call
instead@linkhere{}.
@node Client-Server Dialog
......@@ -1591,6 +1649,7 @@ protocol-dependent. Protocol A servers will reply with the string
% telnet kom.lysator.liu.se 4894
Trying 130.236.254.151 ...
Connected to varg.lysator.liu.se.
@c This comment matches the bracket on the next line: [
Escape character is '^]'.
A26Hbyers%kajsa.lysator.liu.se
LysKOM
......@@ -1654,7 +1713,7 @@ request.
Note that there is no whitespace after the initial indicator in the
reply.
Error reporting is covered in more detail in chapter @ref{Error Codes}.
Error reporting is covered in more detail in @ref{Error Codes}.
Data elements sent from the client to the server are separated by one or
more space characters (ASCII 32). An entire call is terminated by a
......@@ -1769,7 +1828,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.
......@@ -1863,7 +1922,7 @@ RPC calls are transmitted as @var{n} @var{request} where @var{n} and
@var{request} have the same meaning as above. Note that in the
client-server dialog a reference number must also be supplied with each
request. This reference number is not part of the RPC itself, but is
required for communications @xref{Client-Server Dialog}.
required for communications; see @ref{Client-Server Dialog}.
......@@ -2021,10 +2080,10 @@ Aux-Item and Aux-Item-Input have the following meaning:
@item aux-no
The number of the item within the list where it is found. This number
together with a conference or text number uniquely identifies a
particular aux-item. (There is also a global list of Aux-Items for the
server. That list is manipulated via the modify-system-info
(@pxref{modify-system-info}) request, and when using that request the
aux-no is enough to uniquely identify the aux-item.)
particular aux-item. (There is also a global list of Aux-Items for
the server. That list is manipulated via the
@reqdlink{modify-system-info} request@linkhere{}, and when using that request
the @field{aux-no} is enough to uniquely identify the aux-item.)
This field is not present in @type{Aux-Item-Input}. It is assigned by
the server.
......@@ -2319,7 +2378,7 @@ actually transmitted. See also the example in @ref{lookup-name}.
A @type{Text-Mapping} is used when the client needs to look up which
global @type{Text-No} that corresponds to a @type{Local-Text-No}. The
client uses @req{local-to-global} to ask for information about a few
client uses @reqlink{local-to-global} to ask for information about a few
texts starting a a certain local text number, and the server returns the
information in a @type{Text-Mapping}.
......@@ -2397,7 +2456,7 @@ The server version encoded as a number @var{aa}@var{bb}@var{cc} where
@var{aa} is the major version number, @var{bb} the minor number and
@var{cc} the secondary minor version. For instance, @code{10607} is
version 1.6.7 of the server. If greater than 10699 the
@req{get-version-info} should be used instead.
@reqlink{get-version-info} should be used instead.
@item conf-pres-conf
The conference that contains conference presentations.
@item pers-pres-conf
......@@ -2585,8 +2644,8 @@ existing memberships.
@end example
The @type{Member} structure encodes information about a member in a
conference. It is returned by the @ref{get-members} call. The fields of
a @type{Member} structure are
conference. It is returned by the @reqdlink{get-members} call@linkhere{}. The
fields of a @type{Member} structure are
@table @field
@item member
......@@ -2631,8 +2690,8 @@ to see the contents of the structure.
@end example
The @type{Membership} structure encodes information about a person's
membership in a conference. It is returned by the @ref{query-read-texts}
and @ref{get-membership} calls.
membership in a conference. It is returned by the
@reqlink{query-read-texts} and @reqdlink{get-membership} calls@linkhere{}.
@table @field
@item position
......@@ -2761,7 +2820,7 @@ The list of aux items for this article.
@end table
@type{Misc-Info}, when sent to the client, is sent in a particular order
(@pxref{The Misc-Info List}. The variants @type{Misc-Info} are
(@pxref{The Misc-Info List}). The variants @type{Misc-Info} are
(briefly):
@table @misc
......@@ -3040,7 +3099,7 @@ When true, the user requested an invisible session (@pxref{login}).
Sessions where no-one is logged in also have the @field{invisible} flag
set.
@item user-active-used
When true, the user-active (@pxref{user-active}) call has been issued by
When true, the @reqdlink{user-active} call@linkhere{} has been issued by
the session, which in turn means that @field{idle-time} field in the
@type{Dynamic-Session-Info} is valid.
@item user-absent
......@@ -3058,8 +3117,8 @@ logged on.
@item working-conference
The conference the session is currently in.
@item idle-time
The number of seconds that have passed since the last time user-active
(@pxref{user-active}) was called in the session.
The number of seconds that have passed since the last time
@reqlink{user-active} was called in the session.
@item flags
The dynamic session flags (see above.)
@item what-am-i-doing
......@@ -3074,10 +3133,10 @@ or KOM conventions.
@subsection Regexp Matching
This type of expansion, used by the @pxref{re-z-lookup} call and its
predecessors simply matches @command{ed}(1) style regular expressions to
names in the database to find the list of matching names. The matching
is case sensitive.
This type of expansion, used by the @reqdlink{re-z-lookup} call and
its predecessors@linkhere{} simply matches @command{ed}(1) style
regular expressions to names in the database to find the list of
matching names. The matching is case sensitive.
@subsection KOM Conventions
......@@ -3266,7 +3325,7 @@ long lines.
passwd : HOLLERITH )) -> ( );
@end example
Log in as a person. This call has been replaced by call 62, @ref{login}.
Log in as a person. This call has been replaced by @reqlink{login}.
@subheading Error codes
......@@ -3295,9 +3354,11 @@ bit set.
Log out from LysKOM.
This call does not disconnect the session; use @ref{disconnect} for
that. After issuing a logout call the client can reconnect as the same
or a different person using the @ref{login} command.
This call does not disconnect the session; use @reqdlink{disconnect}
for that@linkhere{}.
After issuing a @req{logout} call the client can reconnect as the same
or a different person using the @reqdlink{login} call@linkhere{}.
For a client that needs to log in as several different users, issuing
multiple logout and login requests during one session is faster and
......@@ -3467,7 +3528,7 @@ The string @rarg{passwd} is not a valid password.
This call returns information about a person. If the low bit of
@rarg{mask} is not set, then the name is not returned. This call is
obsolete and has been replaced by call 49 @ref{get-person-stat}.
obsolete and has been replaced by @reqlink{get-person-stat}.
@subheading Error codes
......@@ -3495,7 +3556,7 @@ Conference @rarg{person} does not exist or is secret.
@end example
This call sets the privileges of @rarg{person} to
@rarg{privileges}. @ref{Security}. To successfully issue this call the
@rarg{privileges}. @xref{Security}. To successfully issue this call the
session must be logged in as a person with sufficient privileges.
@i{Example:}
......@@ -3761,7 +3822,7 @@ is corrupt.)
@end example
This call returns a list of conferences matching the string @rarg{name}.
lookup-name has been superseded by call 76, @ref{lookup-z-name}.
lookup-name has been superseded by @reqlink{lookup-z-name}.
@i{Example:}
@example
......@@ -3778,11 +3839,12 @@ lookup-name has been superseded by call 76, @ref{lookup-z-name}.
@end example
This example shows two attempts to look up a name. The first example
looks up @samp{a d} and finds three matches (the middle, number 674, is
a person. The second example looks up @samp{:::} which doesn't match
any conference (or person). Call number 3 and 4 issues the same lookup
using the @ref{lookup-z-name} call. (The return value for call number 3
has been broken into three lines to fit on the page.)
looks up @samp{a d} and finds three matches (the middle, number 674,
is a person). The second example looks up @samp{:::} which doesn't
match any conference (or person). Call number 3 and 4 issues the same
lookup using the @reqdlink{lookup-z-name} call@linkhere{}.
(The return value for call number 3 has been broken into three lines
to fit on the page.)
@subheading Error codes
......@@ -3800,8 +3862,8 @@ This call always succeeds.
@end example
This call retrieves the information associated with conference
@rarg{conf-no} in the LysKOM server. This call should no longer be used;
use call 91, @ref{get-conf-stat} instead.
@rarg{conf-no} in the LysKOM server. This call should no longer be
used; use @reqdlink{get-conf-stat} instead@linkhere{}.
The @rarg{mask} argument determines if the name is returned or not. If
the lowest bit is 1 the name is returned, otherwise the empty string is
......@@ -3978,10 +4040,11 @@ count on presentation texts.
5 1 5 0 5 0 77 1 1 0}
@end example
This example shows how the presentation of person 6 is being changed. To
start with, the person had no presentation, as is shown by the
@ref{get-conf-stat-old} call. Later, after the set-presentation has been
called, the presentation field has changed.
This example shows how the presentation of person 6 is being
changed. To start with, the person had no presentation, as is shown by
the @reqdlink{get-conf-stat-old} call@linkhere{}. Later, after
@req{set-presentation} has been called, the presentation field has
changed.
@subheading Error codes
......@@ -4026,7 +4089,7 @@ This call sets the message of the day on the conference or person
message. To remove an old message without setting a new one, use a
@rarg{text-no} of zero. This call protects the new message from
automatic deletion and removes such protection from the old message just
as @ref{set-presentation}.
as @reqlink{set-presentation}.
@i{Example:}
@example
......@@ -4046,7 +4109,7 @@ as @ref{set-presentation}.
This example shows how text number one is used as the message of the day
for conference six (which happens to be a mailbox.) The
@ref{get-conf-stat-old} calls before and after demonstrate the change in
@req{get-conf-stat-old} calls before and after demonstrate the change in
the conference structure.
......@@ -4083,7 +4146,7 @@ marks.
-> ( );
@end example
The set-supervisor call changes the supervisor of an existing
The @req{set-supervisor} call changes the supervisor of an existing
conference. The result is that all members of the conference
@rarg{admin} become supervisors of the conference @rarg{conf-no}.
Typically, but not always, @rarg{admin} will be a mailbox.
......@@ -4105,12 +4168,12 @@ Typically, but not always, @rarg{admin} will be a mailbox.
@end example
This example makes the members of conference six supervisors of
conference four (which is usually the ``News about LysKOM'' conference).
The change in the conference structure is evident from the
@ref{get-conf-stat-old} calls before and after the set-supervisor call.
Note that the original supervisor was not set. In order to change the
supervisor of such a conference, the session issuing the call must have
administration privileges.
conference four (which is usually the ``News about LysKOM''
conference). The change in the conference structure is evident from
the @reqdlink{get-conf-stat-old} calls@linkhere{} before and after the
@req{set-supervisor} call. Note that the original supervisor was not
set. In order to change the supervisor of such a conference, the
session issuing the call must have administration privileges.
@subheading Error codes
......@@ -4170,10 +4233,11 @@ the super-conference instead.
@end example
This example shows how all members of conference one are given
permission to send articles to conference four. From the beginning, only
members of conference four were permitted to submit articles. The change
is evident from the @ref{get-conf-stat-old} calls before and after the
set-permitted-submitters call.
permission to send articles to conference four. From the beginning,
only members of conference four were permitted to submit articles. The
change is evident from the @reqdlink{get-conf-stat-old}
calls@linkhere{} before and after the @req{set-permitted-submitters}
call.
@subheading Error codes
......@@ -4216,7 +4280,7 @@ that does not accept it, it is sent to the super-conference instead.
@end example
This example demonstrates how the super-conference of conference 1 is
set to conference 8. The calls to @ref{get-conf-stat-old} demonstrate the
set to conference 8. The calls to @reqlink{get-conf-stat-old} demonstrate the
change in the conference structure.
......@@ -4262,9 +4326,9 @@ with protocol version 8, either a four-bit conference type or an
@end example
This example shows a user removing the @conftype{allow-anonymous} bit
from conference four. The @req{get-uconf-stat} call
(@pxref{get-uconf-stat}) shows all eight bits of the conference type
before and after the @req{set-conf-type} call.
from conference four. The @reqdlink{get-uconf-stat} call@linkhere{}
shows all eight bits of the conference type before and after the
@req{set-conf-type} call.
@subheading Error codes
......@@ -4375,8 +4439,8 @@ Login required before issuing this call.
-> ( );
@end example
This call has been replaced by @req{mark-text} (@pxref{mark-text}) and
@req{unmark-text} (@pxref{unmark-text}) and should no longer be used.
This call has been replaced by @reqlink{mark-text} and
@reqlink{unmark-text} and should no longer be used.
This call can only set @rarg{mark-type} to a value in the range 1 to
255 (inclusive). If @rarg{mark-type} is set to 0 the mark will be
removed.
......@@ -4418,7 +4482,7 @@ many marks, or cause the text to have too many marks.
Retrieve text number @rarg{text} from the LysKOM database, starting at
position @rarg{start-char} and ending at position @rarg{end-char}. The
first character in the text is numbered 0 and the last can be retrieved
using @ref{get-text-stat}. It is also permitted to request a character
using @reqlink{get-text-stat}. It is also permitted to request a character
position beyond the actual end of the text, in which case as much text
as is available will be returned.
......@@ -4579,7 +4643,7 @@ One of the numbers in @rarg{text} is zero.
@end example
Creates a new text with contents from @rarg{text} and recipients
etc. defined by @rarg{misc-info} (@pxref{The Misc-Info List}.) In
etc. defined by @rarg{misc-info} (@pxref{The Misc-Info List}). In
addition to the result, the server will send an asynchronous message
to all members of any of the recipients of the new text. It is not
defined whether this messages comes before or after the reply to
......@@ -4835,7 +4899,7 @@ Add a comment link between the text @rarg{comment-to} and the text
@rarg{comment-to}). This call is used to add comment links after a text
has been created. The normal procedure for creating comments is to add a
@misc{comm-to} element to the text's misc-info list when the text is
created (@pxref{The Misc-Info List}.)
created (@pxref{The Misc-Info List}).
@example
1 26 1
......@@ -4934,13 +4998,12 @@ anyway.
-> ( Text-List );
@end example
This call has been superceded by @ref{local-to-global}.
This call has been superceded by @reqlink{local-to-global}.
This call retrieves an array mapping local text numbers to global
numbers. It is most often used to get a list of unread texts in a
conference. Clients will usually use the @req{query-read-texts}
(@pxref{query-read-texts}) or @req{get-membership}
(@pxref{get-membership}) calls to find the last local number a user has
conference. Clients will usually use the @reqlink{query-read-texts} or
@reqlink{get-membership} calls to find the last local number a user has
read in a particular conference, then use the @req{get-map} call to
retrieve the global numbers of all unread texts in the conference.
......@@ -5061,11 +5124,11 @@ This call always succeeds
-> ( Info-Old );
@end example
This call returns the @type{Info} structure for the server
(@pxref{LysKOM Data Types}. Clients should call this in order to find
This call returns the @type{Info-Old} structure for the server
(@pxref{LysKOM Data Types}). Clients should call this in order to find
out which conferences are used for presentations and such.
This call has been superceded by @ref{get-info}.
This call has been superceded by @reqlink{get-info}.
This call can be issued without logging in.
......@@ -5198,9 +5261,9 @@ set and enabled to complete call anyway.
-> ( ARRAY Who-Info-Old );
@end example
This call is obsolete. Use @ref{get-static-session-info} and
@ref{who-is-on-dynamic} instead. If the server does not support these
calls, use @ref{who-is-on} instead.
This call is obsolete. Use @reqlink{get-static-session-info} and
@reqlink{who-is-on-dynamic} instead. If the server does not support these
calls, use @reqlink{who-is-on} instead.
The returned list contains all sessions where a person is logged in and
the invisible flag of the session is unset.
......@@ -5231,9 +5294,9 @@ clients. Due to possible race conditions@footnote{Another client might
create a new text immediately before the server processes this
@req{set-unread} call, so you might end up setting
@field{last-text-read} to something unexpected.}, this call is usually
better implemented using the @req{set-last-read} call
(@pxref{set-last-read}) which explicitly sets the
@field{last-text-read} field of the membership.
better implemented using the @reqdlink{set-last-read} call@linkhere{}
which explicitly sets the @field{last-text-read} field of the
membership.
@example
1 9 5 6
......@@ -5274,7 +5337,8 @@ Not a member of conference @rarg{conf-no}.
This call sets the login message of LysKOM. It can only be executed by a
privileged person, with the proper privileges enabled. A somewhat less
convenient way of doing this is to use the @ref{set-info} call.
convenient way of doing this is to use the @reqdlink{set-info}
call@linkhere{}.
@example
1 36
......@@ -5312,10 +5376,11 @@ The text @rarg{text-no} already has the maximum number of marks.
-> ( );
@end example
Sets the security level for the current session to @rarg{level}
(@pxref{Security} for details.) The only levels that make any sense
right now are 0 and 255. This call may be issued by any person, but
without the right privilege bits set, it has no effect.
Sets the security level for the current session to @rarg{level}.
@xref{Security}, for details about security levels. The only levels
that make any sense right now are 0 and 255. This call may be issued
by any person, but without the right privilege bits set, it has no
effect.
@example
1 41 1
......@@ -5327,7 +5392,7 @@ without the right privilege bits set, it has no effect.
@end example
This example shows how @req{enable} makes a privileged call possible,
in this case a call to @ref{set-motd-of-lyskom}.
in this case a call to @reqlink{set-motd-of-lyskom}.
@subheading Error codes
......@@ -5360,10 +5425,10 @@ server implementation. This call is privileged in most implementations.
@t{=1}
@end example
This example shows how the @ref{enable} call is used to enable all
privileges, then the @req{sync-kom} call is used to save the database.
The server responds with two asynchronous messages signaling that the
database is being saved.
This example shows how the @reqdlink{enable} call is used to enable
all privileges@linkhere{}, then the @req{sync-kom} call is used to
save the database. The server responds with two asynchronous messages
signaling that the database is being saved.
@subheading Error codes
......@@ -5418,7 +5483,7 @@ Administrator bit not set or privileges not enabled.
-> ( );
@end example
This call can been replaced by @ref{send-message}. It is a privileged
This call can been replaced by @reqlink{send-message}. It is a privileged
call.
@subheading Error codes
......@@ -5509,14 +5574,14 @@ person's membership list.
-> ( Text-List );
@end example