Rev 1932 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1932 | Rev 1933 | ||
---|---|---|---|
Line 69... | Line 69... | ||
69 | #ifdef KERNEL |
69 | #ifdef KERNEL |
70 | 70 | ||
71 | #include <ipc/ipc.h> |
71 | #include <ipc/ipc.h> |
72 | #include <typedefs.h> |
72 | #include <typedefs.h> |
73 | #include <arch/types.h> |
73 | #include <arch/types.h> |
- | 74 | #include <adt/list.h> |
|
74 | 75 | ||
75 | /** IPC notification config structure. |
76 | /** IPC notification config structure. |
76 | * |
77 | * |
77 | * Primarily, this structure is encapsulated in the irq_t structure. |
78 | * Primarily, this structure is encapsulated in the irq_t structure. |
78 | * It is protected by irq_t::lock. |
79 | * It is protected by irq_t::lock. |
Line 81... | Line 82... | ||
81 | bool notify; /**< When false, notifications are not sent. */ |
82 | bool notify; /**< When false, notifications are not sent. */ |
82 | answerbox_t *answerbox; /**< Answerbox for notifications. */ |
83 | answerbox_t *answerbox; /**< Answerbox for notifications. */ |
83 | unative_t method; /**< Method to be used for the notification. */ |
84 | unative_t method; /**< Method to be used for the notification. */ |
84 | irq_code_t *code; /**< Top-half pseudocode. */ |
85 | irq_code_t *code; /**< Top-half pseudocode. */ |
85 | count_t counter; /**< Counter. */ |
86 | count_t counter; /**< Counter. */ |
- | 87 | link_t link; /**< Link between IRQs that are notifying the |
|
- | 88 | same answerbox. The list is protected by |
|
- | 89 | the answerbox irq_lock. */ |
|
86 | }; |
90 | }; |
87 | 91 | ||
88 | extern int ipc_irq_register(answerbox_t *box, inr_t inr, devno_t devno, unative_t method, |
92 | extern int ipc_irq_register(answerbox_t *box, inr_t inr, devno_t devno, unative_t method, |
89 | irq_code_t *ucode); |
93 | irq_code_t *ucode); |
90 | extern void ipc_irq_send_notif(irq_t *irq); |
94 | extern void ipc_irq_send_notif(irq_t *irq); |