#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
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).
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);
See attributes(5) for descriptions of the following attributes:
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.