CS318 - Pintos
Pintos source browser for JHU CS318 course
|
bool intq_empty(const struct intq *)
Returns true if Q is empty, false otherwise.
A kernel thread or user process.
uint8_t buf[INTQ_BUFSIZE]
Buffer.
bool intq_full(const struct intq *)
Returns true if Q is full, false otherwise.
uint8_t intq_getc(struct intq *)
Removes a byte from Q and returns it.
#define INTQ_BUFSIZE
An "interrupt queue", a circular buffer shared between kernel threads and external interrupt handlers...
int head
New data is written here.
struct thread * not_empty
Thread waiting for not-empty condition.
int tail
Old data is read here.
A circular queue of bytes.
void intq_init(struct intq *)
Initializes interrupt queue Q.
struct thread * not_full
Thread waiting for not-full condition.
void intq_putc(struct intq *, uint8_t)
devices/intq.h