185 |
/* optarg looks like ':h:=/mnt/floppy,b:=/mnt/usbdevice1' */ |
/* optarg looks like ':h:=/mnt/floppy,b:=/mnt/usbdevice1' */ |
186 |
/* when it arrives to this function. */ |
/* when it arrives to this function. */ |
187 |
int |
int |
188 |
disk_enum_devices(int *id, char *optarg) |
disk_enum_devices(uint32 *id, char *optarg) |
189 |
{ |
{ |
190 |
char *pos = optarg; |
char *pos = optarg; |
191 |
char *pos2; |
char *pos2; |
660 |
case 13: /* FileDispositionInformation */ |
case 13: /* FileDispositionInformation */ |
661 |
|
|
662 |
//unimpl("IRP Set File Information class: FileDispositionInformation\n"); |
//unimpl("IRP Set File Information class: FileDispositionInformation\n"); |
663 |
// in_uint32_le(in, delete_on_close); |
|
664 |
|
//in_uint32_le(in, delete_on_close); |
665 |
// disk_close(handle); |
// disk_close(handle); |
666 |
unlink(pfinfo->path); |
if ((pfinfo->flags_and_attributes & FILE_DIRECTORY_FILE)) // remove a directory |
667 |
|
{ |
668 |
|
if (rmdir(pfinfo->path) < 0) |
669 |
|
return STATUS_ACCESS_DENIED; |
670 |
|
} |
671 |
|
else if (unlink(pfinfo->path) < 0) // unlink a file |
672 |
|
return STATUS_ACCESS_DENIED; |
673 |
|
|
674 |
break; |
break; |
675 |
|
|
676 |
case 19: /* FileAllocationInformation */ |
case 19: /* FileAllocationInformation */ |