#include <slp.h> SLPError SLPFindSrvTypes(SLPHandle hSLP, const char *pcNamingAuthority, const char *pcScopeList, SLPSrvTypeCallback *callback, void *pvCookie);
The SLPFindSrvTypes() function issues an SLP service type request for service types in the scopes indicated by the pcScopeList. The results are returned through the callback parameter. The service types are independent of language locale, but only for services registered in one of the scopes and for the indicated naming authority.
If the naming authority is “*”, then results are returned for all naming authorities. If the naming authority is the empty string, "", then the default naming authority, IANA, is used. IANA is not a valid naming authority name. The SLP_PARAMETER_BAD error code will be returned if you include it explicitly.
The service type names are returned with the naming authority included in the following format:
service-type "." naming-authority
unless the naming authority is the default, in which case, just the service type name is returned.
If an error occurs in starting the operation, one of the SLPError codes is returned.
The SLPHandle on which to search for types. It cannot be NULL.
The naming authority to search. Use “*”to search all naming authorties; use the empty string "" to search the default naming authority. It cannot be NULL.
A pointer to a char containing a comma-separated list of scope names to search for service types. It cannot be NULL or an empty string, "".
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 service type names in the default scope and default naming authority:
SLPError err; SLPHandle hSLP; SLPSrvTypeCallback findsrvtypes; err = SLPFindSrvTypes(hSLP, "", "default", findsrvtypes, NULL);
See attributes(5) for descriptions of the following attributes:
Guttman, E., Perkins, C., Veizades, J., and Day, M. RFC 2608, Service Location Protocol, Version 2. The Internet Society. June 1999.
Howes, T. RFC 2254, The String Representation of LDAP Search Filters. The Internet Society. 1997.
Kempf, J. and Guttman, E. RFC 2614, An API for Service Location. The Internet Society. June 1999.