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

📄 passdb.h

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 H
📖 第 1 页 / 共 2 页
字号:
 */#define PASSDB_INTERFACE_VERSION 12typedef struct pdb_context {	struct pdb_methods *pdb_methods;	struct pdb_methods *pwent_methods;		/* These functions are wrappers for the functions listed above.	   They may do extra things like re-reading a SAM_ACCOUNT on update */	NTSTATUS (*pdb_setsampwent)(struct pdb_context *, BOOL update, uint16 acb_mask);		void (*pdb_endsampwent)(struct pdb_context *);		NTSTATUS (*pdb_getsampwent)(struct pdb_context *, SAM_ACCOUNT *user);		NTSTATUS (*pdb_getsampwnam)(struct pdb_context *, SAM_ACCOUNT *sam_acct, const char *username);		NTSTATUS (*pdb_getsampwsid)(struct pdb_context *, SAM_ACCOUNT *sam_acct, const DOM_SID *sid);	NTSTATUS (*pdb_add_sam_account)(struct pdb_context *, SAM_ACCOUNT *sampass);		NTSTATUS (*pdb_update_sam_account)(struct pdb_context *, SAM_ACCOUNT *sampass);		NTSTATUS (*pdb_delete_sam_account)(struct pdb_context *, SAM_ACCOUNT *username);		NTSTATUS (*pdb_rename_sam_account)(struct pdb_context *, SAM_ACCOUNT *oldname, const char *newname);	NTSTATUS (*pdb_update_login_attempts)(struct pdb_context *context, SAM_ACCOUNT *sam_acct, BOOL success);	NTSTATUS (*pdb_getgrsid)(struct pdb_context *context, GROUP_MAP *map, DOM_SID sid);		NTSTATUS (*pdb_getgrgid)(struct pdb_context *context, GROUP_MAP *map, gid_t gid);		NTSTATUS (*pdb_getgrnam)(struct pdb_context *context, GROUP_MAP *map, const char *name);		NTSTATUS (*pdb_add_group_mapping_entry)(struct pdb_context *context,						GROUP_MAP *map);		NTSTATUS (*pdb_update_group_mapping_entry)(struct pdb_context *context,						   GROUP_MAP *map);		NTSTATUS (*pdb_delete_group_mapping_entry)(struct pdb_context *context,						   DOM_SID sid);		NTSTATUS (*pdb_enum_group_mapping)(struct pdb_context *context,					   enum SID_NAME_USE sid_name_use,					   GROUP_MAP **pp_rmap, size_t *p_num_entries,					   BOOL unix_only);	NTSTATUS (*pdb_enum_group_members)(struct pdb_context *context,					   TALLOC_CTX *mem_ctx,					   const DOM_SID *group,					   uint32 **pp_member_rids,					   size_t *p_num_members);	NTSTATUS (*pdb_enum_group_memberships)(struct pdb_context *context,					       const char *username,					       gid_t primary_gid,					       DOM_SID **pp_sids, gid_t **pp_gids,					       size_t *p_num_groups);	NTSTATUS (*pdb_find_alias)(struct pdb_context *context,				   const char *name, DOM_SID *sid);	NTSTATUS (*pdb_create_alias)(struct pdb_context *context,				     const char *name, uint32 *rid);	NTSTATUS (*pdb_delete_alias)(struct pdb_context *context,				     const DOM_SID *sid);	NTSTATUS (*pdb_get_aliasinfo)(struct pdb_context *context,				      const DOM_SID *sid,				      struct acct_info *info);	NTSTATUS (*pdb_set_aliasinfo)(struct pdb_context *context,				      const DOM_SID *sid,				      struct acct_info *info);	NTSTATUS (*pdb_add_aliasmem)(struct pdb_context *context,				     const DOM_SID *alias,				     const DOM_SID *member);	NTSTATUS (*pdb_del_aliasmem)(struct pdb_context *context,				     const DOM_SID *alias,				     const DOM_SID *member);	NTSTATUS (*pdb_enum_aliasmem)(struct pdb_context *context,				      const DOM_SID *alias,				      DOM_SID **pp_members, size_t *p_num_members);	NTSTATUS (*pdb_enum_alias_memberships)(struct pdb_context *context,					       TALLOC_CTX *mem_ctx,					       const DOM_SID *domain_sid,					       const DOM_SID *members,					       size_t num_members,					       uint32 **pp_alias_rids,					       size_t *p_num_alias_rids);	NTSTATUS (*pdb_lookup_rids)(struct pdb_context *context,				    const DOM_SID *domain_sid,				    size_t num_rids,				    uint32 *rids,				    const char **pp_names,				    uint32 *attrs);	NTSTATUS (*pdb_get_account_policy)(struct pdb_context *context,					   int policy_index, uint32 *value);	NTSTATUS (*pdb_set_account_policy)(struct pdb_context *context,					   int policy_index, uint32 value);	NTSTATUS (*pdb_get_seq_num)(struct pdb_context *context, time_t *seq_num);	BOOL (*pdb_search_users)(struct pdb_context *context,				 struct pdb_search *search,				 uint16 acct_flags);	BOOL (*pdb_search_groups)(struct pdb_context *context,				  struct pdb_search *search);	BOOL (*pdb_search_aliases)(struct pdb_context *context,				   struct pdb_search *search,				   const DOM_SID *sid);	void (*free_fn)(struct pdb_context **);		TALLOC_CTX *mem_ctx;	} PDB_CONTEXT;typedef struct pdb_methods {	const char *name; /* What name got this module */	struct pdb_context *parent;	/* Use macros from dlinklist.h on these two */	struct pdb_methods *next;	struct pdb_methods *prev;	NTSTATUS (*setsampwent)(struct pdb_methods *, BOOL update, uint16 acb_mask);		void (*endsampwent)(struct pdb_methods *);		NTSTATUS (*getsampwent)(struct pdb_methods *, SAM_ACCOUNT *user);		NTSTATUS (*getsampwnam)(struct pdb_methods *, SAM_ACCOUNT *sam_acct, const char *username);		NTSTATUS (*getsampwsid)(struct pdb_methods *, SAM_ACCOUNT *sam_acct, const DOM_SID *sid);		NTSTATUS (*add_sam_account)(struct pdb_methods *, SAM_ACCOUNT *sampass);		NTSTATUS (*update_sam_account)(struct pdb_methods *, SAM_ACCOUNT *sampass);		NTSTATUS (*delete_sam_account)(struct pdb_methods *, SAM_ACCOUNT *username);		NTSTATUS (*rename_sam_account)(struct pdb_methods *, SAM_ACCOUNT *oldname, const char *newname);		NTSTATUS (*update_login_attempts)(struct pdb_methods *methods, SAM_ACCOUNT *sam_acct, BOOL success);	NTSTATUS (*getgrsid)(struct pdb_methods *methods, GROUP_MAP *map, DOM_SID sid);	NTSTATUS (*getgrgid)(struct pdb_methods *methods, GROUP_MAP *map, gid_t gid);	NTSTATUS (*getgrnam)(struct pdb_methods *methods, GROUP_MAP *map, const char *name);	NTSTATUS (*add_group_mapping_entry)(struct pdb_methods *methods,					    GROUP_MAP *map);	NTSTATUS (*update_group_mapping_entry)(struct pdb_methods *methods,					       GROUP_MAP *map);	NTSTATUS (*delete_group_mapping_entry)(struct pdb_methods *methods,					       DOM_SID sid);	NTSTATUS (*enum_group_mapping)(struct pdb_methods *methods,				       enum SID_NAME_USE sid_name_use,				       GROUP_MAP **pp_rmap, size_t *p_num_entries,				       BOOL unix_only);	NTSTATUS (*enum_group_members)(struct pdb_methods *methods,				       TALLOC_CTX *mem_ctx,				       const DOM_SID *group,				       uint32 **pp_member_rids,				       size_t *p_num_members);	NTSTATUS (*enum_group_memberships)(struct pdb_methods *methods,					   const char *username,					   gid_t primary_gid,					   DOM_SID **pp_sids, gid_t **pp_gids,					   size_t *p_num_groups);	NTSTATUS (*find_alias)(struct pdb_methods *methods,			       const char *name, DOM_SID *sid);	NTSTATUS (*create_alias)(struct pdb_methods *methods,				 const char *name, uint32 *rid);	NTSTATUS (*delete_alias)(struct pdb_methods *methods,				 const DOM_SID *sid);	NTSTATUS (*get_aliasinfo)(struct pdb_methods *methods,				  const DOM_SID *sid,				  struct acct_info *info);	NTSTATUS (*set_aliasinfo)(struct pdb_methods *methods,				  const DOM_SID *sid,				  struct acct_info *info);	NTSTATUS (*add_aliasmem)(struct pdb_methods *methods,				 const DOM_SID *alias, const DOM_SID *member);	NTSTATUS (*del_aliasmem)(struct pdb_methods *methods,				 const DOM_SID *alias, const DOM_SID *member);	NTSTATUS (*enum_aliasmem)(struct pdb_methods *methods,				  const DOM_SID *alias, DOM_SID **members,				  size_t *p_num_members);	NTSTATUS (*enum_alias_memberships)(struct pdb_methods *methods,					   TALLOC_CTX *mem_ctx,					   const DOM_SID *domain_sid,					   const DOM_SID *members,					   size_t num_members,					   uint32 **pp_alias_rids,					   size_t *p_num_alias_rids);	NTSTATUS (*lookup_rids)(struct pdb_methods *methods,				const DOM_SID *domain_sid,				int num_rids,				uint32 *rids,				const char **pp_names,				uint32 *attrs);	NTSTATUS (*get_account_policy)(struct pdb_methods *methods,				       int policy_index, uint32 *value);	NTSTATUS (*set_account_policy)(struct pdb_methods *methods,				       int policy_index, uint32 value);	NTSTATUS (*get_seq_num)(struct pdb_methods *methods, time_t *seq_num);	BOOL (*search_users)(struct pdb_methods *methods,			     struct pdb_search *search,			     uint16 acct_flags);	BOOL (*search_groups)(struct pdb_methods *methods,			      struct pdb_search *search);	BOOL (*search_aliases)(struct pdb_methods *methods,			       struct pdb_search *search,			       const DOM_SID *sid);	void *private_data;  /* Private data of some kind */		void (*free_private_data)(void **);} PDB_METHODS;typedef NTSTATUS (*pdb_init_function)(struct pdb_context *, 			 struct pdb_methods **, 			 const char *);struct pdb_init_function_entry {	const char *name;	/* Function to create a member of the pdb_methods list */	pdb_init_function init;	struct pdb_init_function_entry *prev, *next;};enum sql_search_field { SQL_SEARCH_NONE = 0, SQL_SEARCH_USER_SID = 1, SQL_SEARCH_USER_NAME = 2};#endif /* _PASSDB_H */

⌨️ 快捷键说明

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