NFCDEV:ReadRawPages

From 3dbrew
Revision as of 18:56, 17 February 2017 by Yellows8 (talk | contribs) (Created page with "=Request= {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestEntry|Header code [0x00110100]}} {{IPC/RequestEntry|u32, Unknown. inr1 for send_nfctag_cmd().}} {{IPC/Reques...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Request[edit]

Index Word Description
0 Header code [0x00110100]
1 u32, Unknown. inr1 for send_nfctag_cmd().
2 u32 outputsize
3 u8 pageaddr
4 u8 totalpages

The handler for this IPC command expects the following 0x100-bytes after the beginning of the above command buffer:

Index Word Description
0 Descriptor for static buffer
1 Output buffer address with static_buf_id=0

Response[edit]

Index Word Description
0 Header code
1 Result code
2 Descriptor for static buffer
3 Output data pointer with static_buf_id=0

Description[edit]

This reads raw NFC tag pages by calling send_nfctag_cmd() with cmd 0x3A("FAST_READ"). The output-data is stored on stack, which is copied to the specified output-buffer afterwards using the actual_output_size. An error is returned if actual_output_size is larger than outputsize.

outputsize 0x800 is used when it's >=0x800.