Added initial Macintosh source.

This commit is contained in:
Marcio T
2021-11-23 11:50:09 -07:00
parent d3351d0ece
commit b38e259105
43 changed files with 2278 additions and 3 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

+38
View File
@@ -0,0 +1,38 @@
#include <stdio.h>
#include <Files.h>
#include "mac_vol.h"
void mac_list_volumes() {
HParamBlockRec paramBlock;
Str255 volName;
paramBlock.volumeParam.ioCompletion = 0;
paramBlock.volumeParam.ioNamePtr = volName;
paramBlock.volumeParam.ioVRefNum = 0;
paramBlock.volumeParam.ioVolIndex = 0;
for (;;) {
OSErr err = PBHGetVInfo(&paramBlock, false);
if (err == nsvErr) break;
printf(" %d: %#s\n", paramBlock.volumeParam.ioVolIndex, paramBlock.volumeParam.ioNamePtr);
paramBlock.volumeParam.ioVolIndex++;
}
}
void mac_unmount(int id) {
HParamBlockRec paramBlock;
paramBlock.volumeParam.ioCompletion = 0;
paramBlock.volumeParam.ioNamePtr = 0;
paramBlock.volumeParam.ioVRefNum = 0;
paramBlock.volumeParam.ioVolIndex = id;
OSErr err = PBHGetVInfo(&paramBlock, false);
if (err == nsvErr) {
printf("No such volume\n");
return;
}
err = UnmountVol(0, paramBlock.volumeParam.ioVRefNum);
switch (err) {
case noErr: printf("Okay\n"); break;
case fBsyErr: printf("One or more files are open\n"); break;
default: printf("Failed %d\n", err);
}
}
+2
View File
@@ -0,0 +1,2 @@
void mac_list_volumes();
void mac_unmount(int id);