XenevaOS
Loading...
Searching...
No Matches
XenevaOS
BaseHdr
Sync
waitq.h
Go to the documentation of this file.
1
30
#ifndef __WAIT_QUEUE_H__
31
#define __WAIT_QUEUE_H__
32
33
#include <stdint.h>
34
#include <
Hal/AA64/aa64cpu.h
>
35
#include <
Hal/AA64/sched.h
>
36
37
struct
_au_wait_queue
;
38
39
typedef
struct
_au_waitq_entry_
{
40
AA64Thread*
thread
;
41
void
*
data
;
42
struct
_au_wait_queue
*
queue
;
43
struct
_au_waitq_entry_
*
next
;
44
struct
_au_waitq_entry_
*
prev
;
45
struct
_au_waitq_entry_
*
owner_next
;
46
}
AuWaitQEntry
;
47
48
typedef
struct
_au_wait_queue
{
49
AuWaitQEntry
*
head
;
50
}
AuWaitQueue
;
51
52
extern
void
AuWaitQueueInitialize
(
AuWaitQueue
*
queue
);
53
54
extern
void
AuWaitQueueAdd
(
AuWaitQueue
* q,
AuWaitQEntry
* e);
55
56
extern
void
AuWaitQueueRemove
(
AuWaitQEntry
* e);
57
58
extern
void
AuWaitQueue_Wake
(
AuWaitQueue
* q);
59
60
extern
void
AuWaitQueue_DetachAll
(
AuWaitQueue
* q);
61
62
extern
void
AuWaitQ_DestroyChain
(
AuWaitQEntry
* chain);
63
64
#endif
sched.h
aa64cpu.h
_au_wait_queue
Definition
waitq.h:48
_au_wait_queue::head
AuWaitQEntry * head
Definition
waitq.h:49
_au_waitq_entry_
Definition
waitq.h:39
_au_waitq_entry_::next
struct _au_waitq_entry_ * next
Definition
waitq.h:43
_au_waitq_entry_::prev
struct _au_waitq_entry_ * prev
Definition
waitq.h:44
_au_waitq_entry_::thread
AA64Thread * thread
Definition
waitq.h:40
_au_waitq_entry_::owner_next
struct _au_waitq_entry_ * owner_next
Definition
waitq.h:45
_au_waitq_entry_::data
void * data
Definition
waitq.h:41
_au_waitq_entry_::queue
struct _au_wait_queue * queue
Definition
waitq.h:42
queue
struct VirtioQueue * queue
Definition
virtiokbd.c:45
AuWaitQueue_DetachAll
void AuWaitQueue_DetachAll(AuWaitQueue *q)
Definition
waitq.c:89
AuWaitQueueAdd
void AuWaitQueueAdd(AuWaitQueue *q, AuWaitQEntry *e)
Definition
waitq.c:43
AuWaitQueueRemove
void AuWaitQueueRemove(AuWaitQEntry *e)
Definition
waitq.c:55
AuWaitQueue
struct _au_wait_queue AuWaitQueue
AuWaitQueueInitialize
void AuWaitQueueInitialize(AuWaitQueue *queue)
AuWaitQueueInitialize – initialize a queue.
Definition
waitq.c:37
AuWaitQueue_Wake
void AuWaitQueue_Wake(AuWaitQueue *q)
Definition
waitq.c:73
AuWaitQ_DestroyChain
void AuWaitQ_DestroyChain(AuWaitQEntry *chain)
Definition
waitq.c:104
AuWaitQEntry
struct _au_waitq_entry_ AuWaitQEntry
Generated by
1.9.8