📄 nis.h
字号:
NIS_RES2BIG = 42, NIS_SRVAUTH = 43, NIS_CLNTAUTH = 44, NIS_NOFILESPACE = 45, NIS_NOPROC = 46, NIS_DUMPLATER = 47,};typedef enum nis_error nis_error;struct nis_result { nis_error status; struct { u_int objects_len; nis_object *objects_val; } objects; netobj cookie; uint32_t zticks; uint32_t dticks; uint32_t aticks; uint32_t cticks;};typedef struct nis_result nis_result;struct ns_request { nis_name ns_name; struct { u_int ns_object_len; nis_object *ns_object_val; } ns_object;};typedef struct ns_request ns_request;struct ib_request { nis_name ibr_name; struct { u_int ibr_srch_len; nis_attr *ibr_srch_val; } ibr_srch; uint32_t ibr_flags; struct { u_int ibr_obj_len; nis_object *ibr_obj_val; } ibr_obj; struct { u_int ibr_cbhost_len; nis_server *ibr_cbhost_val; } ibr_cbhost; u_int ibr_bufsize; netobj ibr_cookie;};typedef struct ib_request ib_request;struct ping_args { nis_name dir; uint32_t stamp;};typedef struct ping_args ping_args;enum log_entry_t { LOG_NOP = 0, ADD_NAME = 1, REM_NAME = 2, MOD_NAME_OLD = 3, MOD_NAME_NEW = 4, ADD_IBASE = 5, REM_IBASE = 6, MOD_IBASE = 7, UPD_STAMP = 8,};typedef enum log_entry_t log_entry_t;struct log_entry { uint32_t le_time; log_entry_t le_type; nis_name le_princp; nis_name le_name; struct { u_int le_attrs_len; nis_attr *le_attrs_val; } le_attrs; nis_object le_object;};typedef struct log_entry log_entry;struct log_result { nis_error lr_status; netobj lr_cookie; struct { u_int lr_entries_len; log_entry *lr_entries_val; } lr_entries;};typedef struct log_result log_result;struct cp_result { nis_error cp_status; uint32_t cp_zticks; uint32_t cp_dticks;};typedef struct cp_result cp_result;struct nis_tag { uint32_t tag_type; char *tag_val;};typedef struct nis_tag nis_tag;struct nis_taglist { struct { u_int tags_len; nis_tag *tags_val; } tags;};typedef struct nis_taglist nis_taglist;struct dump_args { nis_name da_dir; uint32_t da_time; struct { u_int da_cbhost_len; nis_server *da_cbhost_val; } da_cbhost;};typedef struct dump_args dump_args;struct fd_args { nis_name dir_name; nis_name requester;};typedef struct fd_args fd_args;struct fd_result { nis_error status; nis_name source; struct { u_int dir_data_len; char *dir_data_val; } dir_data; struct { u_int signature_len; char *signature_val; } signature;};typedef struct fd_result fd_result;/* Generic client creating flags */#define ZMH_VC 1#define ZMH_DG 2#define ZMH_AUTH 4/* Testing Access rights for objects */#define NIS_READ_ACC 1#define NIS_MODIFY_ACC 2#define NIS_CREATE_ACC 4#define NIS_DESTROY_ACC 8/* Test macros. a == access rights, m == desired rights. */#define NIS_WORLD(a, m) (((a) & (m)) != 0)#define NIS_GROUP(a, m) (((a) & ((m) << 8)) != 0)#define NIS_OWNER(a, m) (((a) & ((m) << 16)) != 0)#define NIS_NOBODY(a, m) (((a) & ((m) << 24)) != 0)/* * EOL Alert - The following non-prefixed test macros are * here for backward compatability, and will be not be present * in future releases - use the NIS_*() macros above. */#define WORLD(a, m) (((a) & (m)) != 0)#define GROUP(a, m) (((a) & ((m) << 8)) != 0)#define OWNER(a, m) (((a) & ((m) << 16)) != 0)#define NOBODY(a, m) (((a) & ((m) << 24)) != 0)#define OATYPE(d, n) (((d)->do_armask.do_armask_val+n)->oa_otype)#define OARIGHTS(d, n) (((d)->do_armask.do_armask_val+n)->oa_rights)#define WORLD_DEFAULT (NIS_READ_ACC)#define GROUP_DEFAULT (NIS_READ_ACC << 8)#define OWNER_DEFAULT ((NIS_READ_ACC + NIS_MODIFY_ACC + NIS_CREATE_ACC +\ NIS_DESTROY_ACC) << 16)#define DEFAULT_RIGHTS (WORLD_DEFAULT | GROUP_DEFAULT | OWNER_DEFAULT)/* Result manipulation defines ... */#define NIS_RES_NUMOBJ(x) ((x)->objects.objects_len)#define NIS_RES_OBJECT(x) ((x)->objects.objects_val)#define NIS_RES_COOKIE(x) ((x)->cookie)#define NIS_RES_STATUS(x) ((x)->status)/* These defines make getting at the variant part of the object easier. */#define TA_data zo_data.objdata_u.ta_data#define EN_data zo_data.objdata_u.en_data#define DI_data zo_data.objdata_u.di_data#define LI_data zo_data.objdata_u.li_data#define GR_data zo_data.objdata_u.gr_data#define __type_of(o) ((o)->zo_data.zo_type)/* Declarations for the internal subroutines in nislib.c */enum name_pos {SAME_NAME, HIGHER_NAME, LOWER_NAME, NOT_SEQUENTIAL, BAD_NAME};typedef enum name_pos name_pos;/* * Defines for getting at column data in entry objects. Because RPCGEN * generates some rather wordy structures, we create some defines that * collapse the needed keystrokes to access a particular value using * these definitions they take an nis_object *, and an int and return * a u_char * for Value, and an int for length. */#define ENTRY_VAL(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_val#define ENTRY_LEN(obj, col) (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len/* Prototypes, and extern declarations for the NIS library functions. */#include <rpcsvc/nislib.h>#endif/* * nis_3.h * * This file contains definitions that are only of interest to the actual * service daemon and client stubs. Normal users of NIS will not include * this file. * * NOTE : This include file is automatically created by a combination * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead * and then remake this file. */#ifndef __nis_3_h#define __nis_3_h#define NIS_PROG 100300#define NIS_VERSION 3#define NIS_LOOKUP 1extern nis_result * nis_lookup_3 (ns_request *, CLIENT *) __THROW;extern nis_result * nis_lookup_3_svc (ns_request *, struct svc_req *) __THROW;#define NIS_ADD 2extern nis_result * nis_add_3 (ns_request *, CLIENT *) __THROW;extern nis_result * nis_add_3_svc (ns_request *, struct svc_req *) __THROW;#define NIS_MODIFY 3extern nis_result * nis_modify_3 (ns_request *, CLIENT *) __THROW;extern nis_result * nis_modify_3_svc (ns_request *, struct svc_req *) __THROW;#define NIS_REMOVE 4extern nis_result * nis_remove_3 (ns_request *, CLIENT *) __THROW;extern nis_result * nis_remove_3_svc (ns_request *, struct svc_req *) __THROW;#define NIS_IBLIST 5extern nis_result * nis_iblist_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_iblist_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_IBADD 6extern nis_result * nis_ibadd_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_ibadd_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_IBMODIFY 7extern nis_result * nis_ibmodify_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_ibmodify_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_IBREMOVE 8extern nis_result * nis_ibremove_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_ibremove_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_IBFIRST 9extern nis_result * nis_ibfirst_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_ibfirst_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_IBNEXT 10extern nis_result * nis_ibnext_3 (ib_request *, CLIENT *) __THROW;extern nis_result * nis_ibnext_3_svc (ib_request *, struct svc_req *) __THROW;#define NIS_FINDDIRECTORY 12extern fd_result * nis_finddirectory_3 (fd_args *, CLIENT *) __THROW;extern fd_result * nis_finddirectory_3_svc (fd_args *, struct svc_req *) __THROW;#define NIS_STATUS 14extern nis_taglist * nis_status_3 (nis_taglist *, CLIENT *) __THROW;extern nis_taglist * nis_status_3_svc (nis_taglist *, struct svc_req *) __THROW;#define NIS_DUMPLOG 15extern log_result * nis_dumplog_3 (dump_args *, CLIENT *) __THROW;extern log_result * nis_dumplog_3_svc (dump_args *, struct svc_req *) __THROW;#define NIS_DUMP 16extern log_result * nis_dump_3 (dump_args *, CLIENT *) __THROW;extern log_result * nis_dump_3_svc (dump_args *, struct svc_req *) __THROW;#define NIS_CALLBACK 17extern bool_t * nis_callback_3 (netobj *, CLIENT *) __THROW;extern bool_t * nis_callback_3_svc (netobj *, struct svc_req *) __THROW;#define NIS_CPTIME 18extern uint32_t * nis_cptime_3 (nis_name *, CLIENT *) __THROW;extern uint32_t * nis_cptime_3_svc (nis_name *, struct svc_req *) __THROW;#define NIS_CHECKPOINT 19extern cp_result * nis_checkpoint_3 (nis_name *, CLIENT *) __THROW;extern cp_result * nis_checkpoint_3_svc (nis_name *, struct svc_req *) __THROW;#define NIS_PING 20extern void * nis_ping_3 (ping_args *, CLIENT *) __THROW;extern void * nis_ping_3_svc (ping_args *, struct svc_req *) __THROW;#define NIS_SERVSTATE 21extern nis_taglist * nis_servstate_3 (nis_taglist *, CLIENT *) __THROW;extern nis_taglist * nis_servstate_3_svc (nis_taglist *, struct svc_req *) __THROW;#define NIS_MKDIR 22extern nis_error * nis_mkdir_3 (nis_name *, CLIENT *) __THROW;extern nis_error * nis_mkdir_3_svc (nis_name *, struct svc_req *) __THROW;#define NIS_RMDIR 23extern nis_error * nis_rmdir_3 (nis_name *, CLIENT *) __THROW;extern nis_error * nis_rmdir_3_svc (nis_name *, struct svc_req *) __THROW;#define NIS_UPDKEYS 24extern nis_error * nis_updkeys_3 (nis_name *, CLIENT *) __THROW;extern nis_error * nis_updkeys_3_svc (nis_name *, struct svc_req *) __THROW;__END_DECLS#endif /* ! _RPCSVC_NIS_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -