xref: /illumos-gate/usr/src/man/man3slp/SLPUnescape.3slp (revision 30165b7f6753bc3d48c52319bed7ec7b3ea36b3c)
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]
SLPUNESCAPE 3SLP "Jan 16, 2003"
NAME
SLPUnescape - translate escaped characters into UTF-8
SYNOPSIS

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

SLPError SLPUnescape(const char *pcInBuf, char** ppcOutBuf,
 SLPBoolean isTag);
DESCRIPTION

The SLPUnescape() function processes the input string in pcInbuf and unescapes any SLP reserved characters. If the isTag parameter is SLPTrue, then look for bad tag characters and signal an error if any are found with the SLP_PARSE_ERROR code. No transformation is performed if the input string is an opaque. The results are put into a buffer allocated by the API library and returned in the ppcOutBuf parameter. This buffer should be deallocated using SLPFree(3SLP) when the memory is no longer needed.

PARAMETERS
pcInBuf

Pointer to the input buffer to process for escape characters.

ppcOutBuf

Pointer to a pointer for the output buffer with the SLP reserved characters escaped. Must be freed using SLPFree(3SLP) when the memory is no longer needed.

isTag

When true, the input buffer is checked for bad tag characters.

ERRORS

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

EXAMPLES

Example 1 Using SLPUnescape()

The following example decodes the representation for ",tag,":

char* pcOutBuf;
SLPError err;

err = SLPUnescape("\\2c tag\\2c", &pcOutbuf, SLP_TRUE);
ENVIRONMENT VARIABLES
SLP_CONF_FILE

When set, use this file for configuration.

SEE ALSO

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

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.