man pages section 3: Networking Library Functions

Exit Print View

Updated: July 2014
 
 

SLPParseSrvURL(3SLP)

Name

SLPParseSrvURL - parse service URL

Synopsis

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

SLPError SLPParseSrvURL(const char *pcSrvURL, SLPSrvURL** ppSrvURL);

Description

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.

Parameters

pcSrvURL

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.

ppSrvURL

A pointer to a ponter for the SLPSrvURL structure to receive the parsed URL. It may not 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 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);

Environment Variables

SLP_CONF_FILE

When set, use this file for configuration.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
service/network/slp

See also

slpd(1M), slp_api(3SLP), slp.conf(4), slpd.reg(4), attributes(5)

Managing Service Location Protocol Services in Oracle Solaris 11.2

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.