\hypertarget{ipc_8h}{
\section{libbroadway/include/broadway/ipc.h File Reference}
\label{ipc_8h}\index{libbroadway/include/broadway/ipc.h@{libbroadway/include/broadway/ipc.h}}
}
{\ttfamily \#include $<$ipc\_\-common.h$>$}\par
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structipc__request__t}{ipc\_\-request\_\-t}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{ipc_8h_acda8a014a07a6e988fec172c2c44da94}{ipc\_\-initialize} (void)
\begin{DoxyCompactList}\small\item\em Initializes the IPC subsystem. \item\end{DoxyCompactList}\item 
void \hyperlink{ipc_8h_afcc8cc9c2d1193f21969f67cf29180b4}{ipc\_\-shutdown} (void)
\begin{DoxyCompactList}\small\item\em Shuts down the IPC subsystem. \item\end{DoxyCompactList}\item 
void \hyperlink{ipc_8h_a6b049c62c19dc2cf8224c3620b4eedbd}{ipc\_\-post} (u32 code, u32 tag, u32 num\_\-args,...)
\begin{DoxyCompactList}\small\item\em Posts an IPC request. \item\end{DoxyCompactList}\item 
\hypertarget{ipc_8h_ac146e4141e78a5f3add6587461dc11dc}{
void \hyperlink{ipc_8h_ac146e4141e78a5f3add6587461dc11dc}{ipc\_\-flush} (void)}
\label{ipc_8h_ac146e4141e78a5f3add6587461dc11dc}

\begin{DoxyCompactList}\small\item\em Flushes all IPC requests. \item\end{DoxyCompactList}\item 
\hyperlink{structipc__request__t}{ipc\_\-request\_\-t} $\ast$ \hyperlink{ipc_8h_ae659ca80c46461feafb6edb9853c142e}{ipc\_\-receive} (void)
\begin{DoxyCompactList}\small\item\em Receive an IPC request. \item\end{DoxyCompactList}\item 
\hyperlink{structipc__request__t}{ipc\_\-request\_\-t} $\ast$ \hyperlink{ipc_8h_a9c2273caafb327e11a9bf5d16a7d8bfa}{ipc\_\-receive\_\-tagged} (u32 code, u32 tag)
\begin{DoxyCompactList}\small\item\em Receive an IPC request. \item\end{DoxyCompactList}\item 
\hyperlink{structipc__request__t}{ipc\_\-request\_\-t} $\ast$ \hyperlink{ipc_8h_a9421693f9ef45a2960e2cf928ab8247d}{ipc\_\-exchange} (u32 code, u32 num\_\-args,...)
\begin{DoxyCompactList}\small\item\em Send and receive an IPC request. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ipc_8h_a39988f049184ffcb91d5a3c00e1a74ae}{
void $\ast$ {\bfseries mem2\_\-boundary}}
\label{ipc_8h_a39988f049184ffcb91d5a3c00e1a74ae}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Various IPC functions to communicate with MINI. 

\subsection{Function Documentation}
\hypertarget{ipc_8h_a9421693f9ef45a2960e2cf928ab8247d}{
\index{ipc.h@{ipc.h}!ipc\_\-exchange@{ipc\_\-exchange}}
\index{ipc\_\-exchange@{ipc\_\-exchange}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-exchange}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ipc\_\-request\_\-t}$\ast$ ipc\_\-exchange (u32 {\em code}, \/  u32 {\em num\_\-args}, \/   {\em ...})}}
\label{ipc_8h_a9421693f9ef45a2960e2cf928ab8247d}


Send and receive an IPC request. 


\begin{DoxyParams}{Parameters}
\item[{\em code}]the request code to send. \item[{\em num\_\-args}]how many arguments to pass. \item[{\em ...}]the arguments. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
The ipc\_\-request with all information given. 
\end{DoxyReturn}
\hypertarget{ipc_8h_acda8a014a07a6e988fec172c2c44da94}{
\index{ipc.h@{ipc.h}!ipc\_\-initialize@{ipc\_\-initialize}}
\index{ipc\_\-initialize@{ipc\_\-initialize}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-initialize}]{\setlength{\rightskip}{0pt plus 5cm}int ipc\_\-initialize (void)}}
\label{ipc_8h_acda8a014a07a6e988fec172c2c44da94}


Initializes the IPC subsystem. 

\begin{DoxyReturn}{Returns}
If initialization was successful, returns 1. Otherwise 0. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{ipc_8h_afcc8cc9c2d1193f21969f67cf29180b4}{ipc\_\-shutdown()} 
\end{DoxySeeAlso}
\hypertarget{ipc_8h_a6b049c62c19dc2cf8224c3620b4eedbd}{
\index{ipc.h@{ipc.h}!ipc\_\-post@{ipc\_\-post}}
\index{ipc\_\-post@{ipc\_\-post}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-post}]{\setlength{\rightskip}{0pt plus 5cm}void ipc\_\-post (u32 {\em code}, \/  u32 {\em tag}, \/  u32 {\em num\_\-args}, \/   {\em ...})}}
\label{ipc_8h_a6b049c62c19dc2cf8224c3620b4eedbd}


Posts an IPC request. 


\begin{DoxyParams}{Parameters}
\item[{\em code}]the request code. \item[{\em tag}]the tag. \item[{\em num\_\-args}]how many arguments to pass. \item[{\em ...}]the arguments. \end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{ipc_8h_ae659ca80c46461feafb6edb9853c142e}{ipc\_\-receive()}, \hyperlink{ipc_8h_a9421693f9ef45a2960e2cf928ab8247d}{ipc\_\-exchange()} 
\end{DoxySeeAlso}
\hypertarget{ipc_8h_ae659ca80c46461feafb6edb9853c142e}{
\index{ipc.h@{ipc.h}!ipc\_\-receive@{ipc\_\-receive}}
\index{ipc\_\-receive@{ipc\_\-receive}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-receive}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ipc\_\-request\_\-t}$\ast$ ipc\_\-receive (void)}}
\label{ipc_8h_ae659ca80c46461feafb6edb9853c142e}


Receive an IPC request. 

\begin{DoxyReturn}{Returns}
The ipc\_\-request with all information given. 
\end{DoxyReturn}
\hypertarget{ipc_8h_a9c2273caafb327e11a9bf5d16a7d8bfa}{
\index{ipc.h@{ipc.h}!ipc\_\-receive\_\-tagged@{ipc\_\-receive\_\-tagged}}
\index{ipc\_\-receive\_\-tagged@{ipc\_\-receive\_\-tagged}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-receive\_\-tagged}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ipc\_\-request\_\-t}$\ast$ ipc\_\-receive\_\-tagged (u32 {\em code}, \/  u32 {\em tag})}}
\label{ipc_8h_a9c2273caafb327e11a9bf5d16a7d8bfa}


Receive an IPC request. 


\begin{DoxyParams}{Parameters}
\item[{\em code}]the request code to recieve a request from. \item[{\em tag}]the tag the request has. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
The ipc\_\-request with all information given. 
\end{DoxyReturn}
\hypertarget{ipc_8h_afcc8cc9c2d1193f21969f67cf29180b4}{
\index{ipc.h@{ipc.h}!ipc\_\-shutdown@{ipc\_\-shutdown}}
\index{ipc\_\-shutdown@{ipc\_\-shutdown}!ipc.h@{ipc.h}}
\subsubsection[{ipc\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}void ipc\_\-shutdown (void)}}
\label{ipc_8h_afcc8cc9c2d1193f21969f67cf29180b4}


Shuts down the IPC subsystem. 

\begin{DoxySeeAlso}{See also}
\hyperlink{ipc_8h_acda8a014a07a6e988fec172c2c44da94}{ipc\_\-initialize()} 
\end{DoxySeeAlso}
