2 * Copyright 2000, International Business Machines Corporation and others.
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
10 #ifndef __SMB_IOCTL_H_ENV__
11 #define __SMB_IOCTL_H_ENV__ 1
13 /* magic file name for ioctl opens */
14 #define SMB_IOCTL_FILENAME "\\_._AFS_IOCTL_._" /* double backslashes for C compiler */
16 /* max parms for ioctl, in either direction */
17 #define SMB_IOCTL_MAXDATA 8192
19 #define SMB_IOCTL_MAXPROCS 64 /* max # of calls */
21 /* procedure implementing an ioctl */
22 typedef long (smb_ioctlProc_t)(smb_ioctl_t *, struct cm_user *userp);
24 extern void smb_InitIoctl(void);
26 extern void smb_SetupIoctlFid(smb_fid_t *fidp, cm_space_t *prefix);
28 extern long smb_IoctlRead(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
30 extern long smb_IoctlWrite(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
32 extern long smb_IoctlV3Read(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp, smb_packet_t *outp);
35 extern long smb_IoctlReadRaw(smb_fid_t *fidp, smb_vc_t *vcp, smb_packet_t *inp,
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);
42 #endif /* __SMB_IOCTL_H_ENV__ */