grub2: bring back build of aros-side grub2 tools
[AROS.git] / workbench / devs / diskimage / include / aros / defines / diskimage.h
blobfe11e449771568c132c94ff084201dba00a97c8d
1 /* Automatically generated header (sfdc 1.4)! Do not edit! */
3 #ifndef _INLINE_DISKIMAGE_H
4 #define _INLINE_DISKIMAGE_H
6 #ifndef _SFDC_VARARG_DEFINED
7 #define _SFDC_VARARG_DEFINED
8 #ifdef __HAVE_IPTR_ATTR__
9 typedef APTR _sfdc_vararg __attribute__((iptr));
10 #else
11 typedef ULONG _sfdc_vararg;
12 #endif /* __HAVE_IPTR_ATTR__ */
13 #endif /* _SFDC_VARARG_DEFINED */
15 #ifndef AROS_LIBCALL_H
16 #include <aros/libcall.h>
17 #endif /* !AROS_LIBCALL_H */
19 #ifndef DISKIMAGE_BASE_NAME
20 #define DISKIMAGE_BASE_NAME DiskImageBase
21 #endif /* !DISKIMAGE_BASE_NAME */
23 #define MountImage(___unit_num, ___filename) \
24 AROS_LC2(LONG, MountImage, \
25 AROS_LCA(ULONG, (___unit_num), D0), \
26 AROS_LCA(CONST_STRPTR, (___filename), A0), \
27 struct Library *, DISKIMAGE_BASE_NAME, 7, Diskimage)
29 #define UnitInfo(___unit_num, ___filename, ___writeprotect) \
30 AROS_LC3(LONG, UnitInfo, \
31 AROS_LCA(ULONG, (___unit_num), D0), \
32 AROS_LCA(STRPTR *, (___filename), A0), \
33 AROS_LCA(BOOL *, (___writeprotect), A1), \
34 struct Library *, DISKIMAGE_BASE_NAME, 8, Diskimage)
36 #define WriteProtect(___unit_num, ___writeprotect) \
37 AROS_LC2(LONG, WriteProtect, \
38 AROS_LCA(ULONG, (___unit_num), D0), \
39 AROS_LCA(BOOL, (___writeprotect), D1), \
40 struct Library *, DISKIMAGE_BASE_NAME, 9, Diskimage)
42 #define UnitControlA(___unit_num, ___tags) \
43 AROS_LC2(LONG, UnitControlA, \
44 AROS_LCA(ULONG, (___unit_num), D0), \
45 AROS_LCA(struct TagItem *, (___tags), A0), \
46 struct Library *, DISKIMAGE_BASE_NAME, 10, Diskimage)
48 #ifndef NO_INLINE_STDARG
49 #define UnitControl(___unit_num, ___tags, ...) \
50 ({_sfdc_vararg _tags[] = { ___tags, __VA_ARGS__ }; UnitControlA((___unit_num), (struct TagItem *) _tags); })
51 #endif /* !NO_INLINE_STDARG */
53 #define ReloadPlugins() \
54 AROS_LC0(LONG, ReloadPlugins, \
55 struct Library *, DISKIMAGE_BASE_NAME, 11, Diskimage)
57 #define DoHookPlugins(___hook) \
58 AROS_LC1(void, DoHookPlugins, \
59 AROS_LCA(struct Hook *, (___hook), A0), \
60 struct Library *, DISKIMAGE_BASE_NAME, 12, Diskimage)
62 #define AddDiskChangeHook(___hook, ___add_or_remove) \
63 AROS_LC2(void, AddDiskChangeHook, \
64 AROS_LCA(struct Hook *, (___hook), A0), \
65 AROS_LCA(BOOL, (___add_or_remove), D0), \
66 struct Library *, DISKIMAGE_BASE_NAME, 13, Diskimage)
68 #define AddReloadPluginsHook(___hook, ___add_or_remove) \
69 AROS_LC2(void, AddReloadPluginsHook, \
70 AROS_LCA(struct Hook *, (___hook), A0), \
71 AROS_LCA(BOOL, (___add_or_remove), D0), \
72 struct Library *, DISKIMAGE_BASE_NAME, 14, Diskimage)
74 #endif /* !_INLINE_DISKIMAGE_H */