\subsection*{tq\_struct}
Each task queue (\ds{tq\_struct}) data structure holds information about work
that has been queued.
This is usually a task needed by a device driver but which does not have to be
done immediately.
\SeeModule{include/linux/\\tqueue.h}
\begin{tscreen}\begin{verbatim}
struct tq_struct {
    struct tq_struct *next;   /* linked list of active bh's */
    int sync;                 /* must be initialized to zero */
    void (*routine)(void *);  /* function to call */
    void *data;               /* argument to function */
};
\end{verbatim}\end{tscreen}
