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
;
34 case SMB_IOC_GETMOUNTUID
:
35 result
= put_user(NEW_TO_OLD_UID(server
->mnt
->mounted_uid
),
38 case SMB_IOC_GETMOUNTUID32
:
39 result
= put_user(server
->mnt
->mounted_uid
, (uid_t
*) arg
);
43 /* arg is smb_conn_opt, or NULL if no connection was made */
46 smb_lock_server(server
);
47 server
->state
= CONN_RETRIED
;
48 printk(KERN_ERR
"Connection attempt failed! [%d]\n",
51 smb_unlock_server(server
);
56 if (!copy_from_user(&opt
, (void *)arg
, sizeof(opt
)))
57 result
= smb_newconn(server
, &opt
);