1 #ifndef _INLINE_OPENURL_H
2 #define _INLINE_OPENURL_H
4 #ifndef CLIB_OPENURL_PROTOS_H
5 #define CLIB_OPENURL_PROTOS_H
8 #ifndef __INLINE_MACROS_H
9 #include <inline/macros.h>
13 #include <exec/types.h>
16 #ifndef OPENURL_BASE_NAME
17 #define OPENURL_BASE_NAME OpenURLBase
20 #define URL_OpenA(url, tags) \
21 LP2(0x1e, ULONG, URL_OpenA, STRPTR, url, a0, struct TagItem *, tags, a1, \
24 #ifndef NO_INLINE_STDARG
25 #define URL_Open(url, tags...) \
26 ({ULONG _tags[] = {tags}; URL_OpenA((url), (struct TagItem *) _tags);})
29 #define URL_OldGetPrefs() \
30 LP0(0x24, struct URL_Prefs *, URL_OldGetPrefs, \
33 #define URL_OldFreePrefs(up) \
34 LP1NR(0x2a, URL_OldFreePrefs, struct URL_Prefs *, up, a0, \
37 #define URL_OldSetPrefs(up, permanent) \
38 LP2(0x30, ULONG, URL_OldSetPrefs, struct URL_Prefs *, up, a0, LONG, permanent, d0, \
41 #define URL_OldGetDefaultPrefs() \
42 LP0(0x36, struct URL_Prefs *, URL_OldGetDefaultPrefs, \
45 #define URL_OldLaunchPrefsApp() \
46 LP0(0x3c, ULONG, URL_OldLaunchPrefsApp, \
49 #define URL_GetPrefsA(tags) \
50 LP1(0x48, struct URL_Prefs *, URL_GetPrefsA, struct TagItem *, tags, a0, \
53 #ifndef NO_INLINE_STDARG
54 #define URL_GetPrefs(tags...) \
55 ({ULONG _tags[] = {tags}; URL_GetPrefsA((struct TagItem *) _tags);})
58 #define URL_FreePrefsA(prefs, tags) \
59 LP2NR(0x4e, URL_FreePrefsA, struct URL_Prefs *, prefs, a0, struct TagItem *, tags, a1, \
62 #ifndef NO_INLINE_STDARG
63 #define URL_FreePrefs(prefs, tags...) \
64 ({ULONG _tags[] = {tags}; URL_FreePrefsA((prefs), (struct TagItem *) _tags);})
67 #define URL_SetPrefsA(up, tags) \
68 LP2(0x54, ULONG, URL_SetPrefsA, struct URL_Prefs *, up, a0, struct TagItem *, tags, a1, \
71 #ifndef NO_INLINE_STDARG
72 #define URL_SetPrefs(up, tags...) \
73 ({ULONG _tags[] = {tags}; URL_SetPrefsA((up), (struct TagItem *) _tags);})
76 #define URL_LaunchPrefsAppA(tags) \
77 LP1(0x5a, ULONG, URL_LaunchPrefsAppA, struct TagItem *, tags, a0, \
80 #ifndef NO_INLINE_STDARG
81 #define URL_LaunchPrefsApp(tags...) \
82 ({ULONG _tags[] = {tags}; URL_LaunchPrefsAppA((struct TagItem *) _tags);})
85 #define URL_GetAttr(attr, storage) \
86 LP2(0x60, ULONG, URL_GetAttr, ULONG, attr, d0, ULONG *, storage, a0, \
89 #endif /* _INLINE_OPENURL_H */