19 |
|
*/ |
20 |
|
|
21 |
|
/* |
22 |
< |
TODO: |
23 |
< |
LockRng |
24 |
< |
UnlockRng |
25 |
< |
(CatSearch) |
26 |
< |
(MakeFSSpec) |
27 |
< |
(GetVolMountInfoSize) |
28 |
< |
(GetVolMountInfo) |
29 |
< |
(GetForeignPrivs) |
30 |
< |
(SetForeignPrivs) |
31 |
< |
*/ |
22 |
> |
* SEE ALSO |
23 |
> |
* Guide to the File System Manager (from FSM 1.2 SDK) |
24 |
> |
* |
25 |
> |
* TODO |
26 |
> |
* LockRng |
27 |
> |
* UnlockRng |
28 |
> |
* (CatSearch) |
29 |
> |
* (MakeFSSpec) |
30 |
> |
* (GetVolMountInfoSize) |
31 |
> |
* (GetVolMountInfo) |
32 |
> |
* (GetForeignPrivs) |
33 |
> |
* (SetForeignPrivs) |
34 |
> |
*/ |
35 |
|
|
36 |
|
#include "sysdeps.h" |
37 |
|
|
382 |
|
r.d[0] = gestaltFSAttr; |
383 |
|
Execute68kTrap(0xa1ad, &r); // Gestalt() |
384 |
|
D(bug("FSAttr %ld, %08lx\n", r.d[0], r.a[0])); |
385 |
< |
if ((r.d[0] & 0xffff) || !(r.a[0] & (1 << gestaltHasFileSystemManager))) |
385 |
> |
if ((r.d[0] & 0xffff) || !(r.a[0] & (1 << gestaltHasFileSystemManager))) { |
386 |
> |
printf("WARNING: No FSM present, disabling ExtFS\n"); |
387 |
|
return; |
388 |
+ |
} |
389 |
|
|
390 |
|
// Yes, version >=1.2? |
391 |
|
r.d[0] = gestaltFSMVersion; |
392 |
|
Execute68kTrap(0xa1ad, &r); // Gestalt() |
393 |
|
D(bug("FSMVersion %ld, %08lx\n", r.d[0], r.a[0])); |
394 |
< |
if ((r.d[0] & 0xffff) || (r.a[0] < 0x0120)) |
394 |
> |
if ((r.d[0] & 0xffff) || (r.a[0] < 0x0120)) { |
395 |
> |
printf("WARNING: FSM <1.2 found, disabling ExtFS\n"); |
396 |
|
return; |
397 |
+ |
} |
398 |
|
|
399 |
|
D(bug("FSM present\n")); |
400 |
|
|