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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? open.c

?? linux0.11 version(301k)
?? C
?? 第 1 頁 / 共 2 頁
字號:
<!doctype html public "-//W3C//DTD HTML 3.2//EN"><html><head><title>Linux/fs/open.c</title><meta http-equiv=Content-Type content="text/html; charset=gb2312"><base href="http://oldlinux.org/lxr/http/"></head><body bgcolor=white><div align=center>   [<b><i>源代碼瀏覽</i></b>] [<a href="diff/fs/open.c">區(qū)別標定</a>] [<a href="ident">標識符搜索</a>] [<a href="search">文本搜索</a>] [<a href="find">文件搜索</a>]</div><h1 align=center>  <a href="http:/">     OldLinux</a>  <a href="http:blurb.html">    交叉引用</a><br>  <a href="source/">Linux</a>/<a href="source/fs/">fs</a>/<a href="source/fs/open.c">open.c</a></h1><div align=center>    <b>版本:</b>   [<a href="source/fs/open.c?v=1.0">1.0</a>] [<a href="source/fs/open.c?v=0.99.11">0.99.11</a>] [<a href="source/fs/open.c?v=0.99">0.99</a>] [<a href="source/fs/open.c?v=0.97">0.97</a>] [<a href="source/fs/open.c?v=0.96a">0.96a</a>] [<a href="source/fs/open.c?v=0.95">0.95</a>] [<a href="source/fs/open.c?v=0.12">0.12</a>] [<b><i>0.11</i></b>] [<a href="source/fs/open.c?v=0.01">0.01</a>]  <br>  <b>體系結(jié)構(gòu):</b>   [<b><i>i386</i></b>]  <br></div><hr><pre>  <a name=L1 href="source/fs/open.c#L1">1</a> <b><i>/*</i></b>  <a name=L2 href="source/fs/open.c#L2">2</a> <b><i> *  linux/fs/open.c</i></b>  <a name=L3 href="source/fs/open.c#L3">3</a> <b><i> *</i></b>  <a name=L4 href="source/fs/open.c#L4">4</a> <b><i> *  (C) 1991  Linus Torvalds</i></b>  <a name=L5 href="source/fs/open.c#L5">5</a> <b><i> */</i></b>  <a name=L6 href="source/fs/open.c#L6">6</a>   <a name=L7 href="source/fs/open.c#L7">7</a> #include &lt;string.h&gt;  <a name=L8 href="source/fs/open.c#L8">8</a> #include &lt;errno.h&gt;  <a name=L9 href="source/fs/open.c#L9">9</a> #include &lt;fcntl.h&gt; <a name=L10 href="source/fs/open.c#L10">10</a> #include &lt;sys/types.h&gt; <a name=L11 href="source/fs/open.c#L11">11</a> #include &lt;utime.h&gt; <a name=L12 href="source/fs/open.c#L12">12</a> #include &lt;sys/stat.h&gt; <a name=L13 href="source/fs/open.c#L13">13</a>  <a name=L14 href="source/fs/open.c#L14">14</a> #include &lt;linux/sched.h&gt; <a name=L15 href="source/fs/open.c#L15">15</a> #include &lt;linux/tty.h&gt; <a name=L16 href="source/fs/open.c#L16">16</a> #include &lt;linux/kernel.h&gt; <a name=L17 href="source/fs/open.c#L17">17</a> #include &lt;asm/segment.h&gt; <a name=L18 href="source/fs/open.c#L18">18</a>  <a name=L19 href="source/fs/open.c#L19">19</a> int <a href="ident?i=sys_ustat">sys_ustat</a>(int dev, struct <a href="ident?i=ustat">ustat</a> * ubuf) <a name=L20 href="source/fs/open.c#L20">20</a> { <a name=L21 href="source/fs/open.c#L21">21</a>         return -<a href="ident?i=ENOSYS">ENOSYS</a>; <a name=L22 href="source/fs/open.c#L22">22</a> } <a name=L23 href="source/fs/open.c#L23">23</a>  <a name=L24 href="source/fs/open.c#L24">24</a> int <a href="ident?i=sys_utime">sys_utime</a>(char * filename, struct <a href="ident?i=utimbuf">utimbuf</a> * <a href="ident?i=times">times</a>) <a name=L25 href="source/fs/open.c#L25">25</a> { <a name=L26 href="source/fs/open.c#L26">26</a>         struct <a href="ident?i=m_inode">m_inode</a> * inode; <a name=L27 href="source/fs/open.c#L27">27</a>         long actime,modtime; <a name=L28 href="source/fs/open.c#L28">28</a>  <a name=L29 href="source/fs/open.c#L29">29</a>         if (!(inode=<a href="ident?i=namei">namei</a>(filename))) <a name=L30 href="source/fs/open.c#L30">30</a>                 return -<a href="ident?i=ENOENT">ENOENT</a>; <a name=L31 href="source/fs/open.c#L31">31</a>         if (<a href="ident?i=times">times</a>) { <a name=L32 href="source/fs/open.c#L32">32</a>                 actime = <a href="ident?i=get_fs_long">get_fs_long</a>((unsigned long *) &amp;<a href="ident?i=times">times</a>-&gt;actime); <a name=L33 href="source/fs/open.c#L33">33</a>                 modtime = <a href="ident?i=get_fs_long">get_fs_long</a>((unsigned long *) &amp;<a href="ident?i=times">times</a>-&gt;modtime); <a name=L34 href="source/fs/open.c#L34">34</a>         } else <a name=L35 href="source/fs/open.c#L35">35</a>                 actime = modtime = <a href="ident?i=CURRENT_TIME">CURRENT_TIME</a>; <a name=L36 href="source/fs/open.c#L36">36</a>         inode-&gt;i_atime = actime; <a name=L37 href="source/fs/open.c#L37">37</a>         inode-&gt;i_mtime = modtime; <a name=L38 href="source/fs/open.c#L38">38</a>         inode-&gt;i_dirt = 1; <a name=L39 href="source/fs/open.c#L39">39</a>         <a href="ident?i=iput">iput</a>(inode); <a name=L40 href="source/fs/open.c#L40">40</a>         return 0; <a name=L41 href="source/fs/open.c#L41">41</a> } <a name=L42 href="source/fs/open.c#L42">42</a>  <a name=L43 href="source/fs/open.c#L43">43</a> <b><i>/*</i></b> <a name=L44 href="source/fs/open.c#L44">44</a> <b><i> * XXX should we use the real or effective uid?  BSD uses the real uid,</i></b> <a name=L45 href="source/fs/open.c#L45">45</a> <b><i> * so as to make this call useful to setuid programs.</i></b> <a name=L46 href="source/fs/open.c#L46">46</a> <b><i> */</i></b> <a name=L47 href="source/fs/open.c#L47">47</a> int <a href="ident?i=sys_access">sys_access</a>(const char * filename,int mode) <a name=L48 href="source/fs/open.c#L48">48</a> { <a name=L49 href="source/fs/open.c#L49">49</a>         struct <a href="ident?i=m_inode">m_inode</a> * inode; <a name=L50 href="source/fs/open.c#L50">50</a>         int res, i_mode; <a name=L51 href="source/fs/open.c#L51">51</a>  <a name=L52 href="source/fs/open.c#L52">52</a>         mode &amp;= 0007; <a name=L53 href="source/fs/open.c#L53">53</a>         if (!(inode=<a href="ident?i=namei">namei</a>(filename))) <a name=L54 href="source/fs/open.c#L54">54</a>                 return -<a href="ident?i=EACCES">EACCES</a>; <a name=L55 href="source/fs/open.c#L55">55</a>         i_mode = res = inode-&gt;i_mode &amp; 0777; <a name=L56 href="source/fs/open.c#L56">56</a>         <a href="ident?i=iput">iput</a>(inode); <a name=L57 href="source/fs/open.c#L57">57</a>         if (<a href="ident?i=current">current</a>-&gt;uid == inode-&gt;i_uid) <a name=L58 href="source/fs/open.c#L58">58</a>                 res &gt;&gt;= 6; <a name=L59 href="source/fs/open.c#L59">59</a>         else if (<a href="ident?i=current">current</a>-&gt;gid == inode-&gt;i_gid) <a name=L60 href="source/fs/open.c#L60">60</a>                 res &gt;&gt;= 6; <a name=L61 href="source/fs/open.c#L61">61</a>         if ((res &amp; 0007 &amp; mode) == mode) <a name=L62 href="source/fs/open.c#L62">62</a>                 return 0; <a name=L63 href="source/fs/open.c#L63">63</a>         <b><i>/*</i></b> <a name=L64 href="source/fs/open.c#L64">64</a> <b><i>         * XXX we are doing this test last because we really should be</i></b> <a name=L65 href="source/fs/open.c#L65">65</a> <b><i>         * swapping the effective with the real user id (temporarily),</i></b> <a name=L66 href="source/fs/open.c#L66">66</a> <b><i>         * and then calling suser() routine.  If we do call the</i></b> <a name=L67 href="source/fs/open.c#L67">67</a> <b><i>         * suser() routine, it needs to be called last. </i></b> <a name=L68 href="source/fs/open.c#L68">68</a> <b><i>         */</i></b> <a name=L69 href="source/fs/open.c#L69">69</a>         if ((!<a href="ident?i=current">current</a>-&gt;uid) &amp;&amp; <a name=L70 href="source/fs/open.c#L70">70</a>             (!(mode &amp; 1) || (i_mode &amp; 0111))) <a name=L71 href="source/fs/open.c#L71">71</a>                 return 0; <a name=L72 href="source/fs/open.c#L72">72</a>         return -<a href="ident?i=EACCES">EACCES</a>; <a name=L73 href="source/fs/open.c#L73">73</a> } <a name=L74 href="source/fs/open.c#L74">74</a>  <a name=L75 href="source/fs/open.c#L75">75</a> int <a href="ident?i=sys_chdir">sys_chdir</a>(const char * filename) <a name=L76 href="source/fs/open.c#L76">76</a> { <a name=L77 href="source/fs/open.c#L77">77</a>         struct <a href="ident?i=m_inode">m_inode</a> * inode; <a name=L78 href="source/fs/open.c#L78">78</a>  <a name=L79 href="source/fs/open.c#L79">79</a>         if (!(inode = <a href="ident?i=namei">namei</a>(filename))) <a name=L80 href="source/fs/open.c#L80">80</a>                 return -<a href="ident?i=ENOENT">ENOENT</a>; <a name=L81 href="source/fs/open.c#L81">81</a>         if (!<a href="ident?i=S_ISDIR">S_ISDIR</a>(inode-&gt;i_mode)) { <a name=L82 href="source/fs/open.c#L82">82</a>                 <a href="ident?i=iput">iput</a>(inode); <a name=L83 href="source/fs/open.c#L83">83</a>                 return -<a href="ident?i=ENOTDIR">ENOTDIR</a>; <a name=L84 href="source/fs/open.c#L84">84</a>         } <a name=L85 href="source/fs/open.c#L85">85</a>         <a href="ident?i=iput">iput</a>(<a href="ident?i=current">current</a>-&gt;pwd); <a name=L86 href="source/fs/open.c#L86">86</a>         <a href="ident?i=current">current</a>-&gt;pwd = inode; <a name=L87 href="source/fs/open.c#L87">87</a>         return (0); <a name=L88 href="source/fs/open.c#L88">88</a> } <a name=L89 href="source/fs/open.c#L89">89</a>  <a name=L90 href="source/fs/open.c#L90">90</a> int <a href="ident?i=sys_chroot">sys_chroot</a>(const char * filename) <a name=L91 href="source/fs/open.c#L91">91</a> { <a name=L92 href="source/fs/open.c#L92">92</a>         struct <a href="ident?i=m_inode">m_inode</a> * inode; <a name=L93 href="source/fs/open.c#L93">93</a>  <a name=L94 href="source/fs/open.c#L94">94</a>         if (!(inode=<a href="ident?i=namei">namei</a>(filename)))

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄色资源网久久资源365| www亚洲一区| 激情综合一区二区三区| 欧美精品一区二区三| 不卡电影一区二区三区| 午夜欧美视频在线观看| 亚洲另类春色校园小说| 国产精品一区二区x88av| 一区在线中文字幕| 欧美精品一区二区三区在线| 99热99精品| 国产91精品在线观看| 亚洲一区二区中文在线| 国产欧美综合色| 欧美一级黄色片| 欧美日韩dvd在线观看| 成人黄色a**站在线观看| 国产毛片一区二区| 麻豆精品在线观看| 精品一区二区三区香蕉蜜桃| 欧美国产精品一区| 国产色爱av资源综合区| 日韩欧美国产综合| 91精品国产综合久久精品app| 一本久道久久综合中文字幕| 成人精品小蝌蚪| 91色视频在线| 91免费视频大全| 在线精品视频小说1| 91福利在线播放| 91精品国产一区二区三区蜜臀| 欧美色网站导航| 91麻豆精品国产91久久久久久| 欧美性受xxxx黑人xyx| 欧美一区二区在线视频| 久久久久久久电影| 亚洲美女区一区| 午夜精品成人在线视频| 精品一区二区国语对白| 国产精品一区二区在线播放 | 欧美精品一区二区精品网| 久久五月婷婷丁香社区| 国产欧美日韩不卡| 亚洲一区二区三区视频在线播放| 青青草91视频| 在线一区二区观看| 国产亚洲精品7777| 亚洲成人www| 91伊人久久大香线蕉| 精品日韩欧美一区二区| 亚洲日本韩国一区| 国产乱码字幕精品高清av| 欧美天天综合网| 中文字幕亚洲视频| 国产凹凸在线观看一区二区| 欧美日本在线视频| 亚洲免费在线视频一区 二区| 国产一区不卡视频| 日韩欧美视频一区| 毛片av中文字幕一区二区| 欧美人伦禁忌dvd放荡欲情| 国产精品天干天干在线综合| 黄页网站大全一区二区| 欧美大肚乱孕交hd孕妇| 日产欧产美韩系列久久99| 欧美午夜片在线观看| 亚洲一区二区不卡免费| 91在线视频观看| 亚洲永久免费av| 777奇米四色成人影色区| 性久久久久久久久| 欧美另类高清zo欧美| 奇米精品一区二区三区在线观看一| 日本久久一区二区| 亚洲 欧美综合在线网络| 欧美性xxxxxxxx| 国产在线国偷精品免费看| 日本一区二区三区高清不卡| 99麻豆久久久国产精品免费| 亚洲一卡二卡三卡四卡无卡久久| 欧美日韩精品专区| 国产在线精品免费av| 亚洲免费观看视频| 欧美一区欧美二区| 91无套直看片红桃| 日本一区免费视频| 亚洲一级在线观看| 91视频在线观看| 久久国产精品区| 亚洲一区免费观看| 国产女主播一区| 欧美日韩综合在线免费观看| 国产在线精品一区二区| 一二三四社区欧美黄| 国产亚洲精品精华液| 欧美高清hd18日本| 9人人澡人人爽人人精品| 美女在线视频一区| 亚洲www啪成人一区二区麻豆| 中文字幕欧美日韩一区| 欧美电影精品一区二区| 91麻豆精品国产91久久久久| 99精品偷自拍| 91亚洲精品乱码久久久久久蜜桃| 国产成人精品网址| 久久成人精品无人区| 婷婷国产v国产偷v亚洲高清| 亚洲综合在线免费观看| 亚洲欧美日韩国产另类专区| 国产精品久久久久久久蜜臀| 久久久久综合网| 国产精品视频线看| 亚洲欧美国产毛片在线| 午夜伦欧美伦电影理论片| 亚洲最大色网站| 图片区小说区国产精品视频| 麻豆91在线观看| 成人综合婷婷国产精品久久免费| 国产成人综合在线播放| 色综合久久综合网欧美综合网| 91看片淫黄大片一级| 911精品国产一区二区在线| 在线不卡免费欧美| 久久久99久久| 亚洲激情自拍偷拍| 看片的网站亚洲| 99在线精品观看| 欧美高清视频在线高清观看mv色露露十八| 欧美一区国产二区| 欧美激情综合在线| 蜜臀av性久久久久av蜜臀妖精| 成人中文字幕在线| 91麻豆精品国产91久久久久久久久| 国产蜜臀97一区二区三区| 日韩av高清在线观看| 91在线porny国产在线看| 精品国产污网站| 日韩电影在线看| 久久国产三级精品| 欧美日韩高清影院| 亚洲午夜视频在线| 色婷婷香蕉在线一区二区| 久久久99免费| 国产福利91精品一区二区三区| 欧美在线free| 午夜精品福利久久久| 欧洲色大大久久| 亚洲夂夂婷婷色拍ww47 | 日本亚洲一区二区| 欧美精品日韩综合在线| 亚洲观看高清完整版在线观看| 99久久99久久久精品齐齐| 中文字幕一区二区三区蜜月| 国产一区二区三区精品视频| 久久久精品日韩欧美| 成人免费视频视频| 亚洲日穴在线视频| 欧美中文字幕一区| 婷婷成人激情在线网| 精品国产精品网麻豆系列| 国模无码大尺度一区二区三区| 日韩精品综合一本久道在线视频| 五月婷婷久久丁香| 久久精品一区八戒影视| 不卡一区二区在线| 亚洲国产精品欧美一二99| 日韩三级高清在线| 成人一级片网址| 亚洲自拍都市欧美小说| 欧美在线啊v一区| 国产成人免费高清| 午夜激情一区二区三区| 国产亚洲一区二区三区四区 | 欧美色网站导航| 国产一区二区三区高清播放| 亚洲欧美另类综合偷拍| 精品久久人人做人人爰| 在线看日本不卡| 国产成人av一区| 男人的天堂久久精品| 国产精品乱人伦| 国产欧美一区二区在线| 欧美一级黄色片| 欧美一区二区视频在线观看2020| 色哟哟欧美精品| 91网址在线看| 一本色道亚洲精品aⅴ| 成人av网站在线| 国产白丝精品91爽爽久久| 极品瑜伽女神91| 麻豆一区二区三| 久久精品99国产精品日本| 香蕉av福利精品导航| 午夜免费久久看| 亚洲成人自拍网| 日韩国产成人精品| 精油按摩中文字幕久久| 精品一区二区三区免费视频| 国模娜娜一区二区三区| 国产91精品精华液一区二区三区 |