Windows: Do not double increment cm_data.currentCells
[openafs.git] / src / WINNT / afsd / smb_rpc.h
1 /*
2  * Copyright (c) 2009 Secure Endpoints Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person
5  * obtaining a copy of this software and associated documentation
6  * files (the "Software"), to deal in the Software without
7  * restriction, including without limitation the rights to use, copy,
8  * modify, merge, publish, distribute, sublicense, and/or sell copies
9  * of the Software, and to permit persons to whom the Software is
10  * furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be
13  * included in all copies or substantial portions of the Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22  * SOFTWARE.
23  */
24
25 #ifndef __SMB_RPC_H__
26 #define __SMB_RPC_H__
27
28 struct smb_rpc;
29
30 #ifdef SMB_RPC_IMPL
31
32 #include "msrpc.h"
33
34 typedef
35 struct smb_rpc {
36     smb_fid_t * fidp;
37     msrpc_conn  rpc_conn;
38 } smb_rpc_t;
39
40 #endif
41
42 afs_int32
43 smb_SetupRPCFid(smb_fid_t * fidp, const clientchar_t * epnamep,
44                 unsigned short * file_type,
45                 unsigned short * device_state);
46
47 void
48 smb_CleanupRPCFid(IN smb_fid_t * fidp);
49
50 afs_int32
51 smb_RPCRead(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
52
53 afs_int32
54 smb_RPCWrite(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
55
56 afs_int32
57 smb_RPCV3Read(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
58
59 afs_int32
60 smb_RPCV3Write(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
61
62 afs_int32
63 smb_RPCNmpipeTransact(smb_fid_t *fidp, smb_vc_t *vcp, smb_tran2Packet_t *p, smb_packet_t *op);
64
65 #endif  /* __SMB_RPC_H__ */