add: create file
This commit is contained in:
parent
71bd30d907
commit
99ece320d3
81
docs/doxygen/html/compte__rendu__1_8md.html
Normal file
81
docs/doxygen/html/compte__rendu__1_8md.html
Normal file
@ -0,0 +1,81 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Seyshell: docs/compte_rendus/compte_rendu_1.md File Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Seyshell
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<div id="MSearchResults">
|
||||
<div class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div id="SRResults"></div>
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle"><div class="title">docs/compte_rendus/compte_rendu_1.md File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -96,6 +96,8 @@ Macros</h2></td></tr>
|
||||
<tr class="separator:a60fedb7550ff4e00d6c70dd2d257c154"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af58c11b86af508a573976185fb99170f" id="r_af58c11b86af508a573976185fb99170f"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>   10</td></tr>
|
||||
<tr class="separator:af58c11b86af508a573976185fb99170f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1459cb1cb7ff0d6cd9311afadb956fba" id="r_a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba">MAX_INODE_NAME</a>   30</td></tr>
|
||||
<tr class="separator:a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5e53a82e875992705cb69208f53f6576" id="r_a5e53a82e875992705cb69208f53f6576"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a5e53a82e875992705cb69208f53f6576">TYPE_NULL</a>   0</td></tr>
|
||||
<tr class="separator:a5e53a82e875992705cb69208f53f6576"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1c4b9a03f9d2107bf4c139bb00c7ec4c" id="r_a1c4b9a03f9d2107bf4c139bb00c7ec4c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">TYPE_FILE</a>   1</td></tr>
|
||||
@ -162,6 +164,20 @@ Macros</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1459cb1cb7ff0d6cd9311afadb956fba" name="a1459cb1cb7ff0d6cd9311afadb956fba"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1459cb1cb7ff0d6cd9311afadb956fba">◆ </a></span>MAX_INODE_NAME</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define MAX_INODE_NAME   30</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a5db236b991aad03f703df46ee60dbf38" name="a5db236b991aad03f703df46ee60dbf38"></a>
|
||||
|
||||
@ -86,12 +86,13 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"><a class="line" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2"> 3</a></span><span class="preprocessor">#define MAX_BLOCS 30</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154"> 4</a></span><span class="preprocessor">#define MAX_BYTES_PER_BLOC 1024</span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"><a class="line" href="const_8h.html#af58c11b86af508a573976185fb99170f"> 5</a></span><span class="preprocessor">#define MAX_INODE 10</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> </div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"><a class="line" href="const_8h.html#a5e53a82e875992705cb69208f53f6576"> 7</a></span><span class="preprocessor">#define TYPE_NULL 0</span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c"> 8</a></span><span class="preprocessor">#define TYPE_FILE 1</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"><a class="line" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38"> 9</a></span><span class="preprocessor">#define TYPE_BINARY 2</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b"> 10</a></span><span class="preprocessor">#define TYPE_DIRECTORY 3</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9"> 11</a></span><span class="preprocessor">#define TYPE_SYMBOLIC_LINK 4</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"><a class="line" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba"> 6</a></span><span class="preprocessor">#define MAX_INODE_NAME 30 </span><span class="comment">// 29 caractères + '\0' + numero de l'inode ref</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="const_8h.html#a5e53a82e875992705cb69208f53f6576"> 8</a></span><span class="preprocessor">#define TYPE_NULL 0</span></div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"><a class="line" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c"> 9</a></span><span class="preprocessor">#define TYPE_FILE 1</span></div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38"> 10</a></span><span class="preprocessor">#define TYPE_BINARY 2</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b"> 11</a></span><span class="preprocessor">#define TYPE_DIRECTORY 3</span></div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9"> 12</a></span><span class="preprocessor">#define TYPE_SYMBOLIC_LINK 4</span></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
91
docs/doxygen/html/dir_49e56c817e5e54854c35e136979f97ca.html
Normal file
91
docs/doxygen/html/dir_49e56c817e5e54854c35e136979f97ca.html
Normal file
@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Seyshell: docs Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Seyshell
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<div id="MSearchResults">
|
||||
<div class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div id="SRResults"></div>
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle"><div class="title">docs Directory Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="subdirs" name="subdirs"></a>
|
||||
Directories</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="iconfclosed"></span> </td><td class="memItemRight" valign="bottom"><a class="el" href="dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html">compte_rendus</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
90
docs/doxygen/html/dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html
Normal file
90
docs/doxygen/html/dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html
Normal file
@ -0,0 +1,90 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Seyshell: docs/compte_rendus Directory Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Seyshell
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<div id="MSearchResults">
|
||||
<div class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div id="SRResults"></div>
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li><li class="navelem"><a class="el" href="dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html">compte_rendus</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle"><div class="title">compte_rendus Directory Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Directory dependency graph for compte_rendus:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><img src="dir_fdbb2ac7574acffe9fb48d8c0ba660ea_dep.png" border="0" usemap="#adir__fdbb2ac7574acffe9fb48d8c0ba660ea__dep" alt="docs/compte_rendus"/></div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,12 @@
|
||||
digraph "docs/compte_rendus"
|
||||
{
|
||||
// LATEX_PDF_SIZE
|
||||
bgcolor="transparent";
|
||||
edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
|
||||
node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
|
||||
compound=true
|
||||
subgraph clusterdir_49e56c817e5e54854c35e136979f97ca {
|
||||
graph [ bgcolor="#edf0f7", pencolor="grey25", label="docs", fontname=Helvetica,fontsize=10 style="filled,dashed", URL="dir_49e56c817e5e54854c35e136979f97ca.html",tooltip=""]
|
||||
dir_fdbb2ac7574acffe9fb48d8c0ba660ea [label="compte_rendus", fillcolor="#edf0f7", color="grey25", style="filled,bold", URL="dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html",tooltip=""];
|
||||
}
|
||||
}
|
||||
@ -91,14 +91,60 @@ Include dependency graph for disk.c:</div>
|
||||
</div><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:a756e632b29a777267828c50a5d4a4cfe" id="r_a756e632b29a777267828c50a5d4a4cfe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#a756e632b29a777267828c50a5d4a4cfe">init_inode_in_disk</a> (<a class="el" href="structdisk.html">disk</a> *d, int inode_index, int filetype, unsigned short perms, int owned_bloc)</td></tr>
|
||||
<tr class="separator:a756e632b29a777267828c50a5d4a4cfe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7eb10c7006ff648d851b15f24e4305c3" id="r_a7eb10c7006ff648d851b15f24e4305c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a> ()</td></tr>
|
||||
<tr class="memdesc:a7eb10c7006ff648d851b15f24e4305c3"><td class="mdescLeft"> </td><td class="mdescRight">Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS, renvoi ce disque. <br /></td></tr>
|
||||
<tr class="separator:a7eb10c7006ff648d851b15f24e4305c3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0410aa30c92de7cca42080e61d4dcd91" id="r_a0410aa30c92de7cca42080e61d4dcd91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a> (char *filename)</td></tr>
|
||||
<tr class="memdesc:a0410aa30c92de7cca42080e61d4dcd91"><td class="mdescLeft"> </td><td class="mdescRight">Si un fichier filename existe, alors on le lit et le stocke en mémoire. <br /></td></tr>
|
||||
<tr class="separator:a0410aa30c92de7cca42080e61d4dcd91"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ade4ebb1901ddd0ddd60a246d0981c9ab" id="r_ade4ebb1901ddd0ddd60a246d0981c9ab"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab">find_free_bloc</a> (<a class="el" href="structdisk.html">disk</a> *d)</td></tr>
|
||||
<tr class="separator:ade4ebb1901ddd0ddd60a246d0981c9ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7abd1b379bf3695a8120a92fde42203b" id="r_a7abd1b379bf3695a8120a92fde42203b"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#a7abd1b379bf3695a8120a92fde42203b">find_offset_in_parent_bloc</a> (<a class="el" href="structbloc.html">bloc</a> *parent_bloc)</td></tr>
|
||||
<tr class="separator:a7abd1b379bf3695a8120a92fde42203b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa7d14d97833c0c0665892b3c624ab2d9" id="r_aa7d14d97833c0c0665892b3c624ab2d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9">create_directory</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, <a class="el" href="structinode.html">inode</a> *parent, char *dirname)</td></tr>
|
||||
<tr class="separator:aa7d14d97833c0c0665892b3c624ab2d9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a90556d464c7b49fa1d4a76c37358a7bd" id="r_a90556d464c7b49fa1d4a76c37358a7bd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd">create_file</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, <a class="el" href="structinode.html">inode</a> *parent, char *filename)</td></tr>
|
||||
<tr class="separator:a90556d464c7b49fa1d4a76c37358a7bd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad46ea636209e0726c208aaa61c49ae16" id="r_ad46ea636209e0726c208aaa61c49ae16"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html#ad46ea636209e0726c208aaa61c49ae16">create_inode</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, <a class="el" href="structinode.html">inode</a> *parent, char inode_type, char *name)</td></tr>
|
||||
<tr class="separator:ad46ea636209e0726c208aaa61c49ae16"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="aa7d14d97833c0c0665892b3c624ab2d9" name="aa7d14d97833c0c0665892b3c624ab2d9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa7d14d97833c0c0665892b3c624ab2d9">◆ </a></span>create_directory()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void create_directory </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> * </td>
|
||||
<td class="paramname"><em>disk</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="structinode.html">inode</a> * </td>
|
||||
<td class="paramname"><em>parent</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"><em>dirname</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a7eb10c7006ff648d851b15f24e4305c3" name="a7eb10c7006ff648d851b15f24e4305c3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7eb10c7006ff648d851b15f24e4305c3">◆ </a></span>create_disk()</h2>
|
||||
|
||||
@ -117,6 +163,162 @@ Functions</h2></td></tr>
|
||||
<p>Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS, renvoi ce disque. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Le disque créé </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a90556d464c7b49fa1d4a76c37358a7bd" name="a90556d464c7b49fa1d4a76c37358a7bd"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a90556d464c7b49fa1d4a76c37358a7bd">◆ </a></span>create_file()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void create_file </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> * </td>
|
||||
<td class="paramname"><em>disk</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="structinode.html">inode</a> * </td>
|
||||
<td class="paramname"><em>parent</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"><em>filename</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad46ea636209e0726c208aaa61c49ae16" name="ad46ea636209e0726c208aaa61c49ae16"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad46ea636209e0726c208aaa61c49ae16">◆ </a></span>create_inode()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void create_inode </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> * </td>
|
||||
<td class="paramname"><em>disk</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="structinode.html">inode</a> * </td>
|
||||
<td class="paramname"><em>parent</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char </td>
|
||||
<td class="paramname"><em>inode_type</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"><em>name</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ade4ebb1901ddd0ddd60a246d0981c9ab" name="ade4ebb1901ddd0ddd60a246d0981c9ab"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ade4ebb1901ddd0ddd60a246d0981c9ab">◆ </a></span>find_free_bloc()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int find_free_bloc </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> * </td>
|
||||
<td class="paramname"><em>d</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a7abd1b379bf3695a8120a92fde42203b" name="a7abd1b379bf3695a8120a92fde42203b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7abd1b379bf3695a8120a92fde42203b">◆ </a></span>find_offset_in_parent_bloc()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int find_offset_in_parent_bloc </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structbloc.html">bloc</a> * </td>
|
||||
<td class="paramname"><em>parent_bloc</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a756e632b29a777267828c50a5d4a4cfe" name="a756e632b29a777267828c50a5d4a4cfe"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a756e632b29a777267828c50a5d4a4cfe">◆ </a></span>init_inode_in_disk()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int init_inode_in_disk </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> * </td>
|
||||
<td class="paramname"><em>d</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>inode_index</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>filetype</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">unsigned short </td>
|
||||
<td class="paramname"><em>perms</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>owned_bloc</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0410aa30c92de7cca42080e61d4dcd91" name="a0410aa30c92de7cca42080e61d4dcd91"></a>
|
||||
|
||||
@ -14,10 +14,12 @@ digraph "src/disk.c"
|
||||
Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge5_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge6_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge7_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node6 [id="edge8_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node2 -> Node6 [id="edge6_Node000002_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge7_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge8_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge9_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node7 [id="Node000007",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node8 [id="edge10_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
}
|
||||
|
||||
@ -81,6 +81,7 @@ $(function() {
|
||||
<div class="textblock"><code>#include <stdio.h></code><br />
|
||||
<code>#include "<a class="el" href="const_8h_source.html">const.h</a>"</code><br />
|
||||
<code>#include "<a class="el" href="struct_8h_source.html">struct.h</a>"</code><br />
|
||||
<code>#include <string.h></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for disk.h:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
@ -12,4 +12,6 @@ digraph "src/disk.h"
|
||||
Node1 -> Node4 [id="edge3_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node4 [id="Node000004",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node4 -> Node3 [id="edge4_Node000004_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge5_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
}
|
||||
|
||||
@ -87,14 +87,15 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <stdio.h></span></div>
|
||||
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "<a class="code" href="const_8h.html">const.h</a>"</span></div>
|
||||
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include "<a class="code" href="struct_8h.html">struct.h</a>"</span></div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><a class="code hl_struct" href="structdisk.html">disk</a> <a class="code hl_function" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a>();</div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><a class="code hl_struct" href="structdisk.html">disk</a> <a class="code hl_function" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a>(<span class="keywordtype">char</span>* filename);</div>
|
||||
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include <string.h></span></div>
|
||||
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> </div>
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><a class="code hl_struct" href="structdisk.html">disk</a> <a class="code hl_function" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a>();</div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><a class="code hl_struct" href="structdisk.html">disk</a> <a class="code hl_function" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a>(<span class="keywordtype">char</span>* filename);</div>
|
||||
<div class="ttc" id="aconst_8h_html"><div class="ttname"><a href="const_8h.html">const.h</a></div></div>
|
||||
<div class="ttc" id="adisk_8h_html_a0410aa30c92de7cca42080e61d4dcd91"><div class="ttname"><a href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a></div><div class="ttdeci">disk open_disk(char *filename)</div><div class="ttdoc">Si un fichier filename existe, alors on le lit et le stocke en mémoire.</div><div class="ttdef"><b>Definition</b> disk.c:47</div></div>
|
||||
<div class="ttc" id="adisk_8h_html_a7eb10c7006ff648d851b15f24e4305c3"><div class="ttname"><a href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a></div><div class="ttdeci">disk create_disk()</div><div class="ttdoc">Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS, renvoi ce disque.</div><div class="ttdef"><b>Definition</b> disk.c:14</div></div>
|
||||
<div class="ttc" id="adisk_8h_html_a0410aa30c92de7cca42080e61d4dcd91"><div class="ttname"><a href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a></div><div class="ttdeci">disk open_disk(char *filename)</div><div class="ttdoc">Si un fichier filename existe, alors on le lit et le stocke en mémoire.</div><div class="ttdef"><b>Definition</b> disk.c:70</div></div>
|
||||
<div class="ttc" id="adisk_8h_html_a7eb10c7006ff648d851b15f24e4305c3"><div class="ttname"><a href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a></div><div class="ttdeci">disk create_disk()</div><div class="ttdoc">Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS, renvoi ce disque.</div><div class="ttdef"><b>Definition</b> disk.c:32</div></div>
|
||||
<div class="ttc" id="astruct_8h_html"><div class="ttname"><a href="struct_8h.html">struct.h</a></div></div>
|
||||
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée.</div><div class="ttdef"><b>Definition</b> struct.h:27</div></div>
|
||||
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée.</div><div class="ttdef"><b>Definition</b> struct.h:28</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@ -74,16 +74,18 @@ $(function() {
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="const_8h_source.html"><span class="icondoc"></span></a><a class="el" href="const_8h.html" target="_self">const.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="disk_8c.html" target="_self">disk.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="disk_8h_source.html"><span class="icondoc"></span></a><a class="el" href="disk_8h.html" target="_self">disk.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="exec_8c.html" target="_self">exec.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="exec_8h_source.html"><span class="icondoc"></span></a><a class="el" href="exec_8h.html" target="_self">exec.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="main_8c.html" target="_self">main.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="parsing_8c.html" target="_self">parsing.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="parsing_8h_source.html"><span class="icondoc"></span></a><a class="el" href="parsing_8h.html" target="_self">parsing.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="struct_8h_source.html"><span class="icondoc"></span></a><a class="el" href="struct_8h.html" target="_self">struct.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span id="img_0_" class="iconfopen" onclick="toggleFolder('0_')"> </span><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html" target="_self">docs</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="iconfclosed"></span><a class="el" href="dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html" target="_self">compte_rendus</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">▼</span><span id="img_1_" class="iconfopen" onclick="toggleFolder('1_')"> </span><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html" target="_self">src</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="const_8h_source.html"><span class="icondoc"></span></a><a class="el" href="const_8h.html" target="_self">const.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="disk_8c.html" target="_self">disk.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="disk_8h_source.html"><span class="icondoc"></span></a><a class="el" href="disk_8h.html" target="_self">disk.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="exec_8c.html" target="_self">exec.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="exec_8h_source.html"><span class="icondoc"></span></a><a class="el" href="exec_8h.html" target="_self">exec.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="main_8c.html" target="_self">main.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icondoc"></span><a class="el" href="parsing_8c.html" target="_self">parsing.c</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="parsing_8h_source.html"><span class="icondoc"></span></a><a class="el" href="parsing_8h.html" target="_self">parsing.h</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><a href="struct_8h_source.html"><span class="icondoc"></span></a><a class="el" href="struct_8h.html" target="_self">struct.h</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
||||
@ -74,6 +74,7 @@ $(function() {
|
||||
<li>datas : <a class="el" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">bloc</a></li>
|
||||
<li>filetype : <a class="el" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">inode</a></li>
|
||||
<li>inodes : <a class="el" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">disk</a></li>
|
||||
<li>owned_blocs : <a class="el" href="structdisk.html#a60d62e18ebc1d2933bb952352397acda">disk</a></li>
|
||||
<li>perms : <a class="el" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">inode</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
||||
@ -74,6 +74,7 @@ $(function() {
|
||||
<li>datas : <a class="el" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">bloc</a></li>
|
||||
<li>filetype : <a class="el" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">inode</a></li>
|
||||
<li>inodes : <a class="el" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">disk</a></li>
|
||||
<li>owned_blocs : <a class="el" href="structdisk.html#a60d62e18ebc1d2933bb952352397acda">disk</a></li>
|
||||
<li>perms : <a class="el" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">inode</a></li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
||||
@ -69,22 +69,71 @@ $(function() {
|
||||
</div>
|
||||
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div><ul>
|
||||
<div class="textblock">Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:</div>
|
||||
|
||||
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
|
||||
<li>bloc : <a class="el" href="struct_8h.html#ad7463cdc34b86731771512f65c647905">struct.h</a></li>
|
||||
<li>BUFSIZE : <a class="el" href="const_8h.html#aeca034f67218340ecb2261a22c2f3dcd">const.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
|
||||
<li>create_directory() : <a class="el" href="disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9">disk.c</a></li>
|
||||
<li>create_disk() : <a class="el" href="disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3">disk.c</a>, <a class="el" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">disk.h</a></li>
|
||||
<li>create_file() : <a class="el" href="disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd">disk.c</a></li>
|
||||
<li>create_inode() : <a class="el" href="disk_8c.html#ad46ea636209e0726c208aaa61c49ae16">disk.c</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
|
||||
<li>disk : <a class="el" href="struct_8h.html#a48bafe324ab0e99e14feeda9fde3462f">struct.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
|
||||
<li>execute_cmd() : <a class="el" href="exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5">exec.c</a>, <a class="el" href="exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5">exec.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
|
||||
<li>find_free_bloc() : <a class="el" href="disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab">disk.c</a></li>
|
||||
<li>find_offset_in_parent_bloc() : <a class="el" href="disk_8c.html#a7abd1b379bf3695a8120a92fde42203b">disk.c</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
|
||||
<li>init_inode_in_disk() : <a class="el" href="disk_8c.html#a756e632b29a777267828c50a5d4a4cfe">disk.c</a></li>
|
||||
<li>inode : <a class="el" href="struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5">struct.h</a></li>
|
||||
<li>is_builtin_cmd() : <a class="el" href="exec_8c.html#a2fdd409be116a4535870fd87be4cd941">exec.c</a>, <a class="el" href="exec_8h.html#a2fdd409be116a4535870fd87be4cd941">exec.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
|
||||
<li>main() : <a class="el" href="main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac">main.c</a></li>
|
||||
<li>MAX_BLOCS : <a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">const.h</a></li>
|
||||
<li>MAX_BYTES_PER_BLOC : <a class="el" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">const.h</a></li>
|
||||
<li>MAX_INODE : <a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">const.h</a></li>
|
||||
<li>MAX_INODE_NAME : <a class="el" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba">const.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
|
||||
<li>open_disk() : <a class="el" href="disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91">disk.c</a>, <a class="el" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">disk.h</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
|
||||
<li>read_line() : <a class="el" href="parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457">parsing.c</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
|
||||
<li>shell_loop() : <a class="el" href="parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97">parsing.c</a>, <a class="el" href="parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97">parsing.h</a></li>
|
||||
<li>split_line() : <a class="el" href="parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa">parsing.c</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
|
||||
<li>TYPE_BINARY : <a class="el" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38">const.h</a></li>
|
||||
<li>TYPE_DIRECTORY : <a class="el" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b">const.h</a></li>
|
||||
<li>TYPE_FILE : <a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">const.h</a></li>
|
||||
|
||||
@ -74,6 +74,7 @@ $(function() {
|
||||
<li>MAX_BLOCS : <a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">const.h</a></li>
|
||||
<li>MAX_BYTES_PER_BLOC : <a class="el" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">const.h</a></li>
|
||||
<li>MAX_INODE : <a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">const.h</a></li>
|
||||
<li>MAX_INODE_NAME : <a class="el" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba">const.h</a></li>
|
||||
<li>TYPE_BINARY : <a class="el" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38">const.h</a></li>
|
||||
<li>TYPE_DIRECTORY : <a class="el" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b">const.h</a></li>
|
||||
<li>TYPE_FILE : <a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">const.h</a></li>
|
||||
|
||||
@ -70,8 +70,14 @@ $(function() {
|
||||
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all functions with links to the files they belong to:</div><ul>
|
||||
<li>create_directory() : <a class="el" href="disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9">disk.c</a></li>
|
||||
<li>create_disk() : <a class="el" href="disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3">disk.c</a>, <a class="el" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">disk.h</a></li>
|
||||
<li>create_file() : <a class="el" href="disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd">disk.c</a></li>
|
||||
<li>create_inode() : <a class="el" href="disk_8c.html#ad46ea636209e0726c208aaa61c49ae16">disk.c</a></li>
|
||||
<li>execute_cmd() : <a class="el" href="exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5">exec.c</a>, <a class="el" href="exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5">exec.h</a></li>
|
||||
<li>find_free_bloc() : <a class="el" href="disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab">disk.c</a></li>
|
||||
<li>find_offset_in_parent_bloc() : <a class="el" href="disk_8c.html#a7abd1b379bf3695a8120a92fde42203b">disk.c</a></li>
|
||||
<li>init_inode_in_disk() : <a class="el" href="disk_8c.html#a756e632b29a777267828c50a5d4a4cfe">disk.c</a></li>
|
||||
<li>is_builtin_cmd() : <a class="el" href="exec_8c.html#a2fdd409be116a4535870fd87be4cd941">exec.c</a>, <a class="el" href="exec_8h.html#a2fdd409be116a4535870fd87be4cd941">exec.h</a></li>
|
||||
<li>main() : <a class="el" href="main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac">main.c</a></li>
|
||||
<li>open_disk() : <a class="el" href="disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91">disk.c</a>, <a class="el" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">disk.h</a></li>
|
||||
|
||||
@ -73,11 +73,11 @@ $(function() {
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p><a class="anchor" id="md_README"></a> </p>
|
||||
<h1><a class="anchor" id="autotoc_md1"></a>
|
||||
<h1><a class="anchor" id="autotoc_md30"></a>
|
||||
Exécution du projet</h1>
|
||||
<div class="fragment"><div class="line">make all</div>
|
||||
<div class="line">./seyshell</div>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md2"></a>
|
||||
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md31"></a>
|
||||
Les différentes commandes</h1>
|
||||
<ul>
|
||||
<li>mkdir <nom-du-répertoire></li>
|
||||
@ -86,7 +86,7 @@ Les différentes commandes</h1>
|
||||
<li>cat</li>
|
||||
<li>echo</li>
|
||||
</ul>
|
||||
<h1><a class="anchor" id="autotoc_md3"></a>
|
||||
<h1><a class="anchor" id="autotoc_md32"></a>
|
||||
Les fichiers</h1>
|
||||
<p>Tout ce qui est en rapport avec les intéractions du disque <a class="el" href="disk_8c.html">disk.c</a></p>
|
||||
<p>Tout ce qui est en rapport avec les commandes du shell <a class="el" href="exec_8c.html">exec.c</a></p>
|
||||
|
||||
@ -14,13 +14,15 @@ digraph "src/main.c"
|
||||
Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge5_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node6 [id="edge6_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
|
||||
Node6 -> Node3 [id="edge7_Node000006_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 -> Node7 [id="edge8_Node000006_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node6 -> Node8 [id="edge9_Node000006_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge10_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge11_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node6 [id="edge6_Node000002_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge7_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
|
||||
Node7 -> Node3 [id="edge8_Node000007_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 -> Node8 [id="edge9_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node7 -> Node9 [id="edge10_Node000007_Node000009",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node9 [id="Node000009",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge11_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node8 [id="edge12_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
}
|
||||
|
||||
256
docs/doxygen/html/md_docs_2compte__rendus_2compte__rendu__1.html
Normal file
256
docs/doxygen/html/md_docs_2compte__rendus_2compte__rendu__1.html
Normal file
@ -0,0 +1,256 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Seyshell: compte_rendu_1</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Seyshell
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<div id="MSearchResults">
|
||||
<div class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div id="SRResults"></div>
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div><div class="header">
|
||||
<div class="headertitle"><div class="title">compte_rendu_1</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p align="right"></p>
|
||||
<p><img src="../img/logo_isty.png" alt="Logo ISTY" width="180" class="inline"/> </p>
|
||||
<h1><a class="anchor" id="autotoc_md0"></a>
|
||||
Rapport d’analyse et de conception</h1>
|
||||
<h2><a class="anchor" id="autotoc_md1"></a>
|
||||
Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)</h2>
|
||||
<p><b>Membres de l’équipe :</b></p><ul>
|
||||
<li>CHOISY Alexis</li>
|
||||
<li>DEGAT Teddy</li>
|
||||
<li>DA SILVA FERREIRA Lucas</li>
|
||||
<li>FOURNIE Baptiste</li>
|
||||
<li>FATIHI Youssef</li>
|
||||
</ul>
|
||||
<p><b>Encadrante :</b> ABOUDA Dhekra <br />
|
||||
<b>Date de remise :</b> 20 avril 2026</p>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md3"></a>
|
||||
Sommaire</h2>
|
||||
<ul>
|
||||
<li>I. Analyse des besoins de l’utilisateur</li>
|
||||
<li>II. Définition du système à réaliser</li>
|
||||
<li>III. Cahier des charges</li>
|
||||
<li>IV. Structures de données prévues</li>
|
||||
<li>V. Liste des fonctions principales</li>
|
||||
<li>VI. Répartition des tâches</li>
|
||||
<li>VII. Conclusion</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md5"></a>
|
||||
I. Analyse des besoins de l’utilisateur</h2>
|
||||
<h3><a class="anchor" id="autotoc_md6"></a>
|
||||
1. Objectifs fonctionnels</h3>
|
||||
<p>Le programme doit permettre à un utilisateur de :</p><ul>
|
||||
<li>Interagir via un shell.</li>
|
||||
<li>Gérer une arborescence de fichiers et répertoires (création, suppression, déplacement).</li>
|
||||
<li>Manipuler le contenu des fichiers (lecture, écriture) via des primitives spécifiques.</li>
|
||||
<li>Assurer la persistance des données par la sauvegarde/recharge du SGF sur le disque physique.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md7"></a>
|
||||
2. Contraintes</h3>
|
||||
<ul>
|
||||
<li><b>Langage</b> : C uniquement.</li>
|
||||
<li><b>Dates limites</b> : Rendu de l'analyse le 20 avril 2026, conception le 2 mai 2026, et final le 28 mai 2026.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md9"></a>
|
||||
II. Définition du système à réaliser</h2>
|
||||
<h3><a class="anchor" id="autotoc_md10"></a>
|
||||
1. Fonctionnement général</h3>
|
||||
<p>Le système simule une partition de disque dur à travers un fichier. Il s'articule autour de trois couches:</p><ol type="1">
|
||||
<li><b>Le Shell</b> : Analyse les commandes (<code>ls</code>, <code>mkdir</code>, etc.) et appelle les primitives.</li>
|
||||
<li><b>Les Primitives</b> : Fonctions de bas niveau (<code>myopen</code>, <code>myread</code>) qui font le lien avec la structure interne.</li>
|
||||
<li><b>Le SGF</b> : Gère l'organisation physique des i-nodes et des blocs de données.</li>
|
||||
</ol>
|
||||
<p><img src="../img/comment_ça_fonctionne.png" alt="illustration" class="inline"/></p>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md12"></a>
|
||||
III. Cahier des charges</h2>
|
||||
<h3><a class="anchor" id="autotoc_md13"></a>
|
||||
1. Description globale des fonctions</h3>
|
||||
<table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadLeft">Fonctionnalité </th><th class="markdownTableHeadLeft">Description </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Shell</b> </td><td class="markdownTableBodyLeft">Gère les commandes <code>ls</code>, <code>mkdir</code>, <code>rmdir</code>, <code>cat</code>, <code>cp</code>, <code>rm</code>, <code>mv</code>. </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyLeft"><b>Gestion Inodes</b> </td><td class="markdownTableBodyLeft">Attribution et libération d'i-nodes pour fichiers et répertoires. </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Gestion Blocs</b> </td><td class="markdownTableBodyLeft">Allocation de blocs de données (contigus ou non) pour le stockage. </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyLeft"><b>Arborescence</b> </td><td class="markdownTableBodyLeft">Gestion des répertoires comme des fichiers spéciaux listant des i-nodes. </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Persistance</b> </td><td class="markdownTableBodyLeft">Sauvegarde de l'état complet du disque virtuel dans un fichier binaire. </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyLeft"><b>Superbloc (df)</b> </td><td class="markdownTableBodyLeft">Fournit les infos sur les blocs/inodes libres et l'espace disque. </td></tr>
|
||||
</table>
|
||||
<h3><a class="anchor" id="autotoc_md14"></a>
|
||||
2. Fonctions bonus</h3>
|
||||
<ul>
|
||||
<li>Gestion de plusieurs utilisateurs simultanés.</li>
|
||||
<li>Implémentation des filtres <code>grep</code> et <code>find</code>.</li>
|
||||
<li>Gestion des droits d'accès et dates de modification sur les inodes.</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md16"></a>
|
||||
IV. Structures de données prévues</h2>
|
||||
<p>Le SGF utilise des structures à taille fixe pour simuler la partition .</p>
|
||||
<div class="fragment"><div class="line"> </div>
|
||||
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structinode.html">inode</a> {</div>
|
||||
<div class="line"> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code hl_variable" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">perms</a>; <span class="comment">// rwxrwxrwx</span></div>
|
||||
<div class="line"> <span class="keywordtype">char</span> <a class="code hl_variable" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">filetype</a>;</div>
|
||||
<div class="line"> <span class="keywordtype">int</span> <a class="code hl_variable" href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>];</div>
|
||||
<div class="line">} <a class="code hl_struct" href="structinode.html">inode</a>;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structbloc.html">bloc</a> {</div>
|
||||
<div class="line"> <span class="keywordtype">char</span> <a class="code hl_variable" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">datas</a>[<a class="code hl_define" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a>]; <span class="comment">// 1024 octets</span></div>
|
||||
<div class="line">} <a class="code hl_struct" href="structbloc.html">bloc</a>;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structdisk.html">disk</a> {</div>
|
||||
<div class="line"> <a class="code hl_struct" href="structinode.html">inode</a> <a class="code hl_variable" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">inodes</a>[<a class="code hl_define" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>]; <span class="comment">// 10 inodes max</span></div>
|
||||
<div class="line"> <a class="code hl_struct" href="structbloc.html">bloc</a> <a class="code hl_variable" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>]; <span class="comment">// 30 blocs max</span></div>
|
||||
<div class="line">} <a class="code hl_struct" href="structdisk.html">disk</a>;</div>
|
||||
<div class="line"> </div>
|
||||
<div class="line"><span class="comment">// pour 10 inode qui a 30 blocs de chacun 1024 octets, on a 30720 octets, soit</span></div>
|
||||
<div class="line"><span class="comment">// 30,7 Ko sur le disque</span></div>
|
||||
<div class="ttc" id="aconst_8h_html_a60fedb7550ff4e00d6c70dd2d257c154"><div class="ttname"><a href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a></div><div class="ttdeci">#define MAX_BYTES_PER_BLOC</div><div class="ttdef"><b>Definition</b> const.h:4</div></div>
|
||||
<div class="ttc" id="aconst_8h_html_ad7140f3913ca85546efb2ded034d0af2"><div class="ttname"><a href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a></div><div class="ttdeci">#define MAX_BLOCS</div><div class="ttdef"><b>Definition</b> const.h:3</div></div>
|
||||
<div class="ttc" id="aconst_8h_html_af58c11b86af508a573976185fb99170f"><div class="ttname"><a href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a></div><div class="ttdeci">#define MAX_INODE</div><div class="ttdef"><b>Definition</b> const.h:5</div></div>
|
||||
<div class="ttc" id="astructbloc_html"><div class="ttname"><a href="structbloc.html">bloc</a></div><div class="ttdoc">Un bloc possède un tableau de données brut concernant des inodes.</div><div class="ttdef"><b>Definition</b> struct.h:20</div></div>
|
||||
<div class="ttc" id="astructbloc_html_a801f2e871d2e285480d31426e39e01a9"><div class="ttname"><a href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">bloc::datas</a></div><div class="ttdeci">char datas[MAX_BYTES_PER_BLOC]</div><div class="ttdef"><b>Definition</b> struct.h:21</div></div>
|
||||
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée.</div><div class="ttdef"><b>Definition</b> struct.h:28</div></div>
|
||||
<div class="ttc" id="astructdisk_html_a187c55f0919fa8f44cc442857cce3e8d"><div class="ttname"><a href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">disk::inodes</a></div><div class="ttdeci">inode inodes[MAX_INODE]</div><div class="ttdef"><b>Definition</b> struct.h:30</div></div>
|
||||
<div class="ttc" id="astructdisk_html_ad418fe421d1f081b29dcc7922608ca59"><div class="ttname"><a href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">disk::blocs</a></div><div class="ttdeci">bloc blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:31</div></div>
|
||||
<div class="ttc" id="astructinode_html"><div class="ttname"><a href="structinode.html">inode</a></div><div class="ttdoc">Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur d...</div><div class="ttdef"><b>Definition</b> struct.h:10</div></div>
|
||||
<div class="ttc" id="astructinode_html_a2d0a5188e7dfbfcf2fa374a5fb348177"><div class="ttname"><a href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">inode::filetype</a></div><div class="ttdeci">char filetype</div><div class="ttdef"><b>Definition</b> struct.h:12</div></div>
|
||||
<div class="ttc" id="astructinode_html_aaeb4427c36772c74ae86c9510ee6a6b3"><div class="ttname"><a href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">inode::blocs</a></div><div class="ttdeci">int blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:13</div></div>
|
||||
<div class="ttc" id="astructinode_html_ab744b42f5d23ec542bd9897a4d15a5fa"><div class="ttname"><a href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">inode::perms</a></div><div class="ttdeci">unsigned short perms</div><div class="ttdef"><b>Definition</b> struct.h:11</div></div>
|
||||
</div><!-- fragment --><hr />
|
||||
<h2><a class="anchor" id="autotoc_md18"></a>
|
||||
V. Liste des fonctions principales</h2>
|
||||
<h3><a class="anchor" id="autotoc_md19"></a>
|
||||
Primitives Système</h3>
|
||||
<ul>
|
||||
<li>**<code>int mycreat(char *nom, int mode)</code>** : Crée un fichier et retourne son inode.</li>
|
||||
<li>**<code>int myread(int inode, char *buffer, int nombre)</code>** : Lit n octets depuis l'inode.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md20"></a>
|
||||
Commandes Shell</h3>
|
||||
<ul>
|
||||
<li>**<code>do_ls()</code>** : Lit le répertoire actuel et affiche les noms et inodes associés.</li>
|
||||
<li>**<code>do_mkdir(char *nom)</code>** : Crée un i-node de type répertoire et initialise les entrées . et ..</li>
|
||||
</ul>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md22"></a>
|
||||
VI. Répartition des tâches</h2>
|
||||
<p>L'équipe est divisée en groupe pour assurer l'intégration finale.</p>
|
||||
<h3><a class="anchor" id="autotoc_md23"></a>
|
||||
1. SGF & Stockage (Alexis et Youssef)</h3>
|
||||
<ul>
|
||||
<li>Initialisation et formatage du disque virtuel (inodes à 0).</li>
|
||||
<li>Fonctions de sauvegarde/rechargement du SGF dans le fichier image.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md24"></a>
|
||||
2. Primitives & I-nodes (Teddy et Baptiste)</h3>
|
||||
<ul>
|
||||
<li>Gestion de l'allocation des blocs et des i-nodes.</li>
|
||||
<li>Développement des primitives mycreat, myopen, myread, mywrite.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md25"></a>
|
||||
3. Shell & Commandes (Lucas et Alexis)</h3>
|
||||
<ul>
|
||||
<li>Création de l'interpréteur de commandes (processus fils et exec).</li>
|
||||
<li>Implémentation des commandes ls, mkdir, cat, rm.</li>
|
||||
</ul>
|
||||
<h3><a class="anchor" id="autotoc_md26"></a>
|
||||
Planning prévisionnel</h3>
|
||||
<table class="markdownTable">
|
||||
<tr class="markdownTableHead">
|
||||
<th class="markdownTableHeadLeft">Phase </th><th class="markdownTableHeadLeft">Description </th><th class="markdownTableHeadLeft">Échéance </th></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Phase 1</b> </td><td class="markdownTableBodyLeft">Analyse des besoins et structures de données </td><td class="markdownTableBodyLeft">20 avril 2026 </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyLeft"><b>Phase 2</b> </td><td class="markdownTableBodyLeft">Conception des algorithmes principaux </td><td class="markdownTableBodyLeft">2 mai 2026 </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Phase 3</b> </td><td class="markdownTableBodyLeft">Développement du SGF et des primitives </td><td class="markdownTableBodyLeft">Mai 2026 </td></tr>
|
||||
<tr class="markdownTableRowEven">
|
||||
<td class="markdownTableBodyLeft"><b>Phase 4</b> </td><td class="markdownTableBodyLeft">Finalisation du Shell et tests de validation </td><td class="markdownTableBodyLeft">28 mai 2026 </td></tr>
|
||||
<tr class="markdownTableRowOdd">
|
||||
<td class="markdownTableBodyLeft"><b>Phase 5</b> </td><td class="markdownTableBodyLeft">Soutenance et remise du code source </td><td class="markdownTableBodyLeft">29 mai 2026 </td></tr>
|
||||
</table>
|
||||
<hr />
|
||||
<h2><a class="anchor" id="autotoc_md28"></a>
|
||||
VII. Conclusion</h2>
|
||||
<p>Ce rapport constitue le socle de développement de notre Mini SGF. En respectant une séparation nette entre le stockage, les primitives et l'interpréteur, nous visons une architecture robuste conforme aux attentes. La prochaine étape sera la validation des algorithmes de lecture/écriture. </p>
|
||||
</div></div><!-- contents -->
|
||||
</div><!-- PageDoc -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -24,6 +24,7 @@
|
||||
*/
|
||||
var menudata={children:[
|
||||
{text:"Main Page",url:"index.html"},
|
||||
{text:"Related Pages",url:"pages.html"},
|
||||
{text:"Data Structures",url:"annotated.html",children:[
|
||||
{text:"Data Structures",url:"annotated.html"},
|
||||
{text:"Data Structure Index",url:"classes.html"},
|
||||
@ -33,7 +34,18 @@ var menudata={children:[
|
||||
{text:"Files",url:"files.html",children:[
|
||||
{text:"File List",url:"files.html"},
|
||||
{text:"Globals",url:"globals.html",children:[
|
||||
{text:"All",url:"globals.html"},
|
||||
{text:"All",url:"globals.html",children:[
|
||||
{text:"b",url:"globals.html#index_b"},
|
||||
{text:"c",url:"globals.html#index_c"},
|
||||
{text:"d",url:"globals.html#index_d"},
|
||||
{text:"e",url:"globals.html#index_e"},
|
||||
{text:"f",url:"globals.html#index_f"},
|
||||
{text:"i",url:"globals.html#index_i"},
|
||||
{text:"m",url:"globals.html#index_m"},
|
||||
{text:"o",url:"globals.html#index_o"},
|
||||
{text:"r",url:"globals.html#index_r"},
|
||||
{text:"s",url:"globals.html#index_s"},
|
||||
{text:"t",url:"globals.html#index_t"}]},
|
||||
{text:"Functions",url:"globals_func.html"},
|
||||
{text:"Typedefs",url:"globals_type.html"},
|
||||
{text:"Macros",url:"globals_defs.html"}]}]}]}
|
||||
|
||||
86
docs/doxygen/html/pages.html
Normal file
86
docs/doxygen/html/pages.html
Normal file
@ -0,0 +1,86 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.9.8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Seyshell: Related Pages</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr id="projectrow">
|
||||
<td id="projectalign">
|
||||
<div id="projectname">Seyshell
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.8 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||
/* @license-end */
|
||||
</script>
|
||||
<script type="text/javascript" src="menudata.js"></script>
|
||||
<script type="text/javascript" src="menu.js"></script>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(function() {
|
||||
initMenu('',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<div id="MSearchResults">
|
||||
<div class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div id="SRResults"></div>
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle"><div class="title">Related Pages</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a class="el" href="md_docs_2compte__rendus_2compte__rendu__1.html" target="_self">compte_rendu_1</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
||||
@ -1,6 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['bloc_0',['bloc',['../structbloc.html',1,'bloc'],['../struct_8h.html#ad7463cdc34b86731771512f65c647905',1,'bloc: struct.h']]],
|
||||
['blocs_1',['blocs',['../structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3',1,'inode::blocs'],['../structdisk.html#ad418fe421d1f081b29dcc7922608ca59',1,'disk::blocs']]],
|
||||
['bufsize_2',['BUFSIZE',['../const_8h.html#aeca034f67218340ecb2261a22c2f3dcd',1,'const.h']]]
|
||||
['1_20description_20globale_20des_20fonctions_0',['1. Description globale des fonctions',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md13',1,'']]],
|
||||
['1_20fonctionnement_20général_1',['1. Fonctionnement général',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md10',1,'']]],
|
||||
['1_20objectifs_20fonctionnels_2',['1. Objectifs fonctionnels',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md6',1,'']]],
|
||||
['1_20sgf_20stockage_20alexis_20et_20youssef_3',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['commandes_0',['Les différentes commandes',['../index.html#autotoc_md2',1,'']]],
|
||||
['const_2eh_1',['const.h',['../const_8h.html',1,'']]],
|
||||
['create_5fdisk_2',['create_disk',['../disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c']]]
|
||||
['2_20contraintes_0',['2. Contraintes',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md7',1,'']]],
|
||||
['2_20fonctions_20bonus_1',['2. Fonctions bonus',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md14',1,'']]],
|
||||
['2_20primitives_20i_20nodes_20teddy_20et_20baptiste_2',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['2025_202026_20–_20système_20de_20gestion_20de_20fichiers_20sgf_3',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]],
|
||||
['2026_20–_20système_20de_20gestion_20de_20fichiers_20sgf_4',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]]
|
||||
];
|
||||
|
||||
8
docs/doxygen/html/search/all_10.js
Normal file
8
docs/doxygen/html/search/all_10.js
Normal file
@ -0,0 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['réaliser_0',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]],
|
||||
['répartition_20des_20tâches_1',['VI. Répartition des tâches',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md22',1,'']]],
|
||||
['rapport_20d’analyse_20et_20de_20conception_2',['Rapport d’analyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
|
||||
['read_5fline_3',['read_line',['../parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457',1,'parsing.c']]],
|
||||
['readme_2emd_4',['README.md',['../README_8md.html',1,'']]]
|
||||
];
|
||||
17
docs/doxygen/html/search/all_11.js
Normal file
17
docs/doxygen/html/search/all_11.js
Normal file
@ -0,0 +1,17 @@
|
||||
var searchData=
|
||||
[
|
||||
['seyshell_0',['Seyshell',['../index.html',1,'']]],
|
||||
['sgf_1',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]],
|
||||
['sgf_20stockage_20alexis_20et_20youssef_2',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]],
|
||||
['shell_3',['Commandes Shell',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md20',1,'']]],
|
||||
['shell_20commandes_20lucas_20et_20alexis_4',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
|
||||
['shell_5floop_5',['shell_loop',['../parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c']]],
|
||||
['sommaire_6',['Sommaire',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md3',1,'']]],
|
||||
['split_5fline_7',['split_line',['../parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa',1,'parsing.c']]],
|
||||
['stockage_20alexis_20et_20youssef_8',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]],
|
||||
['struct_2eh_9',['struct.h',['../struct_8h.html',1,'']]],
|
||||
['structures_20de_20données_20prévues_10',['IV. Structures de données prévues',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md16',1,'']]],
|
||||
['système_11',['Primitives Système',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md19',1,'']]],
|
||||
['système_20à_20réaliser_12',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]],
|
||||
['système_202025_202026_20–_20système_20de_20gestion_20de_20fichiers_20sgf_13',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]]
|
||||
];
|
||||
10
docs/doxygen/html/search/all_12.js
Normal file
10
docs/doxygen/html/search/all_12.js
Normal file
@ -0,0 +1,10 @@
|
||||
var searchData=
|
||||
[
|
||||
['tâches_0',['VI. Répartition des tâches',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md22',1,'']]],
|
||||
['teddy_20et_20baptiste_1',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['type_5fbinary_2',['TYPE_BINARY',['../const_8h.html#a5db236b991aad03f703df46ee60dbf38',1,'const.h']]],
|
||||
['type_5fdirectory_3',['TYPE_DIRECTORY',['../const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b',1,'const.h']]],
|
||||
['type_5ffile_4',['TYPE_FILE',['../const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c',1,'const.h']]],
|
||||
['type_5fnull_5',['TYPE_NULL',['../const_8h.html#a5e53a82e875992705cb69208f53f6576',1,'const.h']]],
|
||||
['type_5fsymbolic_5flink_6',['TYPE_SYMBOLIC_LINK',['../const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9',1,'const.h']]]
|
||||
];
|
||||
6
docs/doxygen/html/search/all_13.js
Normal file
6
docs/doxygen/html/search/all_13.js
Normal file
@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['v_20liste_20des_20fonctions_20principales_0',['V. Liste des fonctions principales',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md18',1,'']]],
|
||||
['vi_20répartition_20des_20tâches_1',['VI. Répartition des tâches',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md22',1,'']]],
|
||||
['vii_20conclusion_2',['VII. Conclusion',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md28',1,'']]]
|
||||
];
|
||||
4
docs/doxygen/html/search/all_14.js
Normal file
4
docs/doxygen/html/search/all_14.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['youssef_0',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]]
|
||||
];
|
||||
4
docs/doxygen/html/search/all_15.js
Normal file
4
docs/doxygen/html/search/all_15.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['à_20réaliser_0',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]]
|
||||
];
|
||||
4
docs/doxygen/html/search/all_16.js
Normal file
4
docs/doxygen/html/search/all_16.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['–_20système_20de_20gestion_20de_20fichiers_20sgf_0',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]]
|
||||
];
|
||||
@ -1,9 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['datas_0',['datas',['../structbloc.html#a801f2e871d2e285480d31426e39e01a9',1,'bloc']]],
|
||||
['différentes_20commandes_1',['Les différentes commandes',['../index.html#autotoc_md2',1,'']]],
|
||||
['disk_2',['disk',['../structdisk.html',1,'disk'],['../struct_8h.html#a48bafe324ab0e99e14feeda9fde3462f',1,'disk: struct.h']]],
|
||||
['disk_2ec_3',['disk.c',['../disk_8c.html',1,'']]],
|
||||
['disk_2eh_4',['disk.h',['../disk_8h.html',1,'']]],
|
||||
['du_20projet_5',['Exécution du projet',['../index.html#autotoc_md1',1,'']]]
|
||||
['3_20shell_20commandes_20lucas_20et_20alexis_0',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['exécution_20du_20projet_0',['Exécution du projet',['../index.html#autotoc_md1',1,'']]],
|
||||
['exec_2ec_1',['exec.c',['../exec_8c.html',1,'']]],
|
||||
['exec_2eh_2',['exec.h',['../exec_8h.html',1,'']]],
|
||||
['execute_5fcmd_3',['execute_cmd',['../exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args): exec.c'],['../exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args): exec.c']]]
|
||||
['alexis_0',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
|
||||
['alexis_20et_20youssef_1',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]],
|
||||
['analyse_20des_20besoins_20de_20l’utilisateur_2',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,5 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['fichiers_0',['Les fichiers',['../index.html#autotoc_md3',1,'']]],
|
||||
['filetype_1',['filetype',['../structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177',1,'inode']]]
|
||||
['baptiste_0',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['besoins_20de_20l’utilisateur_1',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
|
||||
['bloc_2',['bloc',['../structbloc.html',1,'bloc'],['../struct_8h.html#ad7463cdc34b86731771512f65c647905',1,'bloc: struct.h']]],
|
||||
['blocs_3',['blocs',['../structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3',1,'inode::blocs'],['../structdisk.html#ad418fe421d1f081b29dcc7922608ca59',1,'disk::blocs']]],
|
||||
['bonus_4',['2. Fonctions bonus',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md14',1,'']]],
|
||||
['bufsize_5',['BUFSIZE',['../const_8h.html#aeca034f67218340ecb2261a22c2f3dcd',1,'const.h']]]
|
||||
];
|
||||
|
||||
@ -1,6 +1,18 @@
|
||||
var searchData=
|
||||
[
|
||||
['inode_0',['inode',['../structinode.html',1,'inode'],['../struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5',1,'inode: struct.h']]],
|
||||
['inodes_1',['inodes',['../structdisk.html#a187c55f0919fa8f44cc442857cce3e8d',1,'disk']]],
|
||||
['is_5fbuiltin_5fcmd_2',['is_builtin_cmd',['../exec_8c.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c']]]
|
||||
['cahier_20des_20charges_0',['III. Cahier des charges',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md12',1,'']]],
|
||||
['charges_1',['III. Cahier des charges',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md12',1,'']]],
|
||||
['commandes_2',['Les différentes commandes',['../index.html#autotoc_md31',1,'']]],
|
||||
['commandes_20lucas_20et_20alexis_3',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
|
||||
['commandes_20shell_4',['Commandes Shell',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md20',1,'']]],
|
||||
['compte_5frendu_5f1_5',['compte_rendu_1',['../md_docs_2compte__rendus_2compte__rendu__1.html',1,'']]],
|
||||
['compte_5frendu_5f1_2emd_6',['compte_rendu_1.md',['../compte__rendu__1_8md.html',1,'']]],
|
||||
['conception_7',['Rapport d’analyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
|
||||
['conclusion_8',['VII. Conclusion',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md28',1,'']]],
|
||||
['const_2eh_9',['const.h',['../const_8h.html',1,'']]],
|
||||
['contraintes_10',['2. Contraintes',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md7',1,'']]],
|
||||
['create_5fdirectory_11',['create_directory',['../disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9',1,'disk.c']]],
|
||||
['create_5fdisk_12',['create_disk',['../disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c']]],
|
||||
['create_5ffile_13',['create_file',['../disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd',1,'disk.c']]],
|
||||
['create_5finode_14',['create_inode',['../disk_8c.html#ad46ea636209e0726c208aaa61c49ae16',1,'disk.c']]]
|
||||
];
|
||||
|
||||
@ -1,5 +1,23 @@
|
||||
var searchData=
|
||||
[
|
||||
['les_20différentes_20commandes_0',['Les différentes commandes',['../index.html#autotoc_md2',1,'']]],
|
||||
['les_20fichiers_1',['Les fichiers',['../index.html#autotoc_md3',1,'']]]
|
||||
['définition_20du_20système_20à_20réaliser_0',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]],
|
||||
['d’analyse_20et_20de_20conception_1',['Rapport d’analyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
|
||||
['datas_2',['datas',['../structbloc.html#a801f2e871d2e285480d31426e39e01a9',1,'bloc']]],
|
||||
['de_20conception_3',['Rapport d’analyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
|
||||
['de_20données_20prévues_4',['IV. Structures de données prévues',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md16',1,'']]],
|
||||
['de_20gestion_20de_20fichiers_20sgf_5',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]],
|
||||
['de_20l’utilisateur_6',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
|
||||
['des_20besoins_20de_20l’utilisateur_7',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
|
||||
['des_20charges_8',['III. Cahier des charges',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md12',1,'']]],
|
||||
['des_20fonctions_9',['1. Description globale des fonctions',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md13',1,'']]],
|
||||
['des_20fonctions_20principales_10',['V. Liste des fonctions principales',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md18',1,'']]],
|
||||
['des_20tâches_11',['VI. Répartition des tâches',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md22',1,'']]],
|
||||
['description_20globale_20des_20fonctions_12',['1. Description globale des fonctions',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md13',1,'']]],
|
||||
['différentes_20commandes_13',['Les différentes commandes',['../index.html#autotoc_md31',1,'']]],
|
||||
['disk_14',['disk',['../struct_8h.html#a48bafe324ab0e99e14feeda9fde3462f',1,'disk: struct.h'],['../structdisk.html',1,'disk']]],
|
||||
['disk_2ec_15',['disk.c',['../disk_8c.html',1,'']]],
|
||||
['disk_2eh_16',['disk.h',['../disk_8h.html',1,'']]],
|
||||
['données_20prévues_17',['IV. Structures de données prévues',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md16',1,'']]],
|
||||
['du_20projet_18',['Exécution du projet',['../index.html#autotoc_md30',1,'']]],
|
||||
['du_20système_20à_20réaliser_19',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
var searchData=
|
||||
[
|
||||
['main_0',['main',['../main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac',1,'main.c']]],
|
||||
['main_2ec_1',['main.c',['../main_8c.html',1,'']]],
|
||||
['max_5fblocs_2',['MAX_BLOCS',['../const_8h.html#ad7140f3913ca85546efb2ded034d0af2',1,'const.h']]],
|
||||
['max_5fbytes_5fper_5fbloc_3',['MAX_BYTES_PER_BLOC',['../const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154',1,'const.h']]],
|
||||
['max_5finode_4',['MAX_INODE',['../const_8h.html#af58c11b86af508a573976185fb99170f',1,'const.h']]]
|
||||
['et_20alexis_0',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
|
||||
['et_20baptiste_1',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['et_20de_20conception_2',['Rapport d’analyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
|
||||
['et_20youssef_3',['1. SGF & Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]],
|
||||
['exécution_20du_20projet_4',['Exécution du projet',['../index.html#autotoc_md30',1,'']]],
|
||||
['exec_2ec_5',['exec.c',['../exec_8c.html',1,'']]],
|
||||
['exec_2eh_6',['exec.h',['../exec_8h.html',1,'']]],
|
||||
['execute_5fcmd_7',['execute_cmd',['../exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args): exec.c'],['../exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args): exec.c']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,13 @@
|
||||
var searchData=
|
||||
[
|
||||
['open_5fdisk_0',['open_disk',['../disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c'],['../disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c']]]
|
||||
['fichiers_0',['Les fichiers',['../index.html#autotoc_md32',1,'']]],
|
||||
['fichiers_20sgf_1',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]],
|
||||
['filetype_2',['filetype',['../structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177',1,'inode']]],
|
||||
['find_5ffree_5fbloc_3',['find_free_bloc',['../disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab',1,'disk.c']]],
|
||||
['find_5foffset_5fin_5fparent_5fbloc_4',['find_offset_in_parent_bloc',['../disk_8c.html#a7abd1b379bf3695a8120a92fde42203b',1,'disk.c']]],
|
||||
['fonctionnels_5',['1. Objectifs fonctionnels',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md6',1,'']]],
|
||||
['fonctionnement_20général_6',['1. Fonctionnement général',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md10',1,'']]],
|
||||
['fonctions_7',['1. Description globale des fonctions',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md13',1,'']]],
|
||||
['fonctions_20bonus_8',['2. Fonctions bonus',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md14',1,'']]],
|
||||
['fonctions_20principales_9',['V. Liste des fonctions principales',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md18',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['parsing_2ec_0',['parsing.c',['../parsing_8c.html',1,'']]],
|
||||
['parsing_2eh_1',['parsing.h',['../parsing_8h.html',1,'']]],
|
||||
['perms_2',['perms',['../structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa',1,'inode']]],
|
||||
['projet_3',['Exécution du projet',['../index.html#autotoc_md1',1,'']]]
|
||||
['général_0',['1. Fonctionnement général',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md10',1,'']]],
|
||||
['gestion_20de_20fichiers_20sgf_1',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]],
|
||||
['globale_20des_20fonctions_2',['1. Description globale des fonctions',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md13',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,5 +1,12 @@
|
||||
var searchData=
|
||||
[
|
||||
['read_5fline_0',['read_line',['../parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457',1,'parsing.c']]],
|
||||
['readme_2emd_1',['README.md',['../README_8md.html',1,'']]]
|
||||
['i_20analyse_20des_20besoins_20de_20l’utilisateur_0',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
|
||||
['i_20nodes_20teddy_20et_20baptiste_1',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['ii_20définition_20du_20système_20à_20réaliser_2',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]],
|
||||
['iii_20cahier_20des_20charges_3',['III. Cahier des charges',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md12',1,'']]],
|
||||
['init_5finode_5fin_5fdisk_4',['init_inode_in_disk',['../disk_8c.html#a756e632b29a777267828c50a5d4a4cfe',1,'disk.c']]],
|
||||
['inode_5',['inode',['../structinode.html',1,'inode'],['../struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5',1,'inode: struct.h']]],
|
||||
['inodes_6',['inodes',['../structdisk.html#a187c55f0919fa8f44cc442857cce3e8d',1,'disk']]],
|
||||
['is_5fbuiltin_5fcmd_7',['is_builtin_cmd',['../exec_8c.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c']]],
|
||||
['iv_20structures_20de_20données_20prévues_8',['IV. Structures de données prévues',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md16',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
var searchData=
|
||||
[
|
||||
['seyshell_0',['Seyshell',['../index.html',1,'']]],
|
||||
['shell_5floop_1',['shell_loop',['../parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c']]],
|
||||
['split_5fline_2',['split_line',['../parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa',1,'parsing.c']]],
|
||||
['struct_2eh_3',['struct.h',['../struct_8h.html',1,'']]]
|
||||
['l’utilisateur_0',['I. Analyse des besoins de l’utilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
|
||||
['les_20différentes_20commandes_1',['Les différentes commandes',['../index.html#autotoc_md31',1,'']]],
|
||||
['les_20fichiers_2',['Les fichiers',['../index.html#autotoc_md32',1,'']]],
|
||||
['liste_20des_20fonctions_20principales_3',['V. Liste des fonctions principales',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md18',1,'']]],
|
||||
['lucas_20et_20alexis_4',['3. Shell & Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
var searchData=
|
||||
[
|
||||
['type_5fbinary_0',['TYPE_BINARY',['../const_8h.html#a5db236b991aad03f703df46ee60dbf38',1,'const.h']]],
|
||||
['type_5fdirectory_1',['TYPE_DIRECTORY',['../const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b',1,'const.h']]],
|
||||
['type_5ffile_2',['TYPE_FILE',['../const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c',1,'const.h']]],
|
||||
['type_5fnull_3',['TYPE_NULL',['../const_8h.html#a5e53a82e875992705cb69208f53f6576',1,'const.h']]],
|
||||
['type_5fsymbolic_5flink_4',['TYPE_SYMBOLIC_LINK',['../const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9',1,'const.h']]]
|
||||
['main_0',['main',['../main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac',1,'main.c']]],
|
||||
['main_2ec_1',['main.c',['../main_8c.html',1,'']]],
|
||||
['max_5fblocs_2',['MAX_BLOCS',['../const_8h.html#ad7140f3913ca85546efb2ded034d0af2',1,'const.h']]],
|
||||
['max_5fbytes_5fper_5fbloc_3',['MAX_BYTES_PER_BLOC',['../const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154',1,'const.h']]],
|
||||
['max_5finode_4',['MAX_INODE',['../const_8h.html#af58c11b86af508a573976185fb99170f',1,'const.h']]],
|
||||
['max_5finode_5fname_5',['MAX_INODE_NAME',['../const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba',1,'const.h']]]
|
||||
];
|
||||
|
||||
4
docs/doxygen/html/search/all_d.js
Normal file
4
docs/doxygen/html/search/all_d.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['nodes_20teddy_20et_20baptiste_0',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]]
|
||||
];
|
||||
6
docs/doxygen/html/search/all_e.js
Normal file
6
docs/doxygen/html/search/all_e.js
Normal file
@ -0,0 +1,6 @@
|
||||
var searchData=
|
||||
[
|
||||
['objectifs_20fonctionnels_0',['1. Objectifs fonctionnels',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md6',1,'']]],
|
||||
['open_5fdisk_1',['open_disk',['../disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c'],['../disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c']]],
|
||||
['owned_5fblocs_2',['owned_blocs',['../structdisk.html#a60d62e18ebc1d2933bb952352397acda',1,'disk']]]
|
||||
];
|
||||
14
docs/doxygen/html/search/all_f.js
Normal file
14
docs/doxygen/html/search/all_f.js
Normal file
@ -0,0 +1,14 @@
|
||||
var searchData=
|
||||
[
|
||||
['parsing_2ec_0',['parsing.c',['../parsing_8c.html',1,'']]],
|
||||
['parsing_2eh_1',['parsing.h',['../parsing_8h.html',1,'']]],
|
||||
['perms_2',['perms',['../structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa',1,'inode']]],
|
||||
['planning_20prévisionnel_3',['Planning prévisionnel',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md26',1,'']]],
|
||||
['prévisionnel_4',['Planning prévisionnel',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md26',1,'']]],
|
||||
['prévues_5',['IV. Structures de données prévues',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md16',1,'']]],
|
||||
['primitives_20i_20nodes_20teddy_20et_20baptiste_6',['2. Primitives & I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
|
||||
['primitives_20système_7',['Primitives Système',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md19',1,'']]],
|
||||
['principales_8',['V. Liste des fonctions principales',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md18',1,'']]],
|
||||
['projet_9',['Exécution du projet',['../index.html#autotoc_md30',1,'']]],
|
||||
['projet_20système_202025_202026_20–_20système_20de_20gestion_20de_20fichiers_20sgf_10',['Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md1',1,'']]]
|
||||
];
|
||||
@ -2,5 +2,6 @@ var searchData=
|
||||
[
|
||||
['max_5fblocs_0',['MAX_BLOCS',['../const_8h.html#ad7140f3913ca85546efb2ded034d0af2',1,'const.h']]],
|
||||
['max_5fbytes_5fper_5fbloc_1',['MAX_BYTES_PER_BLOC',['../const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154',1,'const.h']]],
|
||||
['max_5finode_2',['MAX_INODE',['../const_8h.html#af58c11b86af508a573976185fb99170f',1,'const.h']]]
|
||||
['max_5finode_2',['MAX_INODE',['../const_8h.html#af58c11b86af508a573976185fb99170f',1,'const.h']]],
|
||||
['max_5finode_5fname_3',['MAX_INODE_NAME',['../const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba',1,'const.h']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['const_2eh_0',['const.h',['../const_8h.html',1,'']]]
|
||||
['compte_5frendu_5f1_2emd_0',['compte_rendu_1.md',['../compte__rendu__1_8md.html',1,'']]],
|
||||
['const_2eh_1',['const.h',['../const_8h.html',1,'']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,7 @@
|
||||
var searchData=
|
||||
[
|
||||
['create_5fdisk_0',['create_disk',['../disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c']]]
|
||||
['create_5fdirectory_0',['create_directory',['../disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9',1,'disk.c']]],
|
||||
['create_5fdisk_1',['create_disk',['../disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk(): disk.c']]],
|
||||
['create_5ffile_2',['create_file',['../disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd',1,'disk.c']]],
|
||||
['create_5finode_3',['create_inode',['../disk_8c.html#ad46ea636209e0726c208aaa61c49ae16',1,'disk.c']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['is_5fbuiltin_5fcmd_0',['is_builtin_cmd',['../exec_8c.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c']]]
|
||||
['find_5ffree_5fbloc_0',['find_free_bloc',['../disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab',1,'disk.c']]],
|
||||
['find_5foffset_5fin_5fparent_5fbloc_1',['find_offset_in_parent_bloc',['../disk_8c.html#a7abd1b379bf3695a8120a92fde42203b',1,'disk.c']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['main_0',['main',['../main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac',1,'main.c']]]
|
||||
['init_5finode_5fin_5fdisk_0',['init_inode_in_disk',['../disk_8c.html#a756e632b29a777267828c50a5d4a4cfe',1,'disk.c']]],
|
||||
['is_5fbuiltin_5fcmd_1',['is_builtin_cmd',['../exec_8c.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable): exec.c']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['open_5fdisk_0',['open_disk',['../disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c'],['../disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c']]]
|
||||
['main_0',['main',['../main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac',1,'main.c']]]
|
||||
];
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['read_5fline_0',['read_line',['../parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457',1,'parsing.c']]]
|
||||
['open_5fdisk_0',['open_disk',['../disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c'],['../disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename): disk.c']]]
|
||||
];
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['shell_5floop_0',['shell_loop',['../parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c']]],
|
||||
['split_5fline_1',['split_line',['../parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa',1,'parsing.c']]]
|
||||
['read_5fline_0',['read_line',['../parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457',1,'parsing.c']]]
|
||||
];
|
||||
|
||||
5
docs/doxygen/html/search/functions_7.js
Normal file
5
docs/doxygen/html/search/functions_7.js
Normal file
@ -0,0 +1,5 @@
|
||||
var searchData=
|
||||
[
|
||||
['shell_5floop_0',['shell_loop',['../parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void): parsing.c']]],
|
||||
['split_5fline_1',['split_line',['../parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa',1,'parsing.c']]]
|
||||
];
|
||||
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['seyshell_0',['Seyshell',['../index.html',1,'']]]
|
||||
['compte_5frendu_5f1_0',['compte_rendu_1',['../md_docs_2compte__rendus_2compte__rendu__1.html',1,'']]]
|
||||
];
|
||||
|
||||
4
docs/doxygen/html/search/pages_1.js
Normal file
4
docs/doxygen/html/search/pages_1.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['seyshell_0',['Seyshell',['../index.html',1,'']]]
|
||||
];
|
||||
@ -1,13 +1,13 @@
|
||||
var indexSectionsWithContent =
|
||||
{
|
||||
0: "bcdefilmoprst",
|
||||
0: "123abcdefgilmnoprstvyà–",
|
||||
1: "bdi",
|
||||
2: "cdemprs",
|
||||
3: "ceimors",
|
||||
4: "bdfip",
|
||||
3: "cefimors",
|
||||
4: "bdfiop",
|
||||
5: "bdi",
|
||||
6: "bmt",
|
||||
7: "s"
|
||||
7: "cs"
|
||||
};
|
||||
|
||||
var indexSectionNames =
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['perms_0',['perms',['../structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa',1,'inode']]]
|
||||
['owned_5fblocs_0',['owned_blocs',['../structdisk.html#a60d62e18ebc1d2933bb952352397acda',1,'disk']]]
|
||||
];
|
||||
|
||||
4
docs/doxygen/html/search/variables_5.js
Normal file
4
docs/doxygen/html/search/variables_5.js
Normal file
@ -0,0 +1,4 @@
|
||||
var searchData=
|
||||
[
|
||||
['perms_0',['perms',['../structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa',1,'inode']]]
|
||||
];
|
||||
@ -85,42 +85,44 @@ $(document).ready(function() { init_codefold(0); });
|
||||
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#pragma once</span></div>
|
||||
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="preprocessor">#include "<a class="code" href="const_8h.html">const.h</a>"</span></div>
|
||||
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span> </div>
|
||||
<div class="foldopen" id="foldopen00009" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"><a class="line" href="structinode.html"> 9</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structinode.html">inode</a> {</div>
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa"> 10</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code hl_variable" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">perms</a>; <span class="comment">// rwxrwxrwx</span></div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177"> 11</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">filetype</a>;</div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3"> 12</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>];</div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5"> 13</a></span>} <a class="code hl_struct" href="structinode.html">inode</a>;</div>
|
||||
<div class="foldopen" id="foldopen00010" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"><a class="line" href="structinode.html"> 10</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structinode.html">inode</a> {</div>
|
||||
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa"> 11</a></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code hl_variable" href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">perms</a>; <span class="comment">// rwxrwxrwx</span></div>
|
||||
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177"> 12</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">filetype</a>;</div>
|
||||
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3"> 13</a></span> <span class="keywordtype">int</span> <a class="code hl_variable" href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>];</div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5"> 14</a></span>} <a class="code hl_struct" href="structinode.html">inode</a>;</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
|
||||
<div class="foldopen" id="foldopen00019" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="structbloc.html"> 19</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structbloc.html">bloc</a> {</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9"> 20</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">datas</a>[<a class="code hl_define" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a>];</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="struct_8h.html#ad7463cdc34b86731771512f65c647905"> 21</a></span>} <a class="code hl_struct" href="structbloc.html">bloc</a>;</div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> </div>
|
||||
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="structbloc.html"> 20</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structbloc.html">bloc</a> {</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9"> 21</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">datas</a>[<a class="code hl_define" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a>];</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="struct_8h.html#ad7463cdc34b86731771512f65c647905"> 22</a></span>} <a class="code hl_struct" href="structbloc.html">bloc</a>;</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="foldopen" id="foldopen00027" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structdisk.html"> 27</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structdisk.html">disk</a> {</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d"> 28</a></span> <a class="code hl_struct" href="structinode.html">inode</a> <a class="code hl_variable" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">inodes</a>[<a class="code hl_define" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>];</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59"> 29</a></span> <a class="code hl_struct" href="structbloc.html">bloc</a> <a class="code hl_variable" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>];</div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="struct_8h.html#a48bafe324ab0e99e14feeda9fde3462f"> 30</a></span>} <a class="code hl_struct" href="structdisk.html">disk</a>;</div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||
<div class="foldopen" id="foldopen00028" data-start="{" data-end="};">
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structdisk.html"> 28</a></span><span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code hl_struct" href="structdisk.html">disk</a> {</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structdisk.html#a60d62e18ebc1d2933bb952352397acda"> 29</a></span> <span class="keywordtype">char</span> <a class="code hl_variable" href="structdisk.html#a60d62e18ebc1d2933bb952352397acda">owned_blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>]; <span class="comment">// 1 si possédé par un inode, 0 si libre</span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d"> 30</a></span> <a class="code hl_struct" href="structinode.html">inode</a> <a class="code hl_variable" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">inodes</a>[<a class="code hl_define" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>];</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59"> 31</a></span> <a class="code hl_struct" href="structbloc.html">bloc</a> <a class="code hl_variable" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">blocs</a>[<a class="code hl_define" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>];</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="struct_8h.html#a48bafe324ab0e99e14feeda9fde3462f"> 32</a></span>} <a class="code hl_struct" href="structdisk.html">disk</a>;</div>
|
||||
</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// pour 10 inode qui a 30 blocs de chacun 1024 octets, on a 30720 octets, soit</span></div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">// 30,7 Ko sur le disque</span></div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment">// pour 10 inode qui a 30 blocs de chacun 1024 octets, on a 30720 octets, soit</span></div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">// 30,7 Ko sur le disque</span></div>
|
||||
<div class="ttc" id="aconst_8h_html"><div class="ttname"><a href="const_8h.html">const.h</a></div></div>
|
||||
<div class="ttc" id="aconst_8h_html_a60fedb7550ff4e00d6c70dd2d257c154"><div class="ttname"><a href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a></div><div class="ttdeci">#define MAX_BYTES_PER_BLOC</div><div class="ttdef"><b>Definition</b> const.h:4</div></div>
|
||||
<div class="ttc" id="aconst_8h_html_ad7140f3913ca85546efb2ded034d0af2"><div class="ttname"><a href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a></div><div class="ttdeci">#define MAX_BLOCS</div><div class="ttdef"><b>Definition</b> const.h:3</div></div>
|
||||
<div class="ttc" id="aconst_8h_html_af58c11b86af508a573976185fb99170f"><div class="ttname"><a href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a></div><div class="ttdeci">#define MAX_INODE</div><div class="ttdef"><b>Definition</b> const.h:5</div></div>
|
||||
<div class="ttc" id="astructbloc_html"><div class="ttname"><a href="structbloc.html">bloc</a></div><div class="ttdoc">Un bloc possède un tableau de données brut concernant des inodes.</div><div class="ttdef"><b>Definition</b> struct.h:19</div></div>
|
||||
<div class="ttc" id="astructbloc_html_a801f2e871d2e285480d31426e39e01a9"><div class="ttname"><a href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">bloc::datas</a></div><div class="ttdeci">char datas[MAX_BYTES_PER_BLOC]</div><div class="ttdef"><b>Definition</b> struct.h:20</div></div>
|
||||
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée.</div><div class="ttdef"><b>Definition</b> struct.h:27</div></div>
|
||||
<div class="ttc" id="astructdisk_html_a187c55f0919fa8f44cc442857cce3e8d"><div class="ttname"><a href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">disk::inodes</a></div><div class="ttdeci">inode inodes[MAX_INODE]</div><div class="ttdef"><b>Definition</b> struct.h:28</div></div>
|
||||
<div class="ttc" id="astructdisk_html_ad418fe421d1f081b29dcc7922608ca59"><div class="ttname"><a href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">disk::blocs</a></div><div class="ttdeci">bloc blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:29</div></div>
|
||||
<div class="ttc" id="astructinode_html"><div class="ttname"><a href="structinode.html">inode</a></div><div class="ttdoc">Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur d...</div><div class="ttdef"><b>Definition</b> struct.h:9</div></div>
|
||||
<div class="ttc" id="astructinode_html_a2d0a5188e7dfbfcf2fa374a5fb348177"><div class="ttname"><a href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">inode::filetype</a></div><div class="ttdeci">char filetype</div><div class="ttdef"><b>Definition</b> struct.h:11</div></div>
|
||||
<div class="ttc" id="astructinode_html_aaeb4427c36772c74ae86c9510ee6a6b3"><div class="ttname"><a href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">inode::blocs</a></div><div class="ttdeci">int blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:12</div></div>
|
||||
<div class="ttc" id="astructinode_html_ab744b42f5d23ec542bd9897a4d15a5fa"><div class="ttname"><a href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">inode::perms</a></div><div class="ttdeci">unsigned short perms</div><div class="ttdef"><b>Definition</b> struct.h:10</div></div>
|
||||
<div class="ttc" id="astructbloc_html"><div class="ttname"><a href="structbloc.html">bloc</a></div><div class="ttdoc">Un bloc possède un tableau de données brut concernant des inodes.</div><div class="ttdef"><b>Definition</b> struct.h:20</div></div>
|
||||
<div class="ttc" id="astructbloc_html_a801f2e871d2e285480d31426e39e01a9"><div class="ttname"><a href="structbloc.html#a801f2e871d2e285480d31426e39e01a9">bloc::datas</a></div><div class="ttdeci">char datas[MAX_BYTES_PER_BLOC]</div><div class="ttdef"><b>Definition</b> struct.h:21</div></div>
|
||||
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée.</div><div class="ttdef"><b>Definition</b> struct.h:28</div></div>
|
||||
<div class="ttc" id="astructdisk_html_a187c55f0919fa8f44cc442857cce3e8d"><div class="ttname"><a href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">disk::inodes</a></div><div class="ttdeci">inode inodes[MAX_INODE]</div><div class="ttdef"><b>Definition</b> struct.h:30</div></div>
|
||||
<div class="ttc" id="astructdisk_html_a60d62e18ebc1d2933bb952352397acda"><div class="ttname"><a href="structdisk.html#a60d62e18ebc1d2933bb952352397acda">disk::owned_blocs</a></div><div class="ttdeci">char owned_blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:29</div></div>
|
||||
<div class="ttc" id="astructdisk_html_ad418fe421d1f081b29dcc7922608ca59"><div class="ttname"><a href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">disk::blocs</a></div><div class="ttdeci">bloc blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:31</div></div>
|
||||
<div class="ttc" id="astructinode_html"><div class="ttname"><a href="structinode.html">inode</a></div><div class="ttdoc">Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur d...</div><div class="ttdef"><b>Definition</b> struct.h:10</div></div>
|
||||
<div class="ttc" id="astructinode_html_a2d0a5188e7dfbfcf2fa374a5fb348177"><div class="ttname"><a href="structinode.html#a2d0a5188e7dfbfcf2fa374a5fb348177">inode::filetype</a></div><div class="ttdeci">char filetype</div><div class="ttdef"><b>Definition</b> struct.h:12</div></div>
|
||||
<div class="ttc" id="astructinode_html_aaeb4427c36772c74ae86c9510ee6a6b3"><div class="ttname"><a href="structinode.html#aaeb4427c36772c74ae86c9510ee6a6b3">inode::blocs</a></div><div class="ttdeci">int blocs[MAX_BLOCS]</div><div class="ttdef"><b>Definition</b> struct.h:13</div></div>
|
||||
<div class="ttc" id="astructinode_html_ab744b42f5d23ec542bd9897a4d15a5fa"><div class="ttname"><a href="structinode.html#ab744b42f5d23ec542bd9897a4d15a5fa">inode::perms</a></div><div class="ttdeci">unsigned short perms</div><div class="ttdef"><b>Definition</b> struct.h:11</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
||||
@ -87,6 +87,8 @@ Collaboration diagram for disk:</div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
|
||||
Data Fields</h2></td></tr>
|
||||
<tr class="memitem:a60d62e18ebc1d2933bb952352397acda" id="r_a60d62e18ebc1d2933bb952352397acda"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="structdisk.html#a60d62e18ebc1d2933bb952352397acda">owned_blocs</a> [<a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>]</td></tr>
|
||||
<tr class="separator:a60d62e18ebc1d2933bb952352397acda"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a187c55f0919fa8f44cc442857cce3e8d" id="r_a187c55f0919fa8f44cc442857cce3e8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structinode.html">inode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structdisk.html#a187c55f0919fa8f44cc442857cce3e8d">inodes</a> [<a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>]</td></tr>
|
||||
<tr class="separator:a187c55f0919fa8f44cc442857cce3e8d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad418fe421d1f081b29dcc7922608ca59" id="r_ad418fe421d1f081b29dcc7922608ca59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structbloc.html">bloc</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structdisk.html#ad418fe421d1f081b29dcc7922608ca59">blocs</a> [<a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>]</td></tr>
|
||||
@ -121,6 +123,20 @@ Data Fields</h2></td></tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a60d62e18ebc1d2933bb952352397acda" name="a60d62e18ebc1d2933bb952352397acda"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a60d62e18ebc1d2933bb952352397acda">◆ </a></span>owned_blocs</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">char disk::owned_blocs[<a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>]</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
|
||||
2
docs/doxygen/latex/compte__rendu__1_8md.tex
Normal file
2
docs/doxygen/latex/compte__rendu__1_8md.tex
Normal file
@ -0,0 +1,2 @@
|
||||
\doxysection{docs/compte\+\_\+rendus/compte\+\_\+rendu\+\_\+1.md File Reference}
|
||||
\hypertarget{compte__rendu__1_8md}{}\label{compte__rendu__1_8md}\index{docs/compte\_rendus/compte\_rendu\_1.md@{docs/compte\_rendus/compte\_rendu\_1.md}}
|
||||
@ -13,6 +13,8 @@ This graph shows which files directly or indirectly include this file\+:
|
||||
\item
|
||||
\#define \mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\+\_\+\+INODE}}~10
|
||||
\item
|
||||
\#define \mbox{\hyperlink{const_8h_a1459cb1cb7ff0d6cd9311afadb956fba}{MAX\+\_\+\+INODE\+\_\+\+NAME}}~30
|
||||
\item
|
||||
\#define \mbox{\hyperlink{const_8h_a5e53a82e875992705cb69208f53f6576}{TYPE\+\_\+\+NULL}}~0
|
||||
\item
|
||||
\#define \mbox{\hyperlink{const_8h_a1c4b9a03f9d2107bf4c139bb00c7ec4c}{TYPE\+\_\+\+FILE}}~1
|
||||
@ -50,6 +52,12 @@ This graph shows which files directly or indirectly include this file\+:
|
||||
\doxysubsubsection{\texorpdfstring{MAX\_INODE}{MAX\_INODE}}
|
||||
{\footnotesize\ttfamily \#define MAX\+\_\+\+INODE~10}
|
||||
|
||||
\Hypertarget{const_8h_a1459cb1cb7ff0d6cd9311afadb956fba}\label{const_8h_a1459cb1cb7ff0d6cd9311afadb956fba}
|
||||
\index{const.h@{const.h}!MAX\_INODE\_NAME@{MAX\_INODE\_NAME}}
|
||||
\index{MAX\_INODE\_NAME@{MAX\_INODE\_NAME}!const.h@{const.h}}
|
||||
\doxysubsubsection{\texorpdfstring{MAX\_INODE\_NAME}{MAX\_INODE\_NAME}}
|
||||
{\footnotesize\ttfamily \#define MAX\+\_\+\+INODE\+\_\+\+NAME~30}
|
||||
|
||||
\Hypertarget{const_8h_a5db236b991aad03f703df46ee60dbf38}\label{const_8h_a5db236b991aad03f703df46ee60dbf38}
|
||||
\index{const.h@{const.h}!TYPE\_BINARY@{TYPE\_BINARY}}
|
||||
\index{TYPE\_BINARY@{TYPE\_BINARY}!const.h@{const.h}}
|
||||
|
||||
@ -7,11 +7,12 @@
|
||||
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#define\ MAX\_BLOCS\ 30}}
|
||||
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#define\ MAX\_BYTES\_PER\_BLOC\ 1024}}
|
||||
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#define\ MAX\_INODE\ 10}}
|
||||
\DoxyCodeLine{00006\ }
|
||||
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#define\ TYPE\_NULL\ 0}}
|
||||
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#define\ TYPE\_FILE\ 1}}
|
||||
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#define\ TYPE\_BINARY\ 2}}
|
||||
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#define\ TYPE\_DIRECTORY\ 3}}
|
||||
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#define\ TYPE\_SYMBOLIC\_LINK\ 4}}
|
||||
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#define\ MAX\_INODE\_NAME\ 30\ }\textcolor{comment}{//\ 29\ caractères\ +\ '\(\backslash\)0'\ +\ numero\ de\ l'inode\ ref}}
|
||||
\DoxyCodeLine{00007\ }
|
||||
\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#define\ TYPE\_NULL\ 0}}
|
||||
\DoxyCodeLine{00009\ \textcolor{preprocessor}{\#define\ TYPE\_FILE\ 1}}
|
||||
\DoxyCodeLine{00010\ \textcolor{preprocessor}{\#define\ TYPE\_BINARY\ 2}}
|
||||
\DoxyCodeLine{00011\ \textcolor{preprocessor}{\#define\ TYPE\_DIRECTORY\ 3}}
|
||||
\DoxyCodeLine{00012\ \textcolor{preprocessor}{\#define\ TYPE\_SYMBOLIC\_LINK\ 4}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
\doxysection{docs Directory Reference}
|
||||
\hypertarget{dir_49e56c817e5e54854c35e136979f97ca}{}\label{dir_49e56c817e5e54854c35e136979f97ca}\index{docs Directory Reference@{docs Directory Reference}}
|
||||
\doxysubsubsection*{Directories}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
directory \mbox{\hyperlink{dir_fdbb2ac7574acffe9fb48d8c0ba660ea}{compte\+\_\+rendus}}
|
||||
\end{DoxyCompactItemize}
|
||||
@ -0,0 +1,4 @@
|
||||
\doxysection{docs/compte\+\_\+rendus Directory Reference}
|
||||
\hypertarget{dir_fdbb2ac7574acffe9fb48d8c0ba660ea}{}\label{dir_fdbb2ac7574acffe9fb48d8c0ba660ea}\index{docs/compte\_rendus Directory Reference@{docs/compte\_rendus Directory Reference}}
|
||||
Directory dependency graph for compte\+\_\+rendus\+:
|
||||
% FIG 0
|
||||
@ -0,0 +1,12 @@
|
||||
digraph "docs/compte_rendus"
|
||||
{
|
||||
// LATEX_PDF_SIZE
|
||||
bgcolor="transparent";
|
||||
edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
|
||||
node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
|
||||
compound=true
|
||||
subgraph clusterdir_49e56c817e5e54854c35e136979f97ca {
|
||||
graph [ bgcolor="#edf0f7", pencolor="grey25", label="docs", fontname=Helvetica,fontsize=10 style="filled,dashed", URL="dir_49e56c817e5e54854c35e136979f97ca.html",tooltip=""]
|
||||
dir_fdbb2ac7574acffe9fb48d8c0ba660ea [label="compte_rendus", fillcolor="#edf0f7", color="grey25", style="filled,bold", URL="dir_fdbb2ac7574acffe9fb48d8c0ba660ea.html",tooltip=""];
|
||||
}
|
||||
}
|
||||
@ -10,13 +10,31 @@ Include dependency graph for disk.\+c\+:
|
||||
\doxysubsubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
int \mbox{\hyperlink{disk_8c_a756e632b29a777267828c50a5d4a4cfe}{init\+\_\+inode\+\_\+in\+\_\+disk}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}d, int inode\+\_\+index, int filetype, unsigned short perms, int owned\+\_\+bloc)
|
||||
\item
|
||||
\mbox{\hyperlink{structdisk}{disk}} \mbox{\hyperlink{disk_8c_a7eb10c7006ff648d851b15f24e4305c3}{create\+\_\+disk}} ()
|
||||
\begin{DoxyCompactList}\small\item\em Créer un fichier "{}disk"{} de taille MAX\+\_\+\+BYTES\+\_\+\+PER\+\_\+\+BLOC \texorpdfstring{$\ast$}{*} MAX\+\_\+\+BLOCS, renvoi ce disque. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{structdisk}{disk}} \mbox{\hyperlink{disk_8c_a0410aa30c92de7cca42080e61d4dcd91}{open\+\_\+disk}} (char \texorpdfstring{$\ast$}{*}filename)
|
||||
\begin{DoxyCompactList}\small\item\em Si un fichier filename existe, alors on le lit et le stocke en mémoire. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\begin{DoxyCompactList}\small\item\em Si un fichier filename existe, alors on le lit et le stocke en mémoire. \end{DoxyCompactList}\item
|
||||
int \mbox{\hyperlink{disk_8c_ade4ebb1901ddd0ddd60a246d0981c9ab}{find\+\_\+free\+\_\+bloc}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}d)
|
||||
\item
|
||||
int \mbox{\hyperlink{disk_8c_a7abd1b379bf3695a8120a92fde42203b}{find\+\_\+offset\+\_\+in\+\_\+parent\+\_\+bloc}} (\mbox{\hyperlink{structbloc}{bloc}} \texorpdfstring{$\ast$}{*}parent\+\_\+bloc)
|
||||
\item
|
||||
void \mbox{\hyperlink{disk_8c_aa7d14d97833c0c0665892b3c624ab2d9}{create\+\_\+directory}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structdisk}{disk}}, \mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}parent, char \texorpdfstring{$\ast$}{*}dirname)
|
||||
\item
|
||||
void \mbox{\hyperlink{disk_8c_a90556d464c7b49fa1d4a76c37358a7bd}{create\+\_\+file}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structdisk}{disk}}, \mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}parent, char \texorpdfstring{$\ast$}{*}filename)
|
||||
\item
|
||||
void \mbox{\hyperlink{disk_8c_ad46ea636209e0726c208aaa61c49ae16}{create\+\_\+inode}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}\mbox{\hyperlink{structdisk}{disk}}, \mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}parent, char inode\+\_\+type, char \texorpdfstring{$\ast$}{*}name)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Function Documentation}
|
||||
\Hypertarget{disk_8c_aa7d14d97833c0c0665892b3c624ab2d9}\label{disk_8c_aa7d14d97833c0c0665892b3c624ab2d9}
|
||||
\index{disk.c@{disk.c}!create\_directory@{create\_directory}}
|
||||
\index{create\_directory@{create\_directory}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{create\_directory()}{create\_directory()}}
|
||||
{\footnotesize\ttfamily void create\+\_\+directory (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{disk, }\item[{\mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}}]{parent, }\item[{char \texorpdfstring{$\ast$}{*}}]{dirname }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_a7eb10c7006ff648d851b15f24e4305c3}\label{disk_8c_a7eb10c7006ff648d851b15f24e4305c3}
|
||||
\index{disk.c@{disk.c}!create\_disk@{create\_disk}}
|
||||
\index{create\_disk@{create\_disk}!disk.c@{disk.c}}
|
||||
@ -30,6 +48,36 @@ Créer un fichier "{}disk"{} de taille MAX\+\_\+\+BYTES\+\_\+\+PER\+\_\+\+BLOC \
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Le disque créé
|
||||
\end{DoxyReturn}
|
||||
\Hypertarget{disk_8c_a90556d464c7b49fa1d4a76c37358a7bd}\label{disk_8c_a90556d464c7b49fa1d4a76c37358a7bd}
|
||||
\index{disk.c@{disk.c}!create\_file@{create\_file}}
|
||||
\index{create\_file@{create\_file}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{create\_file()}{create\_file()}}
|
||||
{\footnotesize\ttfamily void create\+\_\+file (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{disk, }\item[{\mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}}]{parent, }\item[{char \texorpdfstring{$\ast$}{*}}]{filename }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_ad46ea636209e0726c208aaa61c49ae16}\label{disk_8c_ad46ea636209e0726c208aaa61c49ae16}
|
||||
\index{disk.c@{disk.c}!create\_inode@{create\_inode}}
|
||||
\index{create\_inode@{create\_inode}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{create\_inode()}{create\_inode()}}
|
||||
{\footnotesize\ttfamily void create\+\_\+inode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{disk, }\item[{\mbox{\hyperlink{structinode}{inode}} \texorpdfstring{$\ast$}{*}}]{parent, }\item[{char}]{inode\+\_\+type, }\item[{char \texorpdfstring{$\ast$}{*}}]{name }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_ade4ebb1901ddd0ddd60a246d0981c9ab}\label{disk_8c_ade4ebb1901ddd0ddd60a246d0981c9ab}
|
||||
\index{disk.c@{disk.c}!find\_free\_bloc@{find\_free\_bloc}}
|
||||
\index{find\_free\_bloc@{find\_free\_bloc}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{find\_free\_bloc()}{find\_free\_bloc()}}
|
||||
{\footnotesize\ttfamily int find\+\_\+free\+\_\+bloc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{d }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_a7abd1b379bf3695a8120a92fde42203b}\label{disk_8c_a7abd1b379bf3695a8120a92fde42203b}
|
||||
\index{disk.c@{disk.c}!find\_offset\_in\_parent\_bloc@{find\_offset\_in\_parent\_bloc}}
|
||||
\index{find\_offset\_in\_parent\_bloc@{find\_offset\_in\_parent\_bloc}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{find\_offset\_in\_parent\_bloc()}{find\_offset\_in\_parent\_bloc()}}
|
||||
{\footnotesize\ttfamily int find\+\_\+offset\+\_\+in\+\_\+parent\+\_\+bloc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structbloc}{bloc}} \texorpdfstring{$\ast$}{*}}]{parent\+\_\+bloc }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_a756e632b29a777267828c50a5d4a4cfe}\label{disk_8c_a756e632b29a777267828c50a5d4a4cfe}
|
||||
\index{disk.c@{disk.c}!init\_inode\_in\_disk@{init\_inode\_in\_disk}}
|
||||
\index{init\_inode\_in\_disk@{init\_inode\_in\_disk}!disk.c@{disk.c}}
|
||||
\doxysubsubsection{\texorpdfstring{init\_inode\_in\_disk()}{init\_inode\_in\_disk()}}
|
||||
{\footnotesize\ttfamily int init\+\_\+inode\+\_\+in\+\_\+disk (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{d, }\item[{int}]{inode\+\_\+index, }\item[{int}]{filetype, }\item[{unsigned short}]{perms, }\item[{int}]{owned\+\_\+bloc }\end{DoxyParamCaption})}
|
||||
|
||||
\Hypertarget{disk_8c_a0410aa30c92de7cca42080e61d4dcd91}\label{disk_8c_a0410aa30c92de7cca42080e61d4dcd91}
|
||||
\index{disk.c@{disk.c}!open\_disk@{open\_disk}}
|
||||
\index{open\_disk@{open\_disk}!disk.c@{disk.c}}
|
||||
|
||||
@ -5,19 +5,21 @@ digraph "src/disk.c"
|
||||
edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
|
||||
node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
|
||||
Node1 [id="Node000001",label="src/disk.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge10_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge11_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 [id="Node000002",label="disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
|
||||
Node2 -> Node3 [id="edge11_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node3 [id="edge12_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node3 [id="Node000003",label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node2 -> Node4 [id="edge12_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node4 [id="edge13_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node4 [id="Node000004",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
|
||||
Node2 -> Node5 [id="edge13_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node5 [id="edge14_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge14_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge15_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge16_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node6 [id="edge17_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge18_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge15_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node6 [id="edge16_Node000002_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge17_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge18_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge19_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node8 [id="edge20_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
{\ttfamily \#include $<$stdio.\+h$>$}\newline
|
||||
{\ttfamily \#include "{}const.\+h"{}}\newline
|
||||
{\ttfamily \#include "{}struct.\+h"{}}\newline
|
||||
{\ttfamily \#include $<$string.\+h$>$}\newline
|
||||
Include dependency graph for disk.\+h\+:
|
||||
% FIG 0
|
||||
This graph shows which files directly or indirectly include this file\+:
|
||||
|
||||
@ -5,11 +5,13 @@ digraph "src/disk.h"
|
||||
edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
|
||||
node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
|
||||
Node1 [id="Node000001",label="src/disk.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge5_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge6_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 [id="Node000002",label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge6_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge7_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node3 [id="Node000003",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
|
||||
Node1 -> Node4 [id="edge7_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node4 [id="edge8_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node4 [id="Node000004",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node4 -> Node3 [id="edge8_Node000004_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node4 -> Node3 [id="edge9_Node000004_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node5 [id="edge10_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
}
|
||||
|
||||
@ -8,8 +8,9 @@
|
||||
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
|
||||
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{const_8h}{const.h}}"{}}}
|
||||
\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{struct_8h}{struct.h}}"{}}}
|
||||
\DoxyCodeLine{00007\ }
|
||||
\DoxyCodeLine{00008\ \mbox{\hyperlink{structdisk}{disk}}\ \mbox{\hyperlink{disk_8h_a7eb10c7006ff648d851b15f24e4305c3}{create\_disk}}();}
|
||||
\DoxyCodeLine{00009\ \mbox{\hyperlink{structdisk}{disk}}\ \mbox{\hyperlink{disk_8h_a0410aa30c92de7cca42080e61d4dcd91}{open\_disk}}(\textcolor{keywordtype}{char}*\ filename);}
|
||||
\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ <string.h>}}
|
||||
\DoxyCodeLine{00008\ }
|
||||
\DoxyCodeLine{00009\ \mbox{\hyperlink{structdisk}{disk}}\ \mbox{\hyperlink{disk_8h_a7eb10c7006ff648d851b15f24e4305c3}{create\_disk}}();}
|
||||
\DoxyCodeLine{00010\ \mbox{\hyperlink{structdisk}{disk}}\ \mbox{\hyperlink{disk_8h_a0410aa30c92de7cca42080e61d4dcd91}{open\_disk}}(\textcolor{keywordtype}{char}*\ filename);}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
@ -2,14 +2,14 @@
|
||||
\hypertarget{index}{}\label{index}\index{Seyshell@{Seyshell}}
|
||||
\label{index_md_README}%
|
||||
\Hypertarget{index_md_README}%
|
||||
\hypertarget{index_autotoc_md1}{}\doxysection{\texorpdfstring{Exécution du projet}{Exécution du projet}}\label{index_autotoc_md1}
|
||||
\hypertarget{index_autotoc_md30}{}\doxysection{\texorpdfstring{Exécution du projet}{Exécution du projet}}\label{index_autotoc_md30}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{make\ all}
|
||||
\DoxyCodeLine{./seyshell}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{index_autotoc_md2}{}\doxysection{\texorpdfstring{Les différentes commandes}{Les différentes commandes}}\label{index_autotoc_md2}
|
||||
\hypertarget{index_autotoc_md31}{}\doxysection{\texorpdfstring{Les différentes commandes}{Les différentes commandes}}\label{index_autotoc_md31}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item mkdir \texorpdfstring{$<$}{<}nom-\/du-\/répertoire\texorpdfstring{$>$}{>}
|
||||
@ -17,7 +17,7 @@
|
||||
\item cd \texorpdfstring{$<$}{<}nom-\/du-\/répertoire\texorpdfstring{$>$}{>}
|
||||
\item cat
|
||||
\item echo
|
||||
\end{DoxyItemize}\hypertarget{index_autotoc_md3}{}\doxysection{\texorpdfstring{Les fichiers}{Les fichiers}}\label{index_autotoc_md3}
|
||||
\end{DoxyItemize}\hypertarget{index_autotoc_md32}{}\doxysection{\texorpdfstring{Les fichiers}{Les fichiers}}\label{index_autotoc_md32}
|
||||
Tout ce qui est en rapport avec les intéractions du disque \doxylink{disk_8c}{disk.c}
|
||||
|
||||
Tout ce qui est en rapport avec les commandes du shell \doxylink{exec_8c}{exec.c}
|
||||
|
||||
@ -5,22 +5,24 @@ digraph "src/main.c"
|
||||
edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
|
||||
node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
|
||||
Node1 [id="Node000001",label="src/main.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge12_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node2 [id="edge13_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 [id="Node000002",label="disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
|
||||
Node2 -> Node3 [id="edge13_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node3 [id="edge14_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node3 [id="Node000003",label="stdio.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node2 -> Node4 [id="edge14_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node4 [id="edge15_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node4 [id="Node000004",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
|
||||
Node2 -> Node5 [id="edge15_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node5 [id="edge16_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 [id="Node000005",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge16_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node6 [id="edge17_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
|
||||
Node6 -> Node3 [id="edge18_Node000006_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 -> Node7 [id="edge19_Node000006_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node6 -> Node8 [id="edge20_Node000006_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge21_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge22_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node5 -> Node4 [id="edge17_Node000005_Node000004",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node2 -> Node6 [id="edge18_Node000002_Node000006",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node6 [id="Node000006",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node7 [id="edge19_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 [id="Node000007",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
|
||||
Node7 -> Node3 [id="edge20_Node000007_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node7 -> Node8 [id="edge21_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node8 [id="Node000008",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node7 -> Node9 [id="edge22_Node000007_Node000009",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node9 [id="Node000009",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
|
||||
Node1 -> Node3 [id="edge23_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
|
||||
Node1 -> Node8 [id="edge24_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
|
||||
}
|
||||
|
||||
168
docs/doxygen/latex/md_docs_2compte__rendus_2compte__rendu__1.tex
Normal file
168
docs/doxygen/latex/md_docs_2compte__rendus_2compte__rendu__1.tex
Normal file
@ -0,0 +1,168 @@
|
||||
\chapter{compte\+\_\+rendu\+\_\+1}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1}{}\label{md_docs_2compte__rendus_2compte__rendu__1}\index{compte\_rendu\_1@{compte\_rendu\_1}}
|
||||
|
||||
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md0}{}\doxysection{\texorpdfstring{Rapport d’analyse et de conception}{Rapport d’analyse et de conception}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md1}{}\doxysubsection{\texorpdfstring{Projet Système 2025/2026 – Système de Gestion de Fichiers (\+SGF)}{Projet Système 2025/2026 – Système de Gestion de Fichiers (SGF)}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md1}
|
||||
{\bfseries{Membres de l’équipe \+:}}
|
||||
\begin{DoxyItemize}
|
||||
\item CHOISY Alexis
|
||||
\item DEGAT Teddy
|
||||
\item DA SILVA FERREIRA Lucas
|
||||
\item FOURNIE Baptiste
|
||||
\item FATIHI Youssef
|
||||
\end{DoxyItemize}
|
||||
|
||||
{\bfseries{Encadrante \+:}} ABOUDA Dhekra ~\newline
|
||||
{\bfseries{Date de remise \+:}} 20 avril 2026
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md3}{}\doxysubsection{\texorpdfstring{Sommaire}{Sommaire}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md3}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item I. Analyse des besoins de l’utilisateur
|
||||
\item II. Définition du système à réaliser
|
||||
\item III. Cahier des charges
|
||||
\item IV. Structures de données prévues
|
||||
\item V. Liste des fonctions principales
|
||||
\item VI. Répartition des tâches
|
||||
\item VII. Conclusion
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md5}{}\doxysubsection{\texorpdfstring{I. Analyse des besoins de l’utilisateur}{I. Analyse des besoins de l’utilisateur}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md5}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md6}{}\doxysubsubsection{\texorpdfstring{1. Objectifs fonctionnels}{1. Objectifs fonctionnels}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md6}
|
||||
Le programme doit permettre à un utilisateur de \+:
|
||||
\begin{DoxyItemize}
|
||||
\item Interagir via un shell.
|
||||
\item Gérer une arborescence de fichiers et répertoires (création, suppression, déplacement).
|
||||
\item Manipuler le contenu des fichiers (lecture, écriture) via des primitives spécifiques.
|
||||
\item Assurer la persistance des données par la sauvegarde/recharge du SGF sur le disque physique.
|
||||
\end{DoxyItemize}\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md7}{}\doxysubsubsection{\texorpdfstring{2. Contraintes}{2. Contraintes}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md7}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\bfseries{Langage}} \+: C uniquement.
|
||||
\item {\bfseries{Dates limites}} \+: Rendu de l\textquotesingle{}analyse le 20 avril 2026, conception le 2 mai 2026, et final le 28 mai 2026.
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md9}{}\doxysubsection{\texorpdfstring{II. Définition du système à réaliser}{II. Définition du système à réaliser}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md9}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md10}{}\doxysubsubsection{\texorpdfstring{1. Fonctionnement général}{1. Fonctionnement général}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md10}
|
||||
Le système simule une partition de disque dur à travers un fichier. Il s\textquotesingle{}articule autour de trois couches\+:
|
||||
\begin{DoxyEnumerate}
|
||||
\item {\bfseries{Le Shell}} \+: Analyse les commandes ({\ttfamily ls}, {\ttfamily mkdir}, etc.) et appelle les primitives.
|
||||
\item {\bfseries{Les Primitives}} \+: Fonctions de bas niveau ({\ttfamily myopen}, {\ttfamily myread}) qui font le lien avec la structure interne.
|
||||
\item {\bfseries{Le SGF}} \+: Gère l\textquotesingle{}organisation physique des i-\/nodes et des blocs de données.
|
||||
\end{DoxyEnumerate}
|
||||
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md12}{}\doxysubsection{\texorpdfstring{III. Cahier des charges}{III. Cahier des charges}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md12}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md13}{}\doxysubsubsection{\texorpdfstring{1. Description globale des fonctions}{1. Description globale des fonctions}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md13}
|
||||
\tabulinesep=1mm
|
||||
\begin{longtabu}spread 0pt [c]{*{2}{|X[-1]}|}
|
||||
\hline
|
||||
\cellcolor{\tableheadbgcolor}\textbf{ Fonctionnalité }&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
|
||||
\endfirsthead
|
||||
\hline
|
||||
\endfoot
|
||||
\hline
|
||||
\cellcolor{\tableheadbgcolor}\textbf{ Fonctionnalité }&\cellcolor{\tableheadbgcolor}\textbf{ Description }\\\cline{1-2}
|
||||
\endhead
|
||||
{\bfseries{Shell}} &Gère les commandes {\ttfamily ls}, {\ttfamily mkdir}, {\ttfamily rmdir}, {\ttfamily cat}, {\ttfamily cp}, {\ttfamily rm}, {\ttfamily mv}. \\\cline{1-2}
|
||||
{\bfseries{Gestion Inodes}} &Attribution et libération d\textquotesingle{}i-\/nodes pour fichiers et répertoires. \\\cline{1-2}
|
||||
{\bfseries{Gestion Blocs}} &Allocation de blocs de données (contigus ou non) pour le stockage. \\\cline{1-2}
|
||||
{\bfseries{Arborescence}} &Gestion des répertoires comme des fichiers spéciaux listant des i-\/nodes. \\\cline{1-2}
|
||||
{\bfseries{Persistance}} &Sauvegarde de l\textquotesingle{}état complet du disque virtuel dans un fichier binaire. \\\cline{1-2}
|
||||
{\bfseries{Superbloc (df)}} &Fournit les infos sur les blocs/inodes libres et l\textquotesingle{}espace disque. \\\cline{1-2}
|
||||
\end{longtabu}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md14}{}\doxysubsubsection{\texorpdfstring{2. Fonctions bonus}{2. Fonctions bonus}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md14}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item Gestion de plusieurs utilisateurs simultanés.
|
||||
\item Implémentation des filtres {\ttfamily grep} et {\ttfamily find}.
|
||||
\item Gestion des droits d\textquotesingle{}accès et dates de modification sur les inodes.
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md16}{}\doxysubsection{\texorpdfstring{IV. Structures de données prévues}{IV. Structures de données prévues}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md16}
|
||||
Le SGF utilise des structures à taille fixe pour simuler la partition .
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structinode}{inode}}\ \{}
|
||||
\DoxyCodeLine{\ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{short}\ \mbox{\hyperlink{structinode_ab744b42f5d23ec542bd9897a4d15a5fa}{perms}};\ \textcolor{comment}{//\ rwxrwxrwx}}
|
||||
\DoxyCodeLine{\ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structinode_a2d0a5188e7dfbfcf2fa374a5fb348177}{filetype}};}
|
||||
\DoxyCodeLine{\ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structinode_aaeb4427c36772c74ae86c9510ee6a6b3}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];}
|
||||
\DoxyCodeLine{\}\ \mbox{\hyperlink{structinode}{inode}};}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structbloc}{bloc}}\ \{}
|
||||
\DoxyCodeLine{\ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structbloc_a801f2e871d2e285480d31426e39e01a9}{datas}}[\mbox{\hyperlink{const_8h_a60fedb7550ff4e00d6c70dd2d257c154}{MAX\_BYTES\_PER\_BLOC}}];\ \textcolor{comment}{//\ 1024\ octets}}
|
||||
\DoxyCodeLine{\}\ \mbox{\hyperlink{structbloc}{bloc}};}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structdisk}{disk}}\ \{}
|
||||
\DoxyCodeLine{\ \ \mbox{\hyperlink{structinode}{inode}}\ \mbox{\hyperlink{structdisk_a187c55f0919fa8f44cc442857cce3e8d}{inodes}}[\mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\_INODE}}];\ \textcolor{comment}{//\ 10\ inodes\ max}}
|
||||
\DoxyCodeLine{\ \ \mbox{\hyperlink{structbloc}{bloc}}\ \mbox{\hyperlink{structdisk_ad418fe421d1f081b29dcc7922608ca59}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];\ \textcolor{comment}{//\ 30\ blocs\ max}}
|
||||
\DoxyCodeLine{\}\ \mbox{\hyperlink{structdisk}{disk}};}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ pour\ 10\ inode\ qui\ a\ 30\ blocs\ de\ chacun\ 1024\ octets,\ on\ a\ 30720\ octets,\ soit}}
|
||||
\DoxyCodeLine{\textcolor{comment}{//\ 30,7\ Ko\ sur\ le\ disque}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md18}{}\doxysubsection{\texorpdfstring{V. Liste des fonctions principales}{V. Liste des fonctions principales}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md18}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md19}{}\doxysubsubsection{\texorpdfstring{Primitives Système}{Primitives Système}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md19}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}{\ttfamily int mycreat(char \texorpdfstring{$\ast$}{*}nom, int mode)}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \+: Crée un fichier et retourne son inode.
|
||||
\item \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}{\ttfamily int myread(int inode, char \texorpdfstring{$\ast$}{*}buffer, int nombre)}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \+: Lit n octets depuis l\textquotesingle{}inode.
|
||||
\end{DoxyItemize}\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md20}{}\doxysubsubsection{\texorpdfstring{Commandes Shell}{Commandes Shell}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md20}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}{\ttfamily do\+\_\+ls()}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \+: Lit le répertoire actuel et affiche les noms et inodes associés.
|
||||
\item \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}{\ttfamily do\+\_\+mkdir(char \texorpdfstring{$\ast$}{*}nom)}\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \+: Crée un i-\/node de type répertoire et initialise les entrées . et ..
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md22}{}\doxysubsection{\texorpdfstring{VI. Répartition des tâches}{VI. Répartition des tâches}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md22}
|
||||
L\textquotesingle{}équipe est divisée en groupe pour assurer l\textquotesingle{}intégration finale.\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md23}{}\doxysubsubsection{\texorpdfstring{1. SGF \& Stockage (\+Alexis et Youssef)}{1. SGF \& Stockage (Alexis et Youssef)}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md23}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item Initialisation et formatage du disque virtuel (inodes à 0).
|
||||
\item Fonctions de sauvegarde/rechargement du SGF dans le fichier image.
|
||||
\end{DoxyItemize}\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md24}{}\doxysubsubsection{\texorpdfstring{2. Primitives \& I-\/nodes (\+Teddy et Baptiste)}{2. Primitives \& I-nodes (Teddy et Baptiste)}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md24}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item Gestion de l\textquotesingle{}allocation des blocs et des i-\/nodes.
|
||||
\item Développement des primitives mycreat, myopen, myread, mywrite.
|
||||
\end{DoxyItemize}\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md25}{}\doxysubsubsection{\texorpdfstring{3. Shell \& Commandes (\+Lucas et Alexis)}{3. Shell \& Commandes (Lucas et Alexis)}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md25}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item Création de l\textquotesingle{}interpréteur de commandes (processus fils et exec).
|
||||
\item Implémentation des commandes ls, mkdir, cat, rm.
|
||||
\end{DoxyItemize}\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md26}{}\doxysubsubsection{\texorpdfstring{Planning prévisionnel}{Planning prévisionnel}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md26}
|
||||
\tabulinesep=1mm
|
||||
\begin{longtabu}spread 0pt [c]{*{3}{|X[-1]}|}
|
||||
\hline
|
||||
\cellcolor{\tableheadbgcolor}\textbf{ Phase }&\cellcolor{\tableheadbgcolor}\textbf{ Description }&\cellcolor{\tableheadbgcolor}\textbf{ Échéance }\\\cline{1-3}
|
||||
\endfirsthead
|
||||
\hline
|
||||
\endfoot
|
||||
\hline
|
||||
\cellcolor{\tableheadbgcolor}\textbf{ Phase }&\cellcolor{\tableheadbgcolor}\textbf{ Description }&\cellcolor{\tableheadbgcolor}\textbf{ Échéance }\\\cline{1-3}
|
||||
\endhead
|
||||
{\bfseries{Phase 1}} &Analyse des besoins et structures de données &20 avril 2026 \\\cline{1-3}
|
||||
{\bfseries{Phase 2}} &Conception des algorithmes principaux &2 mai 2026 \\\cline{1-3}
|
||||
{\bfseries{Phase 3}} &Développement du SGF et des primitives &Mai 2026 \\\cline{1-3}
|
||||
{\bfseries{Phase 4}} &Finalisation du Shell et tests de validation &28 mai 2026 \\\cline{1-3}
|
||||
{\bfseries{Phase 5}} &Soutenance et remise du code source &29 mai 2026 \\\cline{1-3}
|
||||
\end{longtabu}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md28}{}\doxysubsection{\texorpdfstring{VII. Conclusion}{VII. Conclusion}}\label{md_docs_2compte__rendus_2compte__rendu__1_autotoc_md28}
|
||||
Ce rapport constitue le socle de développement de notre Mini SGF. En respectant une séparation nette entre le stockage, les primitives et l\textquotesingle{}interpréteur, nous visons une architecture robuste conforme aux attentes. La prochaine étape sera la validation des algorithmes de lecture/écriture.
|
||||
@ -207,6 +207,7 @@
|
||||
\hypersetup{pageanchor=true}
|
||||
%--- Begin generated contents ---
|
||||
\input{index}
|
||||
\input{md_docs_2compte__rendus_2compte__rendu__1}
|
||||
\chapter{Data Structure Index}
|
||||
\input{annotated}
|
||||
\chapter{File Index}
|
||||
@ -216,6 +217,7 @@
|
||||
\input{structdisk}
|
||||
\input{structinode}
|
||||
\chapter{File Documentation}
|
||||
\input{compte__rendu__1_8md}
|
||||
\input{README_8md}
|
||||
\input{const_8h}
|
||||
\input{const_8h_source}
|
||||
|
||||
@ -6,22 +6,23 @@
|
||||
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#pragma\ once}}
|
||||
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{const_8h}{const.h}}"{}}}
|
||||
\DoxyCodeLine{00004\ }
|
||||
\DoxyCodeLine{00009\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structinode}{inode}}\ \{}
|
||||
\DoxyCodeLine{00010\ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{short}\ \mbox{\hyperlink{structinode_ab744b42f5d23ec542bd9897a4d15a5fa}{perms}};\ \textcolor{comment}{//\ rwxrwxrwx}}
|
||||
\DoxyCodeLine{00011\ \ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structinode_a2d0a5188e7dfbfcf2fa374a5fb348177}{filetype}};}
|
||||
\DoxyCodeLine{00012\ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structinode_aaeb4427c36772c74ae86c9510ee6a6b3}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];}
|
||||
\DoxyCodeLine{00013\ \}\ \mbox{\hyperlink{structinode}{inode}};}
|
||||
\DoxyCodeLine{00014\ }
|
||||
\DoxyCodeLine{00019\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structbloc}{bloc}}\ \{}
|
||||
\DoxyCodeLine{00020\ \ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structbloc_a801f2e871d2e285480d31426e39e01a9}{datas}}[\mbox{\hyperlink{const_8h_a60fedb7550ff4e00d6c70dd2d257c154}{MAX\_BYTES\_PER\_BLOC}}];}
|
||||
\DoxyCodeLine{00021\ \}\ \mbox{\hyperlink{structbloc}{bloc}};}
|
||||
\DoxyCodeLine{00022\ }
|
||||
\DoxyCodeLine{00027\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structdisk}{disk}}\ \{}
|
||||
\DoxyCodeLine{00028\ \ \ \mbox{\hyperlink{structinode}{inode}}\ \mbox{\hyperlink{structdisk_a187c55f0919fa8f44cc442857cce3e8d}{inodes}}[\mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\_INODE}}];}
|
||||
\DoxyCodeLine{00029\ \ \ \mbox{\hyperlink{structbloc}{bloc}}\ \mbox{\hyperlink{structdisk_ad418fe421d1f081b29dcc7922608ca59}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];}
|
||||
\DoxyCodeLine{00030\ \}\ \mbox{\hyperlink{structdisk}{disk}};}
|
||||
\DoxyCodeLine{00031\ }
|
||||
\DoxyCodeLine{00032\ \textcolor{comment}{//\ pour\ 10\ inode\ qui\ a\ 30\ blocs\ de\ chacun\ 1024\ octets,\ on\ a\ 30720\ octets,\ soit}}
|
||||
\DoxyCodeLine{00033\ \textcolor{comment}{//\ 30,7\ Ko\ sur\ le\ disque}}
|
||||
\DoxyCodeLine{00010\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structinode}{inode}}\ \{}
|
||||
\DoxyCodeLine{00011\ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{short}\ \mbox{\hyperlink{structinode_ab744b42f5d23ec542bd9897a4d15a5fa}{perms}};\ \textcolor{comment}{//\ rwxrwxrwx}}
|
||||
\DoxyCodeLine{00012\ \ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structinode_a2d0a5188e7dfbfcf2fa374a5fb348177}{filetype}};}
|
||||
\DoxyCodeLine{00013\ \ \ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{structinode_aaeb4427c36772c74ae86c9510ee6a6b3}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];}
|
||||
\DoxyCodeLine{00014\ \}\ \mbox{\hyperlink{structinode}{inode}};}
|
||||
\DoxyCodeLine{00015\ }
|
||||
\DoxyCodeLine{00020\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structbloc}{bloc}}\ \{}
|
||||
\DoxyCodeLine{00021\ \ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structbloc_a801f2e871d2e285480d31426e39e01a9}{datas}}[\mbox{\hyperlink{const_8h_a60fedb7550ff4e00d6c70dd2d257c154}{MAX\_BYTES\_PER\_BLOC}}];}
|
||||
\DoxyCodeLine{00022\ \}\ \mbox{\hyperlink{structbloc}{bloc}};}
|
||||
\DoxyCodeLine{00023\ }
|
||||
\DoxyCodeLine{00028\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structdisk}{disk}}\ \{}
|
||||
\DoxyCodeLine{00029\ \ \ \textcolor{keywordtype}{char}\ \mbox{\hyperlink{structdisk_a60d62e18ebc1d2933bb952352397acda}{owned\_blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];\ \textcolor{comment}{//\ 1\ si\ possédé\ par\ un\ inode,\ 0\ si\ libre}}
|
||||
\DoxyCodeLine{00030\ \ \ \mbox{\hyperlink{structinode}{inode}}\ \mbox{\hyperlink{structdisk_a187c55f0919fa8f44cc442857cce3e8d}{inodes}}[\mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\_INODE}}];}
|
||||
\DoxyCodeLine{00031\ \ \ \mbox{\hyperlink{structbloc}{bloc}}\ \mbox{\hyperlink{structdisk_ad418fe421d1f081b29dcc7922608ca59}{blocs}}[\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\_BLOCS}}];}
|
||||
\DoxyCodeLine{00032\ \}\ \mbox{\hyperlink{structdisk}{disk}};}
|
||||
\DoxyCodeLine{00033\ }
|
||||
\DoxyCodeLine{00034\ \textcolor{comment}{//\ pour\ 10\ inode\ qui\ a\ 30\ blocs\ de\ chacun\ 1024\ octets,\ on\ a\ 30720\ octets,\ soit}}
|
||||
\DoxyCodeLine{00035\ \textcolor{comment}{//\ 30,7\ Ko\ sur\ le\ disque}}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
@ -16,6 +16,8 @@ Collaboration diagram for disk\+:
|
||||
\doxysubsubsection*{Data Fields}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
char \mbox{\hyperlink{structdisk_a60d62e18ebc1d2933bb952352397acda}{owned\+\_\+blocs}} \mbox{[}\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\+\_\+\+BLOCS}}\mbox{]}
|
||||
\item
|
||||
\mbox{\hyperlink{structinode}{inode}} \mbox{\hyperlink{structdisk_a187c55f0919fa8f44cc442857cce3e8d}{inodes}} \mbox{[}\mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\+\_\+\+INODE}}\mbox{]}
|
||||
\item
|
||||
\mbox{\hyperlink{structbloc}{bloc}} \mbox{\hyperlink{structdisk_ad418fe421d1f081b29dcc7922608ca59}{blocs}} \mbox{[}\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\+\_\+\+BLOCS}}\mbox{]}
|
||||
@ -38,6 +40,12 @@ Un disque est un liste d\textquotesingle{}inodes qui pointent sur des blocs de d
|
||||
\doxysubsubsection{\texorpdfstring{inodes}{inodes}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structinode}{inode}} disk\+::inodes\mbox{[}\mbox{\hyperlink{const_8h_af58c11b86af508a573976185fb99170f}{MAX\+\_\+\+INODE}}\mbox{]}}
|
||||
|
||||
\Hypertarget{structdisk_a60d62e18ebc1d2933bb952352397acda}\label{structdisk_a60d62e18ebc1d2933bb952352397acda}
|
||||
\index{disk@{disk}!owned\_blocs@{owned\_blocs}}
|
||||
\index{owned\_blocs@{owned\_blocs}!disk@{disk}}
|
||||
\doxysubsubsection{\texorpdfstring{owned\_blocs}{owned\_blocs}}
|
||||
{\footnotesize\ttfamily char disk\+::owned\+\_\+blocs\mbox{[}\mbox{\hyperlink{const_8h_ad7140f3913ca85546efb2ded034d0af2}{MAX\+\_\+\+BLOCS}}\mbox{]}}
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
|
||||
Binary file not shown.
@ -3,6 +3,7 @@
|
||||
#define MAX_BLOCS 30
|
||||
#define MAX_BYTES_PER_BLOC 1024
|
||||
#define MAX_INODE 10
|
||||
#define MAX_INODE_NAME 30 // 29 caractères + '\0' + numero de l'inode ref
|
||||
|
||||
#define TYPE_NULL 0
|
||||
#define TYPE_FILE 1
|
||||
|
||||
130
src/disk.c
130
src/disk.c
@ -5,9 +5,126 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int init_inode_in_disk(disk *d, int inode_index, int filetype,
|
||||
unsigned short perms, int owned_bloc) {
|
||||
if (d->inodes[inode_index].filetype != TYPE_NULL)
|
||||
return -1;
|
||||
|
||||
d->owned_blocs[owned_bloc] = 1;
|
||||
|
||||
d->inodes[inode_index].filetype = filetype;
|
||||
d->inodes[inode_index].perms = perms;
|
||||
|
||||
for (int i = 0; i < MAX_BLOCS; i++) {
|
||||
d->inodes[inode_index].blocs[i] = -1;
|
||||
}
|
||||
d->inodes[inode_index].blocs[0] = owned_bloc;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int find_free_bloc(disk *d) {
|
||||
for (int i = 0; i < MAX_BLOCS; i++) {
|
||||
if (d->owned_blocs[i] == 0) {
|
||||
d->owned_blocs[i] = 1;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
int find_offset_in_parent_bloc(bloc *parent_bloc) {
|
||||
int entry_size = MAX_INODE_NAME + sizeof(int);
|
||||
int max_entries = MAX_BYTES_PER_BLOC / entry_size;
|
||||
|
||||
for (int i = 0; i < max_entries; i++) {
|
||||
int current_offset = i * entry_size;
|
||||
// Si le premier caractère est '\0', la case est libre
|
||||
if (parent_bloc->datas[current_offset] == '\0') {
|
||||
return current_offset;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
void create_directory(disk *disk, inode *parent, char *dirname) {}
|
||||
|
||||
void create_file(disk *disk, inode *parent, char *filename) {
|
||||
int inode_index = 0;
|
||||
while (inode_index < MAX_INODE &&
|
||||
disk->inodes[inode_index].filetype != TYPE_NULL) {
|
||||
inode_index++;
|
||||
}
|
||||
|
||||
if (inode_index >= MAX_INODE) {
|
||||
dprintf(STDERR_FILENO, "No free inodes\n");
|
||||
return;
|
||||
}
|
||||
|
||||
int new_bloc_idx = find_free_bloc(disk);
|
||||
if (new_bloc_idx == -1) {
|
||||
dprintf(STDERR_FILENO, "Disk Full\n");
|
||||
return;
|
||||
}
|
||||
|
||||
int p_bloc_idx = parent->blocs[0];
|
||||
int offset = find_offset_in_parent_bloc(&disk->blocs[p_bloc_idx]);
|
||||
|
||||
if (offset == -1) {
|
||||
dprintf(STDERR_FILENO, "Parent directory full\n");
|
||||
return;
|
||||
}
|
||||
|
||||
strncpy(&disk->blocs[p_bloc_idx].datas[offset], filename, MAX_INODE_NAME);
|
||||
memcpy(&disk->blocs[p_bloc_idx].datas[offset + MAX_INODE_NAME], &inode_index,
|
||||
sizeof(int));
|
||||
|
||||
init_inode_in_disk(disk, inode_index, TYPE_FILE, 0b111111111, new_bloc_idx);
|
||||
}
|
||||
|
||||
void create_inode(disk *disk, inode *parent, char inode_type, char *name) {
|
||||
if (strlen(name) > MAX_INODE_NAME) {
|
||||
dprintf(STDERR_FILENO, "A inode name must be < %d\n", MAX_INODE_NAME);
|
||||
return;
|
||||
}
|
||||
if (parent->filetype != TYPE_DIRECTORY) {
|
||||
dprintf(STDERR_FILENO, "A parent's inode must be a directory!\n");
|
||||
return;
|
||||
}
|
||||
|
||||
switch (inode_type) {
|
||||
case TYPE_DIRECTORY:
|
||||
create_directory(disk, parent, name);
|
||||
break;
|
||||
case TYPE_FILE:
|
||||
create_file(disk, parent, name);
|
||||
case TYPE_BINARY:
|
||||
// TODO plus tard
|
||||
break;
|
||||
case TYPE_SYMBOLIC_LINK:
|
||||
// TODO plus tard
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void write_in_file(disk *d, int file, char* data/*, char mode*/) {
|
||||
if (file != TYPE_FILE) {
|
||||
dprintf(STDERR_FILENO, "Can only write in files\n");
|
||||
return;
|
||||
}
|
||||
|
||||
sizeof(data);
|
||||
}
|
||||
|
||||
void init_env_var_file(disk *d) {
|
||||
create_inode(d, &d->inodes[0], TYPE_FILE, "env");
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS, renvoi ce
|
||||
* disque
|
||||
* @brief Créer un fichier "disk" de taille MAX_BYTES_PER_BLOC * MAX_BLOCS,
|
||||
* renvoi ce disque
|
||||
* @return Le disque créé
|
||||
*/
|
||||
|
||||
@ -24,10 +141,15 @@ disk create_disk() {
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < MAX_BLOCS; i++) {
|
||||
d.owned_blocs[i] = 0;
|
||||
}
|
||||
|
||||
// création de la racine '/'
|
||||
d.inodes[0].filetype = TYPE_DIRECTORY;
|
||||
d.inodes[0].perms = 0b111111111; // tlm fait ce qu'il veut
|
||||
d.inodes[0].blocs[0] = 0; // utilise le bloc 0
|
||||
d.owned_blocs[0] = 1; // le bloc 1 est maintenant occupé
|
||||
|
||||
int n = fwrite(&d, sizeof(disk), 1, fptr);
|
||||
if (n == 1) {
|
||||
@ -35,6 +157,8 @@ disk create_disk() {
|
||||
(float)(MAX_BYTES_PER_BLOC * MAX_BLOCS) / 1000);
|
||||
}
|
||||
|
||||
init_env_var_file(&d);
|
||||
|
||||
fclose(fptr);
|
||||
return d;
|
||||
}
|
||||
@ -52,4 +176,4 @@ disk open_disk(char *filename) {
|
||||
fread(&d, sizeof(d), 1, fptr);
|
||||
fclose(fptr);
|
||||
return d;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
#include <stdio.h>
|
||||
#include "const.h"
|
||||
#include "struct.h"
|
||||
#include <string.h>
|
||||
|
||||
disk create_disk();
|
||||
disk open_disk(char* filename);
|
||||
@ -4,7 +4,8 @@
|
||||
|
||||
/**
|
||||
* @struct inode
|
||||
* @brief Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur des blocs de données
|
||||
* @brief Un inode est un fichier, il possède des permissions, un type
|
||||
* (répertoire par exemple) et pointe sur des blocs de données
|
||||
*/
|
||||
typedef struct inode {
|
||||
unsigned short perms; // rwxrwxrwx
|
||||
@ -25,6 +26,7 @@ typedef struct bloc {
|
||||
* @brief Un disque est un liste d'inodes qui pointent sur des blocs de donnée
|
||||
*/
|
||||
typedef struct disk {
|
||||
char owned_blocs[MAX_BLOCS]; // 1 si possédé par un inode, 0 si libre
|
||||
inode inodes[MAX_INODE];
|
||||
bloc blocs[MAX_BLOCS];
|
||||
} disk;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user