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

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

?? qopen.9

?? 7號信令功能代碼,為開源代碼
?? 9
字號:
'\" tr.\" -*- nroff -*-.\".\" @(#) qopen.9,v 1.1.4.1 2004/01/12 23:33:11 brian Exp.\".\" =========================================================================.\".\" Copyright (C) 2001-2004  OpenSS7 Corp. <www.openss7.com>.\".\" All Rights Reserved..\".\" Permission is granted to make and distribute verbatim copies of this.\" manual provided the copyright notice and this permission notice are.\" preserved on all copies..\".\" Permission is granted to copy and distribute modified versions of this.\" manual under the conditions for verbatim copying, provided that the.\" entire resulting derived work is distributed under the terms of a.\" permission notice identical to this one.\" .\" Since the Linux kernel and libraries are constantly changing, this.\" manual page may be incorrect or out-of-date.  The author(s) assume no.\" responsibility for errors or omissions, or for damages resulting from.\" the use of the information contained herein.  The author(s) may not.\" have taken the same level of care in the production of this manual,.\" which is licensed free of charge, as they might when working.\" professionally..\" .\" Formatted or processed versions of this manual, if unaccompanied by.\" the source, must acknowledge the copyright and authors of this work..\".\" =========================================================================.\".\" Modified 2004/01/12 23:33:11 by brian.\".\" =========================================================================.so lis.macros.R1bracket-label "\fR[\fB" "\fR]" "\fR, \fB"no-default-databasedatabase lis.refsaccumulatemove-punctuationabbreviate Ajoin-authors ", " ", " " and "et-al " et al" 2 3abbreviate-label-ranges ".."sort-adjacent-labels.R2.\".\".TH QOPEN 9 "2004/01/12 23:33:11" "LiS-2_16_18-8" "Linux STREAMS DDI/DKI".SH NAME.B qopen, lis_qopen\- call a \fISTREAMS\fR module or driver open routine.SH SYNOPSIS.PP.B #include <sys/stream.h>.HP 8.BI "int " retval " = qopen(queue_t *" q ", dev_t *" devp ", int " flag ", cred_t *" credp );.SH DESCRIPTION.PP.BR qopen ()is an internal.IR STREAMS (4)function which invokes a.IR STREAMS (4)module or driver openroutine..PP.I qis a pointer to the read queue of a newly allocated queue pair for the moduleor driver,  allocated with.BR allocq (9)..PP.I devpis a pointer to a.B dev_tdevice number.For a driver,.B devppoints to the device number of the.IR STREAMS (4)character special file that wasopened that invoked the driver's open routine.A driver open routine returns the resulting devicenumber to the area pointed to by.IR devp .See.BR makedevice (9).For a module,.B devppoints to the device number of the.IR STREAMS (4)character special file under whosestream file the module is being pushed.  A module open routine does not alterthe device number but may use the passed in device number to determine whichdevice the module is ultimately being pushed over..PP.I flagcontains open flags for use by the stream or drivers open routine and willcontain one of:.TP 12.B DRVOPENthe module was opened as a.IR STREAMS (4)driver..TP 12.B MODOPENthe module was opened as a.IR STREAMS (4)module..TP 12.B CLONEOPENthe module was opened via the.BR clone (4)driver..PP.I credppoints to a.B cred_tstructure which provides the credentials of the process invoking the open,structured as follows:.sp.nf\fC\s-2\typedef int o_uid_t;typedef int o_gid_t;typedef unsigned char uchar;typedef struct cred {    uid_t cr_uid;                               /* effective user id */    gid_t cr_gid;                               /* effective group id */    uid_t cr_ruid;                              /* real user id */    gid_t cr_rgid;                              /* real group id */} cred_t;\fR\s+2.fi.SH CAVEATS.PP.BR qopen ()is an internal.IR STREAMS (4)function that is not intended to be calleddirectly by the module writer.  See.BR open (2s)and.B I_PUSHunder.BR streamio (2)..SH "RETURN VALUE".PPUpon success,.BR qopen ()returns zero (0) and the device number associated with a driver in the areapointed to by.IR devp .Upon failure,.BR qopen ()returns a negative error number..SH ERRORSWhen.BR qopen ()fails, it returns a negative error number as follows:.TP 12.RB [ ENOPKG ]the module has no qopen routine..PP.BR qopen ()can also return any error returned by the modules qopen routine.  In general,the following errors are provided by module qopen routines:.TP 12.RB [ EXNIO ]the qopen routine for the module or driver failed..TP 12.RB [ EIO ]a module was opened as a driver, or visa versa..TP 12.RB [ EPERM ]the opening process did not have sufficient credentials to open the specifieddevice or push the specified module..TP 12.RB [ ENOMEM ]memory could not be allocated to hold the module or driver's privatestructures..TP 12.RB [ ENOSR "], [" ENOBUFS ]a buffer could not be allocated as part of the open..TP 12.RB [ ENOSR ]a.IR STREAMS (4)resource could not be allocated as part of the open..SH EXAMPLES.PPFollowing is an example of a module open routine:.sp.nf\fC\s-2\static priv_t *xxx_opens = NULL;int xxx_open(queue_t * q, dev_t * devp, int flag, int sflag, cred_t * crp){    int err;    MOD_INC_USE_COUNT;          /* keep module from unloading */    if (q->q_ptr != NULL) {        MOD_DEC_USE_COUNT;        return (0);             /* already open */    }    if (sflag == MODOPEN || WR(q)->q_next != NULL) {        int cmajor = getmajor(*devp);        int cminor = getminor(*devp);        priv_t *x;        /* test for multiple push */        for (x = xxx_opens; x; x = x->next) {            if (x->u.dev.cmajor == cmajor && x->u.dev.cminor == cminor) {                MOD_DEC_USE_COUNT;                return (ENXIO);            }        }        if (!(xxx_alloc_priv(q, &xxx_opens, devp, crp))) {            MOD_DEC_USE_COUNT;            return (ENOMEM);        }        return (0);    }    MOD_DEC_USE_COUNT;    return (EIO);}\fR\s+2.fi.PPFollowing is an example of a driver open routine:.sp.nf\fC\s-2\int ss_majors[SS_NMAJOR] = { SS_CMAJOR, };int ss_open(queue_t * q, dev_t * devp, int flag, int sflag,            cred_t * crp){    int flags, mindex = 0;    int cmajor = getmajor(*devp);    int cminor = getminor(*devp);    ss_t *ss, **ipp = &ss_opens;    const ss_profile_t *prof;    MOD_INC_USE_COUNT;          /* keep module from unloading in our                                   face */    if (q->q_ptr != NULL) {        MOD_DEC_USE_COUNT;        return (0);             /* already open */    }    if (sflag == MODOPEN || WR(q)->q_next) {        ptrace(("%s: ERROR: can't push as module\n", SS_MOD_NAME));        MOD_DEC_USE_COUNT;        return (EIO);    }    if (cmajor != SS_CMAJOR || cminor < ICMP_CMINOR ||        cminor > RAWIP_CMINOR) {        MOD_DEC_USE_COUNT;        return (ENXIO);    }    prof = &ss_profiles[cminor - ICMP_CMINOR];    cminor = FREE_CMINOR;    lis_spin_lock_irqsave(&ss_lock, &flags);    for (; *ipp; ipp = &(*ipp)->next) {        if (cmajor != (*ipp)->cmajor)            break;        if (cmajor == (*ipp)->cmajor) {            if (cminor < (*ipp)->cminor)                break;            if (cminor == (*ipp)->cminor) {                if (++cminor >= SS_NMINOR) {                    if (++mindex >= SS_NMAJOR ||                        !(cmajor = ss_majors[mindex]))                        break;                    cminor = 0;                }                continue;            }        }    }    if (mindex >= SS_NMAJOR || !cmajor) {        ptrace(("%s: ERROR: no device numbers available\n",                SS_MOD_NAME));        lis_spin_unlock_irqrestore(&ss_lock, &flags);        MOD_DEC_USE_COUNT;        return (ENXIO);    }    printd(("%s: opened character device %d:%d\n", SS_MOD_NAME, cmajor,            cminor));    *devp = makedevice(cmajor, cminor);    if (!(ss = ss_alloc_priv(q, ipp, cmajor, cminor, crp, prof))) {        ptrace(("%s: ERROR: No memory\n", SS_MOD_NAME));        lis_spin_unlock_irqrestore(&ss_lock, &flags);        MOD_DEC_USE_COUNT;        return (ENOMEM);    }    lis_spin_unlock_irqrestore(&ss_lock, &flags);    return (0);}\fR\s+2.fi.SH "SEE ALSO".BR open (2s),.BR streamio (2),.BR qclose (9),.BR qattach (9),.BR qdetach (9)..SH VERSIONS.PPThis manpage was written for.B LiS\c..[LiS.].PP.BR qopen ()first appeared in SVR 3..[svr3.].\".\".XX.[magic.].[svr42.].[svr4.].\".\".[$LIST$.].TA

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久久蜜臀图片| 久久久久久日产精品| 51午夜精品国产| 中文在线一区二区| 免费观看久久久4p| 色播五月激情综合网| 久久久久久久久久久黄色| 日韩av午夜在线观看| 91亚洲精品久久久蜜桃网站| 久久影院视频免费| 亚洲成人av一区| 色综合中文字幕| 国产欧美日韩精品在线| 99久精品国产| 中文字幕av一区 二区| 免费欧美日韩国产三级电影| 欧美无砖专区一中文字| 国产精品久久久久久久久久久免费看 | 亚洲精品免费在线| 国产精品夜夜爽| 精品日本一线二线三线不卡| 香蕉久久夜色精品国产使用方法 | 一区二区三区不卡视频| 成人黄色软件下载| 久久精品在这里| 韩日av一区二区| 日韩精品一区二区三区视频在线观看 | 欧美一级一区二区| 亚洲国产综合人成综合网站| 色综合网站在线| 亚洲精品欧美综合四区| 日本乱人伦aⅴ精品| 一区二区在线观看免费| 91视频一区二区三区| 亚洲图片激情小说| 91免费看片在线观看| 亚洲免费在线电影| 日本高清不卡在线观看| 一区二区三区中文字幕精品精品| 91福利国产精品| 亚洲综合精品自拍| 欧美军同video69gay| 婷婷开心久久网| 欧美成人aa大片| 国产在线不卡一区| 国产精品无人区| 99精品视频一区| 亚洲国产精品自拍| 精品国产精品一区二区夜夜嗨 | 性做久久久久久免费观看| 欧美日韩亚洲高清一区二区| 美日韩一区二区三区| 久久久久国产精品麻豆ai换脸 | 亚洲色大成网站www久久九九| 色88888久久久久久影院按摩| 亚洲亚洲精品在线观看| 日韩欧美一区二区三区在线| 成人免费看黄yyy456| 亚洲精品免费在线播放| 日韩欧美国产wwwww| 成人少妇影院yyyy| 亚洲最大的成人av| 欧美精品一区二区在线播放 | 日韩视频在线永久播放| 国产一区二区三区四区五区入口| 中文字幕一区在线| 777久久久精品| 成人国产视频在线观看| 天堂影院一区二区| 中文字幕高清不卡| 欧美精品第1页| 国产suv精品一区二区6| 亚洲国产日日夜夜| 国产午夜精品久久| 欧美电影一区二区三区| 成人激情小说网站| 久久99国产精品尤物| 亚洲免费观看在线观看| 精品对白一区国产伦| 欧美性生活大片视频| 成人免费视频视频| 精品综合久久久久久8888| 亚洲激情综合网| 国产视频一区不卡| 欧美电影在哪看比较好| 一本大道久久a久久精二百| 国产在线国偷精品免费看| 亚洲福利视频一区| 亚洲免费观看高清完整| 日本一区二区三级电影在线观看 | 国产一区欧美日韩| 亚洲永久免费视频| 国产精品三级av| 精品久久久久久久久久久院品网| 在线免费观看日本欧美| 高清在线不卡av| 国产毛片精品国产一区二区三区| 亚洲一卡二卡三卡四卡| 中文字幕亚洲不卡| 中文子幕无线码一区tr| 久久久久99精品一区| 精品少妇一区二区三区在线播放| 欧美三级欧美一级| 在线观看视频一区二区欧美日韩 | 成人性色生活片免费看爆迷你毛片| 日韩精品一级中文字幕精品视频免费观看| 国产精品久久三区| 国产精品欧美极品| 欧美国产亚洲另类动漫| 国产日产欧美一区二区视频| 久久久综合精品| 久久久美女毛片| 国产欧美精品一区aⅴ影院 | 国产欧美日韩在线视频| 国产亚洲综合性久久久影院| 久久亚洲综合色一区二区三区| 日韩一区二区三| 精品国产免费一区二区三区四区 | 亚洲精品精品亚洲| 亚洲狼人国产精品| 亚洲一区二区欧美激情| 天堂成人免费av电影一区| 蜜臀av一区二区| 国产中文一区二区三区| 国产高清不卡二三区| 成人精品视频一区二区三区尤物| 成人黄色一级视频| 在线观看成人免费视频| 欧美日韩国产高清一区| 日韩一级在线观看| 久久久久久久精| 亚洲精品国产品国语在线app| 亚洲高清免费视频| 日本成人在线看| 成人国产精品免费观看| 欧美亚洲高清一区二区三区不卡| 欧美日韩国产精品成人| 欧美精品一区二区三区高清aⅴ| 日本一区二区综合亚洲| 一区二区三区色| 青青草原综合久久大伊人精品| 国产一区二区成人久久免费影院| 成人av一区二区三区| 在线免费观看视频一区| 337p粉嫩大胆色噜噜噜噜亚洲| 国产精品免费视频观看| 亚洲一区二区三区免费视频| 韩国一区二区在线观看| av在线一区二区| 日韩视频免费直播| 中文字幕一区二区三区不卡在线 | 午夜一区二区三区视频| 久久福利资源站| 91一区二区在线| 精品va天堂亚洲国产| 专区另类欧美日韩| 精品影视av免费| 色综合天天综合给合国产| 在线播放亚洲一区| 国产精品嫩草影院com| 美女视频一区在线观看| 91看片淫黄大片一级| 精品国产一区二区亚洲人成毛片 | 国产三级精品视频| 亚洲成人av资源| 成人动漫一区二区| 欧美变态口味重另类| 亚洲午夜电影在线| 成人av在线看| 久久久影视传媒| 老司机午夜精品| 欧美美女一区二区| 亚洲免费电影在线| 成人美女视频在线观看18| 欧美一区二区三区爱爱| 亚洲午夜视频在线| 97精品国产露脸对白| 国产丝袜美腿一区二区三区| 日韩经典一区二区| 欧美亚洲一区二区在线| 国产精品久久久久久久久搜平片| 国产主播一区二区| 精品国产一区二区三区av性色| 日韩和欧美一区二区| 91电影在线观看| 亚洲欧美视频在线观看| 成a人片国产精品| 国产精品你懂的在线| 国产精品91一区二区| 久久久精品欧美丰满| 国模少妇一区二区三区| 日韩免费看网站| 蜜乳av一区二区三区| 日韩欧美一二区| 狠狠色狠狠色综合日日91app| 日韩精品一区二区三区在线观看| 日韩电影在线免费观看| 这里是久久伊人| 美女视频黄久久| 精品国产乱子伦一区|