Copyright 1989 AT&T Copyright (c) 2002, 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]
#include <sys/tiuser.h> struct t_call *nlsgetcall(int fildes);
nlsgetcall() allows server processes started by the listener process to access the client's t_call structure, that is, the sndcall argument of t_connect(3NSL).
The t_call structure returned by nlsgetcall() can be released using t_free(3NSL).
nlsgetcall() returns the address of an allocated t_call structure or NULL if a t_call structure cannot be allocated. If the t_alloc() succeeds, undefined environment variables are indicated by a negative len field in the appropriate netbuf structure. A len field of zero in the netbuf structure is valid and means that the original buffer in the listener's t_call structure was NULL.
A NULL pointer is returned if a t_call structure cannot be allocated by t_alloc(). t_errno can be inspected for further error information. Undefined environment variables are indicated by a negative length field (len) in the appropriate netbuf structure.
shared object
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
MT-Level Unsafe |
getenv (3C), t_alloc (3NSL), t_connect (3NSL), t_error (3NSL), t_free (3NSL), t_sync (3NSL), attributes (7), nlsadmin (8)
The len field in the netbuf structure is defined as being unsigned. In order to check for error returns, it should first be cast to an int.
The listener process limits the amount of user data (udata) and options data (opt) to 128 bytes each. Address data addr is limited to 64 bytes. If the original data was longer, no indication of overflow is given.
Server processes must call t_sync(3NSL) before calling this routine.
This interface is unsafe in multithreaded applications. Unsafe interfaces should be called only from the main thread.