4 /****************************************************************
6 This file was created automatically by `FlexCat 2.4'
7 from "../catalogs/dopus4_lib.cd".
11 ****************************************************************/
16 Original GPL release version 4.12
17 Copyright 1993-2000 Jonathan Potter
19 This program is free software; you can redistribute it and/or
20 modify it under the terms of the GNU General Public License
21 as published by the Free Software Foundation; either version 2
22 of the License, or (at your option) any later version.
24 This program is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 GNU General Public License for more details.
29 You should have received a copy of the GNU General Public License
30 along with this program; if not, write to the Free Software
31 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
33 All users of Directory Opus 4 (including versions distributed
34 under the GPL) are entitled to upgrade to the latest version of
35 Directory Opus version 5 at a reduced price. Please see
36 http://www.gpsoft.com.au for more information.
38 The release of Directory Opus 4 under the GPL in NO WAY affects
39 the existing commercial status of Directory Opus 5.
51 #if defined(__PPC__) || defined(__AROS__)
55 #define __aligned __attribute__((__aligned__(4)))
56 #define lsprintf sprintf
66 #include <exec/types.h>
67 #include <exec/memory.h>
68 #include <exec/execbase.h>
70 #include <dos/dosextens.h>
72 #include <dos/exall.h>
74 #include <intuition/intuitionbase.h>
75 #include <intuition/iobsolete.h>
76 #include <intuition/sghooks.h>
77 #include <graphics/gfxbase.h>
78 #include <graphics/gfxmacros.h>
79 #include <libraries/commodities.h>
80 #include <workbench/workbench.h>
81 #include <workbench/startup.h>
83 #include <devices/audio.h>
84 #include <devices/input.h>
85 #include <devices/keyboard.h>
86 #include <devices/trackdisk.h>
87 #include <devices/printer.h>
88 #include <devices/prtbase.h>
89 #include <devices/conunit.h>
90 #include <hardware/intbits.h>
91 #include <datatypes/datatypesclass.h>
93 #include <proto/exec.h>
94 #include <proto/dos.h>
95 #include <proto/intuition.h>
96 #include <proto/graphics.h>
97 #include <proto/layers.h>
98 #include <proto/asl.h>
99 #include <proto/utility.h>
100 #include <proto/console.h>
101 #include <proto/locale.h>
102 #include <clib/alib_protos.h>
104 #include <dopus/dopusbase.h>
105 #include <dopus/config.h>
106 #include <dopus/configflags.h>
107 #include <dopus/requesters.h>
108 #include <dopus/stringdata.h>
110 extern struct ExecBase
*SysBase
;
111 extern struct DOpusBase
*DOpusBase
;
112 extern struct IntuitionBase
*IntuitionBase
;
113 extern struct GfxBase
*GfxBase
;
114 extern struct DosLibrary
*DOSBase
;
115 extern struct Library
*LayersBase
;
119 int __saveds
DoAssign(register char *name
__asm("a0"),
120 register char *dir
__asm("a1"));
122 char *__saveds
DoBaseName(register char *path
__asm("a0"));
124 int __saveds
DoCompareLock(register BPTR l1
__asm("a0"),
125 register BPTR l2
__asm("a1"));
127 int __saveds
DoPathName(register BPTR lock
__asm("a0"),
128 register char *buf
__asm("a1"),
129 register int len
__asm("d0"));
131 int __saveds
DoSendPacket(register struct MsgPort
*port
__asm("a0"),
132 register int action
__asm("d0"),
133 register ULONG
*args
__asm("a1"),
134 register int nargs
__asm("d1"));
136 int __saveds
DoTackOn(register char *path
__asm("a0"),
137 register char *file
__asm("a1"),
138 register int len
__asm("d0"));
140 void __saveds
DoStampToStr(register struct DOpusDateTime
*dt
__asm("a0"));
142 int __saveds
DoStrToStamp(register struct DOpusDateTime
*dt
__asm("a0"));
144 APTR __saveds
DoAllocRemember(register struct DOpusRemember
**key
__asm("a0"),
145 register ULONG size
__asm("d0"),
146 register ULONG type
__asm("d1"));
148 void __saveds
DoFreeRemember(register struct DOpusRemember
**key
__asm("a0"));
150 void __saveds
DoFreeRemEntry(register struct DOpusRemember
**key
__asm("a0"),
151 register char *pointer
__asm("a1"));
153 int __saveds
DoCompareDate(register struct DateStamp
*date
__asm("a0"),
154 register struct DateStamp
*date2
__asm("a1"));
156 void __saveds
DoDoArrow(register struct RastPort
* __asm("a0"),
157 register int __asm("d0"),
158 register int __asm("d1"),
159 register int __asm("d2"),
160 register int __asm("d3"),
161 register int __asm("d4"),
162 register int __asm("d5"),
163 register int __asm("d6"));
165 int __saveds
DoStrCombine(register char *buf
__asm("a0"),
166 register char *one
__asm("a1"),
167 register char *two
__asm("a2"),
168 register int lim
__asm("d0"));
170 int __saveds
DoStrConcat(register char *buf
__asm("a0"),
171 register char *cat
__asm("a1"),
172 register int lim
__asm("d0"));
174 void __saveds
DoDecode_RLE(register char *source
__asm("a0"),
175 register char *dest
__asm("a1"),
176 register int size
__asm("d0"));
180 int __saveds
DoSearchPathList(register char * __asm("a0"),
181 register char * __asm("a1"),
182 register int __asm("d0"));
184 int __saveds
DoCheckExist(register char * __asm("a0"),
185 register int * __asm("a1"));
187 int __saveds
DoRawkeyToStr(register UWORD
__asm("d0"),
188 register UWORD
__asm("d1"),
189 register char * __asm("a0"),
190 register char * __asm("a1"),
191 register int __asm("d2"));
193 int __saveds
DoDoRMBGadget(register struct RMBGadget
* __asm("a0"),
194 register struct Window
* __asm("a1"));
196 int __saveds
DoAddGadgets(register struct Window
* __asm("a0"),
197 register struct Gadget
* __asm("a1"),
198 register char ** __asm("a2"),
199 register int __asm("d0"),
200 register int __asm("d1"),
201 register int __asm("d2"),
202 register int __asm("d3"));
204 int __saveds
DoCheckNumGad(register struct Gadget
* __asm("a0"),
205 register struct Window
* __asm("a1"),
206 register int __asm("d0"),
207 register int __asm("d1"));
209 int __saveds
DoCheckHexGad(register struct Gadget
* __asm("a0"),
210 register struct Window
* __asm("a1"),
211 register int __asm("d0"),
212 register int __asm("d1"));
214 int __saveds
DoAtoh(register unsigned char * __asm("a0"),
215 register int __asm("d0"));
217 int __saveds
DoDoSimpleRequest(register struct Window
* __asm("a0"),
218 register struct DOpusSimpleRequest
* __asm("a1"));
220 void __saveds
DoDoCycleGadget(register struct Gadget
* __asm("a0"),
221 register struct Window
* __asm("a1"),
222 register char ** __asm("a2"),
223 register int __asm("d0"));
225 void __saveds
DoDrawRadioButton(register struct RastPort
* __asm("a0"),
226 register int __asm("d0"),
227 register int __asm("d1"),
228 register int __asm("d2"),
229 register int __asm("d3"),
230 register int __asm("d4"),
231 register int __asm("d5"));
233 struct Image
* __saveds
DoGetButtonImage(register int __asm("d0"),
234 register int __asm("d1"),
235 register int __asm("d2"),
236 register int __asm("d3"),
237 register int __asm("d4"),
238 register int __asm("d5"),
239 register struct DOpusRemember
** __asm("a0"));
241 struct Image
*__saveds
DoGetCheckImage(register UBYTE fg
__asm("d0"),
242 register UBYTE bg
__asm("d1"),
243 register int pen
__asm("d2"),
244 register struct DOpusRemember
**key
__asm("a0"));
246 void __saveds
DoUScoreText(register struct RastPort
* __asm("a0"),
247 register char * __asm("a1"),
248 register int __asm("d0"),
249 register int __asm("d1"),
250 register int __asm("d2"));
252 void __saveds
DoDo3DFrame(register struct RastPort
* __asm("a0"),
253 register int __asm("d0"),
254 register int __asm("d1"),
255 register int __asm("d2"),
256 register int __asm("d3"),
257 register char * __asm("a1"),
258 register int __asm("d4"),
259 register int __asm("d5"));
261 void __saveds
DoDoGlassImage(register struct RastPort
*rp
__asm("a0"),
262 register struct Gadget
*gadget
__asm("a1"),
263 register int shine
__asm("d0"),
264 register int shadow
__asm("d1"),
265 register int type
__asm("d2"));
269 int __saveds
DoReadConfig(register char * __asm("a0"),
270 register struct ConfigStuff
* __asm("a1"));
272 int __saveds
DoSaveConfig(register char * __asm("a0"),
273 register struct ConfigStuff
* __asm("a1"));
275 int __saveds
DoDefaultConfig(register struct ConfigStuff
* __asm("a0"));
277 int __saveds
DoGetDevices(register struct ConfigStuff
* __asm("a0"));
279 void __saveds
DoAssignGadget(register struct ConfigStuff
* __asm("a0"),
280 register int __asm("d0"),
281 register int __asm("d1"),
282 register char * __asm("a1"),
283 register char * __asm("a2"));
285 void __saveds
DoAssignMenu(register struct ConfigStuff
* __asm("a0"),
286 register int __asm("d0"),
287 register char * __asm("a1"),
288 register char * __asm("a2"));
290 void __saveds
DoFreeConfig(register struct ConfigStuff
* __asm("a0"));
292 int __saveds
DoCheckConfig(register struct ConfigStuff
* __asm("a0"));
294 int __saveds
DoFindSystemFile(register char * __asm("a0"),
295 register char * __asm("a1"),
296 register int __asm("d0"),
297 register int __asm("d1"));
301 int __saveds
DoFileRequest(register struct DOpusFileReq
* __asm("a0"));
303 void __saveds
DoSetBusyPointer(register struct Window
* __asm("a0"));
307 int __saveds
DoAddListView(register struct DOpusListView
* __asm("a0"),
308 register int __asm("d0"));
310 void __saveds
DoFixSliderBody(register struct Window
*win
__asm("a0"),
311 register struct Gadget
*gad
__asm("a1"),
312 register int count
__asm("d0"),
313 register int lines
__asm("d1"),
314 register int show
__asm("d2"));
316 void __saveds
DoFixSliderPot(register struct Window
*win
__asm("a0"),
317 register struct Gadget
*gad
__asm("a1"),
318 register int off
__asm("d0"),
319 register int count
__asm("d1"),
320 register int lines
__asm("d2"),
321 register int show
__asm("d3"));
323 void __saveds
DoShowSlider(register struct Window
* __asm("a0"),
324 register struct Gadget
* __asm("a1"));
326 int __saveds
DoGetSliderPos(register struct Gadget
*gad
__asm("a0"),
327 register int count
__asm("d0"),
328 register int lines
__asm("d1"));
330 struct DOpusListView
*__saveds
DoListViewIDCMP(
331 register struct DOpusListView
* __asm("a0"),
332 register struct IntuiMessage
* __asm("a1"));
334 int __saveds
DoRefreshListView(register struct DOpusListView
* __asm("a0"),
335 register int __asm("d0"));
337 int __saveds
DoRemoveListView(register struct DOpusListView
* __asm("a0"),
338 register int __asm("d0"));
343 int __saveds
DoMatchPattern(register unsigned char *pat
__asm("a0"),
344 register unsigned char *str
__asm("a1"),
345 register int cas
__asm("d0"));
347 void __saveds
DoParsePattern(register unsigned char *pat
__asm("a0"),
348 register unsigned char *patbuf
__asm("a1"),
349 register int cas
__asm("d0"));
353 struct Window
*__saveds
R_OpenRequester(
354 register struct RequesterBase
* __asm("a0"));
356 void __saveds
R_CloseRequester(
357 register struct RequesterBase
* __asm("a0"));
359 APTR __saveds
R_AddRequesterObject(
360 register struct RequesterBase
* __asm("a0"),
361 register struct TagItem
* __asm("a1"));
363 void __saveds
R_RefreshRequesterObject(
364 register struct RequesterBase
* __asm("a0"),
365 register struct RequesterObject
* __asm("a1"));
367 void __saveds
R_ObjectText(register struct RequesterBase
*reqbase
__asm("a0"),
368 register short left
__asm("d0"),
369 register short top
__asm("d1"),
370 register short width
__asm("d2"),
371 register short height
__asm("d3"),
372 register char *text
__asm("a1"),
373 register unsigned short textpos
__asm("d4"));
377 int __saveds
DoReadStringFile(
378 register struct StringData
* __asm("a0"),
379 register char * __asm("a1"));
381 void __saveds
DoFreeStringFile(
382 register struct StringData
* __asm("a0"));
386 void __saveds
DoAddGadgetBorders(register struct DOpusRemember
** __asm("a0"),
387 register struct Gadget
* __asm("a1"),
388 register int __asm("d0"),
389 register int __asm("d1"),
390 register int __asm("d2"));
392 void __saveds
DoCreateGadgetBorders(register struct DOpusRemember
** __asm("a0"),
393 register int __asm("d0"),
394 register int __asm("d1"),
395 register struct Border
** __asm("a1"),
396 register struct Border
** __asm("a2"),
397 register int __asm("d2"),
398 register int __asm("d3"),
399 register int __asm("d4"));
401 void __saveds
DoSelectGadget(register struct Window
* __asm("a0"),
402 register struct Gadget
* __asm("a1"));
406 int __saveds
DoFSSetMenuStrip(register struct Window
* __asm("a0"),
407 register struct Menu
* __asm("a1"));
411 void GetWBScreen(register struct Screen
*screen
__asm("a0"));
412 void Seed(register int seed
__asm("d0"));
413 UWORD
Random(register UWORD limit
__asm("d0"));
414 void BtoCStr(register BSTR bstr
__asm("a0"), register char *cstr
__asm("a1"), register int len
__asm("d0"));
415 void SwapMem(register char *src
__asm("a0"), register char *dst
__asm("a1"), register int size
__asm("d0"));
416 __stdargs
void LSprintf(char *buf
, char *fmt
, ...);
417 unsigned char LToUpper(register unsigned char c
__asm("d0"));
418 unsigned char LToLower(register unsigned char c
__asm("d0"));
419 void StrToUpper(register unsigned char *src
__asm("a0"), register unsigned char *dst
__asm("a1"));
420 void StrToLower(register unsigned char *src
__asm("a0"), register unsigned char *dst
__asm("a1"));
421 void LStrnCat(register char *s1
__asm("a0"), register char *s2
__asm("a1"), register int len
__asm("d0"));
422 void LStrCat(register char *s1
__asm("a0"), register char *s2
__asm("a1"));
423 void LStrCpy(register char *dst
__asm("a0"), register char *src
__asm("a1"));
424 void LStrnCpy(register char *dst
__asm("a0"), register char *src
__asm("a1"), register int len
__asm("d0"));
425 int LStrnCmpI(register char *s1
__asm("a0"), register char *s2
__asm("a1"), register int len
__asm("d0"));
426 int LStrCmpI(register char *s1
__asm("a0"), register char *s2
__asm("a1"));
427 int LStrnCmp(register char *s1
__asm("a0"), register char *s2
__asm("a1"), register int len
__asm("d0"));
428 int LStrCmp(register char *s1
__asm("a0"), register char *s2
__asm("a1"));
430 void Do3DBox(register struct RastPort
*rp
__asm("a0"),register int x
__asm("d0"),register int y
__asm("d1"),register int w
__asm("d2"),register int h
__asm("d3"),register int tp
__asm("d4"),register int bp
__asm("d5"));
431 void Do3DStringBox(register struct RastPort
*rp
__asm("a0"),register int x
__asm("d0"),register int y
__asm("d1"),register int w
__asm("d2"),register int h
__asm("d3"),register int tp
__asm("d4"),register int bp
__asm("d5"));
432 void Do3DCycleBox(register struct RastPort
*rp
__asm("a0"),register int x
__asm("d0"),register int y
__asm("d1"),register int w
__asm("d2"),register int h
__asm("d3"),register int tp
__asm("d4"),register int bp
__asm("d5"));
433 void DrawCheckMark(register struct RastPort
*rp
__asm("a0"),register int x
__asm("d0"),register int y
__asm("d1"),register int clear
__asm("d2"));
435 void LParsePattern(register unsigned char *pat
__asm("a0"),register unsigned char *patbuf
__asm("a1"));
436 void LParsePatternI(register unsigned char *pat
__asm("a0"),register unsigned char *patbuf
__asm("a1"));
437 int LMatchPattern(register unsigned char *pat
__asm("a0"), register unsigned char *str
__asm("a1"));
438 int LMatchPatternI(register unsigned char *pat
__asm("a0"), register unsigned char *str
__asm("a1"));
440 void GhostGadget(register struct Gadget
*gad
__asm("a0"), register struct RastPort
*rp
__asm("a1"), register int xoff
__asm("d0"), register int yoff
__asm("d1"));
441 void HiliteGad(register struct Gadget
*gad
__asm("a0"), register struct RastPort
*rp
__asm("a1"));
442 void ActivateStrGad(register struct Gadget
*gad
__asm("a0"), register struct Window
*win
__asm("a1"));
443 void RefreshStrGad(register struct Gadget
*gad
__asm("a0"), register struct Window
*win
__asm("a1"));
444 void DisableGadget(register struct Gadget
*gad
__asm("a0"), register struct RastPort
*rp
__asm("a1"), register int xoff
__asm("d0"), register int yoff
__asm("d1"));
445 void EnableGadget(register struct Gadget
*gad
__asm("a0"), register struct RastPort
*rp
__asm("a1"), register int xoff
__asm("d0"), register int yoff
__asm("d1"));
447 struct IORequest
*DoCreateExtIO(register struct MsgPort
*port
__asm("a0"), register int size
__asm("d0"));
448 void DoDeleteExtIO(register struct IORequest
*extio
__asm("a0"));
449 struct MsgPort
*DoCreatePort(register char *name
__asm("a0"), register int pri
__asm("d0"));
450 void DoDeletePort(register struct MsgPort
*port
__asm("a0"));
452 #define STRING_VERSION 1
455 STR_CONFIG_TOO_OLD
=0,
460 STR_CANNOT_FIND_FILE_REQ
=5,
462 STR_FILEREQ_DRAWER
=7,
463 STR_FILEREQ_ACCEPT
=8,
464 STR_FILEREQ_PARENT
=9,
465 STR_FILEREQ_DRIVES
=10,
479 extern char **string_table
;
481 void initstrings(void);