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

SLPOpen - open an SLP handle

cc [ flag... ] file... -lslp [ library... ]
#include <slp.h>
SLPError SLPOpen(const char *pcLang, SLPBoolean isAsync, SLPHandle *phSLP);

The SLPOpen() function returns a SLPHandle handle in the phSLP parameter for the language locale passed in as the pcLang parameter. The client indicates if operations on the handle are to be synchronous or asynchronous through the isAsync parameter. The handle encapsulates the language locale for SLP requests issued through the handle, and any other resources required by the implementation. SLP properties are not encapsulated by the handle, they are global. The return value of the function is an SLPError code indicating the status of the operation. Upon failure, the phSLP parameter is NULL.

An SLPHandle can only be used for one SLP API operation at a time. If the original operation was started asynchronously, any attempt to start an additional operation on the handle while the original operation is pending results in the return of an SLP_HANDLE_IN_USE error from the API function. The SLPClose() function terminates any outstanding calls on the handle.

pcLang
A pointer to an array of characters containing the language tag set forth in RFC 1766 for the natural language locale of requests issued on the handle. This parameter cannot be NULL.

isAsync

An SLPBoolean indicating whether or not the SLPHandle should be opened for an asynchronous operation.

phSLP

A pointer to an SLPHandle in which the open SLPHandle is returned. If an error occurs, the value upon return is NULL.

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

Example 1 Using SLPOpen()

Use the following example to open a synchronous handle for the German ("de") locale:


SLPHandle HSLP; SLPError err;  err = SLPOpen("de", SLP_FALSE, &hSLP)

SLP_CONF_FILE
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

Alvestrand, H. RFC 1766, Tags for the Identification of Languages. Network Working Group. March 1995.

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

January 16, 2003 OmniOS