1/*
2 * Copyright 2014, General Dynamics C4 Systems
3 *
4 * This software may be distributed and modified according to the terms of
5 * the GNU General Public License version 2. Note that NO WARRANTY is provided.
6 * See "LICENSE_GPLv2.txt" for details.
7 *
8 * @TAG(GD_GPL)
9 */
10
11#ifndef __OBJECT_NOTIFICATION_H
12#define __OBJECT_NOTIFICATION_H
13
14#include <types.h>
15#include <object/structures.h>
16
17void sendSignal(notification_t *ntfnPtr, word_t badge);
18void receiveSignal(tcb_t *thread, cap_t cap, bool_t isBlocking);
19void cancelAllSignals(notification_t *ntfnPtr);
20void cancelSignal(tcb_t *threadPtr, notification_t *ntfnPtr);
21void completeSignal(notification_t *ntfnPtr, tcb_t *tcb);
22void unbindMaybeNotification(notification_t *ntfnPtr);
23void unbindNotification(tcb_t *tcb);
24void bindNotification(tcb_t *tcb, notification_t *ntfnPtr);
25void reorderNTFN(notification_t *notification, tcb_t *thread);
26
27#endif
28