2 Copyright © 1995-2008, The AROS Development Team. All rights reserved.
6 #include <proto/alib.h>
7 #include <proto/exec.h>
9 #include <proto/intuition.h>
11 #include <exec/memory.h>
12 #include <exec/nodes.h>
20 #include "hdtoolbox_support.h"
22 #include "partitions.h"
23 #include "partitiontables.h"
30 extern struct ListNode root
;
32 struct IntuitionBase
*IntuitionBase
= NULL
;
33 struct GfxBase
*GfxBase
= NULL
;
34 struct PartitionBase
*PartitionBase
= NULL
;
36 LONG
initEnv(char *device
)
40 D(bug("[HDToolBox] initEnv('%s')\n", device
));
42 if (!InitListNode(&root
, NULL
))
44 IntuitionBase
= (struct IntuitionBase
*)OpenLibrary("intuition.library", 37);
47 GfxBase
= (struct GfxBase
*)OpenLibrary("graphics.library", 37);
50 PartitionBase
= (struct PartitionBase
*)OpenLibrary("partition.library", 1);
55 if (retval
!= ERR_NONE
)
57 LoadPrefs("ENV:hdtoolbox.prefs");
63 D(bug("[HDToolBox] uninitEnv()\n"));
67 CloseLibrary((struct Library
*)PartitionBase
);
69 CloseLibrary((struct Library
*)GfxBase
);
71 CloseLibrary((struct Library
*)IntuitionBase
);
79 D(bug("[HDToolBox] waitMessage()\n"));
81 while (!QuitGUI(&sigs
))
85 sigs
= Wait(sigs
| SIGBREAKF_CTRL_C
| SIGBREAKF_CTRL_D
);
86 if (sigs
& SIGBREAKF_CTRL_C
)
88 if (sigs
& SIGBREAKF_CTRL_D
)
94 int main(int argc
, char **argv
)
99 D(bug("[HDToolBox] main()\n"));
101 InitLocale("System/Tools/HDToolBox.catalog", 1);
102 device
= argc
> 1 ? argv
[1] : NULL
;
103 if ((error
=initEnv(device
))==ERR_NONE
)
108 printf("Error %ld\n", error
);