SLPFINDSRVS(3SLP) Service Location Protocol Library Functions SLPFINDSRVS(3SLP)

SLPFindSrvs - return service URLs

cc [ flag... ] file... -lslp [ library... ]
#include <slp.h>
SLPError SLPFindSrvs(SLPHandle hSLP, const char *pcServiceType,
     const char *pcScopeListconst 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.

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.

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

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

January 16, 2003 OmniOS