;***************************************************************************;
;                                                                           ;
;                               Rename a file                               ;
;                           By David F. Pallmann                            ;
;                                                                           ;
;***************************************************************************;
;
;  calling format from AlphaBASIC:
;
;       XCALL RENAME, old-filespec, new-filespec

       OBJNAM  RENAME.SBR

       MAYCREF
       SEARCH  SYS
       SEARCH  SYSSYM
       SEARCH  STRUCT
       CREF

;edit history

VMAJOR=1                                ;version 1
VEDIT=100.                              ;03-Jun-83 DFP creation
PHDR    -1,0,PH$REE!PH$REU              ;program header

;impure area

OFINI
OFDEF   FILE,D.DDB
OFDEF   BUFFER,6
OFDEF   IOBUF,512.
OFSIZ   IMPSIZ

;XCALL argument offsets
;these are referenced as XC.xxx(A3)
;AlphaBASIC sets up an argument list indexed by A3 at calling time

XC.ARG=0                                ;argument count
XC.TY1=2                                ;arg 1 - type
XC.AD1=4                                ;arg 1 - addr
XC.SZ1=10                               ;arg 1 - size
XC.TY2=14                               ;arg 2 - type
XC.AD2=16                               ;arg 2 - addr
XC.SZ2=22                               ;arg 2 - size

;get file specifications

GETSPC: MOV     XC.AD1(A3),A2
       FSPEC   FILE(A4),DAT
       ORB     #D$INI,FILE+D.FLG(A4)
       LEA     A0,IOBUF(A4)
       MOV     A0,FILE+D.BUF(A4)
       MOV     XC.AD2(A3),A2
       LEA     A1,BUFFER(A4)
       PACK
       PACK
       MOVW    #[DAT],@A1
       DSKREN  FILE(A4)
       RTN

       END