hi, all<br><br>you know in the linux userspace , i can compile and run the following program to get the name or inode number of the files in the /bin directory.<br><br>i want to know how to do this in linux kernelspace ? thank you very much!<br>
<br>/*********************************************************************/<br><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cdwd%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-indent:26.0pt;
mso-char-indent-count:2.0;
line-height:22.0pt;
mso-line-height-rule:exactly;
mso-pagination:none;
mso-hyphenate:none;
font-size:12.0pt;
font-family:宋体;
mso-bidi-font-family:"Times New Roman";
letter-spacing:.5pt;
mso-font-kerning:.5pt;
mso-fareast-language:AR-SA;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<unistd.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<sys/stat.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<stdio.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<string.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<stdlib.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">#include
<dirent.h></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"> </span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">void
printdir(char *dir, int depth){</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>DIR *dp;</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>struct dirent *entry;</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>struct stat statbuf;</span><span style="font-family: "Times New Roman";" lang="EN-US"></span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>if((dp = opendir(dir)) == NULL){</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>fprintf(stderr,"cannot open
directory: %s\n",dir);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>return;</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>chdir(dir);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>while((entry = readdir(dp)) != NULL){</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>lstat(entry->d_name,&statbuf);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>if(S_ISDIR(statbuf.st_mode)){</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style="">
</span>if(strcmp("..",entry->d_name) == 0||</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style="">
</span>strcmp(".",entry->d_name) == 0)</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>continue;</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style="">
</span>printf("%*s%s/\n",depth,"",entry->d_name);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>printdir(entry->d_name,depth+4);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>else
printf("%*s%s\n",depth,"",entry->d_name);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>}</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>chdir("..");</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>closedir(dp);</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">}</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US">int
main(){</span></p>
<p class="MsoNormal" style="text-indent: 0cm;"><span style="font-family: "Times New Roman";" lang="EN-US"><span style=""> </span>printdir("/</span><span style="font-family: "Times New Roman";" lang="EN-US">bin</span><span style="font-family: "Times New Roman";" lang="EN-US">",0);</span></p>
<span style="font-size: 12pt; font-family: "Times New Roman"; letter-spacing: 0.5pt;" lang="EN-US">}</span><br clear="all"><br>/*************************************************************************************************/<br>
-- <br>Best regards,<br>张树坤<br>北京理工大学,计算机科学技术学院<br>Sucan<br>Computer Department,Beijing Institute of Technology,China<br>