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 SLPFindSrvs(SLPHandle hSLP, const char *pcServiceType, const char *pcScopeList, const char *pcSearchFilter, SLPSrvURLCallback *callback, void *pvCookie);
The SLPFindSrvs() function issues a request for SLP services. The query is for services on a language-specific SLPHandle. It returns the results through the callback. The parameters will determine the results.
If an error occurs in starting the operation, one of the SLPError codes is returned.
The language-specific SLPHandle on which to search for services. It cannot be NULL.
The service type string for the request. The pcServiceType can be discovered by a call to SLPSrvTypes(). Examples of service type strings include
"service:printer:lpr"or
"service:nfs"pcServiceType cannot be NULL.
A pointer to a char containing a comma-separated list of scope names. It cannot be NULL or an empty string, "".
A query formulated of attribute pattern matching expressions in the form of a LDAPv3 search filter. See RFC 2254. If this filter is empty, "", all services of the requested type in the specified scopes are returned. It cannot be NULL.
A callback through which the results of the operation are reported. It cannot be NULL.
Memory passed to the callback code from the client. It can be NULL.
This function or its callback may return any SLP error code. See the ERRORS section in slp_api(3SLP).
Example 1 Using SLPFindSrvs()
The following example finds all advertisements for printers supporting the LPR protocol with the dpi attribute 300 in the default scope:
SLPError err; SLPHandle hSLP; SLPSrvURLCallback srvngst; err = SLPFindSrvs(hSLP, "service:printer:lpr", "default", "(dpi=300)", srvngst, 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
Howes, T. RFC 2254, The String Representation of LDAP Search Filters. The Internet Society. 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.