⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nis.x

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 X
📖 第 1 页 / 共 2 页
字号:
%/*% * Sun RPC is a product of Sun Microsystems, Inc. and is provided for% * unrestricted use provided that this legend is included on all tape% * media and as a part of the software program in whole or part.  Users% * may copy or modify Sun RPC without charge, but are not authorized% * to license or distribute it to anyone else except as part of a product or% * program developed by the user or with the express written consent of% * Sun Microsystems, Inc.% *% * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE% * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR% * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.% *% * Sun RPC is provided with no support and without any obligation on the% * part of Sun Microsystems, Inc. to assist in its use, correction,% * modification or enhancement.% *% * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE% * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC% * OR ANY PART THEREOF.% *% * In no event will Sun Microsystems, Inc. be liable for any lost revenue% * or profits or other special, indirect and consequential damages, even if% * Sun has been advised of the possibility of such damages.% *% * Sun Microsystems, Inc.% * 2550 Garcia Avenue% * Mountain View, California  94043% */#ifndef RPC_HDR%#ifndef lint%static const char rcsid[] =%  "$FreeBSD: src/include/rpcsvc/nis.x,v 1.3 1999/08/27 23:45:09 peter Exp $";%#endif /* not lint */#endif/*  * From 4.1 : @(#)nis.x	1.61 Copyright 1989 Sun Microsystems * * RPC Language Protocol description file for NIS Plus * This version : 1.61 * Last Modified : 3/19/91 */#ifdef RPC_HDR%/*% *	nis.h% *% *	This file is the main include file for NIS clients. It contains% *	both the client library function defines and the various data% * 	structures used by the NIS service. It includes the file nis_tags.h% *	which defines the tag values. This allows the tags to change without% *	having to change the nis.x file.% * 	% *	NOTE : DO NOT EDIT THIS FILE! It is automatically generated when% *	       rpcgen is run on the nis.x file. Note that there is a % *	       simple sed script to remove some unneeded lines. (See the% *	       Makefile target nis.h)% *% */%#include <rpcsvc/nis_tags.h>#endif/* This gets stuffed into the source files. */#if RPC_HDR%#include <rpc/xdr.h>#endif/* * This is just pointless. */#ifdef SUN_STUPIDITY#if RPC_SVC%#include "nis_svc.h"#endif#endif/* Include the RPC Language description of NIS objects */#include "nis_object.x"/* Errors  that can be returned by the service */enum nis_error {	NIS_SUCCESS = 0,	/* A-ok, let's rock n roll 	*/	NIS_S_SUCCESS = 1,	/* Name found (maybe)	   	*/	NIS_NOTFOUND = 2,	/* Name definitely not found 	*/	NIS_S_NOTFOUND = 3,	/* Name maybe not found 	*/	NIS_CACHEEXPIRED = 4,	/* Name exists but cache out of date */	NIS_NAMEUNREACHABLE = 5, /* Can't get there from here */	NIS_UNKNOWNOBJ = 6,	/* Object type is bogus */	NIS_TRYAGAIN = 7,	/* I'm busy, call back */	NIS_SYSTEMERROR = 8,	/* Out of band failure */	NIS_CHAINBROKEN = 9,	/* First/Next warning */	NIS_PERMISSION = 10,	/* Not enough permission to access */	NIS_NOTOWNER = 11,	/* You don't own it, sorry */	NIS_NOT_ME = 12,	/* I don't serve this name */	NIS_NOMEMORY = 13,	/* Outta VM! Help! */	NIS_NAMEEXISTS = 14,	/* Can't create over another name */	NIS_NOTMASTER = 15,	/* I'm justa secondaray, don't ask me */	NIS_INVALIDOBJ = 16,	/* Object is broken somehow */	NIS_BADNAME = 17,	/* Unparsable name */	NIS_NOCALLBACK = 18,	/* Couldn't talk to call back proc */	NIS_CBRESULTS = 19,	/* Results being called back to you */	NIS_NOSUCHNAME = 20,	/* Name unknown */	NIS_NOTUNIQUE = 21,	/* Value is not uniques (entry) */	NIS_IBMODERROR = 22,	/* Inf. Base. Modify error. */	NIS_NOSUCHTABLE = 23,	/* Name for table was wrong */	NIS_TYPEMISMATCH = 24, 	/* Entry and table type mismatch */	NIS_LINKNAMEERROR = 25,	/* Link points to bogus name */	NIS_PARTIAL = 26,	/* Partial success, found table */	NIS_TOOMANYATTRS = 27,	/* Too many attributes */	NIS_RPCERROR = 28,	/* RPC error encountered */	NIS_BADATTRIBUTE = 29,	/* Bad or invalid attribute */	NIS_NOTSEARCHABLE = 30,	/* Non-searchable object searched */	NIS_CBERROR = 31,	/* Error during callback (svc crash) */	NIS_FOREIGNNS = 32,	/* Foreign Namespace */	NIS_BADOBJECT = 33,	/* Malformed object structure */	NIS_NOTSAMEOBJ = 34,	/* Object swapped during deletion */	NIS_MODFAIL = 35,	/* Failure during a Modify. */	NIS_BADREQUEST = 36,	/* Illegal query for table */	NIS_NOTEMPTY = 37,	/* Attempt to remove a non-empty tbl */	NIS_COLDSTART_ERR = 38, /* Error accesing the cold start file */	NIS_RESYNC = 39,	/* Transaction log too far out of date */	NIS_FAIL = 40,		/* NIS operation failed. */	NIS_UNAVAIL = 41,	/* NIS+ service is unavailable (client) */	NIS_RES2BIG = 42,	/* NIS+ result too big for datagram */	NIS_SRVAUTH = 43,	/* NIS+ server wasn't authenticated. */	NIS_CLNTAUTH = 44,	/* NIS+ Client wasn't authenticated. */	NIS_NOFILESPACE = 45,	/* NIS+ server ran out of disk space */	NIS_NOPROC = 46,	/* NIS+ server couldn't create new proc */	NIS_DUMPLATER = 47	/* NIS+ server already has dump child */};/*  * Structure definitions for the parameters and results of the actual * NIS RPC calls. * * This is the standard result (in the protocol) of most of the nis  * requests. */struct nis_result {	nis_error	status;		/* Status of the response */	nis_object	objects<>;	/* objects found 	  */	netobj		cookie;		/* Cookie Data 		  */	u_long		zticks;		/* server ticks	 	  */	u_long		dticks;		/* DBM ticks.		  */	u_long		aticks;		/* Cache (accel) ticks	  */	u_long		cticks;		/* Client ticks		  */};/*  * A Name Service request  * This request is used to access the name space, ns_name is the name  * of the object within the namespace and the object is it's value, for * add/modify, a copy of the original for remove.  */struct ns_request {	nis_name	ns_name;	/* Name in the NIS name space	*/	nis_object	ns_object<1>;	/* Optional Object (add/remove)	*/};/*  * An information base request * This request includes the NIS name of the table we wish to search, the * search criteria in the form of attribute/value pairs and an optional * callback program number. If the callback program number is provided * the server will send back objects one at a time, otherwise it will * return them all in the response. */struct ib_request {	nis_name  	ibr_name;	/* The name of the Table 	*/	nis_attr  	ibr_srch<>; 	/* The search critereia 	*/	u_long		ibr_flags;	/* Optional flags 		*/	nis_object	ibr_obj<1>;	/* optional object (add/modify) */	nis_server	ibr_cbhost<1>;	/* Optional callback info	*/	u_long		ibr_bufsize;	/* Optional first/next bufsize	*/	netobj		ibr_cookie;	/* The first/next cookie	*/};/* * This argument to the PING call notifies the replicas that something in  * a directory has changed and this is it's timestamp. The replica will use * the timestamp to determine if its resync operation was successful. */struct ping_args {	nis_name	dir;	/* Directory that had the change */	u_long		stamp;	/* timestamp of the transaction  */};/*  * These are the type of entries that are stored in the transaction log,  * note that modifications will appear as two entries, for names, they have * a "OLD" entry followed by a "NEW" entry. For entries in tables, there * is a remove followed by an add. It is done this way so that we can read * the log backwards to back out transactions and forwards to propogate * updated. */enum log_entry_t {	LOG_NOP = 0,	ADD_NAME = 1,		/* Name Added to name space 		  */	REM_NAME = 2,		/* Name removed from name space 	  */	MOD_NAME_OLD = 3,	/* Name was modified in the name space 	  */	MOD_NAME_NEW = 4,	/* Name was modified in the name space 	  */	ADD_IBASE = 5,		/* Entry added to information base 	  */	REM_IBASE = 6,		/* Entry removed from information base    */	MOD_IBASE = 7,		/* Entry was modified in information base */	UPD_STAMP = 8		/* Update timestamp (used as fenceposts)  */};	/* * This result is returned from the name service when it is requested to  * dump logged entries from its transaction log. Information base updates * will have the name of the information base in the le_name field and * a canonical set of attribute/value pairs to fully specify the entry's * 'name'.  */struct log_entry {	u_long		le_time;	/* Time in seconds 		*/	log_entry_t	le_type;	/* Type of log entry 		*/	nis_name	le_princp;	/* Principal making the change	*/	nis_name	le_name;	/* Name of table/dir involved 	*/	nis_attr	le_attrs<>;	/* List of AV pairs.		*/	nis_object	le_object;	/* Actual object value 		*/};struct log_result {	nis_error 	lr_status;	/* The status itself 	 	*/	netobj		lr_cookie;	/* Used by the dump callback	*/	log_entry	lr_entries<>;	/* zero or more entries 	*/};	struct cp_result {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -