Manu services: Difference between revisions

No edit summary
 
Line 8: Line 8:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#InitializeUsbTransferPipeFile|InitializeUsbTransferPipeFile]]
| 0 || [[#InitializeForUfio|InitializeForUfio]]
|-
|-
| 1 || [[#IsFileExist|IsFileExist]]
| 1 || [[#GetFileSize|GetFileSize]]
|-
|-
| 2 || [[#ReadFile|ReadFile]]
| 2 || [[#ReadFromHost|ReadFromHost]]
|-
|-
| 3 || [[#WriteFile|WriteFile]]
| 3 || [[#WriteToHost|WriteToHost]]
|-
|-
| 4 || [[#InitializeUsbTransferPipeRaw|InitializeUsbTransferPipeRaw]]
| 4 || [[#InitializeForUsbTransfer|InitializeForUsbTransfer]]
|-
|-
| 5 || [[#ReadRaw|ReadRaw]]
| 5 || [[#UsbRead|UsbRead]]
|-
|-
| 6 || [[#WriteRaw|WriteRaw]]
| 6 || [[#UsbWrite|UsbWrite]]
|-
|-
| 7 || [7.0.0+]  
| 7 || [7.0.0+]  
Line 43: Line 43:
  SerialNumber:  "SerialNumber"
  SerialNumber:  "SerialNumber"


== InitializeUsbTransferPipeFile ==
== InitializeForUfio ==
Unofficial name.
 
Takes an input u32. No output.
Takes an input u32. No output.


Configures a transfer pipe over [[USB_services|usb:ds]] for file access mode.
Configures a transfer pipe over [[USB_services|usb:ds]] for file access mode.


== IsFileExist ==
== GetFileSize ==
Unofficial name.
 
Takes a type-0x9 input buffer containing a path string. Returns an output u64.
Takes a type-0x9 input buffer containing a path string. Returns an output u64.


Checks whether the specified file exists.
Checks whether the specified file exists.


This is "FsFile::Exists" in SystemInitializer.
== ReadFromHost ==
 
== ReadFile ==
Unofficial name.
 
Takes a type-0x6 output buffer, a type-0x9 input buffer containing a path string and three u64s '''OutSize''', '''Offset''' and '''InSize'''. No output.
Takes a type-0x6 output buffer, a type-0x9 input buffer containing a path string and three u64s '''OutSize''', '''Offset''' and '''InSize'''. No output.


Reads data from the specified file.
Reads data from the specified file.


== WriteFile ==
== WriteToHost ==
Unofficial name.
Takes a type-0x5 input buffer, a type-0x9 input buffer containing a path string and three u64s '''OutSize''', '''Offset''' and '''InSize'''. No output.
 
Takes a type-0x5 output input, a type-0x9 input buffer containing a path string and three u64s '''OutSize''', '''Offset''' and '''InSize'''. No output.


Writes data to the specified file.
Writes data to the specified file.


SystemInitializer also uses this as "FsFile::Create" with all input u64s set to 0.
== InitializeForUsbTransfer ==
 
== InitializeUsbTransferPipeRaw ==
Unofficial name.
 
Takes an input u32. No output.
Takes an input u32. No output.


Configures a transfer pipe over [[USB_services|usb:ds]] for raw access mode.
Configures a transfer pipe over [[USB_services|usb:ds]] for raw access mode.


== ReadRaw ==
== UsbRead ==
Unofficial name.
 
Takes a type-0x6 output buffer and two u64s '''Offset''' and '''Size'''. No output.
Takes a type-0x6 output buffer and two u64s '''Offset''' and '''Size'''. No output.


Reads raw data from the device.
Reads raw data from the device.


== WriteRaw ==
== UsbWrite ==
Unofficial name.
 
Takes a type-0x5 input buffer and two u64s '''Offset''' and '''Size'''. No output.
Takes a type-0x5 input buffer and two u64s '''Offset''' and '''Size'''. No output.


Line 103: Line 85:


= Protocol =
= Protocol =
== CommandId ==
== CommandId ==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 109: Line 90:
! Value || Name
! Value || Name
|-
|-
| 1 || [[#IsFileExist|IsFileExist]]
| 1 || [[#GetFileSize|GetFileSize]]
|-
|-
| 2 || [[#ReadFile|ReadFile]]
| 2 || [[#ReadFromHost|ReadFromHost]]
|-
|-
| 3 || [[#WriteFile|WriteFile]]
| 3 || [[#WriteToHost|WriteToHost]]
|-
|-
| 4 || [[#Cmd7]]
| 4 || [[#Cmd7]]