1/* 2 * Copyright (c) 2011 - 2012 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24#ifndef _NETSMB_CONN_2_H_ 25#define _NETSMB_CONN_2_H_ 26 27#ifdef _KERNEL 28 29int smb2_smb_change_notify(struct smb_share *share, void *args_ptr, 30 struct smb_rq **in_rqp, vfs_context_t context); 31int smb2_smb_close(struct smb_share *share, void *arg_ptr, 32 struct smb_rq **compound_rqp, vfs_context_t context); 33int smb2_smb_close_fid(struct smb_share *share, SMBFID fid, 34 struct smb_rq **compound_rqp, 35 struct smb2_close_rq **in_closep, 36 vfs_context_t context); 37int smb2_smb_create(struct smb_share *share, void *arg_ptr, 38 struct smb_rq **compound_rqp, vfs_context_t context); 39int smb2_smb_dur_handle_init(struct smb_share *share, struct smbnode *np, 40 struct smb2_durable_handle *dur_handle); 41void smb2_smb_dur_handle_parse_lease_key(uint64_t lease_key_hi, uint64_t lease_key_low, 42 uint32_t *tree_id, uint64_t *hash_val); 43int smb_smb_echo(struct smb_vc *vcp, int timeout, uint32_t EchoCount, 44 vfs_context_t context); 45int smb2_smb_flush(struct smb_share *share, SMBFID fid, vfs_context_t context); 46uint32_t smb2_smb_get_client_capabilities(struct smb_vc *vcp); 47uint32_t smb2_smb_get_client_dialects(struct smb_vc *vcp, int inReconnect, 48 uint16_t *dialect_cnt, uint16_t dialects[], 49 size_t max_dialects_size); 50uint16_t smb2_smb_get_client_security_mode(struct smb_vc *vcp); 51int smb2_smb_gss_session_setup(struct smb_vc *vcp, uint16_t *session_flags, 52 vfs_context_t context); 53int smb2_smb_ioctl(struct smb_share *share, void *arg_ptr, 54 struct smb_rq **compound_rqp, vfs_context_t context); 55int smb2_smb_lease_break_ack(struct smb_share *share, uint64_t lease_key_hi, uint64_t lease_key_low, 56 uint32_t lease_state, uint32_t *ret_lease_state, vfs_context_t context); 57int smb2_smb_lock(struct smb_share *share, int op, SMBFID fid, 58 off_t offset, uint64_t length, vfs_context_t context); 59int smb2_smb_negotiate(struct smb_vc *vcp, struct smb_rq *rqp, 60 int inReconnect, vfs_context_t user_context, 61 vfs_context_t context); 62int smb_smb_negotiate(struct smb_vc *vcp, vfs_context_t user_context, 63 int inReconnect, vfs_context_t context); 64int smb_smb_nomux(struct smb_vc *vcp, const char *name, vfs_context_t context); 65int smb2_smb_parse_change_notify(struct smb_rq *rqp, uint32_t *events); 66int smb2_smb_parse_create(struct smb_share *share, struct mdchain *mdp, 67 struct smb2_create_rq *createp); 68int smb2_smb_parse_close(struct mdchain *mdp, struct smb2_close_rq *closep); 69int smb2_smb_parse_ioctl(struct mdchain *mdp, struct smb2_ioctl_rq *ioctlp); 70int smb2_smb_parse_lease_break(struct smbiod *iod, mbuf_t m); 71int smb2_smb_parse_read_one(struct mdchain *mdp, user_ssize_t *rresid, 72 struct smb2_rw_rq *rwp); 73int smb2_smb_parse_svrmsg_notify(struct smb_rq *rqp, 74 uint32_t *svr_action, 75 uint32_t *delay); 76int smb2_smb_parse_query_dir(struct mdchain *mdp, 77 struct smb2_query_dir_rq *queryp); 78int smb2_smb_parse_query_dir_both_dir_info(struct smb_share *share, struct mdchain *mdp, 79 uint16_t info_level, 80 void *ctxp, struct smbfattr *fap, 81 char *network_name, uint32_t *network_name_len, 82 size_t max_network_name_buffer_size); 83int smb2_smb_parse_query_info(struct mdchain *mdp, 84 struct smb2_query_info_rq *queryp); 85int smb2_smb_parse_set_info(struct mdchain *mdp, 86 struct smb2_set_info_rq *infop); 87int smb2_smb_parse_security(struct mdchain *mdp, 88 struct smb2_query_info_rq *queryp); 89int smb2_smb_parse_write_one(struct mdchain *mdp, 90 user_ssize_t *rresid, 91 struct smb2_rw_rq *writep); 92int smb2_smb_query_dir(struct smb_share *share, void *args_ptr, 93 struct smb_rq **compound_rqp, vfs_context_t context); 94int smb2_smb_query_info(struct smb_share *share, void *args_ptr, 95 struct smb_rq **compound_rqp, vfs_context_t context); 96int smb2_smb_read_one(struct smb_share *share, 97 struct smb2_rw_rq *readp, 98 user_ssize_t *len, 99 user_ssize_t *rresid, 100 struct smb_rq **compound_rqp, 101 vfs_context_t context); 102int smb2_smb_read(struct smb_share *share, void *arg_ptr, 103 vfs_context_t context); 104int smb_smb_read(struct smb_share *share, SMBFID fid, uio_t uio, 105 vfs_context_t context); 106int smb2_smb_set_info(struct smb_share *share, void *args_ptr, 107 struct smb_rq **compound_rqp, vfs_context_t context); 108int smb1_smb_ssnclose(struct smb_vc *vcp, vfs_context_t context); 109int smb_smb_ssnclose(struct smb_vc *vcp, vfs_context_t context); 110int smb2_smb_tree_connect(struct smb_vc *vcp, struct smb_share *share, 111 const char *serverName, size_t serverNameLen, 112 vfs_context_t context); 113int smb1_smb_treedisconnect(struct smb_share *share, vfs_context_t context); 114int smb_smb_treedisconnect(struct smb_share *share, vfs_context_t context); 115int smb2_smb_write(struct smb_share *share, void *arg_ptr, 116 vfs_context_t context); 117int smb2_smb_write_one(struct smb_share *share, 118 struct smb2_rw_rq *writep, 119 user_ssize_t *len, 120 user_ssize_t *rresid, 121 struct smb_rq **compound_rqp, 122 vfs_context_t context); 123int smb_smb_write(struct smb_share *share, SMBFID fid, uio_t uio, int ioflag, 124 vfs_context_t context); 125 126 127 128#endif /* _KERNEL */ 129#endif /* _NETSMB_CONN_2_H_ */ 130