NEWSS:AddNotification

From 3dbrew
Revision as of 18:00, 14 April 2015 by Steveice10 (talk | contribs) (Make it clear that there are 0x18 bytes between programID and datetime.)
Jump to navigation Jump to search

Request

Index Word Description
0 Header code [0x000100C6]
1 Header buffer size
2 Message buffer size
3 Image buffer size, can be zero
4 (HdrSize<<4) | 10
5 Header buffer ptr
6 (MsgSize<<4) | 10
7 Message buffer ptr
8 (ImageSize<<4) | 10
9 Image buffer ptr, can be 0x0

Header structure

Offset Size Description
0x0 0x1 u8 flag: 0 = notification header data not set, 1 = notification data set("notification exists" flag).
0x1 0x1 u8 flag: 1 = not "read" by the notifications applet, 0 otherwise.
0x2 0x1 u8 flag: 0 = disable JPEG, 1 = enable JPEG.
0x3 0x1 u8 flag: when NEWSS:GetNotificationHeader is used where this flag is value 1, news-module then uses boss:P command 0x04070080 with the input u64 loaded from offset 0x8 in this header. When that's successful, NEWSS:GetNotificationHeader copies the output u8 from that BOSS command to out_notificationheader+4.
0x4 0x1 u8 flag
0x8 0x8 u64 programID that this notification is associated with, this is zero for system notifications.
0x10 0x18 unknown
0x28 0x8 u64 datetime: milliseconds since January 1, 2000.
0x30 ? UTF-16 string for the notification title

This structure is normally 0x70-bytes.

Message

This is an UTF-16 string for the notification message text, this buffer includes the null-terminator.

Image

The MPO data is optional. This is displayed on the top-screen by the notifications applet.

Response

Index Word Description
0 Header code
1 Resultcode

Description

This adds a notification to the list of notifications, which is displayed by the notifications applet. This is added to the end of the list of notifications.