|
|
1.1 root 1: /*
2: Hatari
3:
4: Create Disc Image functions
5: */
6:
7: #include <stdio.h>
8:
9: #include "main.h"
10: #include "debug.h"
11:
12: /*-----------------------------------------------------------------------*/
13: /*
14: Lock disc volume
15: */
16: BOOL CreateDiscImage_LockVolume(FILE *hDisk)
17: {
18: // DWORD ReturnedByteCount;
19:
20: // return(DeviceIoControl(hDisk,FSCTL_LOCK_VOLUME,NULL,0,NULL,0,&ReturnedByteCount,NULL));
21: }
22:
23: /*-----------------------------------------------------------------------*/
24: /*
25: UnLock disc volume
26: */
27: BOOL CreateDiscImage_UnLockVolume(FILE *hDisk)
28: {
29: // DWORD ReturnedByteCount;
30:
31: // return(DeviceIoControl(hDisk,FSCTL_UNLOCK_VOLUME,NULL,0,NULL,0,&ReturnedByteCount,NULL));
32: }
33:
34: /*-----------------------------------------------------------------------*/
35: /*
36: Read PC floppy disc into image file
37: */
38: void CreateDiscImage_ReadImage(char *pszDriveName)
39: {
40: char szDrive[MAX_FILENAME_LENGTH];
41: FILE *hDrive;
42:
43: /* Build PC floppy image name */
44: sprintf(szDrive,"%s",pszDriveName);
45: hDrive = fopen(szDrive, "rwb");
46: if (hDrive!=NULL)
47: {
48: if (CreateDiscImage_LockVolume(hDrive))
49: {
50: #ifdef DEBUG_TO_FILE
51: Debug_File("all ok\n");
52: #endif
53: CreateDiscImage_UnLockVolume(hDrive);
54: }
55: else
56: {
57: #ifdef DEBUG_TO_FILE
58: Debug_File("MFMT:Locking volume %s %s failed %d\n", szDrive,pszDriveName, GetLastError());
59: #endif
60: }
61: }
62: else
63: {
64: #ifdef DEBUG_TO_FILE
65: Debug_File("MFMT: Open %s %s failed %d\n", szDrive,pszDriveName, GetLastError());
66: #endif
67: }
68: }
69:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.