NEWSS:AddNotification: Difference between revisions

 
(7 intermediate revisions by 2 users not shown)
Line 45: Line 45:
| 0x0
| 0x0
| 0x1
| 0x1
| u8 flag: 0 = notification header data not set, 1 = notification data set("notification exists" flag).
| u8 flag: 0 = invalid, 1 = valid ("notification exists" flag).
|-
|-
| 0x1
| 0x1
| 0x1
| 0x1
| u8 flag: 1 = not "read" by the notifications applet, 0 otherwise.
| u8 flag: 0 = read, 1 = unread
|-
|-
| 0x2
| 0x2
| 0x1
| 0x1
| u8 flag: 0 = disable JPEG, 1 = enable JPEG.
| u8 flag: 0 = image data is not JPEG, 1 = image data is JPEG.
|-
|-
| 0x3
| 0x3
| 0x1
| 0x1
| u8 flag: when [[NEWSS:GetNotificationHeader]] is used where this flag is value 1, news-module then uses [[BOSS_Services|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.
| u8 flag: 0 = non-SpotPass notification, 1 = SpotPass notification (zero for system notifications)
|-
|-
| 0x4
| 0x4
| 0x1
| 0x1
| u8 flag
| u8 flag: 0 = opted in to this notification, 1 = opted out of this notification
|-
| 0x5
| 0x1
| u8 flag: 0 = message doesn't have a browser link, 1 = message has a browser link
|-
| 0x6
| 0x1
| u8 flag: unknown
|-
| 0x7
| 0x1
| padding?
|-
|-
| 0x8
| 0x8
| 0x8
| 0x8
| u64 programID that this notification is associated with, this is zero for system notifications.
| u64 programID: notification source (zero for system notifications)
|-
| 0x10
| 0x4
| u32 nsDataId: set by the sysmodule when handling BOSS notifications
|-
| 0x14
| 0x4
| u32 version: set by the sysmodule when handling BOSS notifications
|-
| 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
| padding?
|-
|-
| 0x28
| 0x28
Line 72: Line 100:
|-
|-
| 0x30
| 0x30
| ?
| 0x40
| UTF-16 string for the notification title
| UTF-16 string for the notification title
|}
|}


This structure is normally 0x70-bytes.
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=
This is an UTF-16 string for the notification message text, this buffer includes the null-terminator.
This is an UTF-16 string for the notification message text, this buffer includes the null-terminator. When the message has the browser link flag set, the URL it's located after the null-terminator of the message text as a UTF-8 string, also with null-termination. The maximum size in bytes is 0x1780.


=Image=
=Image=
The MPO data is optional. This is displayed on the top-screen by the notifications applet.
The MPO data is optional. This is displayed on the top-screen by the notifications applet. The maximum size in bytes is 0x10000.


=Response=
=Response=