NS services: Difference between revisions

Line 1,698: Line 1,698:
Takes two type-0x5 input buffers containing an array of [[#ApplicationDeliveryInfo]], returns an output u8 bool.
Takes two type-0x5 input buffers containing an array of [[#ApplicationDeliveryInfo]], returns an output u8 bool.


The array-count for the second buffer must be 1 and the array-count for the first buffer must be <=1, otherwise an error is returned. If the array-count for the first buffer is 0, this will return 0 with the output bool set to 0.
The array-count for the second buffer must be 1, otherwise an error is returned. The second [[#ApplicationDeliveryInfo]] buffer is validated. An error is thrown when u32 [[#ApplicationDeliveryInfo]] (second buffer) +0x1C & 0x3 != 0x2, likewise when bit28 is clear in this field (bitmask 0x10000000).
 
The array-count for the first buffer must be <=1, otherwise an error is returned. If the array-count for the first buffer is 0, this will return 0 with the output bool set to 0. The first [[#ApplicationDeliveryInfo]] buffer is validated. An error is thrown when u32 [[#ApplicationDeliveryInfo]] (first buffer) +0x1C bit1 is clear or bit0 set. An error is thrown when u32 [[#ApplicationDeliveryInfo]] (second buffer) +0x1C bit1 is clear.
 
When u32 [[#ApplicationDeliveryInfo]] (first or second buffer) +0x14 is higher than [[#ApplicationDeliveryInfo]] (second buffer) ApplicationVersion, this will return 0 with the output bool set to 0.
 
When u32 [[#ApplicationDeliveryInfo]] (first buffer) +0x1C bit28 is set (bitmask 0x10000000):
* When [[#ApplicationDeliveryInfo]] (first buffer) ApplicationVersion >= [[#ApplicationDeliveryInfo]] (second buffer) ApplicationVersion, write 0 to the output bool, otherwise write 1. Then return 0.
Otherwise when the above bit28 is clear:
* When [[#ApplicationDeliveryInfo]] (first buffer) ApplicationVersion > [[#ApplicationDeliveryInfo]] (second buffer) ApplicationVersion, write 0 to the output bool, otherwise write 1. Then return 0.


==== ListContentMetaKeyToDeliverApplication ====
==== ListContentMetaKeyToDeliverApplication ====