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]
cc [ flag... ] file... -lslp [ library... ] #include <slp.h> SLPError SLPFindAttrs(SLPHandle hSLP, const char *pcURL, const char *pcScopeList, const char *pcAttrIds, SLPAttrCallback *callback, void *pvCookie);
The SLPFindAttrs() function returns service attributes matching the attribute tags for the indicated full or partial URL.If pcURL is a complete URL, the attribute information returned is for that particular service in the language locale of the SLPHandle. If pcURL is a service type, then all attributes for the service type are returned, regardless of the language of registration. Results are returned through the callback parameter.
The result is filtered with an SLP attribute request filter string parameter, the syntax of which is described in RFC 2608. If the filter string is the empty string, "", all attributes are returned.
If an error occurs in starting the operation, one of the SLPError codes is returned.
The language-specific SLPHandle on which to search for attributes. It cannot be NULL.
The full or partial URL. See RFC 2608 for partial URL syntax. It cannot be NULL.
A pointer to a char containing a comma-separated list of scope names. It cannot be NULL or an empty string, "".
The filter string indicating which attribute values to return. Use empty string "" to indicate all values. Wildcards matching all attribute ids having a particular prefix or suffix are also possible. It cannot be NULL.
A callback function through which the results of the operation are reported. It cannot be NULL.
Memory passed to the callback code from the client. It may be NULL.
This function or its callback may return any SLP error code. See the ERRORS section in slp_api(3SLP).
Example 1 Returning Service Attributes for a Specific URL
Use the following example to return the attributes "location" and "dpi" for the URL "service:printer:lpr://serv/queue1" through the callback attrReturn:
SLPHandle hSLP; SLPAttrCallback attrReturn; SLPError err; err = SLPFindAttrs(hSLP "service:printer:lpr://serv/queue1", "default", "location,dpi", attrReturn, err);
Example 2 Returning Service Attributes for All URLs of a Specific Type
Use the following example to return the attributes "location" and "dpi" for all service URLs having type "service:printer:lpr":
err = SLPFindAttrs(hSLP, "service:printer:lpr", "default", "location, pi", attrReturn, NULL);
When set, use this file for configuration.
slpd(1M), slp_api(3SLP), slp.conf(4), slpd.reg(4), attributes(5)
System Administration Guide: Network Services
Kempf, J. and Guttman, E. RFC 2614, An API for Service Location. The Internet Society. June 1999.