SLPD.REG(5) File Formats and Configurations 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 OmniOS