Copyright 1989 AT&T Copyright (c) 1988 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 <rpcsvc/ypclnt.h> int yp_update(char *domain, char *map, unsigned ypop, char *key, char *int keylen, char *data, int datalen);
yp_update() is used to make changes to the NIS database. The syntax is the same as that of yp_match() except for the extra parameter ypop which may take on one of four values. If it is POP_CHANGE then the data associated with the key will be changed to the new value. If the key is not found in the database, then yp_update() will return YPERR_KEY. If ypop has the value YPOP_INSERT then the key-value pair will be inserted into the database. The error YPERR_KEY is returned if the key already exists in the database. To store an item into the database without concern for whether it exists already or not, pass ypop as YPOP_STORE and no error will be returned if the key already or does not exist. To delete an entry, the value of ypop should be YPOP_DELETE.
This routine depends upon secure RPC, and will not work unless the network is running secure RPC.
If the value of ypop is POP_CHANGE, yp_update() returns the error YPERR_KEY if the key is not found in the database.
If the value of ypop is POP_INSERT, yp_update() returns the error YPERR_KEY if the key already exists in the database.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | Unsafe |
secure_rpc(3NSL), ypclnt(3NSL), attributes(5)
This interface is unsafe in multithreaded applications. Unsafe interfaces should be called only from the main thread.