\doxysection{src/exec.h File Reference}
\hypertarget{exec_8h}{}\label{exec_8h}\index{src/exec.h@{src/exec.h}}
{\ttfamily \#include "{}disk.\+h"{}}\newline
{\ttfamily \#include "{}env.\+h"{}}\newline
{\ttfamily \#include "{}utils.\+h"{}}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$string.\+h$>$}\newline
{\ttfamily \#include $<$unistd.\+h$>$}\newline
{\ttfamily \#include $<$stdlib.\+h$>$}\newline
{\ttfamily \#include $<$sys/wait.\+h$>$}\newline
{\ttfamily \#include $<$ctype.\+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_a82beace5b13f7e2d89dae34187bb7f46}{execute\+\_\+cmd}} (\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}d, \mbox{\hyperlink{structcommand}{command}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}args)
\begin{DoxyCompactList}\small\item\em Point d\textquotesingle{}entrée principal pour l\textquotesingle{}orchestration, le pipelining et l\textquotesingle{}exécution d\textquotesingle{}une ligne de commande. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\Hypertarget{exec_8h_a82beace5b13f7e2d89dae34187bb7f46}\label{exec_8h_a82beace5b13f7e2d89dae34187bb7f46} 
\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[{\mbox{\hyperlink{structdisk}{disk}} \texorpdfstring{$\ast$}{*}}]{d,  }\item[{\mbox{\hyperlink{structcommand}{command}} \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}}]{args }\end{DoxyParamCaption})}



Point d\textquotesingle{}entrée principal pour l\textquotesingle{}orchestration, le pipelining et l\textquotesingle{}exécution d\textquotesingle{}une ligne de commande. 

Gère de bout en bout le cycle de vie d\textquotesingle{}une instruction du Shell \+:
\begin{DoxyEnumerate}
\item Intercepte en priorité la commande intégrée {\ttfamily cd}.
\item Gère la déconnexion de l\textquotesingle{}utilisateur (Ctrl+D).
\item Organise l\textquotesingle{}enchaînement séquentiel de n-\/commandes via des tubes anonymes ({\ttfamily pipe}).
\item Configure l\textquotesingle{}interception finale si une redirection de flux sortant vers un fichier ({\ttfamily \texorpdfstring{$>$}{>}} ou {\ttfamily \texorpdfstring{$>$}{>}\texorpdfstring{$>$}{>}}) est détectée.
\item Bloque le parent jusqu\textquotesingle{}à la fin de l\textquotesingle{}exécution de l\textquotesingle{}intégralité des sous-\/processus créés.
\end{DoxyEnumerate}


\begin{DoxyParams}{Parameters}
{\em d} & Pointeur vers le disque virtuel. \\
\hline
{\em args} & Tableau de pointeurs vers des structures {\ttfamily command} à exécuter en chaîne (Pipeline). Terminée par NULL. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
int Statut de sortie final obtenu via {\ttfamily waitpid()}. 
\end{DoxyReturn}
