NFCP:SendTagCommand

From 3dbrew
Revision as of 19: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

Request[edit]

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[edit]

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[edit]

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.