Subversion Repositories HelenOS

Rev

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);