1 #ifndef LIBRARIES_OPENURL_H
2 #define LIBRARIES_OPENURL_H
5 ** $VER: openurl.h 7.2 (1.12.2005)
6 ** Includes Release 7.2
8 ** openurl.library - universal URL display and browser
11 ** Written by Troels Walsted Hansen <troels@thule.no>
12 ** Placed in the public domain.
15 ** - Alfonso Ranieri <alforan@tin.it>
16 ** - Stefan Kost <ensonic@sonicpulse.de>
21 #include <exec/types.h>
25 #include <exec/lists.h>
29 #include <exec/nodes.h>
32 #ifndef UTILITY_TAGITEM_H
33 #include <utility/tagitem.h>
39 #elif defined(__VBCC__)
44 /**************************************************************************/
49 #define OPENURLNAME "openurl.library"
53 /**************************************************************************/
58 #define URL_Tagbase ((int)0x81480000)
60 #define URL_Show (URL_Tagbase + 1) /* BOOL - Uniconify browser */
61 #define URL_BringToFront (URL_Tagbase + 2) /* BOOL - Bring browser to front */
62 #define URL_NewWindow (URL_Tagbase + 3) /* BOOL - Open URL in new window */
63 #define URL_Launch (URL_Tagbase + 4) /* BOOL - Launch browser when not running */
64 #define URL_PubScreenName (URL_Tagbase + 5) /* UBYTE * - Name of public screen to launch at */
66 #define URL_GetPrefs_Mode (URL_Tagbase + 20) /* BOOL - Get default prefs */
67 #define URL_GetPrefs_FallBack (URL_Tagbase + 21) /* BOOL - Do not fail (TRUE) */
69 #define URL_SetPrefs_Save (URL_Tagbase + 30) /* BOOL - Save prefs to ENVARC: also */
71 #define URL_GetAttr_Version (URL_Tagbase + 60) /* ULONG - Library version */
72 #define URL_GetAttr_Revision (URL_Tagbase + 61) /* ULONG - Library revision */
73 #define URL_GetAttr_VerString (URL_Tagbase + 62) /* STRPTR - "openurl.library 6.4 (27.7.2005)" */
74 #define URL_GetAttr_PrefsVer (URL_Tagbase + 63) /* ULONG - Library preferences version */
76 #define URL_GetAttr_HandlerVersion (URL_Tagbase + 64) /* Obsolete !!! DON'T USE !!! */
77 #define URL_GetAttr_HandlerRevision (URL_Tagbase + 65) /* Obsolete !!! DON'T USE !!! */
78 #define URL_GetAttr_HandlerVerString (URL_Tagbase + 66) /* Obsolete !!! DON'T USE !!! */
82 URL_GetPrefs_Mode_Env
,
83 URL_GetPrefs_Mode_Envarc
,
84 URL_GetPrefs_Mode_Default
,
85 URL_GetPrefs_Mode_InUse
,
88 /**************************************************************************/
90 #define REXX_CMD_LEN 64
95 #define SHOWCMD_LEN REXX_CMD_LEN
96 #define TOFRONTCMD_LEN REXX_CMD_LEN
97 #define OPENURLCMD_LEN REXX_CMD_LEN
98 #define OPENURLWCMD_LEN REXX_CMD_LEN
99 #define WRITEMAILCMD_LEN (REXX_CMD_LEN*2)
101 /**************************************************************************/
106 #define PREFS_VERSION ((UBYTE)4)
110 UBYTE up_Version
; /* always check this version number! */
111 struct MinList up_BrowserList
; /* list of struct URL_BrowserNodes */
112 struct MinList up_MailerList
; /* list of struct URL_MailerNodes */
113 struct MinList up_FTPList
; /* list of struct URL_MailerNodes */
115 ULONG up_Flags
; /* flags, see below */
117 ULONG up_DefShow
; /* these BOOLs are the defaults for */
118 ULONG up_DefBringToFront
; /* the similarly named tags */
119 ULONG up_DefNewWindow
; /* they are all new with Version 2 */
126 UPF_ISDEFAULTS
= 1<<0, /* structure contains the default settings */
127 UPF_PREPENDHTTP
= 1<<1, /* prepend "http://" to URLs w/o scheme */
128 UPF_DOMAILTO
= 1<<2, /* mailto: URLs get special treatment */
129 UPF_DOFTP
= 1<<3, /* ftp:// URLs get special treatment */
132 /**************************************************************************/
134 ** Common #?_Flags values
139 UNF_DISABLED
= 1<<1, /* The entry is disabled */
141 UNF_NEW
= 1<<16, /* Reserved for OpenURL preferences application */
142 UNF_NTALLOC
= 1<<17, /* Reserved for OpenURL preferences application */
145 /**************************************************************************/
150 struct URL_BrowserNode
152 struct MinNode ubn_Node
;
153 ULONG ubn_Flags
; /* flags, see below */
154 UBYTE ubn_Name
[NAME_LEN
]; /* name of webbrowser */
155 UBYTE ubn_Path
[PATH_LEN
]; /* complete path to browser */
156 UBYTE ubn_Port
[PORT_LEN
]; /* webbrowser arexx port */
157 UBYTE ubn_ShowCmd
[SHOWCMD_LEN
]; /* command to show/uniconify browser */
158 UBYTE ubn_ToFrontCmd
[TOFRONTCMD_LEN
]; /* command to bring browser to front */
159 UBYTE ubn_OpenURLCmd
[OPENURLCMD_LEN
]; /* command to open url */
160 UBYTE ubn_OpenURLWCmd
[OPENURLWCMD_LEN
]; /* command to open url in new window */
167 ** If set, browser supports getting an URL on
168 ** the commandline when launched. obsolete as
169 ** of V3 - use %u on commandline instead
171 UBNF_URLONCMDLINE
= 1<<0,
174 /**************************************************************************/
179 struct URL_MailerNode
181 struct MinNode umn_Node
;
182 ULONG umn_Flags
; /* flags, none defined */
183 UBYTE umn_Name
[NAME_LEN
]; /* name of mailer */
184 UBYTE umn_Path
[PATH_LEN
]; /* complete path to mailer */
185 UBYTE umn_Port
[PORT_LEN
]; /* mailer arexx port */
186 UBYTE umn_ShowCmd
[SHOWCMD_LEN
]; /* command to show/uniconify mailer */
187 UBYTE umn_ToFrontCmd
[TOFRONTCMD_LEN
]; /* command to bring mailer to front */
188 UBYTE umn_WriteMailCmd
[WRITEMAILCMD_LEN
]; /* command to write mail */
191 /**************************************************************************/
198 struct MinNode ufn_Node
;
199 ULONG ufn_Flags
; /* flags, see below */
200 UBYTE ufn_Name
[NAME_LEN
]; /* name of ftp client */
201 UBYTE ufn_Path
[PATH_LEN
]; /* complete path to ftp client */
202 UBYTE ufn_Port
[PORT_LEN
]; /* webbrowser arexx port */
203 UBYTE ufn_ShowCmd
[SHOWCMD_LEN
]; /* command to show/uniconify ftp client */
204 UBYTE ufn_ToFrontCmd
[TOFRONTCMD_LEN
]; /* command to bring ftp client to front */
205 UBYTE ufn_OpenURLCmd
[OPENURLCMD_LEN
]; /* command to open url */
206 UBYTE ufn_OpenURLWCmd
[OPENURLWCMD_LEN
]; /* command to open url in new window */
212 /* If set, ftp:// ise removed from the URL */
213 UFNF_REMOVEFTP
= 1<<0,
216 /**************************************************************************/
219 #if defined(__GNUC__)
221 #elif defined(__VBCC__)
222 #pragma default-align
226 #endif /* LIBRARIES_OPENURL_H */