xref: /illumos-gate/usr/src/man/man3slp/SLPReg.3slp (revision 1a2d662a91cee3bf82f41cd47c7ae6f3825d9db2)
te
Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
SLPREG 3SLP "Jan 16, 2003"
NAME
SLPReg - register an SLP advertisement
SYNOPSIS

cc [ flag... ] file... -lslp [ library... ]
#include <slp.h>

SLPError SLPReg(SLPHandle hSLP, const char *pcSrvURL,
 const unsigned short usLifetime, const char *pcSrvType,
 const char *pcAttrs, SLPBoolean fresh,
 SLPRegReport callback, void *pvCookie);
DESCRIPTION

The SLPReg() function registers the URL in pcSrvURL having the lifetime usLifetime with the attribute list in pcAttrs. The pcAttrs list is a comma-separated list of attribute assignments in on-the-wire format (including escaping of reserved characters). The sLifetime parameter must be nonzero and less than or equal to SLP_LIFETIME_MAXIMUM. If the fresh flag is SLP_TRUE, then the registration is new, the SLP protocol fresh flag is set, and the registration replaces any existing registrations.

The pcSrvType parameter is a service type name and can be included for service URLs that are not in the service: scheme. If the URL is in the service: scheme, the pcSrvType parameter is ignored. If the fresh flag is SLP_FALSE, then an existing registration is updated. Rules for new and updated registrations, and the format for pcAttrs and pcScopeList, can be found in RFC 2608. Registrations and updates take place in the language locale of the hSLP handle.

The API library is required to perform the operation in all scopes obtained through configuration.

PARAMETERS
hSLP

The language specific SLPHandle on which to register the advertisement. hSLP cannot be NULL.

pcSrvURL

The URL to register. The value of pcSrvURL cannot be NULL or the empty string.

usLifetime

An unsigned short giving the life time of the service advertisement, in seconds. The value must be an unsigned integer less than or equal to SLP_LIFETIME_MAXIMUM.

pcSrvType

The service type. If pURL is a service: URL, then this parameter is ignored. pcSrvType cannot be NULL.

pcAttrs

A comma-separated list of attribute assignment expressions for the attributes of the advertisement. pcAttrs cannot be NULL. Use the empty string, "", to indicate no attributes.

fresh

An SLPBoolean that is SLP_TRUE if the registration is new or SLP_FALSE if it is a reregistration.

callback

A callback to report the operation completion status. callback cannot be NULL.

pvCookie

Memory passed to the callback code from the client. pvCookie can be NULL.

ERRORS

This function or its callback may return any SLP error code. See the ERRORS section in slp_api(3SLP).

EXAMPLES

Example 1 An Initial Registration

The following example shows an initial registration for the "service:video://bldg15" camera service for three hours:

SLPError err;
SLPHandle hSLP;
SLPRegReport regreport;
err = SLPReg(hSLP, "service:video://bldg15",
 10800, "", "(location=B15-corridor),
 (scan-rate=100)", SLP_TRUE,
 regRpt, NULL);
ENVIRONMENT VARIABLES
SLP_CONF_FILE

When set, use this file for configuration.

SEE ALSO

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

System Administration Guide: Network Services

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.