4 * Copyright (C) 1995, 1996 by Volker Lendecke
5 * Copyright (C) 1997 by Volker Lendecke
7 * Please add a note about your changes to smbfs in the ChangeLog file.
10 #include <linux/errno.h>
12 #include <linux/ioctl.h>
13 #include <linux/sched.h>
15 #include <linux/highuid.h>
17 #include <linux/smb_fs.h>
18 #include <linux/smb_mount.h>
20 #include <asm/uaccess.h>
23 smb_ioctl(struct inode
*inode
, struct file
*filp
,
24 unsigned int cmd
, unsigned long arg
)
26 struct smb_sb_info
*server
= SMB_SERVER(inode
);
27 struct smb_conn_opt opt
;
31 case SMB_IOC_GETMOUNTUID
:
32 result
= put_user(NEW_TO_OLD_UID(server
->mnt
->mounted_uid
),
35 case SMB_IOC_GETMOUNTUID32
:
36 result
= put_user(server
->mnt
->mounted_uid
, (uid_t
*) arg
);
40 /* require an argument == the mount data, else it is EINVAL */
45 if (!copy_from_user(&opt
, (void *)arg
, sizeof(opt
)))
46 result
= smb_newconn(server
, &opt
);