NFCP:SendTagCommand

From 3dbrew
Revision as of 20:33, 17 February 2017 by Yellows8 (talk | contribs) (Created page with "=Request= {{IPC/Request}} {{#vardefine:ipc_offset|0}} {{IPC/RequestEntry|Header code [0x000500C2]}} {{IPC/RequestEntry|u32 inputsize}} {{IPC/RequestEntry|u32 outputsize}} {{IP...")
(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 [0x000500C2]
1 u32 inputsize
2 u32 outputsize
3 u32 timing value. This is the raw version of the NFC:SendTagCommand timing field.
4 Descriptor for static buffer
5 Input buffer address with static_buf_id=0

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

Response

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

Description

This is about the same as NFCS:SendTagCommand, except that this verifies that the input/output buffer ptrs are not NULL. This also clears the output buffer before calling the cmd-sending func. A state field(probably TagState?) must match 3.

outputsize value 0x800 will be used when it's >=0x800.