ioctl.c
来自「嵌入式系统设计与实例开发实验教材二源码 多线程应用程序设计 串行端口程序设计」· C语言 代码 · 共 58 行
C
58 行
/* * ioctl.c * * Copyright (C) 1995, 1996 by Volker Lendecke * Copyright (C) 1997 by Volker Lendecke * * Please add a note about your changes to smbfs in the ChangeLog file. */#include <linux/errno.h>#include <linux/fs.h>#include <linux/ioctl.h>#include <linux/sched.h>#include <linux/mm.h>#include <linux/highuid.h>#include <linux/smb_fs.h>#include <linux/smb_mount.h>#include <asm/uaccess.h>#include "proto.h"intsmb_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg){ struct smb_sb_info *server = server_from_inode(inode); struct smb_conn_opt opt; int result = -EINVAL; switch (cmd) { case SMB_IOC_GETMOUNTUID: result = put_user(NEW_TO_OLD_UID(server->mnt->mounted_uid), (uid16_t *) arg); break; case SMB_IOC_GETMOUNTUID32: result = put_user(server->mnt->mounted_uid, (uid_t *) arg); break; case SMB_IOC_NEWCONN: /* arg is smb_conn_opt, or NULL if no connection was made */ if (!arg) { result = smb_wakeup(server); break; } result = -EFAULT; if (!copy_from_user(&opt, (void *)arg, sizeof(opt))) result = smb_newconn(server, &opt); break; default: break; } return result;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?