New bitmap method SetRGBConversionFunction which can be used to
[tangerine.git] / rom / intuition / startscreennotifytaglist.c
blobc8d266795ed2964a7c292c46f835cd4a737d22eb
1 /*
2 Copyright 1995-2006, The AROS Development Team. All rights reserved.
3 Copyright 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id: startscreennotifytaglist.c 20651 2006-12-30 20:57:12Z d.brewka $
6 Add a Intuition Notification.
7 */
9 #include <intuition/intuition.h>
11 #include "intuition_intern.h"
13 /*****************************************************************************
15 NAME */
17 #include <proto/exec.h>
18 #include <proto/intuition.h>
19 #include <proto/utility.h>
21 AROS_LH1(IPTR, StartScreenNotifyTagList,
23 /* SYNOPSIS */
24 AROS_LHA(struct TagItem *, tags, A0),
26 /* LOCATION */
27 struct IntuitionBase *, IntuitionBase, 161, Intuition)
29 /* FUNCTION
30 Add Notifications to Intuitionn.
32 INPUTS
33 taglist - A OS4 Styled Taglist for
35 RESULT
36 the value is private only a test against ZERO is allowed and means Failure
38 NOTES
40 EXAMPLE
42 BUGS
44 SEE ALSO
45 EndScreenNotify()
46 INTERNALS
48 HISTORY
50 *****************************************************************************/
52 AROS_LIBFUNC_INIT
53 AROS_LIBBASE_EXT_DECL(struct IntuitionBase *,IntuitionBase)
54 struct IntScreenNotify *notify;
56 notify = (struct IntScreenNotify *) AllocMem(sizeof(struct IntScreenNotify), MEMF_CLEAR);
58 if (notify)
60 notify->port = (struct MsgPort *) GetTagData(SNA_MsgPort, 0, tags);
61 notify->sigbit = (BYTE) GetTagData(SNA_SigBit, 0, tags);
62 notify->sigtask = (struct Task *) GetTagData(SNA_SigTask, 0, tags);
63 notify->flags = (ULONG) GetTagData(SNA_Notify, 0, tags);
64 notify->userdata = (IPTR) GetTagData(SNA_UserData, 0, tags);
65 notify->hook = (struct Hook *) GetTagData(SNA_Hook, 0, tags);
66 notify->node.ln_Pri = (BYTE) GetTagData(SNA_Priority, 0, tags);
67 notify->pubname = (struct MsgPort *) GetTagData(SNA_PubName, 0, tags);
68 ObtainSemaphore(&GetPrivIBase(IntuitionBase)->ScreenNotificationListLock);
69 Enqueue(&GetPrivIBase(IntuitionBase)->ScreenNotificationList, (struct Node *) notify);
70 ReleaseSemaphore(&GetPrivIBase(IntuitionBase)->ScreenNotificationListLock);
73 ReturnPtr ("StartScreenNotifyTagList", APTR, notify);
75 AROS_LIBFUNC_EXIT
76 } /* StartScreenNotifyTagList */