GN_Mov, Move a file

GN_Mov, Move a file

Register parameters

RST 20H, DEFW $8A09

IN: A   = reason code

          CM_TODIR  = $00, move file to a directory (keeping same filename)

          CM_TOFILE = $01, move file as new filename in optional different directory

    BHL = pointer to null-terminated source filename (B=0, local)

    CDE = pointer to a null-terminated destination directory or filename (C=0, local)

 

out, if successful:

        Fc = 0, file successfully moved

 

out, if failed:

        Fc = 1, unable to move file

        A = error code:

             RC_IVF, Invalid directory path name

             RC_USE, File in use

             RC_EXIS, File already exists

 

   registers changed after return:

        A.BCDEHL/IXIY  same

        .F....../....  different

  

Notes

  • API call implemented in OZ 5.0

  • If TODIR option is set, the destination path must be an existing directory.

  • If TOFILE option is set, source file (or directory) is renamed to target name. This name should be verified not to be already existing before.

  • This call is fast when files are on the same device because only file header (node) is moved.

  • When files are moved accross devices then a file copying followed by a file deletion are performed.

Related calls

GN_Cl, close file 
GN_Del, delete a file from memory
GN_Opf, open file/resource (wildcard search)
GN_Ren, rename file
GN_Cpy, copy file
OS_Fdp, fast sector-level duplicate of source file to target file 
OS_Cl, internal close (OZ usage) 
OS_Del, file delete (internal OZ usage) 
OS_Frm, file read miscellaneous 
OS_Fwm, file write miscellaneous 
OS_Gb, get byte from file (or device) 
OS_Gbt, get byte from file (or device) with timeout 
OS_Mv, move bytes between stream and memory 
OS_Op, internal open (OZ usage) 
OS_Pb, write byte to file, device 
OS_Pbt, write byte to file, device with timeout 
OS_Ren, file rename (internal OZ usage)

web analytics