SLPUNESCAPE(3SLP) Service Location Protocol Library Functions SLPUNESCAPE(3SLP)

SLPUnescape - translate escaped characters into UTF-8

cc [ flag... ] file... -lslp [ library... ]
#include <slp.h>
SLPError SLPUnescape(const char *pcInBuf, char** ppcOutBuf,
     SLPBoolean isTag);

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.

Pointer to the input buffer to process for escape characters.


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.


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

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

Example 1 Using SLPUnescape()

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

char* pcOutBuf;
SLPError err;
err = SLPUnescape("\2c tag\2c", &pcOutbuf, SLP_TRUE);

When set, use this file for configuration.

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.

January 16, 2003 OmniOS