📄 nis.h
字号:
/* * 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 _RPCSVC_NIS_H#define _RPCSVC_NIS_H 1#include <features.h>#include <rpc/rpc.h>#include <rpcsvc/nis_tags.h>__BEGIN_DECLS/* * 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 : THIS FILE IS NOT GENERATED WITH RPCGEN ! SO YOU HAVE TO * ADD ALL THE CHANGES ON nis_*.x FILES HERE AGAIN ! * * I have removed all the Solaris internal structs and variables, * because they are not supported, Sun changed them between various * releases and they shouldn't be used in user programs. * <kukuk@suse.de> */#ifndef __nis_object_h#define __nis_object_h#define NIS_MAXSTRINGLEN 255#define NIS_MAXNAMELEN 1024#define NIS_MAXATTRNAME 32#define NIS_MAXATTRVAL 2048#define NIS_MAXCOLUMNS 64#define NIS_MAXATTR 16#define NIS_MAXPATH 1024#define NIS_MAXREPLICAS 128#define NIS_MAXLINKS 16#define NIS_PK_NONE 0#define NIS_PK_DH 1#define NIS_PK_RSA 2#define NIS_PK_KERB 3#define NIS_PK_DHEXT 4struct nis_attr { char *zattr_ndx; struct { u_int zattr_val_len; char *zattr_val_val; } zattr_val;};typedef struct nis_attr nis_attr;typedef char *nis_name;enum zotypes { BOGUS_OBJ = 0, NO_OBJ = 1, DIRECTORY_OBJ = 2, GROUP_OBJ = 3, TABLE_OBJ = 4, ENTRY_OBJ = 5, LINK_OBJ = 6, PRIVATE_OBJ = 7, NIS_BOGUS_OBJ = 0, NIS_NO_OBJ = 1, NIS_DIRECTORY_OBJ = 2, NIS_GROUP_OBJ = 3, NIS_TABLE_OBJ = 4, NIS_ENTRY_OBJ = 5, NIS_LINK_OBJ = 6, NIS_PRIVATE_OBJ = 7};typedef enum zotypes zotypes;enum nstype { UNKNOWN = 0, NIS = 1, SUNYP = 2, IVY = 3, DNS = 4, X500 = 5, DNANS = 6, XCHS = 7, CDS = 8,};typedef enum nstype nstype;struct oar_mask { uint32_t oa_rights; zotypes oa_otype;};typedef struct oar_mask oar_mask;struct endpoint { char *uaddr; char *family; char *proto;};typedef struct endpoint endpoint;struct nis_server { nis_name name; struct { u_int ep_len; endpoint *ep_val; } ep; uint32_t key_type; netobj pkey;};typedef struct nis_server nis_server;struct directory_obj { nis_name do_name; nstype do_type; struct { u_int do_servers_len; nis_server *do_servers_val; } do_servers; uint32_t do_ttl; struct { u_int do_armask_len; oar_mask *do_armask_val; } do_armask;};typedef struct directory_obj directory_obj;#define EN_BINARY 1#define EN_CRYPT 2#define EN_XDR 4#define EN_MODIFIED 8#define EN_ASN1 64struct entry_col { uint32_t ec_flags; struct { u_int ec_value_len; char *ec_value_val; } ec_value;};typedef struct entry_col entry_col;struct entry_obj { char *en_type; struct { u_int en_cols_len; entry_col *en_cols_val; } en_cols;};typedef struct entry_obj entry_obj;struct group_obj { uint32_t gr_flags; struct { u_int gr_members_len; nis_name *gr_members_val; } gr_members;};typedef struct group_obj group_obj;struct link_obj { zotypes li_rtype; struct { u_int li_attrs_len; nis_attr *li_attrs_val; } li_attrs; nis_name li_name;};typedef struct link_obj link_obj;#define TA_BINARY 1#define TA_CRYPT 2#define TA_XDR 4#define TA_SEARCHABLE 8#define TA_CASE 16#define TA_MODIFIED 32#define TA_ASN1 64struct table_col { char *tc_name; uint32_t tc_flags; uint32_t tc_rights;};typedef struct table_col table_col;struct table_obj { char *ta_type; int ta_maxcol; u_char ta_sep; struct { u_int ta_cols_len; table_col *ta_cols_val; } ta_cols; char *ta_path;};typedef struct table_obj table_obj;struct objdata { zotypes zo_type; union { struct directory_obj di_data; struct group_obj gr_data; struct table_obj ta_data; struct entry_obj en_data; struct link_obj li_data; struct { u_int po_data_len; char *po_data_val; } po_data; } objdata_u;};typedef struct objdata objdata;struct nis_oid { uint32_t ctime; uint32_t mtime;};typedef struct nis_oid nis_oid;struct nis_object { nis_oid zo_oid; nis_name zo_name; nis_name zo_owner; nis_name zo_group; nis_name zo_domain; uint32_t zo_access; uint32_t zo_ttl; objdata zo_data;};typedef struct nis_object nis_object;#endif /* if __nis_object_h */enum nis_error { NIS_SUCCESS = 0, NIS_S_SUCCESS = 1, NIS_NOTFOUND = 2, NIS_S_NOTFOUND = 3, NIS_CACHEEXPIRED = 4, NIS_NAMEUNREACHABLE = 5, NIS_UNKNOWNOBJ = 6, NIS_TRYAGAIN = 7, NIS_SYSTEMERROR = 8, NIS_CHAINBROKEN = 9, NIS_PERMISSION = 10, NIS_NOTOWNER = 11, NIS_NOT_ME = 12, NIS_NOMEMORY = 13, NIS_NAMEEXISTS = 14, NIS_NOTMASTER = 15, NIS_INVALIDOBJ = 16, NIS_BADNAME = 17, NIS_NOCALLBACK = 18, NIS_CBRESULTS = 19, NIS_NOSUCHNAME = 20, NIS_NOTUNIQUE = 21, NIS_IBMODERROR = 22, NIS_NOSUCHTABLE = 23, NIS_TYPEMISMATCH = 24, NIS_LINKNAMEERROR = 25, NIS_PARTIAL = 26, NIS_TOOMANYATTRS = 27, NIS_RPCERROR = 28, NIS_BADATTRIBUTE = 29, NIS_NOTSEARCHABLE = 30, NIS_CBERROR = 31, NIS_FOREIGNNS = 32, NIS_BADOBJECT = 33, NIS_NOTSAMEOBJ = 34, NIS_MODFAIL = 35, NIS_BADREQUEST = 36, NIS_NOTEMPTY = 37, NIS_COLDSTART_ERR = 38, NIS_RESYNC = 39, NIS_FAIL = 40, NIS_UNAVAIL = 41,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -