xref: /titanic_52/usr/src/man/man3slp/SLPFindAttrs.3slp (revision 587644a8567e6a9533f88401daa59cbd78c4632f)
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]
SLPFINDATTRS 3SLP "Jan 16, 2003"
NAME
SLPFindAttrs - return service attributes
SYNOPSIS

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

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.

PARAMETERS
hSLP

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

pcURL

The full or partial URL. See RFC 2608 for partial URL syntax. It 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, "".

pcAttrIds

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.

callback

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

pvCookie

Memory passed to the callback code from the client. It may 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 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 attrReturn:

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

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