docs: added doxygen doc

This commit is contained in:
guamss 2026-05-24 11:11:07 +02:00
parent c304cda7f5
commit df61a12ae8
339 changed files with 12876 additions and 2352 deletions

2863
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

View File

@ -31,3 +31,8 @@ Tout ce qui est en rapport avec les intéractions shell
Les structures du projet Les structures du projet
[struct.h](@ref struct.h) [struct.h](@ref struct.h)
## Accès à la documentation
Pour accéder à la docs il faut simplement lancer dans un navigateur le fichier suivant :
file://[chemin_absolu_vers_le_projet]/Projet_IATIC_S2/docs/html/index.html

View File

@ -1,20 +0,0 @@
digraph "src/const.h"
{
// 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];
Node1 [id="Node000001",label="src/const.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
Node1 -> Node5 [id="edge4_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="src/parsing.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8c.html",tooltip=" "];
Node1 -> Node6 [id="edge5_Node000001_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="src/struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
Node6 -> Node3 [id="edge6_Node000006_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 -> Node2 [id="edge7_Node000006_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -1,357 +0,0 @@
<!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: src/disk.c 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&amp;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&amp;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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">disk.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="disk_8h_source.html">disk.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="struct_8h_source.html">struct.h</a>&quot;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for disk.c:</div>
<div class="dyncontent">
<div class="center"><img src="disk_8c__incl.png" border="0" usemap="#asrc_2disk_8c" alt=""/></div>
</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&#160;</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">&#160;</td></tr>
<tr class="memitem:a7eb10c7006ff648d851b15f24e4305c3" id="r_a7eb10c7006ff648d851b15f24e4305c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0410aa30c92de7cca42080e61d4dcd91" id="r_a0410aa30c92de7cca42080e61d4dcd91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</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">&#160;</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">&#160;</td></tr>
<tr class="memitem:ade4ebb1901ddd0ddd60a246d0981c9ab" id="r_ade4ebb1901ddd0ddd60a246d0981c9ab"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</td></tr>
<tr class="memitem:a7abd1b379bf3695a8120a92fde42203b" id="r_a7abd1b379bf3695a8120a92fde42203b"><td class="memItemLeft" align="right" valign="top">int&#160;</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">&#160;</td></tr>
<tr class="memitem:aa7d14d97833c0c0665892b3c624ab2d9" id="r_aa7d14d97833c0c0665892b3c624ab2d9"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
<tr class="memitem:a90556d464c7b49fa1d4a76c37358a7bd" id="r_a90556d464c7b49fa1d4a76c37358a7bd"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
<tr class="memitem:ad46ea636209e0726c208aaa61c49ae16" id="r_ad46ea636209e0726c208aaa61c49ae16"><td class="memItemLeft" align="right" valign="top">void&#160;</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">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="aa7d14d97833c0c0665892b3c624ab2d9" name="aa7d14d97833c0c0665892b3c624ab2d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7d14d97833c0c0665892b3c624ab2d9">&#9670;&#160;</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> *&#160;</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> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>dirname</em>&#160;</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">&#9670;&#160;</a></span>create_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> create_disk </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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">&#9670;&#160;</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> *&#160;</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> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filename</em>&#160;</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">&#9670;&#160;</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> *&#160;</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> *&#160;</td>
<td class="paramname"><em>parent</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char&#160;</td>
<td class="paramname"><em>inode_type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>name</em>&#160;</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">&#9670;&#160;</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> *&#160;</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">&#9670;&#160;</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> *&#160;</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">&#9670;&#160;</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> *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>inode_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>filetype</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned short&#160;</td>
<td class="paramname"><em>perms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>owned_bloc</em>&#160;</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>
<h2 class="memtitle"><span class="permalink"><a href="#a0410aa30c92de7cca42080e61d4dcd91">&#9670;&#160;</a></span>open_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> open_disk </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Si un fichier filename existe, alors on le lit et le stocke en mémoire. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">char</td><td>*filename Le nom du fichier à lire </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Le disque lu </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

@ -1,161 +0,0 @@
<!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: src/disk.h 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&amp;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&amp;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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">disk.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;<a class="el" href="const_8h_source.html">const.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="struct_8h_source.html">struct.h</a>&quot;</code><br />
<code>#include &lt;string.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for disk.h:</div>
<div class="dyncontent">
<div class="center"><img src="disk_8h__incl.png" border="0" usemap="#asrc_2disk_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="disk_8h__dep__incl.png" border="0" usemap="#asrc_2disk_8hdep" alt=""/></div>
</div>
</div>
<p><a href="disk_8h_source.html">Go to the source code of this file.</a></p>
<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:a7eb10c7006ff648d851b15f24e4305c3" id="r_a7eb10c7006ff648d851b15f24e4305c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a> ()</td></tr>
<tr class="memdesc:a7eb10c7006ff648d851b15f24e4305c3"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a0410aa30c92de7cca42080e61d4dcd91" id="r_a0410aa30c92de7cca42080e61d4dcd91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a> (char *filename)</td></tr>
<tr class="memdesc:a0410aa30c92de7cca42080e61d4dcd91"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7eb10c7006ff648d851b15f24e4305c3" name="a7eb10c7006ff648d851b15f24e4305c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb10c7006ff648d851b15f24e4305c3">&#9670;&#160;</a></span>create_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> create_disk </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<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="a0410aa30c92de7cca42080e61d4dcd91" name="a0410aa30c92de7cca42080e61d4dcd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0410aa30c92de7cca42080e61d4dcd91">&#9670;&#160;</a></span>open_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> open_disk </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Si un fichier filename existe, alors on le lit et le stocke en mémoire. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">char</td><td>*filename Le nom du fichier à lire </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Le disque lu </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

@ -1,12 +0,0 @@
digraph "src/disk.h"
{
// 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];
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="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
}

View File

@ -1,17 +0,0 @@
digraph "src/exec.c"
{
// 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];
Node1 [id="Node000001",label="src/exec.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge2_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="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="sys/wait.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node3 [id="edge4_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node5 [id="edge5_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,12 +0,0 @@
digraph "src/exec.h"
{
// 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];
Node1 [id="Node000001",label="src/exec.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_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="edge2_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="sys/wait.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,149 +0,0 @@
<!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: Globals</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&amp;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&amp;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="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>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>bloc&#160;:&#160;<a class="el" href="struct_8h.html#ad7463cdc34b86731771512f65c647905">struct.h</a></li>
<li>BUFSIZE&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9">disk.c</a></li>
<li>create_disk()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd">disk.c</a></li>
<li>create_inode()&#160;:&#160;<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&#160;:&#160;<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()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab">disk.c</a></li>
<li>find_offset_in_parent_bloc()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#a756e632b29a777267828c50a5d4a4cfe">disk.c</a></li>
<li>inode&#160;:&#160;<a class="el" href="struct_8h.html#a05917f4198ca2c880c2c6d758b6f92d5">struct.h</a></li>
<li>is_builtin_cmd()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac">main.c</a></li>
<li>MAX_BLOCS&#160;:&#160;<a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">const.h</a></li>
<li>MAX_BYTES_PER_BLOC&#160;:&#160;<a class="el" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">const.h</a></li>
<li>MAX_INODE&#160;:&#160;<a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">const.h</a></li>
<li>MAX_INODE_NAME&#160;:&#160;<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()&#160;:&#160;<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()&#160;:&#160;<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()&#160;:&#160;<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()&#160;:&#160;<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&#160;:&#160;<a class="el" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38">const.h</a></li>
<li>TYPE_DIRECTORY&#160;:&#160;<a class="el" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b">const.h</a></li>
<li>TYPE_FILE&#160;:&#160;<a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">const.h</a></li>
<li>TYPE_NULL&#160;:&#160;<a class="el" href="const_8h.html#a5e53a82e875992705cb69208f53f6576">const.h</a></li>
<li>TYPE_SYMBOLIC_LINK&#160;:&#160;<a class="el" href="const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9">const.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

@ -1,28 +0,0 @@
digraph "src/main.c"
{
// 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];
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="edge1_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="edge2_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="edge3_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="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=" "];
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=" "];
}

View File

@ -1,190 +0,0 @@
<!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: src/parsing.c 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&amp;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&amp;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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">parsing.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="parsing_8h_source.html">parsing.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="const_8h_source.html">const.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="exec_8h_source.html">exec.h</a>&quot;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for parsing.c:</div>
<div class="dyncontent">
<div class="center"><img src="parsing_8c__incl.png" border="0" usemap="#asrc_2parsing_8c" alt=""/></div>
</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:a9e35a75d71f9fc522c563668fbbec457" id="r_a9e35a75d71f9fc522c563668fbbec457"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457">read_line</a> ()</td></tr>
<tr class="memdesc:a9e35a75d71f9fc522c563668fbbec457"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attend que l'utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi. <br /></td></tr>
<tr class="separator:a9e35a75d71f9fc522c563668fbbec457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f1804b333ed064f276628d7bfa31bfa" id="r_a1f1804b333ed064f276628d7bfa31bfa"><td class="memItemLeft" align="right" valign="top">char **&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa">split_line</a> (char *line)</td></tr>
<tr class="memdesc:a1f1804b333ed064f276628d7bfa31bfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sépare une ligne par des espaces (pour la ligne "ls -l" ça va renvoyer {"ls", "-l"}) <br /></td></tr>
<tr class="separator:a1f1804b333ed064f276628d7bfa31bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b4b9d6208b7a7cad8f4c53b126e8f97" id="r_a5b4b9d6208b7a7cad8f4c53b126e8f97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97">shell_loop</a> (void)</td></tr>
<tr class="memdesc:a5b4b9d6208b7a7cad8f4c53b126e8f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">La boucle du shell, elle consiste en trois étapes : <br /></td></tr>
<tr class="separator:a5b4b9d6208b7a7cad8f4c53b126e8f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a9e35a75d71f9fc522c563668fbbec457" name="a9e35a75d71f9fc522c563668fbbec457"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e35a75d71f9fc522c563668fbbec457">&#9670;&#160;</a></span>read_line()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * read_line </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Attend que l'utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi. </p>
<dl class="section return"><dt>Returns</dt><dd>La ligne écrite par l'utilisateur </dd></dl>
</div>
</div>
<a id="a5b4b9d6208b7a7cad8f4c53b126e8f97" name="a5b4b9d6208b7a7cad8f4c53b126e8f97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b4b9d6208b7a7cad8f4c53b126e8f97">&#9670;&#160;</a></span>shell_loop()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void shell_loop </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>La boucle du shell, elle consiste en trois étapes : </p>
<ul>
<li>Quand l'utilisateur appui sur entrer pour récupérer son entrée standard</li>
<li>Parser la ligne en fonction de ses espaces</li>
<li>Exécuter la commande demandée <dl class="section see"><dt>See also</dt><dd>char* <a class="el" href="parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457" title="Attend que l&#39;utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi.">read_line()</a> </dd>
<dd>
char** <a class="el" href="parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa" title="Sépare une ligne par des espaces (pour la ligne &quot;ls -l&quot; ça va renvoyer {&quot;ls&quot;, &quot;-l&quot;})">split_line(char *line)</a> </dd>
<dd>
int <a class="el" href="exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5">execute_cmd(char **args)</a> </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a1f1804b333ed064f276628d7bfa31bfa" name="a1f1804b333ed064f276628d7bfa31bfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f1804b333ed064f276628d7bfa31bfa">&#9670;&#160;</a></span>split_line()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char ** split_line </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sépare une ligne par des espaces (pour la ligne "ls -l" ça va renvoyer {"ls", "-l"}) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">char</td><td>*line la ligne à parser </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>la liste des arguments de la commande </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

@ -1,28 +0,0 @@
digraph "src/parsing.c"
{
// 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];
Node1 [id="Node000001",label="src/parsing.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge2_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="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node6 [id="edge5_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
Node1 -> Node7 [id="edge6_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
Node7 [id="Node000007",label="exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node7 -> Node3 [id="edge7_Node000007_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node7 -> Node8 [id="edge8_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
Node8 [id="Node000008",label="sys/wait.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node3 [id="edge9_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node4 [id="edge10_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node9 [id="edge11_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node9 [id="Node000009",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node5 [id="edge12_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -1,14 +0,0 @@
digraph "src/parsing.h"
{
// 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];
Node1 [id="Node000001",label="src/parsing.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_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="edge2_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node4 [id="edge3_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,7 +0,0 @@
var searchData=
[
['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 &amp; Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]]
];

View File

@ -1,8 +0,0 @@
var searchData=
[
['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 &amp; 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,'']]]
];

View File

@ -1,8 +0,0 @@
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_20danalyse_20et_20de_20conception_2',['Rapport danalyse 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,'']]]
];

View File

@ -1,17 +0,0 @@
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 &amp; 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 &amp; 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):&#160;parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void):&#160;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 &amp; 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,'']]]
];

View File

@ -1,10 +0,0 @@
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 &amp; 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']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['à_20réaliser_0',['II. Définition du système à réaliser',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md9',1,'']]]
];

View File

@ -1,4 +0,0 @@
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,'']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['3_20shell_20commandes_20lucas_20et_20alexis_0',['3. Shell &amp; Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]]
];

View File

@ -1,6 +0,0 @@
var searchData=
[
['alexis_0',['3. Shell &amp; Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
['alexis_20et_20youssef_1',['1. SGF &amp; Stockage (Alexis et Youssef)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md23',1,'']]],
['analyse_20des_20besoins_20de_20lutilisateur_2',['I. Analyse des besoins de lutilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]]
];

View File

@ -1,18 +0,0 @@
var searchData=
[
['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 &amp; 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 danalyse 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():&#160;disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk():&#160;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']]]
];

View File

@ -1,23 +0,0 @@
var searchData=
[
['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,'']]],
['danalyse_20et_20de_20conception_1',['Rapport danalyse 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 danalyse 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_20lutilisateur_6',['I. Analyse des besoins de lutilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
['des_20besoins_20de_20lutilisateur_7',['I. Analyse des besoins de lutilisateur',['../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:&#160;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,'']]]
];

View File

@ -1,11 +0,0 @@
var searchData=
[
['et_20alexis_0',['3. Shell &amp; Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]],
['et_20baptiste_1',['2. Primitives &amp; I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]],
['et_20de_20conception_2',['Rapport danalyse et de conception',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md0',1,'']]],
['et_20youssef_3',['1. SGF &amp; 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):&#160;exec.c'],['../exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args):&#160;exec.c']]]
];

View File

@ -1,13 +0,0 @@
var searchData=
[
['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,'']]]
];

View File

@ -1,6 +0,0 @@
var searchData=
[
['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,'']]]
];

View File

@ -1,12 +0,0 @@
var searchData=
[
['i_20analyse_20des_20besoins_20de_20lutilisateur_0',['I. Analyse des besoins de lutilisateur',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md5',1,'']]],
['i_20nodes_20teddy_20et_20baptiste_1',['2. Primitives &amp; 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:&#160;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):&#160;exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable):&#160;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,'']]]
];

View File

@ -1,8 +0,0 @@
var searchData=
[
['lutilisateur_0',['I. Analyse des besoins de lutilisateur',['../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 &amp; Commandes (Lucas et Alexis)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md25',1,'']]]
];

View File

@ -1,9 +0,0 @@
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']]],
['max_5finode_5fname_5',['MAX_INODE_NAME',['../const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba',1,'const.h']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['nodes_20teddy_20et_20baptiste_0',['2. Primitives &amp; I-nodes (Teddy et Baptiste)',['../md_docs_2compte__rendus_2compte__rendu__1.html#autotoc_md24',1,'']]]
];

View File

@ -1,14 +0,0 @@
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 &amp; 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,'']]]
];

View File

@ -1,8 +0,0 @@
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']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['compte_5frendu_5f1_2emd_0',['compte_rendu_1.md',['../compte__rendu__1_8md.html',1,'']]],
['const_2eh_1',['const.h',['../const_8h.html',1,'']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['exec_2ec_0',['exec.c',['../exec_8c.html',1,'']]],
['exec_2eh_1',['exec.h',['../exec_8h.html',1,'']]]
];

View File

@ -1,7 +0,0 @@
var searchData=
[
['create_5fdirectory_0',['create_directory',['../disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9',1,'disk.c']]],
['create_5fdisk_1',['create_disk',['../disk_8c.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk():&#160;disk.c'],['../disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3',1,'create_disk():&#160;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']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['execute_5fcmd_0',['execute_cmd',['../exec_8c.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args):&#160;exec.c'],['../exec_8h.html#a0eaeafb557648df1d7fb77848b11edf5',1,'execute_cmd(char **args):&#160;exec.c']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['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']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['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):&#160;exec.c'],['../exec_8h.html#a2fdd409be116a4535870fd87be4cd941',1,'is_builtin_cmd(char *executable):&#160;exec.c']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['main_0',['main',['../main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac',1,'main.c']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['open_5fdisk_0',['open_disk',['../disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename):&#160;disk.c'],['../disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91',1,'open_disk(char *filename):&#160;disk.c']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['read_5fline_0',['read_line',['../parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457',1,'parsing.c']]]
];

View File

@ -1,5 +0,0 @@
var searchData=
[
['shell_5floop_0',['shell_loop',['../parsing_8c.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void):&#160;parsing.c'],['../parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97',1,'shell_loop(void):&#160;parsing.c']]],
['split_5fline_1',['split_line',['../parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa',1,'parsing.c']]]
];

View File

@ -1,4 +0,0 @@
var searchData=
[
['compte_5frendu_5f1_0',['compte_rendu_1',['../md_docs_2compte__rendus_2compte__rendu__1.html',1,'']]]
];

View File

@ -1,15 +0,0 @@
digraph "src/struct.h"
{
// 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];
Node1 [id="Node000001",label="src/struct.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
Node3 -> Node2 [id="edge3_Node000003_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 -> Node4 [id="edge4_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
}

View File

@ -1,6 +0,0 @@
\doxysection{Data Structures}
Here are the data structures with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{\mbox{\hyperlink{structbloc}{bloc}} \\*Un bloc possède un tableau de données brut concernant des inodes }{\pageref{structbloc}}{}
\item\contentsline{section}{\mbox{\hyperlink{structdisk}{disk}} \\*Un disque est un liste d\textquotesingle{}inodes qui pointent sur des blocs de donnée }{\pageref{structdisk}}{}
\item\contentsline{section}{\mbox{\hyperlink{structinode}{inode}} \\*Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur des blocs de données }{\pageref{structinode}}{}
\end{DoxyCompactList}

View File

@ -1,20 +0,0 @@
digraph "src/const.h"
{
// 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];
Node1 [id="Node000001",label="src/const.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge8_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge9_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node2 -> Node4 [id="edge10_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
Node1 -> Node5 [id="edge11_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="src/parsing.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8c.html",tooltip=" "];
Node1 -> Node6 [id="edge12_Node000001_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="src/struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip=" "];
Node6 -> Node3 [id="edge13_Node000006_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 -> Node2 [id="edge14_Node000006_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -1,23 +0,0 @@
\doxysection{src Directory Reference}
\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src Directory Reference}}
\doxysubsubsection*{Files}
\begin{DoxyCompactItemize}
\item
file \mbox{\hyperlink{const_8h}{const.\+h}}
\item
file \mbox{\hyperlink{disk_8c}{disk.\+c}}
\item
file \mbox{\hyperlink{disk_8h}{disk.\+h}}
\item
file \mbox{\hyperlink{exec_8c}{exec.\+c}}
\item
file \mbox{\hyperlink{exec_8h}{exec.\+h}}
\item
file \mbox{\hyperlink{main_8c}{main.\+c}}
\item
file \mbox{\hyperlink{parsing_8c}{parsing.\+c}}
\item
file \mbox{\hyperlink{parsing_8h}{parsing.\+h}}
\item
file \mbox{\hyperlink{struct_8h}{struct.\+h}}
\end{DoxyCompactItemize}

View File

@ -1,98 +0,0 @@
\doxysection{src/disk.c File Reference}
\hypertarget{disk_8c}{}\label{disk_8c}\index{src/disk.c@{src/disk.c}}
{\ttfamily \#include "{}disk.\+h"{}}\newline
{\ttfamily \#include "{}struct.\+h"{}}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
Include dependency graph for disk.\+c\+:
% FIG 0
\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}\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}}
\doxysubsubsection{\texorpdfstring{create\_disk()}{create\_disk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structdisk}{disk}} create\+\_\+disk (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Créer un fichier "{}disk"{} de taille MAX\+\_\+\+BYTES\+\_\+\+PER\+\_\+\+BLOC \texorpdfstring{$\ast$}{*} MAX\+\_\+\+BLOCS, renvoi ce disque.
\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}}
\doxysubsubsection{\texorpdfstring{open\_disk()}{open\_disk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structdisk}{disk}} open\+\_\+disk (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{filename }\end{DoxyParamCaption})}
Si un fichier filename existe, alors on le lit et le stocke en mémoire.
\begin{DoxyParams}{Parameters}
{\em char} & \texorpdfstring{$\ast$}{*}filename Le nom du fichier à lire \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Le disque lu
\end{DoxyReturn}

View File

@ -1,25 +0,0 @@
digraph "src/disk.c"
{
// 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];
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="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="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="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="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="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=" "];
}

View File

@ -1,51 +0,0 @@
\doxysection{src/disk.h File Reference}
\hypertarget{disk_8h}{}\label{disk_8h}\index{src/disk.h@{src/disk.h}}
{\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\+:
% FIG 1
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{structdisk}{disk}} \mbox{\hyperlink{disk_8h_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_8h_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}
\doxysubsection{Function Documentation}
\Hypertarget{disk_8h_a7eb10c7006ff648d851b15f24e4305c3}\label{disk_8h_a7eb10c7006ff648d851b15f24e4305c3}
\index{disk.h@{disk.h}!create\_disk@{create\_disk}}
\index{create\_disk@{create\_disk}!disk.h@{disk.h}}
\doxysubsubsection{\texorpdfstring{create\_disk()}{create\_disk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structdisk}{disk}} create\+\_\+disk (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Créer un fichier "{}disk"{} de taille MAX\+\_\+\+BYTES\+\_\+\+PER\+\_\+\+BLOC \texorpdfstring{$\ast$}{*} MAX\+\_\+\+BLOCS, renvoi ce disque.
\begin{DoxyReturn}{Returns}
Le disque créé
\end{DoxyReturn}
\Hypertarget{disk_8h_a0410aa30c92de7cca42080e61d4dcd91}\label{disk_8h_a0410aa30c92de7cca42080e61d4dcd91}
\index{disk.h@{disk.h}!open\_disk@{open\_disk}}
\index{open\_disk@{open\_disk}!disk.h@{disk.h}}
\doxysubsubsection{\texorpdfstring{open\_disk()}{open\_disk()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structdisk}{disk}} open\+\_\+disk (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{filename }\end{DoxyParamCaption})}
Si un fichier filename existe, alors on le lit et le stocke en mémoire.
\begin{DoxyParams}{Parameters}
{\em char} & \texorpdfstring{$\ast$}{*}filename Le nom du fichier à lire \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Le disque lu
\end{DoxyReturn}

View File

@ -1,12 +0,0 @@
digraph "src/disk.h"
{
// 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];
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="edge3_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node1 -> Node3 [id="edge4_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
}

View File

@ -1,17 +0,0 @@
digraph "src/disk.h"
{
// 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];
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="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="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="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="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=" "];
}

View File

@ -1,16 +0,0 @@
\doxysection{disk.\+h}
\hypertarget{disk_8h_source}{}\label{disk_8h_source}\index{src/disk.h@{src/disk.h}}
\mbox{\hyperlink{disk_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00003\ }
\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\ \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}

View File

@ -1,29 +0,0 @@
\doxysection{src/exec.c File Reference}
\hypertarget{exec_8c}{}\label{exec_8c}\index{src/exec.c@{src/exec.c}}
{\ttfamily \#include "{}exec.\+h"{}}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
Include dependency graph for exec.\+c\+:
% FIG 0
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \mbox{\hyperlink{exec_8c_a2fdd409be116a4535870fd87be4cd941}{is\+\_\+builtin\+\_\+cmd}} (char \texorpdfstring{$\ast$}{*}executable)
\item
int \mbox{\hyperlink{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}{execute\+\_\+cmd}} (char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)
\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}\label{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}
\index{exec.c@{exec.c}!execute\_cmd@{execute\_cmd}}
\index{execute\_cmd@{execute\_cmd}!exec.c@{exec.c}}
\doxysubsubsection{\texorpdfstring{execute\_cmd()}{execute\_cmd()}}
{\footnotesize\ttfamily int execute\+\_\+cmd (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{args }\end{DoxyParamCaption})}
\Hypertarget{exec_8c_a2fdd409be116a4535870fd87be4cd941}\label{exec_8c_a2fdd409be116a4535870fd87be4cd941}
\index{exec.c@{exec.c}!is\_builtin\_cmd@{is\_builtin\_cmd}}
\index{is\_builtin\_cmd@{is\_builtin\_cmd}!exec.c@{exec.c}}
\doxysubsubsection{\texorpdfstring{is\_builtin\_cmd()}{is\_builtin\_cmd()}}
{\footnotesize\ttfamily int is\+\_\+builtin\+\_\+cmd (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{executable }\end{DoxyParamCaption})}

View File

@ -1,17 +0,0 @@
digraph "src/exec.c"
{
// 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];
Node1 [id="Node000001",label="src/exec.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge6_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge7_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="edge8_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="sys/wait.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node3 [id="edge9_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node5 [id="edge10_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,30 +0,0 @@
\doxysection{src/exec.h File Reference}
\hypertarget{exec_8h}{}\label{exec_8h}\index{src/exec.h@{src/exec.h}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$sys/wait.\+h$>$}\newline
Include dependency graph for exec.\+h\+:
% FIG 0
This graph shows which files directly or indirectly include this file\+:
% FIG 1
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \mbox{\hyperlink{exec_8h_a2fdd409be116a4535870fd87be4cd941}{is\+\_\+builtin\+\_\+cmd}} (char \texorpdfstring{$\ast$}{*}executable)
\item
int \mbox{\hyperlink{exec_8h_a0eaeafb557648df1d7fb77848b11edf5}{execute\+\_\+cmd}} (char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)
\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{exec_8h_a0eaeafb557648df1d7fb77848b11edf5}\label{exec_8h_a0eaeafb557648df1d7fb77848b11edf5}
\index{exec.h@{exec.h}!execute\_cmd@{execute\_cmd}}
\index{execute\_cmd@{execute\_cmd}!exec.h@{exec.h}}
\doxysubsubsection{\texorpdfstring{execute\_cmd()}{execute\_cmd()}}
{\footnotesize\ttfamily int execute\+\_\+cmd (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{args }\end{DoxyParamCaption})}
\Hypertarget{exec_8h_a2fdd409be116a4535870fd87be4cd941}\label{exec_8h_a2fdd409be116a4535870fd87be4cd941}
\index{exec.h@{exec.h}!is\_builtin\_cmd@{is\_builtin\_cmd}}
\index{is\_builtin\_cmd@{is\_builtin\_cmd}!exec.h@{exec.h}}
\doxysubsubsection{\texorpdfstring{is\_builtin\_cmd()}{is\_builtin\_cmd()}}
{\footnotesize\ttfamily int is\+\_\+builtin\+\_\+cmd (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{executable }\end{DoxyParamCaption})}

View File

@ -1,12 +0,0 @@
digraph "src/exec.h"
{
// 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];
Node1 [id="Node000001",label="src/exec.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge3_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/exec.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8c.html",tooltip=" "];
Node1 -> Node3 [id="edge4_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/parsing.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8c.html",tooltip=" "];
}

View File

@ -1,12 +0,0 @@
digraph "src/exec.h"
{
// 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];
Node1 [id="Node000001",label="src/exec.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge3_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="edge4_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="sys/wait.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,13 +0,0 @@
\doxysection{exec.\+h}
\hypertarget{exec_8h_source}{}\label{exec_8h_source}\index{src/exec.h@{src/exec.h}}
\mbox{\hyperlink{exec_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <sys/wait.h>}}
\DoxyCodeLine{00005\ }
\DoxyCodeLine{00006\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{exec_8h_a2fdd409be116a4535870fd87be4cd941}{is\_builtin\_cmd}}(\textcolor{keywordtype}{char}\ *executable);}
\DoxyCodeLine{00007\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{exec_8h_a0eaeafb557648df1d7fb77848b11edf5}{execute\_cmd}}(\textcolor{keywordtype}{char}\ **args);}
\end{DoxyCode}

View File

@ -1,12 +0,0 @@
\doxysection{File List}
Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
\item\contentsline{section}{src/\mbox{\hyperlink{const_8h}{const.\+h}} }{\pageref{const_8h}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{disk_8c}{disk.\+c}} }{\pageref{disk_8c}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{disk_8h}{disk.\+h}} }{\pageref{disk_8h}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{exec_8c}{exec.\+c}} }{\pageref{exec_8c}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{exec_8h}{exec.\+h}} }{\pageref{exec_8h}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{main_8c}{main.\+c}} }{\pageref{main_8c}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{parsing_8c}{parsing.\+c}} }{\pageref{parsing_8c}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{parsing_8h}{parsing.\+h}} }{\pageref{parsing_8h}}{}
\item\contentsline{section}{src/\mbox{\hyperlink{struct_8h}{struct.\+h}} }{\pageref{struct_8h}}{}
\end{DoxyCompactList}

View File

@ -1,27 +0,0 @@
\chapter{Seyshell}
\hypertarget{index}{}\label{index}\index{Seyshell@{Seyshell}}
\label{index_md_README}%
\Hypertarget{index_md_README}%
\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_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{$>$}{>}
\item touch \texorpdfstring{$<$}{<}nom-\/u-\/fichier\texorpdfstring{$>$}{>}
\item cd \texorpdfstring{$<$}{<}nom-\/du-\/répertoire\texorpdfstring{$>$}{>}
\item cat
\item echo
\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}
Tout ce qui est en rapport avec les intéractions shell \doxylink{exec_8c}{parsing.c}
Les structures du projet \doxylink{struct_8h}{struct.h}

View File

@ -1,22 +0,0 @@
\doxysection{src/main.c File Reference}
\hypertarget{main_8c}{}\label{main_8c}\index{src/main.c@{src/main.c}}
{\ttfamily \#include "{}disk.\+h"{}}\newline
{\ttfamily \#include "{}parsing.\+h"{}}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
Include dependency graph for main.\+c\+:
% FIG 0
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
int \mbox{\hyperlink{main_8c_adedb285b02c41bde2158ded9cc9fd7ac}{main}} (int argc, char \texorpdfstring{$\ast$}{*}argv\mbox{[}$\,$\mbox{]}, char \texorpdfstring{$\ast$}{*}envp\mbox{[}$\,$\mbox{]})
\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{main_8c_adedb285b02c41bde2158ded9cc9fd7ac}\label{main_8c_adedb285b02c41bde2158ded9cc9fd7ac}
\index{main.c@{main.c}!main@{main}}
\index{main@{main}!main.c@{main.c}}
\doxysubsubsection{\texorpdfstring{main()}{main()}}
{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char \texorpdfstring{$\ast$}{*}}]{argv\mbox{[}$\,$\mbox{]}, }\item[{char \texorpdfstring{$\ast$}{*}}]{envp\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}

View File

@ -1,28 +0,0 @@
digraph "src/main.c"
{
// 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];
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="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="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="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="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="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=" "];
}

View File

@ -1,76 +0,0 @@
\doxysection{src/parsing.c File Reference}
\hypertarget{parsing_8c}{}\label{parsing_8c}\index{src/parsing.c@{src/parsing.c}}
{\ttfamily \#include "{}parsing.\+h"{}}\newline
{\ttfamily \#include "{}const.\+h"{}}\newline
{\ttfamily \#include "{}exec.\+h"{}}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
Include dependency graph for parsing.\+c\+:
% FIG 0
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
char \texorpdfstring{$\ast$}{*} \mbox{\hyperlink{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}{read\+\_\+line}} ()
\begin{DoxyCompactList}\small\item\em Attend que l\textquotesingle{}utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi. \end{DoxyCompactList}\item
char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \mbox{\hyperlink{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}{split\+\_\+line}} (char \texorpdfstring{$\ast$}{*}line)
\begin{DoxyCompactList}\small\item\em Sépare une ligne par des espaces (pour la ligne "{}ls -\/l"{} ça va renvoyer \{"{}ls"{}, "{}-\/l"{}\}) \end{DoxyCompactList}\item
void \mbox{\hyperlink{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97}{shell\+\_\+loop}} (void)
\begin{DoxyCompactList}\small\item\em La boucle du shell, elle consiste en trois étapes \+: \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}\label{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}
\index{parsing.c@{parsing.c}!read\_line@{read\_line}}
\index{read\_line@{read\_line}!parsing.c@{parsing.c}}
\doxysubsubsection{\texorpdfstring{read\_line()}{read\_line()}}
{\footnotesize\ttfamily char \texorpdfstring{$\ast$}{*} read\+\_\+line (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
Attend que l\textquotesingle{}utilisateur appuie sur entrée pour récupérer la ligne écrite puis la renvoi.
\begin{DoxyReturn}{Returns}
La ligne écrite par l\textquotesingle{}utilisateur
\end{DoxyReturn}
\Hypertarget{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97}\label{parsing_8c_a5b4b9d6208b7a7cad8f4c53b126e8f97}
\index{parsing.c@{parsing.c}!shell\_loop@{shell\_loop}}
\index{shell\_loop@{shell\_loop}!parsing.c@{parsing.c}}
\doxysubsubsection{\texorpdfstring{shell\_loop()}{shell\_loop()}}
{\footnotesize\ttfamily void shell\+\_\+loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
La boucle du shell, elle consiste en trois étapes \+:
\begin{DoxyItemize}
\item Quand l\textquotesingle{}utilisateur appui sur entrer pour récupérer son entrée standard
\item Parser la ligne en fonction de ses espaces
\item Exécuter la commande demandée \begin{DoxySeeAlso}{See also}
char\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}{read\+\_\+line()}
char\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}{split\+\_\+line(char \texorpdfstring{$\ast$}{*}line)}
int \doxylink{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}{execute\+\_\+cmd(char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)}
\end{DoxySeeAlso}
\end{DoxyItemize}\Hypertarget{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}\label{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}
\index{parsing.c@{parsing.c}!split\_line@{split\_line}}
\index{split\_line@{split\_line}!parsing.c@{parsing.c}}
\doxysubsubsection{\texorpdfstring{split\_line()}{split\_line()}}
{\footnotesize\ttfamily char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} split\+\_\+line (\begin{DoxyParamCaption}\item[{char \texorpdfstring{$\ast$}{*}}]{line }\end{DoxyParamCaption})}
Sépare une ligne par des espaces (pour la ligne "{}ls -\/l"{} ça va renvoyer \{"{}ls"{}, "{}-\/l"{}\})
\begin{DoxyParams}{Parameters}
{\em char} & \texorpdfstring{$\ast$}{*}line la ligne à parser \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
la liste des arguments de la commande
\end{DoxyReturn}

View File

@ -1,28 +0,0 @@
digraph "src/parsing.c"
{
// 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];
Node1 [id="Node000001",label="src/parsing.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge13_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",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="edge15_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node2 -> Node5 [id="edge16_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node6 [id="edge17_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
Node1 -> Node7 [id="edge18_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
Node7 [id="Node000007",label="exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node7 -> Node3 [id="edge19_Node000007_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node7 -> Node8 [id="edge20_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
Node8 [id="Node000008",label="sys/wait.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 -> Node4 [id="edge22_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node9 [id="edge23_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node9 [id="Node000009",label="string.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node5 [id="edge24_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -1,40 +0,0 @@
\doxysection{src/parsing.h File Reference}
\hypertarget{parsing_8h}{}\label{parsing_8h}\index{src/parsing.h@{src/parsing.h}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
Include dependency graph for parsing.\+h\+:
% FIG 0
This graph shows which files directly or indirectly include this file\+:
% FIG 1
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{parsing_8h_a5b4b9d6208b7a7cad8f4c53b126e8f97}{shell\+\_\+loop}} (void)
\begin{DoxyCompactList}\small\item\em La boucle du shell, elle consiste en trois étapes \+: \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection{Function Documentation}
\Hypertarget{parsing_8h_a5b4b9d6208b7a7cad8f4c53b126e8f97}\label{parsing_8h_a5b4b9d6208b7a7cad8f4c53b126e8f97}
\index{parsing.h@{parsing.h}!shell\_loop@{shell\_loop}}
\index{shell\_loop@{shell\_loop}!parsing.h@{parsing.h}}
\doxysubsubsection{\texorpdfstring{shell\_loop()}{shell\_loop()}}
{\footnotesize\ttfamily void shell\+\_\+loop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}
La boucle du shell, elle consiste en trois étapes \+:
\begin{DoxyItemize}
\item Quand l\textquotesingle{}utilisateur appui sur entrer pour récupérer son entrée standard
\item Parser la ligne en fonction de ses espaces
\item Exécuter la commande demandée \begin{DoxySeeAlso}{See also}
char\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a9e35a75d71f9fc522c563668fbbec457}{read\+\_\+line()}
char\texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} \doxylink{parsing_8c_a1f1804b333ed064f276628d7bfa31bfa}{split\+\_\+line(char \texorpdfstring{$\ast$}{*}line)}
int \doxylink{exec_8c_a0eaeafb557648df1d7fb77848b11edf5}{execute\+\_\+cmd(char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)}
\end{DoxySeeAlso}
\end{DoxyItemize}

View File

@ -1,14 +0,0 @@
digraph "src/parsing.h"
{
// 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];
Node1 [id="Node000001",label="src/parsing.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge4_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="edge5_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="stdlib.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node4 [id="edge6_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="unistd.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
}

View File

@ -1,13 +0,0 @@
\doxysection{parsing.\+h}
\hypertarget{parsing_8h_source}{}\label{parsing_8h_source}\index{src/parsing.h@{src/parsing.h}}
\mbox{\hyperlink{parsing_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ <stdio.h>}}
\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ <unistd.h>}}
\DoxyCodeLine{00006\ }
\DoxyCodeLine{00007\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{parsing_8h_a5b4b9d6208b7a7cad8f4c53b126e8f97}{shell\_loop}}(\textcolor{keywordtype}{void});}
\end{DoxyCode}

View File

@ -1,46 +0,0 @@
\doxysection{src/struct.h File Reference}
\hypertarget{struct_8h}{}\label{struct_8h}\index{src/struct.h@{src/struct.h}}
{\ttfamily \#include "{}const.\+h"{}}\newline
Include dependency graph for struct.\+h\+:
% FIG 0
This graph shows which files directly or indirectly include this file\+:
% FIG 1
\doxysubsubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item
struct \mbox{\hyperlink{structinode}{inode}}
\begin{DoxyCompactList}\small\item\em Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur des blocs de données. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structbloc}{bloc}}
\begin{DoxyCompactList}\small\item\em Un bloc possède un tableau de données brut concernant des inodes. \end{DoxyCompactList}\item
struct \mbox{\hyperlink{structdisk}{disk}}
\begin{DoxyCompactList}\small\item\em Un disque est un liste d\textquotesingle{}inodes qui pointent sur des blocs de donnée. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item
typedef struct \mbox{\hyperlink{structinode}{inode}} \mbox{\hyperlink{struct_8h_a05917f4198ca2c880c2c6d758b6f92d5}{inode}}
\item
typedef struct \mbox{\hyperlink{structbloc}{bloc}} \mbox{\hyperlink{struct_8h_ad7463cdc34b86731771512f65c647905}{bloc}}
\item
typedef struct \mbox{\hyperlink{structdisk}{disk}} \mbox{\hyperlink{struct_8h_a48bafe324ab0e99e14feeda9fde3462f}{disk}}
\end{DoxyCompactItemize}
\doxysubsection{Typedef Documentation}
\Hypertarget{struct_8h_ad7463cdc34b86731771512f65c647905}\label{struct_8h_ad7463cdc34b86731771512f65c647905}
\index{struct.h@{struct.h}!bloc@{bloc}}
\index{bloc@{bloc}!struct.h@{struct.h}}
\doxysubsubsection{\texorpdfstring{bloc}{bloc}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structbloc}{bloc}} \mbox{\hyperlink{structbloc}{bloc}}}
\Hypertarget{struct_8h_a48bafe324ab0e99e14feeda9fde3462f}\label{struct_8h_a48bafe324ab0e99e14feeda9fde3462f}
\index{struct.h@{struct.h}!disk@{disk}}
\index{disk@{disk}!struct.h@{struct.h}}
\doxysubsubsection{\texorpdfstring{disk}{disk}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structdisk}{disk}} \mbox{\hyperlink{structdisk}{disk}}}
\Hypertarget{struct_8h_a05917f4198ca2c880c2c6d758b6f92d5}\label{struct_8h_a05917f4198ca2c880c2c6d758b6f92d5}
\index{struct.h@{struct.h}!inode@{inode}}
\index{inode@{inode}!struct.h@{struct.h}}
\doxysubsubsection{\texorpdfstring{inode}{inode}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structinode}{inode}} \mbox{\hyperlink{structinode}{inode}}}

View File

@ -1,15 +0,0 @@
digraph "src/struct.h"
{
// 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];
Node1 [id="Node000001",label="src/struct.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge5_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip=" "];
Node1 -> Node3 [id="edge6_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
Node3 -> Node2 [id="edge7_Node000003_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 -> Node4 [id="edge8_Node000003_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
}

View File

@ -1,28 +0,0 @@
\doxysection{struct.\+h}
\hypertarget{struct_8h_source}{}\label{struct_8h_source}\index{src/struct.h@{src/struct.h}}
\mbox{\hyperlink{struct_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ }
\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#pragma\ once}}
\DoxyCodeLine{00003\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{const_8h}{const.h}}"{}}}
\DoxyCodeLine{00004\ }
\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}

View File

@ -74,9 +74,11 @@ $(function() {
<div class="contents"> <div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory"> <div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory"> <table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structbloc.html" target="_self">bloc</a></td><td class="desc">Un bloc possède un tableau de données brut concernant des inodes </td></tr> <tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structbloc.html" target="_self">bloc</a></td><td class="desc">Segment de données brutes à taille fixe stocké sur le disque virtuel </td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdisk.html" target="_self">disk</a></td><td class="desc">Un disque est un liste d'inodes qui pointent sur des blocs de donnée </td></tr> <tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structcommand.html" target="_self">command</a></td><td class="desc">Structure de représentation d'une commande utilisateur parsée pour le Shell intégré </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structinode.html" target="_self">inode</a></td><td class="desc">Un inode est un fichier, il possède des permissions, un type (répertoire par exemple) et pointe sur des blocs de données </td></tr> <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structdisk.html" target="_self">disk</a></td><td class="desc">Représentation globale en mémoire (Memory Mapping) de la structure logique du disque virtuel </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structenv.html" target="_self">env</a></td><td class="desc">Modélise une variable d'environnement sous forme de clé/valeur (dictionnaire) </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structinode.html" target="_self">inode</a></td><td class="desc">Représente un index de fichier (Inode) au sein du SGF </td></tr>
</table> </table>
</div><!-- directory --> </div><!-- directory -->
</div><!-- contents --> </div><!-- contents -->

View File

Before

Width:  |  Height:  |  Size: 676 B

After

Width:  |  Height:  |  Size: 676 B

View File

Before

Width:  |  Height:  |  Size: 635 B

After

Width:  |  Height:  |  Size: 635 B

View File

@ -72,14 +72,20 @@ $(function() {
<div class="headertitle"><div class="title">Data Structure Index</div></div> <div class="headertitle"><div class="title">Data Structure Index</div></div>
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<div class="qindex"><a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a></div> <div class="qindex"><a class="qindex" href="#letter_B">B</a>&#160;|&#160;<a class="qindex" href="#letter_C">C</a>&#160;|&#160;<a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_E">E</a>&#160;|&#160;<a class="qindex" href="#letter_I">I</a></div>
<div class="classindex"> <div class="classindex">
<dl class="classindex even"> <dl class="classindex even">
<dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt> <dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt>
<dd><a class="el" href="structbloc.html">bloc</a></dd></dl> <dd><a class="el" href="structbloc.html">bloc</a></dd></dl>
<dl class="classindex odd"> <dl class="classindex odd">
<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
<dd><a class="el" href="structcommand.html">command</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt> <dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
<dd><a class="el" href="structdisk.html">disk</a></dd></dl> <dd><a class="el" href="structdisk.html">disk</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
<dd><a class="el" href="structenv.html">env</a></dd></dl>
<dl class="classindex even"> <dl class="classindex even">
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt> <dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
<dd><a class="el" href="structinode.html">inode</a></dd></dl> <dd><a class="el" href="structinode.html">inode</a></dd></dl>

View File

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 132 B

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/> <meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Seyshell: src/parsing.h Source File</title> <title>Seyshell: docs/compte_rendus/compte_rendu_2.md File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script> <script type="text/javascript" src="dynsections.js"></script>
@ -46,11 +46,6 @@ $(function() {
/* @license-end */ /* @license-end */
</script> </script>
<div id="main-nav"></div> <div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- window showing the filter options --> <!-- window showing the filter options -->
<div id="MSearchSelectWindow" <div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()" onmouseover="return searchBox.OnSearchSelectShow()"
@ -72,24 +67,12 @@ $(document).ready(function() { init_codefold(0); });
</div> </div>
</div> </div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top --> </div><!-- top -->
<div class="header"> <div class="header">
<div class="headertitle"><div class="title">parsing.h</div></div> <div class="headertitle"><div class="title">docs/compte_rendus/compte_rendu_2.md File Reference</div></div>
</div><!--header--> </div><!--header-->
<div class="contents"> <div class="contents">
<a href="parsing_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div> </div><!-- contents -->
<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 &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &lt;unistd.h&gt;</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"> 7</span><span class="keywordtype">void</span> <a class="code hl_function" href="parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97">shell_loop</a>(<span class="keywordtype">void</span>);</div>
<div class="ttc" id="aparsing_8h_html_a5b4b9d6208b7a7cad8f4c53b126e8f97"><div class="ttname"><a href="parsing_8h.html#a5b4b9d6208b7a7cad8f4c53b126e8f97">shell_loop</a></div><div class="ttdeci">void shell_loop(void)</div><div class="ttdoc">La boucle du shell, elle consiste en trois étapes :</div><div class="ttdef"><b>Definition</b> parsing.c:73</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8

View File

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/> <meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/> <meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Seyshell: Globals</title> <title>Seyshell: docs/compte_rendus/compte_rendu_final.md File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script> <script type="text/javascript" src="dynsections.js"></script>
@ -46,7 +46,6 @@ $(function() {
/* @license-end */ /* @license-end */
</script> </script>
<div id="main-nav"></div> <div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options --> <!-- window showing the filter options -->
<div id="MSearchSelectWindow" <div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()" onmouseover="return searchBox.OnSearchSelectShow()"
@ -68,23 +67,11 @@ $(function() {
</div> </div>
</div> </div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">docs/compte_rendus/compte_rendu_final.md File Reference</div></div>
</div><!--header-->
<div class="contents"> <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()&#160;:&#160;<a class="el" href="disk_8c.html#aa7d14d97833c0c0665892b3c624ab2d9">disk.c</a></li>
<li>create_disk()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#a90556d464c7b49fa1d4a76c37358a7bd">disk.c</a></li>
<li>create_inode()&#160;:&#160;<a class="el" href="disk_8c.html#ad46ea636209e0726c208aaa61c49ae16">disk.c</a></li>
<li>execute_cmd()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="disk_8c.html#ade4ebb1901ddd0ddd60a246d0981c9ab">disk.c</a></li>
<li>find_offset_in_parent_bloc()&#160;:&#160;<a class="el" href="disk_8c.html#a7abd1b379bf3695a8120a92fde42203b">disk.c</a></li>
<li>init_inode_in_disk()&#160;:&#160;<a class="el" href="disk_8c.html#a756e632b29a777267828c50a5d4a4cfe">disk.c</a></li>
<li>is_builtin_cmd()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="main_8c.html#adedb285b02c41bde2158ded9cc9fd7ac">main.c</a></li>
<li>open_disk()&#160;:&#160;<a class="el" href="disk_8c.html#a0410aa30c92de7cca42080e61d4dcd91">disk.c</a>, <a class="el" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">disk.h</a></li>
<li>read_line()&#160;:&#160;<a class="el" href="parsing_8c.html#a9e35a75d71f9fc522c563668fbbec457">parsing.c</a></li>
<li>shell_loop()&#160;:&#160;<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()&#160;:&#160;<a class="el" href="parsing_8c.html#a1f1804b333ed064f276628d7bfa31bfa">parsing.c</a></li>
</ul>
</div><!-- contents --> </div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>

View File

@ -92,22 +92,28 @@ Macros</h2></td></tr>
<tr class="separator:aeca034f67218340ecb2261a22c2f3dcd"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:aeca034f67218340ecb2261a22c2f3dcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7140f3913ca85546efb2ded034d0af2" id="r_ad7140f3913ca85546efb2ded034d0af2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>&#160;&#160;&#160;30</td></tr> <tr class="memitem:ad7140f3913ca85546efb2ded034d0af2" id="r_ad7140f3913ca85546efb2ded034d0af2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#ad7140f3913ca85546efb2ded034d0af2">MAX_BLOCS</a>&#160;&#160;&#160;30</td></tr>
<tr class="separator:ad7140f3913ca85546efb2ded034d0af2"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:ad7140f3913ca85546efb2ded034d0af2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60fedb7550ff4e00d6c70dd2d257c154" id="r_a60fedb7550ff4e00d6c70dd2d257c154"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a>&#160;&#160;&#160;1024</td></tr> <tr class="memitem:a60fedb7550ff4e00d6c70dd2d257c154" id="r_a60fedb7550ff4e00d6c70dd2d257c154"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a60fedb7550ff4e00d6c70dd2d257c154">MAX_BYTES_PER_BLOC</a>&#160;&#160;&#160;512</td></tr>
<tr class="separator:a60fedb7550ff4e00d6c70dd2d257c154"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a60fedb7550ff4e00d6c70dd2d257c154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af58c11b86af508a573976185fb99170f" id="r_af58c11b86af508a573976185fb99170f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>&#160;&#160;&#160;10</td></tr> <tr class="memitem:af58c11b86af508a573976185fb99170f" id="r_af58c11b86af508a573976185fb99170f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#af58c11b86af508a573976185fb99170f">MAX_INODE</a>&#160;&#160;&#160;30</td></tr>
<tr class="separator:af58c11b86af508a573976185fb99170f"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:af58c11b86af508a573976185fb99170f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1459cb1cb7ff0d6cd9311afadb956fba" id="r_a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba">MAX_INODE_NAME</a>&#160;&#160;&#160;30</td></tr> <tr class="memitem:a1459cb1cb7ff0d6cd9311afadb956fba" id="r_a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1459cb1cb7ff0d6cd9311afadb956fba">MAX_INODE_NAME</a>&#160;&#160;&#160;28</td></tr>
<tr class="separator:a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a1459cb1cb7ff0d6cd9311afadb956fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e53a82e875992705cb69208f53f6576" id="r_a5e53a82e875992705cb69208f53f6576"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a5e53a82e875992705cb69208f53f6576">TYPE_NULL</a>&#160;&#160;&#160;0</td></tr> <tr class="memitem:a5e53a82e875992705cb69208f53f6576" id="r_a5e53a82e875992705cb69208f53f6576"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a5e53a82e875992705cb69208f53f6576">TYPE_NULL</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a5e53a82e875992705cb69208f53f6576"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a5e53a82e875992705cb69208f53f6576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c4b9a03f9d2107bf4c139bb00c7ec4c" id="r_a1c4b9a03f9d2107bf4c139bb00c7ec4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">TYPE_FILE</a>&#160;&#160;&#160;1</td></tr> <tr class="memitem:a1c4b9a03f9d2107bf4c139bb00c7ec4c" id="r_a1c4b9a03f9d2107bf4c139bb00c7ec4c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a1c4b9a03f9d2107bf4c139bb00c7ec4c">TYPE_FILE</a>&#160;&#160;&#160;1</td></tr>
<tr class="separator:a1c4b9a03f9d2107bf4c139bb00c7ec4c"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a1c4b9a03f9d2107bf4c139bb00c7ec4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db236b991aad03f703df46ee60dbf38" id="r_a5db236b991aad03f703df46ee60dbf38"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a5db236b991aad03f703df46ee60dbf38">TYPE_BINARY</a>&#160;&#160;&#160;2</td></tr>
<tr class="separator:a5db236b991aad03f703df46ee60dbf38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67d0d149b8d6441f6972da8e9ff2c91b" id="r_a67d0d149b8d6441f6972da8e9ff2c91b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b">TYPE_DIRECTORY</a>&#160;&#160;&#160;3</td></tr> <tr class="memitem:a67d0d149b8d6441f6972da8e9ff2c91b" id="r_a67d0d149b8d6441f6972da8e9ff2c91b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a67d0d149b8d6441f6972da8e9ff2c91b">TYPE_DIRECTORY</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a67d0d149b8d6441f6972da8e9ff2c91b"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:a67d0d149b8d6441f6972da8e9ff2c91b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9bb43d2b43509e94ebef43f0d803a9" id="r_aac9bb43d2b43509e94ebef43f0d803a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9">TYPE_SYMBOLIC_LINK</a>&#160;&#160;&#160;4</td></tr> <tr class="memitem:aac9bb43d2b43509e94ebef43f0d803a9" id="r_aac9bb43d2b43509e94ebef43f0d803a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#aac9bb43d2b43509e94ebef43f0d803a9">TYPE_SYMBOLIC_LINK</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:aac9bb43d2b43509e94ebef43f0d803a9"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:aac9bb43d2b43509e94ebef43f0d803a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad86358bf19927183dd7b4ae215a29731" id="r_ad86358bf19927183dd7b4ae215a29731"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#ad86358bf19927183dd7b4ae215a29731">COLOR_RED</a>&#160;&#160;&#160;&quot;\e[0;31m&quot;</td></tr>
<tr class="separator:ad86358bf19927183dd7b4ae215a29731"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c70d699a5a775bc2e1ebeb8603f630" id="r_a23c70d699a5a775bc2e1ebeb8603f630"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#a23c70d699a5a775bc2e1ebeb8603f630">COLOR_BLUE</a>&#160;&#160;&#160;&quot;\x1b[34m&quot;</td></tr>
<tr class="separator:a23c70d699a5a775bc2e1ebeb8603f630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc9149f5de51bd9ac4f5ebbfa153f018" id="r_afc9149f5de51bd9ac4f5ebbfa153f018"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#afc9149f5de51bd9ac4f5ebbfa153f018">COLOR_GREEN</a>&#160;&#160;&#160;&quot;\x1b[32m&quot;</td></tr>
<tr class="separator:afc9149f5de51bd9ac4f5ebbfa153f018"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae70649bc21142f2400c6056cd7bedb51" id="r_ae70649bc21142f2400c6056cd7bedb51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html#ae70649bc21142f2400c6056cd7bedb51">ESCAPE_COLOR</a>&#160;&#160;&#160;&quot;\x1b[0m&quot;</td></tr>
<tr class="separator:ae70649bc21142f2400c6056cd7bedb51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
<h2 class="groupheader">Macro Definition Documentation</h2> <h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aeca034f67218340ecb2261a22c2f3dcd" name="aeca034f67218340ecb2261a22c2f3dcd"></a> <a id="aeca034f67218340ecb2261a22c2f3dcd" name="aeca034f67218340ecb2261a22c2f3dcd"></a>
@ -122,6 +128,62 @@ Macros</h2></td></tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
</div>
</div>
<a id="a23c70d699a5a775bc2e1ebeb8603f630" name="a23c70d699a5a775bc2e1ebeb8603f630"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23c70d699a5a775bc2e1ebeb8603f630">&#9670;&#160;</a></span>COLOR_BLUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_BLUE&#160;&#160;&#160;&quot;\x1b[34m&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="afc9149f5de51bd9ac4f5ebbfa153f018" name="afc9149f5de51bd9ac4f5ebbfa153f018"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc9149f5de51bd9ac4f5ebbfa153f018">&#9670;&#160;</a></span>COLOR_GREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_GREEN&#160;&#160;&#160;&quot;\x1b[32m&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad86358bf19927183dd7b4ae215a29731" name="ad86358bf19927183dd7b4ae215a29731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad86358bf19927183dd7b4ae215a29731">&#9670;&#160;</a></span>COLOR_RED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_RED&#160;&#160;&#160;&quot;\e[0;31m&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ae70649bc21142f2400c6056cd7bedb51" name="ae70649bc21142f2400c6056cd7bedb51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae70649bc21142f2400c6056cd7bedb51">&#9670;&#160;</a></span>ESCAPE_COLOR</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ESCAPE_COLOR&#160;&#160;&#160;&quot;\x1b[0m&quot;</td>
</tr>
</table>
</div><div class="memdoc">
</div> </div>
</div> </div>
<a id="ad7140f3913ca85546efb2ded034d0af2" name="ad7140f3913ca85546efb2ded034d0af2"></a> <a id="ad7140f3913ca85546efb2ded034d0af2" name="ad7140f3913ca85546efb2ded034d0af2"></a>
@ -145,7 +207,7 @@ Macros</h2></td></tr>
<div class="memproto"> <div class="memproto">
<table class="memname"> <table class="memname">
<tr> <tr>
<td class="memname">#define MAX_BYTES_PER_BLOC&#160;&#160;&#160;1024</td> <td class="memname">#define MAX_BYTES_PER_BLOC&#160;&#160;&#160;512</td>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
@ -159,7 +221,7 @@ Macros</h2></td></tr>
<div class="memproto"> <div class="memproto">
<table class="memname"> <table class="memname">
<tr> <tr>
<td class="memname">#define MAX_INODE&#160;&#160;&#160;10</td> <td class="memname">#define MAX_INODE&#160;&#160;&#160;30</td>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">
@ -173,21 +235,7 @@ Macros</h2></td></tr>
<div class="memproto"> <div class="memproto">
<table class="memname"> <table class="memname">
<tr> <tr>
<td class="memname">#define MAX_INODE_NAME&#160;&#160;&#160;30</td> <td class="memname">#define MAX_INODE_NAME&#160;&#160;&#160;28</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a5db236b991aad03f703df46ee60dbf38" name="a5db236b991aad03f703df46ee60dbf38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5db236b991aad03f703df46ee60dbf38">&#9670;&#160;</a></span>TYPE_BINARY</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TYPE_BINARY&#160;&#160;&#160;2</td>
</tr> </tr>
</table> </table>
</div><div class="memdoc"> </div><div class="memdoc">

View File

@ -0,0 +1,48 @@
digraph "src/const.h"
{
// 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];
Node1 [id="Node000001",label="src/const.h",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip=" "];
Node1 -> Node2 [id="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8h.html",tooltip=" "];
Node2 -> Node3 [id="edge2_Node000002_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip="Implémentation des primitives de bas niveau et des commandes du Système de Gestion de Fichiers (SGF)."];
Node2 -> Node4 [id="edge3_Node000002_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/exec.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8c.html",tooltip="Moteur d'exécution des commandes et gestionnaire de l'architecture des redirections (Pipes/Redirectio..."];
Node2 -> Node5 [id="edge4_Node000002_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="src/exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node5 -> Node4 [id="edge5_Node000005_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node5 -> Node6 [id="edge6_Node000005_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="src/parsing.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8c.html",tooltip="Gestion de l'interface utilisateur (CLI), du parsing syntaxique de la ligne de commande et de la bouc..."];
Node5 -> Node7 [id="edge7_Node000005_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node7 [id="Node000007",label="src/parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
Node7 -> Node8 [id="edge8_Node000007_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node8 [id="Node000008",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
Node7 -> Node6 [id="edge9_Node000007_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 -> Node8 [id="edge10_Node000002_Node000008",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 -> Node6 [id="edge11_Node000002_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node7 [id="edge12_Node000001_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node9 [id="edge13_Node000001_Node000009",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node9 [id="Node000009",label="src/struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip="Définition des structures de données fondamentales du Système de Gestion de Fichiers (SGF)."];
Node9 -> Node3 [id="edge14_Node000009_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node2 [id="edge15_Node000009_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node10 [id="edge16_Node000009_Node000010",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node10 [id="Node000010",label="src/env.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$env_8h.html",tooltip=" "];
Node10 -> Node3 [id="edge17_Node000010_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node2 [id="edge18_Node000010_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node11 [id="edge19_Node000010_Node000011",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node11 [id="Node000011",label="src/env.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$env_8c.html",tooltip="Gestionnaire des variables d'environnement pour le shell intégré du SGF."];
Node10 -> Node5 [id="edge20_Node000010_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node7 [id="edge21_Node000010_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node12 [id="edge22_Node000010_Node000012",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node12 [id="Node000012",label="src/utils.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$utils_8h.html",tooltip=" "];
Node12 -> Node2 [id="edge23_Node000012_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node12 -> Node5 [id="edge24_Node000012_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node12 -> Node13 [id="edge25_Node000012_Node000013",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node13 [id="Node000013",label="src/utils.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$utils_8c.html",tooltip="Primitives utilitaires pour la manipulation, le reformatage et la résolution canonique des chemins de..."];
Node9 -> Node4 [id="edge26_Node000009_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node6 [id="edge27_Node000009_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node7 [id="edge28_Node000009_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -84,15 +84,19 @@ $(document).ready(function() { init_codefold(0); });
<a href="const_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div> <a href="const_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"><a class="line" href="const_8h.html#aeca034f67218340ecb2261a22c2f3dcd"> 2</a></span><span class="preprocessor">#define BUFSIZE 1024</span></div> <div class="line"><a id="l00002" name="l00002"></a><span class="lineno"><a class="line" href="const_8h.html#aeca034f67218340ecb2261a22c2f3dcd"> 2</a></span><span class="preprocessor">#define BUFSIZE 1024</span></div>
<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="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="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 512</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="l00005" name="l00005"></a><span class="lineno"><a class="line" href="const_8h.html#af58c11b86af508a573976185fb99170f"> 5</a></span><span class="preprocessor">#define MAX_INODE 30</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 + &#39;\0&#39; + numero de l&#39;inode ref</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 28 </span><span class="comment">// 27 caractères + &#39;\0&#39; + numero de l&#39;inode ref</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</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="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="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="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#a67d0d149b8d6441f6972da8e9ff2c91b"> 11</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="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 class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"><a class="line" href="const_8h.html#ad86358bf19927183dd7b4ae215a29731"> 13</a></span><span class="preprocessor">#define COLOR_RED &quot;\e[0;31m&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="const_8h.html#a23c70d699a5a775bc2e1ebeb8603f630"> 14</a></span><span class="preprocessor">#define COLOR_BLUE &quot;\x1b[34m&quot;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="const_8h.html#afc9149f5de51bd9ac4f5ebbfa153f018"> 15</a></span><span class="preprocessor">#define COLOR_GREEN &quot;\x1b[32m&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"><a class="line" href="const_8h.html#ae70649bc21142f2400c6056cd7bedb51"> 16</a></span><span class="preprocessor">#define ESCAPE_COLOR &quot;\x1b[0m&quot;</span></div>
</div><!-- fragment --></div><!-- contents --> </div><!-- fragment --></div><!-- contents -->
<!-- start footer part --> <!-- start footer part -->
<hr class="footer"/><address class="footer"><small> <hr class="footer"/><address class="footer"><small>

View File

@ -82,20 +82,34 @@ Files</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="const_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html">const.h</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="const_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="const_8h.html">const.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html">disk.c</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8c.html">disk.c</a></td></tr>
<tr class="memdesc:disk_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implémentation des primitives de bas niveau et des commandes du Système de Gestion de Fichiers (SGF). <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="disk_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html">disk.h</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="disk_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html">disk.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html">env.c</a></td></tr>
<tr class="memdesc:env_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gestionnaire des variables d'environnement pour le shell intégré du SGF. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="env_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8h.html">env.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exec_8c.html">exec.c</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exec_8c.html">exec.c</a></td></tr>
<tr class="memdesc:exec_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moteur d'exécution des commandes et gestionnaire de l'architecture des redirections (Pipes/Redirections). <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="exec_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exec_8h.html">exec.h</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="exec_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="exec_8h.html">exec.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html">main.c</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8c.html">main.c</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8c.html">parsing.c</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8c.html">parsing.c</a></td></tr>
<tr class="memdesc:parsing_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gestion de l'interface utilisateur (CLI), du parsing syntaxique de la ligne de commande et de la boucle principale du Shell. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="parsing_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8h.html">parsing.h</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="parsing_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="parsing_8h.html">parsing.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="struct_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_8h.html">struct.h</a></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="struct_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_8h.html">struct.h</a></td></tr>
<tr class="memdesc:struct_8h"><td class="mdescLeft">&#160;</td><td class="mdescRight">Définition des structures de données fondamentales du Système de Gestion de Fichiers (SGF). <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><span class="icondoc"></span>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8c.html">utils.c</a></td></tr>
<tr class="memdesc:utils_8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Primitives utilitaires pour la manipulation, le reformatage et la résolution canonique des chemins de fichiers. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="utils_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utils_8h.html">utils.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table> </table>
</div><!-- contents --> </div><!-- contents -->

1273
docs/html/disk_8c.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,42 @@
digraph "src/disk.c"
{
// 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];
Node1 [id="Node000001",label="src/disk.c",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Implémentation des primitives de bas niveau et des commandes du Système de Gestion de Fichiers (SGF)."];
Node1 -> Node2 [id="edge1_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="edge2_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="edge3_Node000002_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="Définition des structures de données fondamentales du Système de Gestion de Fichiers (SGF)."];
Node4 -> Node5 [id="edge4_Node000004_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="const.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$const_8h.html",tooltip=" "];
Node2 -> Node6 [id="edge5_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=" "];
Node2 -> Node7 [id="edge6_Node000002_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=" "];
Node2 -> Node8 [id="edge7_Node000002_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=" "];
Node2 -> Node9 [id="edge8_Node000002_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node9 [id="Node000009",label="env.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$env_8h.html",tooltip=" "];
Node9 -> Node4 [id="edge9_Node000009_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node7 [id="edge10_Node000009_Node000007",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node6 [id="edge11_Node000009_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node2 -> Node5 [id="edge12_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node2 -> Node10 [id="edge13_Node000002_Node000010",color="steelblue1",style="solid",tooltip=" "];
Node10 [id="Node000010",label="utils.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$utils_8h.html",tooltip=" "];
Node10 -> Node9 [id="edge14_Node000010_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node3 [id="edge15_Node000010_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node7 [id="edge16_Node000010_Node000007",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node6 [id="edge17_Node000010_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node10 -> Node8 [id="edge18_Node000010_Node000008",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node9 [id="edge19_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node4 [id="edge20_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node11 [id="edge21_Node000001_Node000011",color="steelblue1",style="solid",tooltip=" "];
Node11 [id="Node000011",label="linux/limits.h",height=0.2,width=0.4,color="grey60", fillcolor="#E0E0E0", style="filled",tooltip=" "];
Node1 -> Node3 [id="edge22_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node6 [id="edge23_Node000001_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node8 [id="edge24_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
}

633
docs/html/disk_8h.html Normal file
View File

@ -0,0 +1,633 @@
<!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: src/disk.h 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&amp;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&amp;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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">disk.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;<a class="el" href="struct_8h_source.html">struct.h</a>&quot;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
<code>#include &quot;<a class="el" href="env_8h_source.html">env.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="const_8h_source.html">const.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8h_source.html">utils.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for disk.h:</div>
<div class="dyncontent">
<div class="center"><img src="disk_8h__incl.png" border="0" usemap="#asrc_2disk_8h" alt=""/></div>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="disk_8h__dep__incl.png" border="0" usemap="#asrc_2disk_8hdep" alt=""/></div>
</div>
</div>
<p><a href="disk_8h_source.html">Go to the source code of this file.</a></p>
<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:a7eb10c7006ff648d851b15f24e4305c3" id="r_a7eb10c7006ff648d851b15f24e4305c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a7eb10c7006ff648d851b15f24e4305c3">create_disk</a> ()</td></tr>
<tr class="memdesc:a7eb10c7006ff648d851b15f24e4305c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formate et initialise un tout nouveau disque virtuel brut nommé "disk" sur le support hôte. <br /></td></tr>
<tr class="separator:a7eb10c7006ff648d851b15f24e4305c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0410aa30c92de7cca42080e61d4dcd91" id="r_a0410aa30c92de7cca42080e61d4dcd91"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structdisk.html">disk</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a0410aa30c92de7cca42080e61d4dcd91">open_disk</a> (char *filename)</td></tr>
<tr class="memdesc:a0410aa30c92de7cca42080e61d4dcd91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ouvre un fichier conteneur physique existant sur le système hôte pour charger sa structure logique en mémoire RAM. <br /></td></tr>
<tr class="separator:a0410aa30c92de7cca42080e61d4dcd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9db73bc21d502f4b9231a7366070fcad" id="r_a9db73bc21d502f4b9231a7366070fcad"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a9db73bc21d502f4b9231a7366070fcad">do_ls</a> (<a class="el" href="structdisk.html">disk</a> *d, char *path)</td></tr>
<tr class="memdesc:a9db73bc21d502f4b9231a7366070fcad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>ls</code>. Liste l'ensemble des éléments compris dans un répertoire. <br /></td></tr>
<tr class="separator:a9db73bc21d502f4b9231a7366070fcad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae99a488757a20d04370d00dd36dcd605" id="r_ae99a488757a20d04370d00dd36dcd605"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#ae99a488757a20d04370d00dd36dcd605">do_touch</a> (<a class="el" href="structdisk.html">disk</a> *d, char *filepath)</td></tr>
<tr class="memdesc:ae99a488757a20d04370d00dd36dcd605"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>touch</code>. Crée un nouveau fichier vide à l'emplacement indiqué. <br /></td></tr>
<tr class="separator:ae99a488757a20d04370d00dd36dcd605"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69cc37c23ee36cbf476280a13b83276b" id="r_a69cc37c23ee36cbf476280a13b83276b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a69cc37c23ee36cbf476280a13b83276b">do_mkdir</a> (<a class="el" href="structdisk.html">disk</a> *d, char *dirpath)</td></tr>
<tr class="memdesc:a69cc37c23ee36cbf476280a13b83276b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>mkdir</code>. Génère une arborescence de sous-répertoire d'après un chemin fourni. <br /></td></tr>
<tr class="separator:a69cc37c23ee36cbf476280a13b83276b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31d16b7fcc1b8c0cfc7651c86d233bd5" id="r_a31d16b7fcc1b8c0cfc7651c86d233bd5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a31d16b7fcc1b8c0cfc7651c86d233bd5">do_df</a> (<a class="el" href="structdisk.html">disk</a> *d)</td></tr>
<tr class="memdesc:a31d16b7fcc1b8c0cfc7651c86d233bd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>df</code>. Affiche les statistiques d'utilisation de l'espace disque et des inodes. <br /></td></tr>
<tr class="separator:a31d16b7fcc1b8c0cfc7651c86d233bd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab892860e63632cdcf960c65b314772b9" id="r_ab892860e63632cdcf960c65b314772b9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#ab892860e63632cdcf960c65b314772b9">do_rm</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, char *filepath)</td></tr>
<tr class="memdesc:ab892860e63632cdcf960c65b314772b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>rm</code>. Supprime un fichier classique ou un lien symbolique. <br /></td></tr>
<tr class="separator:ab892860e63632cdcf960c65b314772b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af10807a70b9341c379973247c446824e" id="r_af10807a70b9341c379973247c446824e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#af10807a70b9341c379973247c446824e">do_rmdir</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, char *filepath)</td></tr>
<tr class="memdesc:af10807a70b9341c379973247c446824e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>rmdir</code>. Supprime un répertoire vide identifié par son chemin absolu. <br /></td></tr>
<tr class="separator:af10807a70b9341c379973247c446824e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6715a2ff0198e20d4596d140784d633b" id="r_a6715a2ff0198e20d4596d140784d633b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a6715a2ff0198e20d4596d140784d633b">do_cat</a> (<a class="el" href="structdisk.html">disk</a> *<a class="el" href="structdisk.html">disk</a>, char *path_to_file)</td></tr>
<tr class="memdesc:a6715a2ff0198e20d4596d140784d633b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commande système <code>cat</code>. Affiche le contenu d'un fichier ou redirige l'entrée standard. <br /></td></tr>
<tr class="separator:a6715a2ff0198e20d4596d140784d633b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa80df6e40b49030c912453717bc176" id="r_acaa80df6e40b49030c912453717bc176"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#acaa80df6e40b49030c912453717bc176">do_grep</a> (char *arg)</td></tr>
<tr class="separator:acaa80df6e40b49030c912453717bc176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f69e1d7bb5d136f816149887845e9c8" id="r_a6f69e1d7bb5d136f816149887845e9c8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#a6f69e1d7bb5d136f816149887845e9c8">find_dir_inode_by_name</a> (char *name, int dir_index, <a class="el" href="structdisk.html">disk</a> *d)</td></tr>
<tr class="memdesc:a6f69e1d7bb5d136f816149887845e9c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parcourt les entrées d'un répertoire pour extraire l'ID numérique de l'inode correspondant à un nom donné. <br /></td></tr>
<tr class="separator:a6f69e1d7bb5d136f816149887845e9c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1bed71dffe181556a19024ae600412f" id="r_ae1bed71dffe181556a19024ae600412f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#ae1bed71dffe181556a19024ae600412f">redirect_out</a> (<a class="el" href="structdisk.html">disk</a> *d, int mode, char *file, int in)</td></tr>
<tr class="memdesc:ae1bed71dffe181556a19024ae600412f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redirige le flux de données lu depuis un descripteur d'entrée vers un fichier spécifié de notre SGF. <br /></td></tr>
<tr class="separator:ae1bed71dffe181556a19024ae600412f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6626984368788d12c01f0dffe24d4ea" id="r_ad6626984368788d12c01f0dffe24d4ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="disk_8h.html#ad6626984368788d12c01f0dffe24d4ea">persist_on_disk</a> (<a class="el" href="structdisk.html">disk</a> *d)</td></tr>
<tr class="memdesc:ad6626984368788d12c01f0dffe24d4ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Synchronise (sauvegarde) l'arborescence logique en mémoire vive dans le conteneur physique "disk". <br /></td></tr>
<tr class="separator:ad6626984368788d12c01f0dffe24d4ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a7eb10c7006ff648d851b15f24e4305c3" name="a7eb10c7006ff648d851b15f24e4305c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb10c7006ff648d851b15f24e4305c3">&#9670;&#160;</a></span>create_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> create_disk </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Formate et initialise un tout nouveau disque virtuel brut nommé "disk" sur le support hôte. </p>
<ul>
<li>Cette fonction crée la structure logique de base : vidage des tables, initialisation de la racine <code>/</code>, création automatique des liens auto-référencés <code>.</code> et <code>..</code> sur le bloc 0, et génération d'un fichier de test.</li>
<li><dl class="section return"><dt>Returns</dt><dd>disk La structure de données mémoire représentant le disque nouvellement formaté. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a6715a2ff0198e20d4596d140784d633b" name="a6715a2ff0198e20d4596d140784d633b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6715a2ff0198e20d4596d140784d633b">&#9670;&#160;</a></span>do_cat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_cat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>disk</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>path_to_file</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>cat</code>. Affiche le contenu d'un fichier ou redirige l'entrée standard. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">disk</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">path_to_file</td><td>Chemin vers le fichier à lire. Si NULL, la fonction affiche en boucle le flux de l'entrée standard. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 1 en cas de succès, -1 s'il s'agit d'un répertoire. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a31d16b7fcc1b8c0cfc7651c86d233bd5" name="a31d16b7fcc1b8c0cfc7651c86d233bd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31d16b7fcc1b8c0cfc7651c86d233bd5">&#9670;&#160;</a></span>do_df()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_df </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>df</code>. Affiche les statistiques d'utilisation de l'espace disque et des inodes. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int Retourne 0 systématiquement après l'affichage sur la sortie standard. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="acaa80df6e40b49030c912453717bc176" name="acaa80df6e40b49030c912453717bc176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acaa80df6e40b49030c912453717bc176">&#9670;&#160;</a></span>do_grep()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_grep </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>arg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a9db73bc21d502f4b9231a7366070fcad" name="a9db73bc21d502f4b9231a7366070fcad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9db73bc21d502f4b9231a7366070fcad">&#9670;&#160;</a></span>do_ls()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_ls </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>path</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>ls</code>. Liste l'ensemble des éléments compris dans un répertoire. </p>
<ul>
<li>Cette fonction colore la sortie selon le type de fichier rencontré (Vert pour un fichier, Bleu pour un dossier).</li>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">path</td><td>Optionnel : chemin vers le dossier à lister. Si NULL, utilise la variable d'environnement PWD. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 1 en cas de succès, -1 si le répertoire n'existe pas ou s'il s'agit d'un fichier classique. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a69cc37c23ee36cbf476280a13b83276b" name="a69cc37c23ee36cbf476280a13b83276b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69cc37c23ee36cbf476280a13b83276b">&#9670;&#160;</a></span>do_mkdir()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_mkdir </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>dirpath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>mkdir</code>. Génère une arborescence de sous-répertoire d'après un chemin fourni. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">dirpath</td><td>Chemin logique qualifiant le nouveau dossier. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 0 en cas de succès, -1 en cas d'erreur de cheminement ou si le répertoire est déjà pris. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="ab892860e63632cdcf960c65b314772b9" name="ab892860e63632cdcf960c65b314772b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab892860e63632cdcf960c65b314772b9">&#9670;&#160;</a></span>do_rm()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_rm </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>disk</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>rm</code>. Supprime un fichier classique ou un lien symbolique. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">disk</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">filepath</td><td>Chemin vers le fichier cible à supprimer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 0 en cas de succès, -1 en cas d'erreur d'accès ou s'il s'agit d'un répertoire. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="af10807a70b9341c379973247c446824e" name="af10807a70b9341c379973247c446824e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af10807a70b9341c379973247c446824e">&#9670;&#160;</a></span>do_rmdir()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_rmdir </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>disk</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>rmdir</code>. Supprime un répertoire vide identifié par son chemin absolu. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">disk</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">filepath</td><td>Chemin absolu menant au répertoire à supprimer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 0 en cas de succès, -1 en cas d'erreur de chemin, si le dossier n'est pas vide, ou s'il n'existe pas. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="ae99a488757a20d04370d00dd36dcd605" name="ae99a488757a20d04370d00dd36dcd605"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae99a488757a20d04370d00dd36dcd605">&#9670;&#160;</a></span>do_touch()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int do_touch </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filepath</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Commande système <code>touch</code>. Crée un nouveau fichier vide à l'emplacement indiqué. </p>
<ul>
<li><dl class="section note"><dt>Note</dt><dd>Si le nom existe déjà, une erreur est renvoyée (le comportement diffère du touch Unix classique). </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">filepath</td><td>Chemin complet d'accès au fichier à générer. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 0 en cas de succès, -1 si le chemin intermédiaire n'existe pas ou si le nom est indisponible. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a6f69e1d7bb5d136f816149887845e9c8" name="a6f69e1d7bb5d136f816149887845e9c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f69e1d7bb5d136f816149887845e9c8">&#9670;&#160;</a></span>find_dir_inode_by_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int find_dir_inode_by_name </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>dir_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parcourt les entrées d'un répertoire pour extraire l'ID numérique de l'inode correspondant à un nom donné. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name</td><td>Nom de l'élément recherché au sein du dossier. </td></tr>
<tr><td class="paramname">dir_index</td><td>Index du nœud d'index du répertoire de recherche. </td></tr>
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int L'index numérique de l'inode trouvé, ou -1 en cas d'erreur ou d'absence. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="a0410aa30c92de7cca42080e61d4dcd91" name="a0410aa30c92de7cca42080e61d4dcd91"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0410aa30c92de7cca42080e61d4dcd91">&#9670;&#160;</a></span>open_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structdisk.html">disk</a> open_disk </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>filename</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Ouvre un fichier conteneur physique existant sur le système hôte pour charger sa structure logique en mémoire RAM. </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filename</td><td>Chaîne de caractères qualifiant l'emplacement du fichier fichier-disque (généralement "disk"). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>disk La structure mémoire complétée par la lecture brute sérialisée. </dd></dl>
</li>
</ul>
</div>
</div>
<a id="ad6626984368788d12c01f0dffe24d4ea" name="ad6626984368788d12c01f0dffe24d4ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6626984368788d12c01f0dffe24d4ea">&#9670;&#160;</a></span>persist_on_disk()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void persist_on_disk </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Synchronise (sauvegarde) l'arborescence logique en mémoire vive dans le conteneur physique "disk". </p>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers la structure mémoire globale à sérialiser sur le disque dur réel. </td></tr>
</table>
</dd>
</dl>
</li>
</ul>
</div>
</div>
<a id="ae1bed71dffe181556a19024ae600412f" name="ae1bed71dffe181556a19024ae600412f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae1bed71dffe181556a19024ae600412f">&#9670;&#160;</a></span>redirect_out()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int redirect_out </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structdisk.html">disk</a> *&#160;</td>
<td class="paramname"><em>d</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>mode</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>file</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>in</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Redirige le flux de données lu depuis un descripteur d'entrée vers un fichier spécifié de notre SGF. </p>
<ul>
<li>Si le fichier existe déjà, le contenu est soit écrasé, soit complété selon la valeur du paramètre <code>mode</code>. S'il n'existe pas, un fichier classique est automatiquement créé dans son répertoire d'appartenance.</li>
<li><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>Pointeur vers le disque virtuel. </td></tr>
<tr><td class="paramname">mode</td><td>Mode d'ouverture : 0 pour écraser (<code>&gt;</code>), 1 pour ajouter à la fin (<code>&gt;&gt;</code>). </td></tr>
<tr><td class="paramname">file</td><td>Nom ou chemin du fichier cible devant intercepter le flux. </td></tr>
<tr><td class="paramname">in</td><td>Descripteur d'écriture d'entrée (Pipe, stdin, etc.) depuis lequel lire les octets. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 1 après écriture réussie et synchronisation sur le support physique, -1 en cas d'échec de chemin. </dd></dl>
</li>
</ul>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

@ -0,0 +1,24 @@
digraph "src/disk.h"
{
// 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];
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="edge1_Node000001_Node000002",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node2 [id="Node000002",label="src/disk.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$disk_8c.html",tooltip="Implémentation des primitives de bas niveau et des commandes du Système de Gestion de Fichiers (SGF)."];
Node1 -> Node3 [id="edge2_Node000001_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="src/exec.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8c.html",tooltip="Moteur d'exécution des commandes et gestionnaire de l'architecture des redirections (Pipes/Redirectio..."];
Node1 -> Node4 [id="edge3_Node000001_Node000004",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 [id="Node000004",label="src/exec.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$exec_8h.html",tooltip=" "];
Node4 -> Node3 [id="edge4_Node000004_Node000003",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node4 -> Node5 [id="edge5_Node000004_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node5 [id="Node000005",label="src/parsing.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8c.html",tooltip="Gestion de l'interface utilisateur (CLI), du parsing syntaxique de la ligne de commande et de la bouc..."];
Node4 -> Node6 [id="edge6_Node000004_Node000006",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node6 [id="Node000006",label="src/parsing.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$parsing_8h.html",tooltip=" "];
Node6 -> Node7 [id="edge7_Node000006_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node7 [id="Node000007",label="src/main.c",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$main_8c.html",tooltip=" "];
Node6 -> Node5 [id="edge8_Node000006_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node7 [id="edge9_Node000001_Node000007",dir="back",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node5 [id="edge10_Node000001_Node000005",dir="back",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -0,0 +1,33 @@
digraph "src/disk.h"
{
// 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];
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="edge1_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="edge2_Node000001_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node3 [id="Node000003",label="struct.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$struct_8h.html",tooltip="Définition des structures de données fondamentales du Système de Gestion de Fichiers (SGF)."];
Node3 -> Node4 [id="edge3_Node000003_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=" "];
Node1 -> Node5 [id="edge4_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=" "];
Node1 -> Node6 [id="edge5_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="edge6_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=" "];
Node1 -> Node8 [id="edge7_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
Node8 [id="Node000008",label="env.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$env_8h.html",tooltip=" "];
Node8 -> Node3 [id="edge8_Node000008_Node000003",color="steelblue1",style="solid",tooltip=" "];
Node8 -> Node6 [id="edge9_Node000008_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node8 -> Node5 [id="edge10_Node000008_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node4 [id="edge11_Node000001_Node000004",color="steelblue1",style="solid",tooltip=" "];
Node1 -> Node9 [id="edge12_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
Node9 [id="Node000009",label="utils.h",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$utils_8h.html",tooltip=" "];
Node9 -> Node8 [id="edge13_Node000009_Node000008",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node2 [id="edge14_Node000009_Node000002",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node6 [id="edge15_Node000009_Node000006",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node5 [id="edge16_Node000009_Node000005",color="steelblue1",style="solid",tooltip=" "];
Node9 -> Node7 [id="edge17_Node000009_Node000007",color="steelblue1",style="solid",tooltip=" "];
}

View File

@ -0,0 +1,135 @@
<!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: src/disk.h Source File</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&amp;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&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
<!-- 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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">disk.h</div></div>
</div><!--header-->
<div class="contents">
<a href="disk_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<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> </div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include &lt;stdio.h&gt;</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include &quot;<a class="code" href="struct_8h.html">struct.h</a>&quot;</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="preprocessor">#include &lt;stdlib.h&gt;</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;unistd.h&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &quot;<a class="code" href="env_8h.html">env.h</a>&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &quot;<a class="code" href="const_8h.html">const.h</a>&quot;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="utils_8h.html">utils.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</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="l00016" name="l00016"></a><span class="lineno"> 16</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="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#a9db73bc21d502f4b9231a7366070fcad">do_ls</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *d, <span class="keywordtype">char</span>* path);</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#ae99a488757a20d04370d00dd36dcd605">do_touch</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *d, <span class="keywordtype">char</span> *filepath);</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#a69cc37c23ee36cbf476280a13b83276b">do_mkdir</a>(<a class="code hl_struct" href="structdisk.html">disk</a>* d, <span class="keywordtype">char</span> *dirpath);</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#a31d16b7fcc1b8c0cfc7651c86d233bd5">do_df</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *d);</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#ab892860e63632cdcf960c65b314772b9">do_rm</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *<a class="code hl_struct" href="structdisk.html">disk</a>, <span class="keywordtype">char</span> *filepath);</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#af10807a70b9341c379973247c446824e">do_rmdir</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *<a class="code hl_struct" href="structdisk.html">disk</a>, <span class="keywordtype">char</span> *filepath);</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#a6715a2ff0198e20d4596d140784d633b">do_cat</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *<a class="code hl_struct" href="structdisk.html">disk</a>, <span class="keywordtype">char</span>* path_to_file);</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="disk_8h.html#acaa80df6e40b49030c912453717bc176"> 24</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#acaa80df6e40b49030c912453717bc176">do_grep</a>(<span class="keywordtype">char</span>* arg);</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#a6f69e1d7bb5d136f816149887845e9c8">find_dir_inode_by_name</a>(<span class="keywordtype">char</span> *name, <span class="keywordtype">int</span> dir_index, <a class="code hl_struct" href="structdisk.html">disk</a> *d);</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="keywordtype">int</span> <a class="code hl_function" href="disk_8h.html#ae1bed71dffe181556a19024ae600412f">redirect_out</a>(<a class="code hl_struct" href="structdisk.html">disk</a> *d, <span class="keywordtype">int</span> mode, <span class="keywordtype">char</span> *file, <span class="keywordtype">int</span> in);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keywordtype">void</span> <a class="code hl_function" href="disk_8h.html#ad6626984368788d12c01f0dffe24d4ea">persist_on_disk</a>(<a class="code hl_struct" href="structdisk.html">disk</a>* d);</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">Ouvre un fichier conteneur physique existant sur le système hôte pour charger sa structure logique en...</div><div class="ttdef"><b>Definition</b> disk.c:868</div></div>
<div class="ttc" id="adisk_8h_html_a31d16b7fcc1b8c0cfc7651c86d233bd5"><div class="ttname"><a href="disk_8h.html#a31d16b7fcc1b8c0cfc7651c86d233bd5">do_df</a></div><div class="ttdeci">int do_df(disk *d)</div><div class="ttdoc">Commande système df. Affiche les statistiques d'utilisation de l'espace disque et des inodes.</div><div class="ttdef"><b>Definition</b> disk.c:574</div></div>
<div class="ttc" id="adisk_8h_html_a6715a2ff0198e20d4596d140784d633b"><div class="ttname"><a href="disk_8h.html#a6715a2ff0198e20d4596d140784d633b">do_cat</a></div><div class="ttdeci">int do_cat(disk *disk, char *path_to_file)</div><div class="ttdoc">Commande système cat. Affiche le contenu d'un fichier ou redirige l'entrée standard.</div><div class="ttdef"><b>Definition</b> disk.c:717</div></div>
<div class="ttc" id="adisk_8h_html_a69cc37c23ee36cbf476280a13b83276b"><div class="ttname"><a href="disk_8h.html#a69cc37c23ee36cbf476280a13b83276b">do_mkdir</a></div><div class="ttdeci">int do_mkdir(disk *d, char *dirpath)</div><div class="ttdoc">Commande système mkdir. Génère une arborescence de sous-répertoire d'après un chemin fourni.</div><div class="ttdef"><b>Definition</b> disk.c:461</div></div>
<div class="ttc" id="adisk_8h_html_a6f69e1d7bb5d136f816149887845e9c8"><div class="ttname"><a href="disk_8h.html#a6f69e1d7bb5d136f816149887845e9c8">find_dir_inode_by_name</a></div><div class="ttdeci">int find_dir_inode_by_name(char *name, int dir_index, disk *d)</div><div class="ttdoc">Parcourt les entrées d'un répertoire pour extraire l'ID numérique de l'inode correspondant à un nom d...</div><div class="ttdef"><b>Definition</b> disk.c:593</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">Formate et initialise un tout nouveau disque virtuel brut nommé &quot;disk&quot; sur le support hôte.</div><div class="ttdef"><b>Definition</b> disk.c:815</div></div>
<div class="ttc" id="adisk_8h_html_a9db73bc21d502f4b9231a7366070fcad"><div class="ttname"><a href="disk_8h.html#a9db73bc21d502f4b9231a7366070fcad">do_ls</a></div><div class="ttdeci">int do_ls(disk *d, char *path)</div><div class="ttdoc">Commande système ls. Liste l'ensemble des éléments compris dans un répertoire.</div><div class="ttdef"><b>Definition</b> disk.c:619</div></div>
<div class="ttc" id="adisk_8h_html_ab892860e63632cdcf960c65b314772b9"><div class="ttname"><a href="disk_8h.html#ab892860e63632cdcf960c65b314772b9">do_rm</a></div><div class="ttdeci">int do_rm(disk *disk, char *filepath)</div><div class="ttdoc">Commande système rm. Supprime un fichier classique ou un lien symbolique.</div><div class="ttdef"><b>Definition</b> disk.c:283</div></div>
<div class="ttc" id="adisk_8h_html_acaa80df6e40b49030c912453717bc176"><div class="ttname"><a href="disk_8h.html#acaa80df6e40b49030c912453717bc176">do_grep</a></div><div class="ttdeci">int do_grep(char *arg)</div></div>
<div class="ttc" id="adisk_8h_html_ad6626984368788d12c01f0dffe24d4ea"><div class="ttname"><a href="disk_8h.html#ad6626984368788d12c01f0dffe24d4ea">persist_on_disk</a></div><div class="ttdeci">void persist_on_disk(disk *d)</div><div class="ttdoc">Synchronise (sauvegarde) l'arborescence logique en mémoire vive dans le conteneur physique &quot;disk&quot;.</div><div class="ttdef"><b>Definition</b> disk.c:882</div></div>
<div class="ttc" id="adisk_8h_html_ae1bed71dffe181556a19024ae600412f"><div class="ttname"><a href="disk_8h.html#ae1bed71dffe181556a19024ae600412f">redirect_out</a></div><div class="ttdeci">int redirect_out(disk *d, int mode, char *file, int in)</div><div class="ttdoc">Redirige le flux de données lu depuis un descripteur d'entrée vers un fichier spécifié de notre SGF.</div><div class="ttdef"><b>Definition</b> disk.c:761</div></div>
<div class="ttc" id="adisk_8h_html_ae99a488757a20d04370d00dd36dcd605"><div class="ttname"><a href="disk_8h.html#ae99a488757a20d04370d00dd36dcd605">do_touch</a></div><div class="ttdeci">int do_touch(disk *d, char *filepath)</div><div class="ttdoc">Commande système touch. Crée un nouveau fichier vide à l'emplacement indiqué.</div><div class="ttdef"><b>Definition</b> disk.c:416</div></div>
<div class="ttc" id="adisk_8h_html_af10807a70b9341c379973247c446824e"><div class="ttname"><a href="disk_8h.html#af10807a70b9341c379973247c446824e">do_rmdir</a></div><div class="ttdeci">int do_rmdir(disk *disk, char *filepath)</div><div class="ttdoc">Commande système rmdir. Supprime un répertoire vide identifié par son chemin absolu.</div><div class="ttdef"><b>Definition</b> disk.c:207</div></div>
<div class="ttc" id="aenv_8h_html"><div class="ttname"><a href="env_8h.html">env.h</a></div></div>
<div class="ttc" id="astruct_8h_html"><div class="ttname"><a href="struct_8h.html">struct.h</a></div><div class="ttdoc">Définition des structures de données fondamentales du Système de Gestion de Fichiers (SGF).</div></div>
<div class="ttc" id="astructdisk_html"><div class="ttname"><a href="structdisk.html">disk</a></div><div class="ttdoc">Représentation globale en mémoire (Memory Mapping) de la structure logique du disque virtuel.</div><div class="ttdef"><b>Definition</b> struct.h:46</div></div>
<div class="ttc" id="autils_8h_html"><div class="ttname"><a href="utils_8h.html">utils.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

256
docs/html/env_8c.html Normal file
View 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: src/env.c 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&amp;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&amp;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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">env.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Gestionnaire des variables d'environnement pour le shell intégré du SGF.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="env_8h_source.html">env.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for env.c:</div>
<div class="dyncontent">
<div class="center"><img src="env_8c__incl.png" border="0" usemap="#asrc_2env_8c" alt=""/></div>
</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:a9f03a70f263b1c039d6a3975b02cfadd" id="r_a9f03a70f263b1c039d6a3975b02cfadd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structenv.html">env</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html#a9f03a70f263b1c039d6a3975b02cfadd">init_envs</a> ()</td></tr>
<tr class="memdesc:a9f03a70f263b1c039d6a3975b02cfadd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialise le tableau des variables d'environnement par défaut. <br /></td></tr>
<tr class="separator:a9f03a70f263b1c039d6a3975b02cfadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21ed94d5b2eb2f40aaf40cc57d3d6309" id="r_a21ed94d5b2eb2f40aaf40cc57d3d6309"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structenv.html">env</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html#a21ed94d5b2eb2f40aaf40cc57d3d6309">get_instance</a> ()</td></tr>
<tr class="memdesc:a21ed94d5b2eb2f40aaf40cc57d3d6309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Récupère l'instance unique (Singleton) du tableau des variables d'environnement. <br /></td></tr>
<tr class="separator:a21ed94d5b2eb2f40aaf40cc57d3d6309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a684d25b4cc5d9bf14dd67309de8568bf" id="r_a684d25b4cc5d9bf14dd67309de8568bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html#a684d25b4cc5d9bf14dd67309de8568bf">get_env_len</a> (<a class="el" href="structenv.html">env</a> *envs)</td></tr>
<tr class="memdesc:a684d25b4cc5d9bf14dd67309de8568bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calcule le nombre de variables d'environnement actives dans le tableau. <br /></td></tr>
<tr class="separator:a684d25b4cc5d9bf14dd67309de8568bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce3d2cd4284dee64477512b489ddb4f" id="r_a0ce3d2cd4284dee64477512b489ddb4f"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html#a0ce3d2cd4284dee64477512b489ddb4f">get_env_value</a> (char *key)</td></tr>
<tr class="memdesc:a0ce3d2cd4284dee64477512b489ddb4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Recherche et retourne la valeur d'une variable d'environnement d'après sa clé. <br /></td></tr>
<tr class="separator:a0ce3d2cd4284dee64477512b489ddb4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2447e9b952249197b828841281389e8f" id="r_a2447e9b952249197b828841281389e8f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="env_8c.html#a2447e9b952249197b828841281389e8f">set_env_value</a> (char *key, char *value)</td></tr>
<tr class="memdesc:a2447e9b952249197b828841281389e8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modifie la valeur d'une variable d'environnement existante. <br /></td></tr>
<tr class="separator:a2447e9b952249197b828841281389e8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Gestionnaire des variables d'environnement pour le shell intégré du SGF. </p>
<p>Ce fichier implémente un registre de type dictionnaire (Clé / Valeur) sous forme de Singleton pour suivre l'état du shell (répertoire courant PWD, utilisateur, etc.). </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a684d25b4cc5d9bf14dd67309de8568bf" name="a684d25b4cc5d9bf14dd67309de8568bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a684d25b4cc5d9bf14dd67309de8568bf">&#9670;&#160;</a></span>get_env_len()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int get_env_len </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structenv.html">env</a> *&#160;</td>
<td class="paramname"><em>envs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calcule le nombre de variables d'environnement actives dans le tableau. </p>
<p>Parcourt le tableau de structures jusqu'à rencontrer la sentinelle (clé égale à NULL).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">envs</td><td>Pointeur vers le tableau de variables d'environnement. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int Le nombre de variables stockées (hors sentinelle). </dd></dl>
</div>
</div>
<a id="a0ce3d2cd4284dee64477512b489ddb4f" name="a0ce3d2cd4284dee64477512b489ddb4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ce3d2cd4284dee64477512b489ddb4f">&#9670;&#160;</a></span>get_env_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char * get_env_value </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Recherche et retourne la valeur d'une variable d'environnement d'après sa clé. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Le nom de la variable recherchée (ex: "PWD"). </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>char* Un pointeur vers la chaîne de caractères contenant la valeur, ou NULL si la clé n'a pas été trouvée. </dd></dl>
</div>
</div>
<a id="a21ed94d5b2eb2f40aaf40cc57d3d6309" name="a21ed94d5b2eb2f40aaf40cc57d3d6309"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21ed94d5b2eb2f40aaf40cc57d3d6309">&#9670;&#160;</a></span>get_instance()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structenv.html">env</a> * get_instance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Récupère l'instance unique (Singleton) du tableau des variables d'environnement. </p>
<p>Si le tableau n'a pas encore été créé, cette fonction appelle <a class="el" href="env_8c.html#a9f03a70f263b1c039d6a3975b02cfadd" title="Initialise le tableau des variables d&#39;environnement par défaut.">init_envs()</a>. Les appels suivants renverront directement la même zone mémoire.</p>
<dl class="section return"><dt>Returns</dt><dd>env* Pointeur vers l'instance unique du tableau d'environnement. </dd></dl>
</div>
</div>
<a id="a9f03a70f263b1c039d6a3975b02cfadd" name="a9f03a70f263b1c039d6a3975b02cfadd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f03a70f263b1c039d6a3975b02cfadd">&#9670;&#160;</a></span>init_envs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structenv.html">env</a> * init_envs </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialise le tableau des variables d'environnement par défaut. </p>
<p>Alloue l'espace mémoire pour les variables de base ("PWD", "USER", "HOST") et ajoute une sentinelle NULL à la fin pour permettre un parcours sûr.</p>
<dl class="section return"><dt>Returns</dt><dd>env* Un pointeur vers le tableau d'environnements alloué, ou NULL en cas d'échec du malloc. </dd></dl>
</div>
</div>
<a id="a2447e9b952249197b828841281389e8f" name="a2447e9b952249197b828841281389e8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2447e9b952249197b828841281389e8f">&#9670;&#160;</a></span>set_env_value()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int set_env_value </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>key</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Modifie la valeur d'une variable d'environnement existante. </p>
<dl class="section note"><dt>Note</dt><dd>La nouvelle valeur est dupliquée dynamiquement en mémoire via <code>strdup</code>. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>Cette fonction ne gère pas l'ajout d'une nouvelle clé si elle n'existe pas déjà.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">key</td><td>Le nom de la variable à modifier. </td></tr>
<tr><td class="paramname">value</td><td>La nouvelle chaîne de caractères à affecter. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int 1 si la modification a réussi, 0 si la clé n'existe pas dans le tableau. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<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>

Some files were not shown because too many files have changed in this diff Show More