Difference between revisions of "FS:RenameFile"

From 3dbrew
Jump to navigation Jump to search
(Add notice for renaming across different archives)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Renames or moves a file. The file is moved from the path srcFileLowPath in archive srcArchive to destFileLowPath in destArchive. ''This call does not work with directories'', use [[FS:RenameDirectory|RenameDirectory]] instead. ('''NOTE:''' Moving files to different archives wasn't tested.)
 
 
 
=Request=
 
=Request=
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Index Word !! Description
+
! Index Word
 +
! Description
 
|-
 
|-
| 0 || Header code [0x08050244]
+
| 0
 +
| Header code [0x08050244]
 
|-
 
|-
| 1 || Transaction (usually 0)
+
| 1
 +
| Transaction (usually 0)
 
|-
 
|-
| 2 || srcArchive.handleLow
+
| 2-3
 +
| u64, Source Archive Handle
 
|-
 
|-
| 3 || srcArchive.handleHigh
+
| 4
 +
| [[Filesystem_services#PathType|Source File Path Type]]
 
|-
 
|-
| 4 || srcFileLowPath.type
+
| 5
 +
| Source File Path Size
 
|-
 
|-
| 5 || srcFileLowPath.size
+
| 6-7
 +
| u64, Destination Archive Handle
 
|-
 
|-
| 6 || destArchive.handleLow
+
| 8
 +
| [[Filesystem_services#PathType|Destination File Path Type]]
 
|-
 
|-
| 7 || destArchive.handleHigh
+
| 9
 +
| Destination File Path Size
 
|-
 
|-
| 8 || destFileLowPath.type
+
| 10
 +
| (SourceFilePathSize << 14) <nowiki>|</nowiki> 0x402
 
|-
 
|-
| 9 || destFileLowPath.size
+
| 11
 +
| Source File Path Data
 
|-
 
|-
| 10 || (srcFileLowPath.size << 14) <nowiki>|</nowiki> 0x402
+
| 12
 +
| (DestinationFilePathSize << 14) <nowiki>|</nowiki> 0x802
 
|-
 
|-
| 11 || srcFileLowPath.data
+
| 13
|-
+
| Destination File Path Data
| 12 || (destFileLowPath.size << 14) <nowiki>|</nowiki> 0x802
 
|-
 
| 13 || destFileLowPath.data
 
 
|}
 
|}
  
Line 38: Line 45:
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Index Word !! Description
+
! Index Word
 +
! Description
 
|-
 
|-
| 0 || Header code
+
| 0
 +
| Header code
 
|-
 
|-
| 1 || Resultcode
+
| 1
 +
| Result code
 
|}
 
|}
 +
 +
=Description=
 +
Renames or moves a file. The file is moved from the path srcFileLowPath in archive srcArchive to destFileLowPath in destArchive. ''This call does not work with directories'', use [[FS:RenameDirectory|RenameDirectory]] instead.
 +
Renaming across different archives is not allowed, as listed below.
  
 
=Errors=
 
=Errors=
Line 55: Line 69:
 
|-
 
|-
 
| 0xC82044BE || When the destination file already exists.
 
| 0xC82044BE || When the destination file already exists.
 +
|-
 +
| 0xE0C046F8 || When the source archive and destination archive are not the same.
 
|}
 
|}

Latest revision as of 13:26, 5 June 2022

Request[edit]

Index Word Description
0 Header code [0x08050244]
1 Transaction (usually 0)
2-3 u64, Source Archive Handle
4 Source File Path Type
5 Source File Path Size
6-7 u64, Destination Archive Handle
8 Destination File Path Type
9 Destination File Path Size
10 (SourceFilePathSize << 14) | 0x402
11 Source File Path Data
12 (DestinationFilePathSize << 14) | 0x802
13 Destination File Path Data

Response[edit]

Index Word Description
0 Header code
1 Result code

Description[edit]

Renames or moves a file. The file is moved from the path srcFileLowPath in archive srcArchive to destFileLowPath in destArchive. This call does not work with directories, use RenameDirectory instead. Renaming across different archives is not allowed, as listed below.

Errors[edit]

Result code Description
0 Returned on success.
0xC8804478 When the source file does not exist or is a directory.
0xC82044BE When the destination file already exists.
0xE0C046F8 When the source archive and destination archive are not the same.