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]
cc [ flag... ] file... -lslp [ library... ] #include <slp.h> SLPError SLPParseSrvURL(const char *pcSrvURL, SLPSrvURL** ppSrvURL);
The SLPParseSrvURL() routine parses the URL passed in as the argument into a service URL structure and returns it in the ppSrvURL pointer. If a parser error occurs, returns SLP_PARSE_ERROR. The structure returned in ppSrvURL should be freed with SLPFree(). If the URL has no service part, the s_pcSrvPart string is the empty string, "", that is, it is not NULL. If pcSrvURL is not a service: URL, then the s_pcSrvType field in the returned data structure is the URL's scheme, which might not be the same as the service type under which the URL was registered. If the transport is IP, the s_pcNetFamily field is the empty string.
If no error occurs, the return value is the SLP_OK. Otherwise, if an error occurs, one of the SLPError codes is returned.
A pointer to a character buffer containing the null terminated URL string to parse. It is destructively modified to produce the output structure. It may not be NULL.
A pointer to a ponter for the SLPSrvURL structure to receive the parsed URL. It may not be NULL.
This function or its callback may return any SLP error code. See the ERRORS section in slp_api(3SLP).
Example 1 Using SLPParseSrvURL()
The following example uses the SLPParseSrvURL() function to parse the service URL service:printer:lpr://serv/queue1:
SLPSrvURL* surl; SLPError err; err = SLPParseSrvURL("service:printer:lpr://serv/queue1", &surl);
When set, use this file for configuration.
slp_api (3SLP), slp.conf (5), slpd.reg (5), attributes (7), slpd (8)
System Administration Guide: Network Services
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.