2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
8 #include <proto/exec.h>
10 #include "dos_intern.h"
12 /*****************************************************************************
15 #include <proto/dos.h>
17 AROS_LH2(LONG
, Relabel
,
20 AROS_LHA(CONST_STRPTR
, drive
, D1
),
21 AROS_LHA(CONST_STRPTR
, newname
, D2
),
24 struct DosLibrary
*, DOSBase
, 120, Dos
)
28 Change names of a volume.
32 drive -- The name of the device to rename (including the ':').
33 newname -- The new name for the device (without the ':').
37 A boolean telling whether the name change was successful or not.
49 *****************************************************************************/
53 struct IOFileSys iofs
;
57 /* Prepare I/O request. */
58 InitIOFS(&iofs
, FSA_RELABEL
, DOSBase
);
59 iofs
.io_Union
.io_RELABEL
.io_NewName
= newname
;
60 iofs
.io_Union
.io_RELABEL
.io_Result
= FALSE
;
63 if ((dvp
= GetDeviceProc(drive
, NULL
)) == NULL
)
66 /* we're only interested in real devices */
67 if (dvp
->dvp_DevNode
->dol_Type
!= DLT_DEVICE
) {
69 SetIoErr(ERROR_DEVICE_NOT_MOUNTED
);
73 err
= DoIOFS(&iofs
, dvp
, NULL
, DOSBase
);
80 return iofs
.io_Union
.io_RELABEL
.io_Result
? DOSTRUE
: DOSFALSE
;