mirror of
https://github.com/marciot/mac-tip.git
synced 2026-04-27 02:17:56 +00:00
Added initial Macintosh source.
This commit is contained in:
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 |
@@ -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(¶mBlock, 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(¶mBlock, 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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
void mac_list_volumes();
|
||||
void mac_unmount(int id);
|
||||
Reference in New Issue
Block a user