Difference between revisions of "BOSSU:GetNsDataIdList"
Line 5: | Line 5: | ||
{{IPC/RequestEntry|u32 filter}} | {{IPC/RequestEntry|u32 filter}} | ||
{{IPC/RequestEntry|Buffer size in words(max entries).}} | {{IPC/RequestEntry|Buffer size in words(max entries).}} | ||
− | {{IPC/RequestEntry|u16, starting word-index in the internal NsDataId list | + | {{IPC/RequestEntry|u16, starting word-index in the internal NsDataId list.}} |
− | {{IPC/RequestEntry|u32, | + | {{IPC/RequestEntry|u32, start_NsDataId.}} |
{{IPC/MapPointerW|Destination pointer}} | {{IPC/MapPointerW|Destination pointer}} | ||
{{IPC/RequestEnd}} | {{IPC/RequestEnd}} | ||
Line 22: | Line 22: | ||
Content filtering is enabled when this word isn't 0xffffffff. This is only used for the following: <code>if(filterword_u16high!=contententryword_u16high || (filterword_u16low & contententryword_u16low) == 0)continue;</code> The contententryword is separate from NsDataId. The NsDataId for the content entry is only written to the output when these checks pass. | Content filtering is enabled when this word isn't 0xffffffff. This is only used for the following: <code>if(filterword_u16high!=contententryword_u16high || (filterword_u16low & contententryword_u16low) == 0)continue;</code> The contententryword is separate from NsDataId. The NsDataId for the content entry is only written to the output when these checks pass. | ||
− | = | + | =Start NsDataId= |
This field is only used when starting_wordindex is non-zero or when this field is non-zero. | This field is only used when starting_wordindex is non-zero or when this field is non-zero. | ||
− | The NsDataId at the specified start-wordindex must match this field, otherwise error 0xD840F846 is returned. | + | The NsDataId at the specified start-wordindex must match this field, otherwise error 0xD840F846 is returned. It will then skip normal content entry processing for this matching entry(cur_wordindex is field is increased by 0x1 before starting the content entry processing loop). |
=Description= | =Description= |
Revision as of 08:59, 28 December 2016
Request
Index Word | Description |
---|---|
0 | Header code [0x00100102] |
1 | u32 filter |
2 | Buffer size in words(max entries). |
3 | u16, starting word-index in the internal NsDataId list. |
4 | u32, start_NsDataId. |
5 | Descriptor for mapping a write-only buffer in the target process |
6 | Destination pointer |
Response
Index Word | Description |
---|---|
0 | Header code |
1 | Result code |
2 | u16 Actual number of output entries. |
3 | u16 Last word-index copied to output in the internal NsDataId list. |
Filter
Content filtering is enabled when this word isn't 0xffffffff. This is only used for the following: if(filterword_u16high!=contententryword_u16high || (filterword_u16low & contententryword_u16low) == 0)continue;
The contententryword is separate from NsDataId. The NsDataId for the content entry is only written to the output when these checks pass.
Start NsDataId
This field is only used when starting_wordindex is non-zero or when this field is non-zero.
The NsDataId at the specified start-wordindex must match this field, otherwise error 0xD840F846 is returned. It will then skip normal content entry processing for this matching entry(cur_wordindex is field is increased by 0x1 before starting the content entry processing loop).
Description
This writes an array of u32 entries(NsDataId) to the output buffer, for the current programID.
This eventually calls a function with the following type parameters: 0, 1, 1. This function doesn't use the second type parameter. Afterwards another function is called using the programID.