pintos/src/devices/intq.c File Reference

#include "devices/intq.h"
#include <debug.h>
#include "threads/thread.h"

Go to the source code of this file.

Functions

static int next (int pos)
static void wait (struct intq *q, struct thread **waiter)
static void signal (struct intq *q, struct thread **waiter)
void intq_init (struct intq *q)
bool intq_empty (const struct intq *q)
bool intq_full (const struct intq *q)
uint8_t intq_getc (struct intq *q)
void intq_putc (struct intq *q, uint8_t byte)
static void wait (struct intq *q UNUSED, struct thread **waiter)
static void signal (struct intq *q UNUSED, struct thread **waiter)


Function Documentation

bool intq_empty ( const struct intq q  ) 

Definition at line 21 of file intq.c.

References ASSERT, intq::head, intr_get_level(), INTR_OFF, and intq::tail.

Referenced by intq_getc(), serial_flush(), serial_interrupt(), signal(), wait(), and write_ier().

bool intq_full ( const struct intq q  ) 

Definition at line 29 of file intq.c.

References ASSERT, intq::head, intr_get_level(), INTR_OFF, next(), and intq::tail.

Referenced by input_full(), input_putc(), intq_putc(), serial_putc(), signal(), and wait().

uint8_t intq_getc ( struct intq q  ) 

void intq_init ( struct intq q  ) 

Definition at line 12 of file intq.c.

References intq::head, intq::lock, lock_init(), intq::not_empty, intq::not_full, NULL, and intq::tail.

Referenced by init_poll(), and input_init().

void intq_putc ( struct intq q,
uint8_t  byte 
)

static int next ( int  pos  )  [static]

static void signal ( struct intq *q  UNUSED,
struct thread **  waiter 
) [static]

Definition at line 104 of file intq.c.

References ASSERT, intq_empty(), intq_full(), intr_get_level(), INTR_OFF, NULL, and thread_unblock().

static void signal ( struct intq q,
struct thread **  waiter 
) [static]

Referenced by intq_getc(), intq_putc(), and main().

static void wait ( struct intq *q  UNUSED,
struct thread **  waiter 
) [static]

static void wait ( struct intq q,
struct thread **  waiter 
) [static]


Generated on Mon Jan 10 16:43:58 2011 for Pintos by  doxygen 1.5.6