xref: /illumos-gate/usr/src/man/man3slp/SLPFindSrvs.3slp (revision 1ed6b69a5ca1ca3ee5e9a4931f74e2237c7e1c9f)
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]
SLPFINDSRVS 3SLP "Jan 16, 2003"
NAME
SLPFindSrvs - return service URLs
SYNOPSIS

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);
DESCRIPTION

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.

PARAMETERS
hSLP

The language-specific SLPHandle on which to search for services. It cannot be NULL.

pcServiceType

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.
pcScopeList

A pointer to a char containing a comma-separated list of scope names. It cannot be NULL or an empty string, "".

pcSearchFilter

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.

callback

A callback through which the results of the operation are reported. It cannot be NULL.

pvCookie

Memory passed to the callback code from the client. It 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 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);
ENVIRONMENT VARIABLES
SLP_CONF_FILE

When set, use this file for configuration.

SEE ALSO

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.