Link against common native-ppc Krn code, reduces code duplication.
[AROS.git] / rom / dosboot / dosboot_intern.h
blobfe245e891a36e1dfba06eeda5483ee515a455b65
1 #ifndef DOSBOOT_INTERN_H
2 #define DOSBOOT_INTERN_H
4 /*
5 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 $Id$
8 Desc: Internal definitions for dosboot
9 Lang: english
12 #include <dos/dosextens.h>
13 #include <exec/libraries.h>
14 #include <exec/lists.h>
15 #include <graphics/gfxbase.h>
17 #include "gadgets.h"
19 #define BUFSIZE 100
21 struct BootConfig
23 /* default hidds used in bootmenu and for fallback mode */
24 STRPTR gfxlib;
25 STRPTR gfxhidd;
26 BOOL bootmode;
29 struct DOSBootBase
31 struct Node db_Node; /* Node for linking into the list */
32 IPTR db_BootFlags; /* Bootup flags (identical to ExpansionBase->eb_BootFlags) */
34 char *db_BootDevice; /* Device to boot up from */
35 struct BootNode *db_BootNode; /* Device to boot up from */
37 struct GfxBase *bm_GfxBase; /* Library bases */
38 struct IntuitionBase *bm_IntuitionBase;
39 struct ExpansionBase *bm_ExpansionBase;
40 struct Screen *bm_Screen; /* Screen */
41 struct Window *bm_Window; /* Window and gadgets */
42 struct MainGadgets bm_MainGadgets;
44 struct BootConfig bm_BootConfig; /* Current HIDD configuration */
45 APTR animData; /* Animation stuff */
46 ULONG delayTicks; /* Delay period. Can be adjusted by animation code */
47 WORD bottomY;
50 void InitBootConfig(struct BootConfig *bootcfg);
51 LONG dosboot_BootStrap(struct DOSBootBase *DOSBootBase);
52 void dosboot_BootScan(struct DOSBootBase *DOSBootBase);
54 struct Screen *NoBootMediaScreen(struct DOSBootBase *DOSBootBase);
55 struct Screen *OpenBootScreen(struct DOSBootBase *DOSBootBase);
56 void CloseBootScreen(struct Screen *scr, struct DOSBootBase *DOSBootBase);
58 APTR anim_Init(struct Screen *scr, struct DOSBootBase *DOSBootBase);
59 void anim_Stop(struct DOSBootBase *DOSBootBase);
60 void anim_Animate(struct Screen *scr, struct DOSBootBase *DOSBootBase);
62 #define IntuitionBase DOSBootBase->bm_IntuitionBase
63 #define GfxBase DOSBootBase->bm_GfxBase
65 /* Check to see if the bootnode is bootable */
66 #include <libraries/expansion.h>
67 #include <libraries/expansionbase.h>
69 static inline BOOL IsBootableNode(struct BootNode *bootNode)
71 return ((bootNode->bn_Node.ln_Type == NT_BOOTNODE) &&
72 (bootNode->bn_Node.ln_Pri > -128)) ? TRUE : FALSE;
76 #endif /* DOSBOOT_INTERN_H */