db157b95b21f7ff6855d4ef8ad852bdd1ac4fcbd
[openafs.git] / src / WINNT / afsd / smb_ioctl.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 #ifndef __SMB_IOCTL_H_ENV__
11 #define __SMB_IOCTL_H_ENV__ 1
12
13 /* magic file name for ioctl opens */
14 #define SMB_IOCTL_FILENAME      "\\_._AFS_IOCTL_._"     /* double backslashes for C compiler */
15
16 /* max parms for ioctl, in either direction */
17 #define SMB_IOCTL_MAXDATA       8192
18
19 #define SMB_IOCTL_MAXPROCS      64                      /* max # of calls */
20
21 /* procedure implementing an ioctl */
22 typedef long (smb_ioctlProc_t)(smb_ioctl_t *, struct cm_user *userp);
23
24 extern void smb_InitIoctl(void);
25
26 extern void smb_SetupIoctlFid(smb_fid_t *fidp, cm_space_t *prefix);
27
28 extern long smb_IoctlRead(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
29
30 extern long smb_IoctlWrite(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
31
32 extern long smb_IoctlV3Read(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
33
34 #ifndef DJGPP
35 extern long smb_IoctlReadRaw(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp,
36         smb_packet_t *outp);
37 #else /* DJGPP */
38 extern long smb_IoctlReadRaw(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp,
39         smb_packet_t *outp, dos_ptr rawBuf);
40 #endif /* !DJGPP */
41
42 #endif /*  __SMB_IOCTL_H_ENV__ */