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

📄 ntvfs_interface.c

📁 samba最新软件
💻 C
📖 第 1 页 / 共 2 页
字号:
		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->async_setup(ntvfs->next, req, private);}/* filesystem operations */NTSTATUS ntvfs_next_fsinfo(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req,				    union smb_fsinfo *fs){	if (!ntvfs->next || !ntvfs->next->ops->fsinfo) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->fsinfo(ntvfs->next, req, fs);}/* path operations */NTSTATUS ntvfs_next_unlink(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req,				    union smb_unlink *unl){	if (!ntvfs->next || !ntvfs->next->ops->unlink) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->unlink(ntvfs->next, req, unl);}NTSTATUS ntvfs_next_chkpath(struct ntvfs_module_context *ntvfs, 				     struct ntvfs_request *req,				     union smb_chkpath *cp){	if (!ntvfs->next || !ntvfs->next->ops->chkpath) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->chkpath(ntvfs->next, req, cp);}NTSTATUS ntvfs_next_qpathinfo(struct ntvfs_module_context *ntvfs, 				       struct ntvfs_request *req,				       union smb_fileinfo *st){	if (!ntvfs->next || !ntvfs->next->ops->qpathinfo) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->qpathinfo(ntvfs->next, req, st);}NTSTATUS ntvfs_next_setpathinfo(struct ntvfs_module_context *ntvfs, 					 struct ntvfs_request *req,					 union smb_setfileinfo *st){	if (!ntvfs->next || !ntvfs->next->ops->setpathinfo) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->setpathinfo(ntvfs->next, req, st);}NTSTATUS ntvfs_next_mkdir(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   union smb_mkdir *md){	if (!ntvfs->next || !ntvfs->next->ops->mkdir) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->mkdir(ntvfs->next, req, md);}NTSTATUS ntvfs_next_rmdir(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   struct smb_rmdir *rd){	if (!ntvfs->next || !ntvfs->next->ops->rmdir) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->rmdir(ntvfs->next, req, rd);}NTSTATUS ntvfs_next_rename(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req,				    union smb_rename *ren){	if (!ntvfs->next || !ntvfs->next->ops->rename) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->rename(ntvfs->next, req, ren);}NTSTATUS ntvfs_next_copy(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req,				  struct smb_copy *cp){	if (!ntvfs->next || !ntvfs->next->ops->copy) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->copy(ntvfs->next, req, cp);}NTSTATUS ntvfs_next_open(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req,				  union smb_open *oi){	if (!ntvfs->next || !ntvfs->next->ops->open) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->open(ntvfs->next, req, oi);}/* directory search */NTSTATUS ntvfs_next_search_first(struct ntvfs_module_context *ntvfs, 					  struct ntvfs_request *req,					  union smb_search_first *io, void *private,					  bool (*callback)(void *private, const union smb_search_data *file)){	if (!ntvfs->next || !ntvfs->next->ops->search_first) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->search_first(ntvfs->next, req, io, private, callback);}NTSTATUS ntvfs_next_search_next(struct ntvfs_module_context *ntvfs, 					 struct ntvfs_request *req,					 union smb_search_next *io, void *private,					 bool (*callback)(void *private, const union smb_search_data *file)){	if (!ntvfs->next || !ntvfs->next->ops->search_next) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->search_next(ntvfs->next, req, io, private, callback);}NTSTATUS ntvfs_next_search_close(struct ntvfs_module_context *ntvfs, 					  struct ntvfs_request *req,					  union smb_search_close *io){	if (!ntvfs->next || !ntvfs->next->ops->search_close) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->search_close(ntvfs->next, req, io);}/* operations on open files */NTSTATUS ntvfs_next_ioctl(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   union smb_ioctl *io){	if (!ntvfs->next || !ntvfs->next->ops->ioctl) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->ioctl(ntvfs->next, req, io);}NTSTATUS ntvfs_next_read(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req,				  union smb_read *io){	if (!ntvfs->next || !ntvfs->next->ops->read) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->read(ntvfs->next, req, io);}NTSTATUS ntvfs_next_write(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   union smb_write *io){	if (!ntvfs->next || !ntvfs->next->ops->write) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->write(ntvfs->next, req, io);}NTSTATUS ntvfs_next_seek(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req,				  union smb_seek *io){	if (!ntvfs->next || !ntvfs->next->ops->seek) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->seek(ntvfs->next, req, io);}NTSTATUS ntvfs_next_flush(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   union smb_flush *flush){	if (!ntvfs->next || !ntvfs->next->ops->flush) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->flush(ntvfs->next, req, flush);}NTSTATUS ntvfs_next_lock(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req,				  union smb_lock *lck){	if (!ntvfs->next || !ntvfs->next->ops->lock) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->lock(ntvfs->next, req, lck);}NTSTATUS ntvfs_next_qfileinfo(struct ntvfs_module_context *ntvfs, 				       struct ntvfs_request *req,				       union smb_fileinfo *info){	if (!ntvfs->next || !ntvfs->next->ops->qfileinfo) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->qfileinfo(ntvfs->next, req, info);}NTSTATUS ntvfs_next_setfileinfo(struct ntvfs_module_context *ntvfs, 					 struct ntvfs_request *req,					 union smb_setfileinfo *info){	if (!ntvfs->next || !ntvfs->next->ops->setfileinfo) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->setfileinfo(ntvfs->next, req, info);}NTSTATUS ntvfs_next_close(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   union smb_close *io){	if (!ntvfs->next || !ntvfs->next->ops->close) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->close(ntvfs->next, req, io);}/* trans interface - used by IPC backend for pipes and RAP calls */NTSTATUS ntvfs_next_trans(struct ntvfs_module_context *ntvfs, 				   struct ntvfs_request *req,				   struct smb_trans2 *trans){	if (!ntvfs->next || !ntvfs->next->ops->trans) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->trans(ntvfs->next, req, trans);}/* trans2 interface - only used by CIFS backend to prover complete passthru for testing */NTSTATUS ntvfs_next_trans2(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req,				    struct smb_trans2 *trans2){	if (!ntvfs->next || !ntvfs->next->ops->trans2) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->trans2(ntvfs->next, req, trans2);}/*  change notify request*/NTSTATUS ntvfs_next_notify(struct ntvfs_module_context *ntvfs,				    struct ntvfs_request *req,				    union smb_notify *info){	if (!ntvfs->next || !ntvfs->next->ops->notify) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->notify(ntvfs->next, req, info);}/* cancel - called to cancel an outstanding async request */NTSTATUS ntvfs_next_cancel(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req){	if (!ntvfs->next || !ntvfs->next->ops->cancel) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->cancel(ntvfs->next, req);}/* printing specific operations */NTSTATUS ntvfs_next_lpq(struct ntvfs_module_context *ntvfs, 				 struct ntvfs_request *req,				 union smb_lpq *lpq){	if (!ntvfs->next || !ntvfs->next->ops->lpq) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->lpq(ntvfs->next, req, lpq);}/* logoff - called when a vuid is closed */NTSTATUS ntvfs_next_logoff(struct ntvfs_module_context *ntvfs, 				    struct ntvfs_request *req){	if (!ntvfs->next || !ntvfs->next->ops->logoff) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->logoff(ntvfs->next, req);}NTSTATUS ntvfs_next_exit(struct ntvfs_module_context *ntvfs, 				  struct ntvfs_request *req){	if (!ntvfs->next || !ntvfs->next->ops->exit) {		return NT_STATUS_NOT_IMPLEMENTED;	}	return ntvfs->next->ops->exit(ntvfs->next, req);}/* oplock helpers */NTSTATUS ntvfs_set_oplock_handler(struct ntvfs_context *ntvfs,					   NTSTATUS (*handler)(void *private_data, struct ntvfs_handle *handle, uint8_t level),					   void *private_data){	ntvfs->oplock.handler		= handler;	ntvfs->oplock.private_data	= private_data;	return NT_STATUS_OK;}NTSTATUS ntvfs_send_oplock_break(struct ntvfs_module_context *ntvfs,					  struct ntvfs_handle *handle, uint8_t level){	if (!ntvfs->ctx->oplock.handler) {		return NT_STATUS_OK;	}	return ntvfs->ctx->oplock.handler(ntvfs->ctx->oplock.private_data, handle, level);}/* client connection callback */NTSTATUS ntvfs_set_addr_callbacks(struct ntvfs_context *ntvfs,					   struct socket_address *(*my_addr)(void *private_data, TALLOC_CTX *mem_ctx),					   struct socket_address *(*peer_addr)(void *private_data, TALLOC_CTX *mem_ctx),					   void *private_data){	ntvfs->client.get_peer_addr	= my_addr;	ntvfs->client.get_my_addr	= peer_addr;	ntvfs->client.private_data	= private_data;	return NT_STATUS_OK;}struct socket_address *ntvfs_get_my_addr(struct ntvfs_module_context *ntvfs, TALLOC_CTX *mem_ctx){	if (!ntvfs->ctx->client.get_my_addr) {		return NULL;	}	return ntvfs->ctx->client.get_my_addr(ntvfs->ctx->client.private_data, mem_ctx);}struct socket_address *ntvfs_get_peer_addr(struct ntvfs_module_context *ntvfs, TALLOC_CTX *mem_ctx){	if (!ntvfs->ctx->client.get_peer_addr) {		return NULL;	}	return ntvfs->ctx->client.get_peer_addr(ntvfs->ctx->client.private_data, mem_ctx);}

⌨️ 快捷键说明

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