1 /*
2 * ioctl.c
3 *
4 * Copyright (C) 1995 by Volker Lendecke
5 *
6 */
7
8 #include <asm/segment.h>
9 #include <linux/errno.h>
10 #include <linux/fs.h>
11 #include <linux/smb_fs.h>
12 #include <linux/ioctl.h>
13 #include <linux/sched.h>
14 #include <linux/mm.h>
15
16 int
17 smb_ioctl (struct inode * inode, struct file * filp,
/* ![[previous]](../icons/n_left.png)
![[next]](../icons/n_right.png)
![[first]](../icons/n_first.png)
![[last]](../icons/n_last.png)
![[top]](../icons/top.png)
![[bottom]](../icons/bottom.png)
![[index]](../icons/index.png)
*/
18 unsigned int cmd, unsigned long arg)
19 {
20 int result;
21
22 switch (cmd) {
23 case SMB_IOC_GETMOUNTUID:
24 if ((result = verify_area(VERIFY_WRITE, (uid_t*) arg,
25 sizeof(uid_t))) != 0) {
26 return result;
27 }
28 put_fs_word(SMB_SERVER(inode)->m.mounted_uid, (uid_t*) arg);
29 return 0;
30 default:
31 return -EINVAL;
32 }
33 }
34
35
36 /*
37 * Overrides for Emacs so that we follow Linus's tabbing style.
38 * Emacs will notice this stuff at the end of the file and automatically
39 * adjust the settings for this buffer only. This must remain at the end
40 * of the file.
41 * ---------------------------------------------------------------------------
42 * Local variables:
43 * c-indent-level: 8
44 * c-brace-imaginary-offset: 0
45 * c-brace-offset: -8
46 * c-argdecl-indent: 8
47 * c-label-offset: -8
48 * c-continued-statement-offset: 8
49 * c-continued-brace-offset: 0
50 * End:
51 */