Difference between revisions of "NEWSS:AddNotification"
Steveice10 (talk | contribs) (Make it clear that there are 0x18 bytes between programID and datetime.) |
Steveice10 (talk | contribs) (Add to and clean up notification header info.) |
||
Line 45: | Line 45: | ||
| 0x0 | | 0x0 | ||
| 0x1 | | 0x1 | ||
− | | u8 flag: 0 = | + | | u8 flag: 0 = invalid, 1 = valid ("notification exists" flag). |
|- | |- | ||
| 0x1 | | 0x1 | ||
| 0x1 | | 0x1 | ||
− | | u8 flag: | + | | u8 flag: 0 = read, 1 = unread |
|- | |- | ||
| 0x2 | | 0x2 | ||
| 0x1 | | 0x1 | ||
− | | u8 flag: 0 = | + | | u8 flag: 0 = image data is not JPEG, 1 = image data is JPEG. |
|- | |- | ||
| 0x3 | | 0x3 | ||
| 0x1 | | 0x1 | ||
− | | u8 flag: | + | | u8 flag: 0 = non-SpotPass notification, 1 = SpotPass notification. |
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0x1 | | 0x1 | ||
− | | u8 flag | + | | u8 flag: 0 = opted in to this notification, 1 = opted out of this notification |
+ | |- | ||
+ | | 0x5 | ||
+ | | 0x3 | ||
+ | | unknown | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | u64 programID | + | | u64 programID: notification source (zero for system notifications) |
|- | |- | ||
| 0x10 | | 0x10 | ||
+ | | 0x8 | ||
+ | | unknown | ||
+ | |- | ||
| 0x18 | | 0x18 | ||
+ | | 0x8 | ||
+ | | u64 jumpParam: specified by source app and later retrieved via APT to identify which notification, if any, it was launched from | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x8 | ||
| unknown | | unknown | ||
|- | |- | ||
Line 76: | Line 88: | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
− | | | + | | 0x40 |
| UTF-16 string for the notification title | | UTF-16 string for the notification title | ||
|} | |} | ||
− | This structure is | + | This structure is 0x70-bytes. |
+ | |||
+ | When [[NEWSS:GetNotificationHeader]] is used where the u8 flag at 0x3 is value 1, news-module then uses [[BOSS_Services|boss:P]] command 0x04070080 with the u64 programID at offset 0x8 in this header. When that's successful, [[NEWSS:GetNotificationHeader]] copies the output u8, the SpotPass opt-out flag, from that BOSS command to the u8 flag at 0x4. Otherwise, the opt-out flag is 0 for opted in. | ||
=Message= | =Message= |
Revision as of 07:16, 8 October 2015
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 = invalid, 1 = valid ("notification exists" flag). |
0x1 | 0x1 | u8 flag: 0 = read, 1 = unread |
0x2 | 0x1 | u8 flag: 0 = image data is not JPEG, 1 = image data is JPEG. |
0x3 | 0x1 | u8 flag: 0 = non-SpotPass notification, 1 = SpotPass notification. |
0x4 | 0x1 | u8 flag: 0 = opted in to this notification, 1 = opted out of this notification |
0x5 | 0x3 | unknown |
0x8 | 0x8 | u64 programID: notification source (zero for system notifications) |
0x10 | 0x8 | unknown |
0x18 | 0x8 | u64 jumpParam: specified by source app and later retrieved via APT to identify which notification, if any, it was launched from |
0x20 | 0x8 | unknown |
0x28 | 0x8 | u64 datetime: milliseconds since January 1, 2000. |
0x30 | 0x40 | UTF-16 string for the notification title |
This structure is 0x70-bytes.
When NEWSS:GetNotificationHeader is used where the u8 flag at 0x3 is value 1, news-module then uses boss:P command 0x04070080 with the u64 programID at offset 0x8 in this header. When that's successful, NEWSS:GetNotificationHeader copies the output u8, the SpotPass opt-out flag, from that BOSS command to the u8 flag at 0x4. Otherwise, the opt-out flag is 0 for opted in.
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.