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/time.h>
15 #include <linux/highuid.h>
16 #include <linux/net.h>
18 #include <linux/smb_fs.h>
19 #include <linux/smb_mount.h>
21 #include <asm/uaccess.h>
26 smb_ioctl(struct inode
*inode
, struct file
*filp
,
27 unsigned int cmd
, unsigned long arg
)
29 struct smb_sb_info
*server
= server_from_inode(inode
);
30 struct smb_conn_opt opt
;
36 case SMB_IOC_GETMOUNTUID
:
37 SET_UID(uid16
, server
->mnt
->mounted_uid
);
38 result
= put_user(uid16
, (uid16_t __user
*) arg
);
40 case SMB_IOC_GETMOUNTUID32
:
41 SET_UID(uid32
, server
->mnt
->mounted_uid
);
42 result
= put_user(uid32
, (uid_t __user
*) arg
);
46 /* arg is smb_conn_opt, or NULL if no connection was made */
49 smb_lock_server(server
);
50 server
->state
= CONN_RETRIED
;
51 printk(KERN_ERR
"Connection attempt failed! [%d]\n",
54 smb_unlock_server(server
);
59 if (!copy_from_user(&opt
, (void __user
*)arg
, sizeof(opt
)))
60 result
= smb_newconn(server
, &opt
);