NFCDEV:ReadRawPages

From 3dbrew
Revision as of 19: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
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Request

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

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

Description

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.