\hypertarget{tty__info_8c}{}\doxysection{kern/tty\+\_\+info.c File Reference}
\label{tty__info_8c}\index{kern/tty\_info.c@{kern/tty\_info.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+stack.\+h\char`\"{}}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/cons.\+h$>$}\newline
{\ttfamily \#include $<$sys/kdb.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/resourcevar.\+h$>$}\newline
{\ttfamily \#include $<$sys/sbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/sched.\+h$>$}\newline
{\ttfamily \#include $<$sys/stack.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/tty.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm.\+h$>$}\newline
{\ttfamily \#include $<$vm/pmap.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm\+\_\+map.\+h$>$}\newline
Include dependency graph for tty\+\_\+info.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d35/tty__info_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{tty__info_8c_ab5d42ab0190ce1319e4b213d378a88a3}{TESTAB}}(a,  b)~((a)$<$$<$1 $\vert$ (b))
\item 
\#define \mbox{\hyperlink{tty__info_8c_ac861a4f76845366e73497de2abac95a5}{ONLYA}}~2
\item 
\#define \mbox{\hyperlink{tty__info_8c_a11426c2858d61ff04b4b5980fa629ee0}{ONLYB}}~1
\item 
\#define \mbox{\hyperlink{tty__info_8c_a85ddca800985505ab1036cf0d1be748b}{BOTH}}~3
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{tty__info_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{tty__info_8c_a57d93e68f4ff7eb4e01b9fbe7ee479e0}{proc\+\_\+sum}} (struct proc $\ast$p, fixpt\+\_\+t $\ast$estcpup)
\item 
static int \mbox{\hyperlink{tty__info_8c_a2142118c552ca774e1e0fc3b284060f5}{thread\+\_\+compare}} (struct thread $\ast$td, struct thread $\ast$td2)
\item 
static int \mbox{\hyperlink{tty__info_8c_a03da81e282cb3468da579c3cacec4e12}{proc\+\_\+compare}} (struct proc $\ast$p1, struct proc $\ast$p2)
\item 
static int \mbox{\hyperlink{tty__info_8c_aa17c1610d6f9951849df624030d8c82f}{sbuf\+\_\+tty\+\_\+drain}} (void $\ast$a, const char $\ast$d, int len)
\item 
void \mbox{\hyperlink{tty__info_8c_a52c2d18c8cff3f4ed41f7d3908fabdcc}{tty\+\_\+info}} (struct tty $\ast$tp)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{tty__info_8c_a85ddca800985505ab1036cf0d1be748b}\label{tty__info_8c_a85ddca800985505ab1036cf0d1be748b}} 
\index{tty\_info.c@{tty\_info.c}!BOTH@{BOTH}}
\index{BOTH@{BOTH}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{BOTH}{BOTH}}
{\footnotesize\ttfamily \#define BOTH~3}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00086}{86}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.

\mbox{\Hypertarget{tty__info_8c_ac861a4f76845366e73497de2abac95a5}\label{tty__info_8c_ac861a4f76845366e73497de2abac95a5}} 
\index{tty\_info.c@{tty\_info.c}!ONLYA@{ONLYA}}
\index{ONLYA@{ONLYA}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{ONLYA}{ONLYA}}
{\footnotesize\ttfamily \#define ONLYA~2}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00084}{84}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.

\mbox{\Hypertarget{tty__info_8c_a11426c2858d61ff04b4b5980fa629ee0}\label{tty__info_8c_a11426c2858d61ff04b4b5980fa629ee0}} 
\index{tty\_info.c@{tty\_info.c}!ONLYB@{ONLYB}}
\index{ONLYB@{ONLYB}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{ONLYB}{ONLYB}}
{\footnotesize\ttfamily \#define ONLYB~1}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00085}{85}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.

\mbox{\Hypertarget{tty__info_8c_ab5d42ab0190ce1319e4b213d378a88a3}\label{tty__info_8c_ab5d42ab0190ce1319e4b213d378a88a3}} 
\index{tty\_info.c@{tty\_info.c}!TESTAB@{TESTAB}}
\index{TESTAB@{TESTAB}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{TESTAB}{TESTAB}}
{\footnotesize\ttfamily \#define TESTAB(\begin{DoxyParamCaption}\item[{}]{a,  }\item[{}]{b }\end{DoxyParamCaption})~((a)$<$$<$1 $\vert$ (b))}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00083}{83}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{tty__info_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{tty__info_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{tty\_info.c@{tty\_info.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{tty__info_8c_a03da81e282cb3468da579c3cacec4e12}\label{tty__info_8c_a03da81e282cb3468da579c3cacec4e12}} 
\index{tty\_info.c@{tty\_info.c}!proc\_compare@{proc\_compare}}
\index{proc\_compare@{proc\_compare}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{proc\_compare()}{proc\_compare()}}
{\footnotesize\ttfamily static int proc\+\_\+compare (\begin{DoxyParamCaption}\item[{struct proc $\ast$}]{p1,  }\item[{struct proc $\ast$}]{p2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00167}{167}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



References \mbox{\hyperlink{tty__info_8c_source_l00086}{BOTH}}, \mbox{\hyperlink{tty__info_8c_source_l00084}{ONLYA}}, \mbox{\hyperlink{tty__info_8c_source_l00085}{ONLYB}}, \mbox{\hyperlink{tty__info_8c_source_l00089}{proc\+\_\+sum()}}, and \mbox{\hyperlink{tty__info_8c_source_l00083}{TESTAB}}.



Referenced by \mbox{\hyperlink{tty__info_8c_source_l00278}{tty\+\_\+info()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a03da81e282cb3468da579c3cacec4e12_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a03da81e282cb3468da579c3cacec4e12_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tty__info_8c_a57d93e68f4ff7eb4e01b9fbe7ee479e0}\label{tty__info_8c_a57d93e68f4ff7eb4e01b9fbe7ee479e0}} 
\index{tty\_info.c@{tty\_info.c}!proc\_sum@{proc\_sum}}
\index{proc\_sum@{proc\_sum}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{proc\_sum()}{proc\_sum()}}
{\footnotesize\ttfamily static int proc\+\_\+sum (\begin{DoxyParamCaption}\item[{struct proc $\ast$}]{p,  }\item[{fixpt\+\_\+t $\ast$}]{estcpup }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00089}{89}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



References \mbox{\hyperlink{sched__4bsd_8c_source_l01592}{sched\+\_\+pctcpu()}}.



Referenced by \mbox{\hyperlink{tty__info_8c_source_l00167}{proc\+\_\+compare()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=263pt]{de/d70/tty__info_8c_a57d93e68f4ff7eb4e01b9fbe7ee479e0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a57d93e68f4ff7eb4e01b9fbe7ee479e0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tty__info_8c_aa17c1610d6f9951849df624030d8c82f}\label{tty__info_8c_aa17c1610d6f9951849df624030d8c82f}} 
\index{tty\_info.c@{tty\_info.c}!sbuf\_tty\_drain@{sbuf\_tty\_drain}}
\index{sbuf\_tty\_drain@{sbuf\_tty\_drain}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{sbuf\_tty\_drain()}{sbuf\_tty\_drain()}}
{\footnotesize\ttfamily static int sbuf\+\_\+tty\+\_\+drain (\begin{DoxyParamCaption}\item[{void $\ast$}]{a,  }\item[{const char $\ast$}]{d,  }\item[{int}]{len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00221}{221}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



References \mbox{\hyperlink{kern__cons_8c_source_l00539}{cnputsn()}}, \mbox{\hyperlink{subr__kdb_8c_source_l00056}{kdb\+\_\+active}}, and \mbox{\hyperlink{tty__ttydisc_8c_source_l01284}{tty\+\_\+putstrn()}}.



Referenced by \mbox{\hyperlink{tty__info_8c_source_l00278}{tty\+\_\+info()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_aa17c1610d6f9951849df624030d8c82f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_aa17c1610d6f9951849df624030d8c82f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tty__info_8c_a2142118c552ca774e1e0fc3b284060f5}\label{tty__info_8c_a2142118c552ca774e1e0fc3b284060f5}} 
\index{tty\_info.c@{tty\_info.c}!thread\_compare@{thread\_compare}}
\index{thread\_compare@{thread\_compare}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{thread\_compare()}{thread\_compare()}}
{\footnotesize\ttfamily static int thread\+\_\+compare (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct thread $\ast$}]{td2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00111}{111}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



References \mbox{\hyperlink{tty__info_8c_source_l00086}{BOTH}}, \mbox{\hyperlink{tty__info_8c_source_l00084}{ONLYA}}, \mbox{\hyperlink{tty__info_8c_source_l00085}{ONLYB}}, \mbox{\hyperlink{sched__4bsd_8c_source_l01592}{sched\+\_\+pctcpu()}}, and \mbox{\hyperlink{tty__info_8c_source_l00083}{TESTAB}}.



Referenced by \mbox{\hyperlink{tty__info_8c_source_l00278}{tty\+\_\+info()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=295pt]{de/d70/tty__info_8c_a2142118c552ca774e1e0fc3b284060f5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a2142118c552ca774e1e0fc3b284060f5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{tty__info_8c_a52c2d18c8cff3f4ed41f7d3908fabdcc}\label{tty__info_8c_a52c2d18c8cff3f4ed41f7d3908fabdcc}} 
\index{tty\_info.c@{tty\_info.c}!tty\_info@{tty\_info}}
\index{tty\_info@{tty\_info}!tty\_info.c@{tty\_info.c}}
\doxysubsubsection{\texorpdfstring{tty\_info()}{tty\_info()}}
{\footnotesize\ttfamily void tty\+\_\+info (\begin{DoxyParamCaption}\item[{struct tty $\ast$}]{tp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{tty__info_8c_source_l00278}{278}} of file \mbox{\hyperlink{tty__info_8c_source}{tty\+\_\+info.\+c}}.



References \mbox{\hyperlink{kern__synch_8c_source_l00084}{averunnable}}, \mbox{\hyperlink{kern__tc_8c_source_l00406}{microuptime()}}, \mbox{\hyperlink{tty__info_8c_source_l00167}{proc\+\_\+compare()}}, \mbox{\hyperlink{kern__resource_8c_source_l01197}{rufetchcalc()}}, \mbox{\hyperlink{subr__sbuf_8c_source_l00898}{sbuf\+\_\+delete()}}, \mbox{\hyperlink{subr__sbuf_8c_source_l00833}{sbuf\+\_\+finish()}}, \mbox{\hyperlink{subr__sbuf_8c_source_l00196}{sbuf\+\_\+new()}}, \mbox{\hyperlink{subr__sbuf_8c_source_l00739}{sbuf\+\_\+printf()}}, \mbox{\hyperlink{subr__sbuf_8c_source_l00376}{sbuf\+\_\+set\+\_\+drain()}}, \mbox{\hyperlink{tty__info_8c_source_l00221}{sbuf\+\_\+tty\+\_\+drain()}}, \mbox{\hyperlink{sched__4bsd_8c_source_l01592}{sched\+\_\+pctcpu()}}, \mbox{\hyperlink{subr__stack_8c_source_l00173}{stack\+\_\+sbuf\+\_\+print\+\_\+flags()}}, \mbox{\hyperlink{tty__info_8c_source_l00111}{thread\+\_\+compare()}}, \mbox{\hyperlink{kern__time_8c_source_l01055}{timevalsub()}}, and \mbox{\hyperlink{tty_8c_source_l02000}{tty\+\_\+checkoutq()}}.



Referenced by \mbox{\hyperlink{tty_8c_source_l01627}{tty\+\_\+generic\+\_\+ioctl()}}, and \mbox{\hyperlink{tty_8c_source_l01506}{tty\+\_\+signal\+\_\+pgrp()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a52c2d18c8cff3f4ed41f7d3908fabdcc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d70/tty__info_8c_a52c2d18c8cff3f4ed41f7d3908fabdcc_icgraph}
\end{center}
\end{figure}
