SLPFINDATTRS(3SLP) Service Location Protocol Library Functions


SLPFindAttrs - return service attributes


cc [ flag... ] file... -lslp [ library... ]
#include <slp.h>

SLPError SLPFindAttrs(SLPHandle hSLP, const char *pcURL,
const char *pcScopeList, const char *pcAttrIds,
SLPAttrCallback *callback, void *pvCookie);


The SLPFindAttrs() function returns service attributes matching the
attribute tags for the indicated full or partial URL.If pcURL is a
complete URL, the attribute information returned is for that particular
service in the language locale of the SLPHandle. If pcURL is a service
type, then all attributes for the service type are returned, regardless
of the language of registration. Results are returned through the
callback parameter.

The result is filtered with an SLP attribute request filter string
parameter, the syntax of which is described in RFC 2608. If the
filter string is the empty string, "", all attributes are returned.

If an error occurs in starting the operation, one of the SLPError codes
is returned.


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

The full or partial URL. See RFC 2608 for partial URL
syntax. It cannot be NULL.

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

The filter string indicating which attribute values to
return. Use empty string "" to indicate all values.
Wildcards matching all attribute ids having a particular
prefix or suffix are also possible. It cannot be NULL.

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

Memory passed to the callback code from the client. It may
be NULL.


This function or its callback may return any SLP error code. See the
ERRORS section in slp_api(3SLP).


Example 1: Returning Service Attributes for a Specific URL

Use the following example to return the attributes "location" and "dpi"
for the URL "service:printer:lpr://serv/queue1" through the callback

SLPHandle hSLP;
SLPAttrCallback attrReturn;
SLPError err;

err = SLPFindAttrs(hSLP "service:printer:lpr://serv/queue1",
"default", "location,dpi", attrReturn, err);

Example 2: Returning Service Attributes for All URLs of a Specific Type

Use the following example to return the attributes "location" and "dpi"
for all service URLs having type "service:printer:lpr":

err = SLPFindAttrs(hSLP, "service:printer:lpr",
"default", "location, pi",
attrReturn, 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

Kempf, J. and Guttman, E. RFC 2614, An API for Service Location. The
Internet Society. June 1999.

January 16, 2003 SLPFINDATTRS(3SLP)