亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sys_s390.c

?? linux-2.4.29操作系統的源碼
?? C
字號:
/* *  arch/s390/kernel/sys_s390.c * *  S390 version *    Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com), * *  Derived from "arch/i386/kernel/sys_i386.c" * *  This file contains various random system calls that *  have a non-standard calling sequence on the Linux/s390 *  platform. */#include <linux/errno.h>#include <linux/sched.h>#include <linux/mm.h>#include <linux/smp.h>#include <linux/smp_lock.h>#include <linux/sem.h>#include <linux/msg.h>#include <linux/shm.h>#include <linux/stat.h>#include <linux/mman.h>#include <linux/file.h>#include <linux/utsname.h>#include <asm/uaccess.h>#include <asm/ipc.h>/* * sys_pipe() is the normal C calling standard for creating * a pipe. It's not the way Unix traditionally does this, though. */asmlinkage int sys_pipe(unsigned long * fildes){	int fd[2];	int error;	error = do_pipe(fd);	if (!error) {		if (copy_to_user(fildes, fd, 2*sizeof(int)))			error = -EFAULT;	}	return error;}/* common code for old and new mmaps */static inline long do_mmap2(	unsigned long addr, unsigned long len,	unsigned long prot, unsigned long flags,	unsigned long fd, unsigned long pgoff){	int error = -EBADF;	struct file * file = NULL;	flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE);	if (!(flags & MAP_ANONYMOUS)) {		file = fget(fd);		if (!file)			goto out;	}	down_write(&current->mm->mmap_sem);	error = do_mmap_pgoff(file, addr, len, prot, flags, pgoff);	up_write(&current->mm->mmap_sem);	if (file)		fput(file);out:	return error;}/* * Perform the select(nd, in, out, ex, tv) and mmap() system * calls. Linux for S/390 isn't able to handle more than 5 * system call parameters, so these system calls used a memory * block for parameter passing.. */struct mmap_arg_struct {	unsigned long addr;	unsigned long len;	unsigned long prot;	unsigned long flags;	unsigned long fd;	unsigned long offset;};asmlinkage long sys_mmap2(struct mmap_arg_struct *arg){	struct mmap_arg_struct a;	int error = -EFAULT;	if (copy_from_user(&a, arg, sizeof(a)))		goto out;	error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset);out:	return error;}asmlinkage int old_mmap(struct mmap_arg_struct *arg){	struct mmap_arg_struct a;	int error = -EFAULT;	if (copy_from_user(&a, arg, sizeof(a)))		goto out;	error = -EINVAL;	if (a.offset & ~PAGE_MASK)		goto out;	error = do_mmap2(a.addr, a.len, a.prot, a.flags, a.fd, a.offset >> PAGE_SHIFT);out:	return error;}extern asmlinkage int sys_select(int, fd_set *, fd_set *, fd_set *, struct timeval *);struct sel_arg_struct {	unsigned long n;	fd_set *inp, *outp, *exp;	struct timeval *tvp;};asmlinkage int old_select(struct sel_arg_struct *arg){	struct sel_arg_struct a;	if (copy_from_user(&a, arg, sizeof(a)))		return -EFAULT;	/* sys_select() does the appropriate kernel locking */	return sys_select(a.n, a.inp, a.outp, a.exp, a.tvp);}/* * sys_ipc() is the de-multiplexer for the SysV IPC calls.. * * This is really horribly ugly. */asmlinkage int sys_ipc (uint call, int first, int second,                         int third, void *ptr){        struct ipc_kludge tmp;	int ret;        switch (call) {        case SEMOP:                return sys_semop (first, (struct sembuf *)ptr, second);        case SEMGET:                return sys_semget (first, second, third);        case SEMCTL: {                union semun fourth;                if (!ptr)                        return -EINVAL;                if (get_user(fourth.__pad, (void **) ptr))                        return -EFAULT;                return sys_semctl (first, second, third, fourth);        }         case MSGSND:		return sys_msgsnd (first, (struct msgbuf *) ptr,                                    second, third);		break;        case MSGRCV:                if (!ptr)                        return -EINVAL;                if (copy_from_user (&tmp, (struct ipc_kludge *) ptr,                                    sizeof (struct ipc_kludge)))                        return -EFAULT;                return sys_msgrcv (first, tmp.msgp,                                   second, tmp.msgtyp, third);        case MSGGET:                return sys_msgget ((key_t) first, second);        case MSGCTL:                return sys_msgctl (first, second, (struct msqid_ds *) ptr);                	case SHMAT: {		ulong raddr;		ret = sys_shmat (first, (char *) ptr, second, &raddr);		if (ret)			return ret;		return put_user (raddr, (ulong *) third);		break;        }	case SHMDT: 		return sys_shmdt ((char *)ptr);	case SHMGET:		return sys_shmget (first, second, third);	case SHMCTL:		return sys_shmctl (first, second,                                   (struct shmid_ds *) ptr);	default:		return -EINVAL;	}        	return -EINVAL;}/* * Old cruft */asmlinkage int sys_uname(struct old_utsname * name){	int err;	if (!name)		return -EFAULT;	down_read(&uts_sem);	err=copy_to_user(name, &system_utsname, sizeof (*name));	up_read(&uts_sem);	return err?-EFAULT:0;}asmlinkage int sys_olduname(struct oldold_utsname * name){	int error;	if (!name)		return -EFAULT;	if (!access_ok(VERIFY_WRITE,name,sizeof(struct oldold_utsname)))		return -EFAULT;    	down_read(&uts_sem);		error = __copy_to_user(&name->sysname,&system_utsname.sysname,__OLD_UTS_LEN);	error |= __put_user(0,name->sysname+__OLD_UTS_LEN);	error |= __copy_to_user(&name->nodename,&system_utsname.nodename,__OLD_UTS_LEN);	error |= __put_user(0,name->nodename+__OLD_UTS_LEN);	error |= __copy_to_user(&name->release,&system_utsname.release,__OLD_UTS_LEN);	error |= __put_user(0,name->release+__OLD_UTS_LEN);	error |= __copy_to_user(&name->version,&system_utsname.version,__OLD_UTS_LEN);	error |= __put_user(0,name->version+__OLD_UTS_LEN);	error |= __copy_to_user(&name->machine,&system_utsname.machine,__OLD_UTS_LEN);	error |= __put_user(0,name->machine+__OLD_UTS_LEN);		up_read(&uts_sem);		error = error ? -EFAULT : 0;	return error;}asmlinkage int sys_pause(void){	set_current_state(TASK_INTERRUPTIBLE);	schedule();	return -ERESTARTNOHAND;}asmlinkage int sys_ioperm(unsigned long from, unsigned long num, int on){  return -ENOSYS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美伦理电影网| 久久99精品一区二区三区三区| 风间由美一区二区三区在线观看 | 欧美视频自拍偷拍| 一区二区三区在线观看动漫| www.一区二区| 一区二区三区欧美久久| 欧洲av在线精品| 视频在线观看一区| 日韩亚洲欧美成人一区| 国产一区二区三区免费看| 国产蜜臀av在线一区二区三区| 国产91露脸合集magnet| 亚洲色图20p| 欧美久久久久久久久久| 久久 天天综合| 国产精品久久久久久久久图文区| 色婷婷精品久久二区二区蜜臂av | 亚洲一卡二卡三卡四卡| 91精品国产综合久久福利| 国产呦精品一区二区三区网站| 久久精品一区二区三区不卡| 色综合一个色综合| 日韩不卡一二三区| 国产欧美日韩在线看| 色综合咪咪久久| 日韩av中文字幕一区二区三区| 久久蜜桃av一区精品变态类天堂| a亚洲天堂av| 日本成人在线一区| 国产精品美女视频| 欧美日韩成人综合在线一区二区| 国精产品一区一区三区mba桃花 | 日韩欧美国产一区二区三区| 国产精品系列在线播放| 亚洲一区在线观看视频| 亚洲精品在线电影| 欧美自拍丝袜亚洲| 国产一二精品视频| 亚洲第一二三四区| 国产日产欧美一区二区视频| 精品视频一区二区不卡| 丰满亚洲少妇av| 日韩激情视频在线观看| 亚洲欧洲一区二区在线播放| 日韩精品在线一区二区| 99久久伊人久久99| 韩日av一区二区| 午夜视频久久久久久| 精品国产精品网麻豆系列| 欧美体内she精高潮| 成人看片黄a免费看在线| 日韩av电影一区| 亚洲美女淫视频| 欧美经典一区二区三区| 日韩亚洲欧美中文三级| 精品视频一区 二区 三区| 91丨九色丨国产丨porny| 国产伦精品一区二区三区在线观看| 偷拍与自拍一区| 亚洲精品自拍动漫在线| 欧美国产精品久久| 2020国产精品自拍| 日韩亚洲欧美综合| 91精品中文字幕一区二区三区| 日本久久电影网| 91影院在线观看| 成人福利视频网站| 国产99久久久精品| 国产福利电影一区二区三区| 久久成人免费电影| 91麻豆高清视频| 成人永久免费视频| 成人性视频免费网站| 国产成人一区在线| 国产一区二区三区蝌蚪| 国产在线播放一区三区四| 老鸭窝一区二区久久精品| 日本午夜精品视频在线观看 | 欧美少妇性性性| 一本到不卡免费一区二区| 99精品热视频| 91免费观看国产| 91丨porny丨户外露出| 91在线国产福利| 91丝袜美腿高跟国产极品老师| av福利精品导航| 色综合一区二区| 欧美性猛交一区二区三区精品| 在线视频一区二区三| 欧美伊人久久大香线蕉综合69| 欧美怡红院视频| 91麻豆精品国产91久久久久久| 日韩一区二区三区视频| 精品电影一区二区三区| 中文字幕欧美区| 综合激情成人伊人| 亚洲一区视频在线观看视频| 五月婷婷激情综合网| 美女视频一区在线观看| 国产精品一线二线三线| www.欧美亚洲| 欧美私人免费视频| 日韩一区二区电影在线| 久久久精品日韩欧美| 亚洲私人影院在线观看| 午夜欧美一区二区三区在线播放| 麻豆精品国产传媒mv男同| 国产寡妇亲子伦一区二区| 91论坛在线播放| 欧美日韩国产综合一区二区| 欧美成人猛片aaaaaaa| 国产精品久久久久久久午夜片| 一区二区三区在线免费观看| 蜜臀av一级做a爰片久久| 丰满岳乱妇一区二区三区| 久久久久久久久岛国免费| 国产三级精品视频| 夜夜爽夜夜爽精品视频| 美日韩一区二区| av电影天堂一区二区在线| 欧美日本免费一区二区三区| 欧美成人免费网站| 亚洲女同女同女同女同女同69| 日本不卡的三区四区五区| 播五月开心婷婷综合| 9191久久久久久久久久久| 国产精品免费视频观看| 偷偷要91色婷婷| 91在线丨porny丨国产| 欧美一二三区精品| 亚洲精品中文字幕在线观看| 久久成人久久鬼色| 欧美在线观看视频一区二区| 久久久国际精品| 日本中文字幕不卡| 99精品视频在线观看免费| 精品日韩99亚洲| 亚洲成人动漫在线免费观看| 成人白浆超碰人人人人| 日韩午夜av电影| 亚洲一二三区视频在线观看| 国产91精品在线观看| 精品欧美久久久| 三级久久三级久久久| 色综合久久综合网欧美综合网 | 国产女人18毛片水真多成人如厕 | 麻豆精品一区二区三区| 色综合网色综合| 日本一区二区三区四区| 麻豆成人久久精品二区三区小说| 欧美天天综合网| 亚洲免费资源在线播放| 成人一区二区三区在线观看| 精品国产一区二区三区忘忧草| 性欧美大战久久久久久久久| 色综合久久久久综合| 国产精品国产三级国产aⅴ中文| 欧美三级视频在线观看| 亚洲三级小视频| 不卡av在线网| 亚洲国产精品成人久久综合一区 | 午夜欧美2019年伦理| 91久久国产最好的精华液| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 国产一区啦啦啦在线观看| 日韩午夜小视频| 久久99精品久久久| 日韩欧美www| 久久av中文字幕片| 日韩精品中文字幕在线一区| 蜜桃久久久久久久| 日韩美女视频一区二区在线观看| 日韩av一区二区三区四区| 日韩欧美另类在线| 久久99国产精品免费网站| 26uuu久久天堂性欧美| 久久精品免费观看| 久久久亚洲欧洲日产国码αv| 精品一区二区三区日韩| 久久亚洲精精品中文字幕早川悠里| 国产在线精品不卡| 日本一区二区综合亚洲| 99久久精品99国产精品| 亚洲精品国产精品乱码不99| 在线一区二区三区四区五区| 香蕉成人伊视频在线观看| 欧美精品久久99久久在免费线| 日韩电影在线观看一区| 精品久久99ma| 丁香网亚洲国际| 亚洲乱码中文字幕综合| 欧美日韩大陆一区二区| 精品无码三级在线观看视频| 久久久国际精品| 色综合久久综合| 婷婷综合另类小说色区| 2023国产精华国产精品| 99精品视频在线免费观看| 天天综合日日夜夜精品|