SLPD.REG(5) Standards, Environments, and Macros SLPD.REG(5)


slpd.reg - serialized registration file for the service location protocol
daemon (slpd)




The serialized registration file contains a group of registrations that
slpd(8) registers when it starts. These registrations are primarily for
older service programs that do not internally support SLP and cannot be
converted. The character format of the registration file is required to
be ASCII. To use serialized registrations, set the
net.slp.serializedRegURL property in slp.conf(5) to point at a valid
slpd.reg file. The syntax of the serialized registration file, in ABNF
format (see RFC 2234), is as follows:

ser-file = reg-list
reg-list = reg / reg reg-list
reg = creg / ser-reg
creg = comment-line ser-reg
comment-line = ( "#" / ";" ) 1*allchar newline
ser-reg = url-props [slist] [attr-list] newline
url-props = surl "," lang "," ltime [ "," type ] newline
surl = ;The registration's URL. See
; [8] for syntax.
lang = 1*8ALPHA [ "-" 1*8ALPHA ]
;RFC 1766 Language Tag see [6].
ltime = 1*5DIGIT
; A positive 16-bit integer
; giving the lifetime
; of the registration.
type = ; The service type name, see [7]
; and [8] for syntax.
slist = "scopes" "=" scope-list newline
scope-list = scope-name / scope-name "," scope-list
scope = ; See grammar of [7] for
; scope-name syntax.
attr-list = attr-def / attr-def attr-list
attr-def = ( attr / keyword ) newline
keyword = attr-id
attr = attr-id "=" attr-val-list
attr-id = ;Attribute id, see [7] for syntax.
attr-val-list = attr-val / attr-val "," attr-val-list
attr-val = ;Attribute value, see [7] for syntax
allchar = char / WSP
char = DIGIT / ALPHA / other
other = %x21-%x2f / %x3a-%x40 /
%x5b-%x60 / %7b-%7e
; All printable, nonwhitespace US-ASCII
; characters.
newline = CR / ( CRLF )

The syntax for attributes and attribute values requires that you use a
backslash to escape special characters, in addition to non-ASCII
characters, as specified in RFC 2608. The slpd command handles serialized
registrations exactly as if they were registered by an SA. In the url-
props production, the type token is optional. If the type token is
present for a service: URL, a warning is signalled, and the type name is
ignored. If the maximum lifetime of 65535 seconds is specified, the
registration is taken to be permanent, and it is continually refreshed by
the DA or SA server until it exits.

Scopes can be included in a registration by including an attribute
definition with tag scopes followed by a comma-separated list of scope
names immediately after the url-props production. If the optional scope-
list is present, the registrations are made in the indicated scopes;
otherwise, they are registered in the scopes with which the DA or SA
server was configured through the net.slp.useScopes property. If any
conflicts occur between the scope list and the net.slp.useScopes
property, an error message is issued by way of syslog(3C). Refer to
information regarding LOG_INFO in syslog(3C).

Service advertisements are separated by a single blank line.
Additionally, the file must end with a single blank line.


Example 1: Using a Serialized Registration File

The following serialized registration file shows an instance of the
service type foo, with a lifetime of 65535 seconds, in the en locale,
with scope somescope:

# register foo

# next registration...


See attributes(7) for descriptions of the following attributes:

|CSI | Enabled |
|Interface Stability | Standard |


syslog(3C), slp_api(3SLP), slp.conf(5), attributes(7), slpd(8)

Crocker, D. and Overell, P., RFC 2234, Augmented BNF for Syntax
Specifications: ABNF, The Internet Society, November 1997.

Guttman, E., Perkins, C., Veizades, J., and Day, M., RFC 2608, Service
Location Protocol, Version 2, The Internet Society, June 1999.

Kempf, J. and Guttman, E., RFC 2614, An API for Service Location, The
Internet Society, June 1999.

November 17, 1999 SLPD.REG(5)