Fixed some typos/errors in comments and docs.
[AROS.git] / rom / dos / dos.conf
bloba83080041df3992a5b0cab1ed19c2386f46908f1
1 ##begin config
2 version 50.64
3 libbase DOSBase
4 libbasetype struct IntDosBase
5 sysbase_field pub.dl_SysBase
6 libbasetypeextern struct DosLibrary
7 residentpri -120
8 options noautolib, noexpunge, noresident
9 ##end config
11 ##begin cdef
12 #include <dos/dos.h>
13 #include <dos/dosextens.h>
14 #include <dos/filehandler.h>
15 #include <dos/record.h>
16 #include <dos/rdargs.h>
17 #include <dos/dosasl.h>
18 #include <dos/var.h>
19 #include <dos/notify.h>
20 #include <dos/datetime.h>
21 #include <dos/dostags.h>
22 #include <dos/exall.h>
23 #include <aros/preprocessor/variadic/cast2iptr.hpp>
25 #define AllocDosObjectTagList(...) AllocDosObject(__VA_ARGS__)
26 #define CreateNewProcTagList(...) CreateNewProc(__VA_ARGS__)
27 #define NewLoadSegTagList(...) NewLoadSeg(__VA_ARGS__)
28 #define System(...) SystemTagList(__VA_ARGS__)
30 /* Prototypes for stubs in amiga.lib */
32 __BEGIN_DECLS
34 APTR AllocDosObjectTags (ULONG type, Tag tag1, ...) __stackparm;
35 struct Process * CreateNewProcTags (Tag tag1, ...) __stackparm;
36 BPTR NewLoadSegTags (STRPTR file, Tag tag1, ...) __stackparm;
37 LONG SystemTags (STRPTR command, Tag tag1, ...) __stackparm;
39 __END_DECLS
41 #if !defined(NO_INLINE_STDARG) && defined(__GNUC__)
42 #define FWritef(fh, format, ...) \
43 ({ \
44     IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
45     VFWritef((fh), (format), __args); \
48 #define FPrintf(fh, format, ...) \
49 ({ \
50     IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
51     VFPrintf((fh), (format), __args); \
54 #define Printf(format, ...) \
55 ({ \
56     IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
57     VFPrintf(Output(), (format), __args); \
59 #endif
61 ##end cdef
63 ##begin cdefprivate
64 #include <dos/dosextens.h>
66 #include "dos_intern.h"
67 ##end cdefprivate
69 ##begin functionlist
70 struct DosLibrary *OpenLib(ULONG version) (D0)
71 .private
72 BPTR CloseLib() ()
73 .private
74 .skip 2
75 BPTR Open(CONST_STRPTR name, LONG accessMode) (D1,D2)
76 BOOL Close(BPTR file) (D1)
77 LONG Read(BPTR file, APTR buffer, LONG length) (D1, D2, D3)
78 LONG Write(BPTR file, CONST_APTR buffer, LONG length) (D1, D2, D3)
79 BPTR Input() ()
80 BPTR Output() ()
81 LONG Seek(BPTR file, LONG position, LONG mode) (D1,D2,D3)
82 BOOL DeleteFile(CONST_STRPTR name) (D1)
83 LONG Rename(CONST_STRPTR oldName, CONST_STRPTR newName) (D1,D2)
84 BPTR Lock(CONST_STRPTR name, LONG accessMode) (D1,D2)
85 BOOL UnLock(BPTR lock) (D1)
86 BPTR DupLock(BPTR lock) (D1)
87 LONG Examine(BPTR lock, struct FileInfoBlock* fib) (D1,D2)
88 LONG ExNext(BPTR lock, struct FileInfoBlock* fileInfoBlock) (D1,D2)
89 LONG Info(BPTR lock, struct InfoData* parameterBlock) (D1,D2)
90 BPTR CreateDir(CONST_STRPTR name) (D1)
91 BPTR CurrentDir(BPTR lock) (D1)
92 SIPTR IoErr() ()
93 struct MsgPort* CreateProc(CONST_STRPTR name, LONG pri, BPTR segList, LONG stackSize) (D1,D2,D3,D4)
94 void Exit(LONG returnCode) (D1)
95 BPTR LoadSeg(CONST_STRPTR name) (D1)
96 BOOL UnLoadSeg(BPTR seglist) (D1)
97 .skip 1 # AmigaOS 2.1 private: ClearVec(bVector, upb) (D1,D2)
98 .skip 1 # AmigaOS 2.1 private: NoReqLoadSeg(bFileName) (D1)
99 struct MsgPort *DeviceProc(CONST_STRPTR name) (D1)
100 LONG SetComment(CONST_STRPTR name, CONST_STRPTR comment) (D1,D2)
101 LONG SetProtection(CONST_STRPTR name, ULONG protect) (D1,D2)
102 struct DateStamp *DateStamp(struct DateStamp *date) (D1)
103 void Delay(ULONG timeout) (D1)
104 LONG WaitForChar(BPTR file, LONG timeout) (D1,D2)
105 BPTR ParentDir(BPTR lock) (D1)
106 LONG IsInteractive(BPTR file) (D1)
107 BOOL Execute(CONST_STRPTR string, BPTR input, BPTR output) (D1,D2,D3)
108 .version 36
109 APTR AllocDosObject(ULONG type, struct TagItem *tags) (D1,D2)
110 void FreeDosObject(ULONG type, APTR ptr) (D1,D2)
111 SIPTR DoPkt(struct MsgPort* port, LONG action, SIPTR arg1, SIPTR arg2, SIPTR arg3, SIPTR arg4, SIPTR arg5) (D1,D2,D3,D4,D5,D6,D7)
112 void SendPkt(struct DosPacket *dp, struct MsgPort *port, struct MsgPort *replyport) (D1,D2,D3)
113 struct DosPacket *WaitPkt() ()
114 void ReplyPkt(struct DosPacket *dp, SIPTR res1, LONG res2) (D1,D2,D3)
115 void AbortPkt(struct MsgPort *port, struct DosPacket *pkt) (D1,D2)
116 BOOL LockRecord(BPTR fh, ULONG offset, ULONG length, ULONG mode, ULONG timeout) (D1,D2,D3,D4,D5)
117 BOOL LockRecords(struct RecordLock *recArray, ULONG timeout) (D1,D2)
118 BOOL UnLockRecord(BPTR fh, ULONG offset, ULONG length) (D1,D2,D3)
119 BOOL UnLockRecords(struct RecordLock * recArray) (D1)
120 BPTR SelectInput(BPTR fh) (D1)
121 BPTR SelectOutput(BPTR fh) (D1)
122 LONG FGetC(BPTR file) (D1)
123 LONG FPutC(BPTR file, LONG character) (D1,D2)
124 LONG UnGetC(BPTR file, LONG character) (D1,D2)
125 LONG FRead(BPTR fh, APTR block, ULONG blocklen, ULONG number) (D1,D2,D3,D4)
126 LONG FWrite(BPTR fh, CONST_APTR block, ULONG blocklen, ULONG numblocks) (D1,D2,D3,D4)
127 STRPTR FGets(BPTR fh, STRPTR buf, ULONG buflen) (D1,D2,D3)
128 LONG FPuts(BPTR file, CONST_STRPTR string) (D1,D2)
129 LONG VFWritef(BPTR fh, CONST_STRPTR fmt, const IPTR *argarray) (D1,D2,D3)
130 LONG VFPrintf(BPTR file, CONST_STRPTR format, const IPTR *argarray) (D1,D2,D3)
131 LONG Flush(BPTR file) (D1)
132 LONG SetVBuf(BPTR file, STRPTR buff, LONG type, LONG size) (D1,D2,D3,D4)
133 BPTR DupLockFromFH(BPTR lock) (D1)
134 BPTR OpenFromLock(BPTR lock) (D1)
135 BPTR ParentOfFH(BPTR fh) (D1)
136 BOOL ExamineFH(BPTR fh, struct FileInfoBlock* fib) (D1,D2)
137 BOOL SetFileDate(CONST_STRPTR name, const struct DateStamp *date) (D1,D2)
138 BOOL NameFromLock(BPTR lock, STRPTR buffer, LONG length) (D1,D2,D3)
139 BOOL NameFromFH(BPTR fh, STRPTR buffer, LONG length) (D1,D2,D3)
140 LONG SplitName(CONST_STRPTR name, ULONG separator, STRPTR buf, LONG oldpos, LONG size) (D1,D2,D3,D4,D5)
141 LONG SameLock(BPTR lock1, BPTR lock2) (D1,D2)
142 LONG SetMode(BPTR fh, LONG mode) (D1,D2)
143 BOOL ExAll(BPTR lock, struct ExAllData *buffer, LONG size, LONG data, struct ExAllControl *control) (D1,D2,D3,D4,D5)
144 LONG ReadLink(struct MsgPort *port, BPTR lock, CONST_STRPTR path, STRPTR buffer, ULONG size) (D1,D2,D3,D4,D5)
145 LONG MakeLink(CONST_STRPTR name, APTR dest, LONG soft) (D1,D2,D3)
146 BOOL ChangeMode(ULONG type, BPTR object, ULONG newmode) (D1,D2,D3)
147 LONG SetFileSize(BPTR file, LONG offset, LONG mode) (D1,D2,D3)
148 SIPTR SetIoErr(SIPTR result) (D1)
149 BOOL Fault(LONG code, CONST_STRPTR header, STRPTR buffer, LONG len) (D1,D2,D3,D4)
150 BOOL PrintFault(LONG code, CONST_STRPTR header) (D1,D2)
151 BOOL ErrorReport(LONG code, LONG type, IPTR arg1, struct MsgPort *device) (D1,D2,D3,D4)
152 LONG DisplayError(CONST_STRPTR formatStr, ULONG flags, APTR args) (A0,D0,A1)
153 struct CommandLineInterface *Cli() ()
154 struct Process *CreateNewProc(const struct TagItem *tags) (D1)
155 LONG RunCommand(BPTR segList, ULONG stacksize, STRPTR argptr, ULONG argsize) (D1,D2,D3,D4)
156 struct MsgPort *GetConsoleTask() ()
157 struct MsgPort *SetConsoleTask(struct MsgPort *handler) (D1)
158 struct MsgPort *GetFileSysTask() ()
159 struct MsgPort *SetFileSysTask(struct MsgPort *task) (D1)
160 STRPTR GetArgStr() ()
161 STRPTR SetArgStr(CONST_STRPTR string) (D1)
162 struct Process *FindCliProc(ULONG num) (D1)
163 ULONG MaxCli() ()
164 BOOL SetCurrentDirName(CONST_STRPTR name) (D1)
165 BOOL GetCurrentDirName(STRPTR buf, LONG len) (D1,D2)
166 BOOL SetProgramName(CONST_STRPTR name) (D1)
167 BOOL GetProgramName(STRPTR buf, LONG len) (D1,D2)
168 BOOL SetPrompt(CONST_STRPTR name) (D1)
169 BOOL GetPrompt(STRPTR buf, LONG len) (D1,D2)
170 BPTR SetProgramDir(BPTR lock) (D1)
171 BPTR GetProgramDir() ()
172 LONG SystemTagList(CONST_STRPTR command, const struct TagItem *tags) (D1,D2)
173 LONG AssignLock(CONST_STRPTR name, BPTR lock) (D1,D2)
174 BOOL AssignLate(CONST_STRPTR name, CONST_STRPTR path) (D1,D2)
175 BOOL AssignPath(CONST_STRPTR name, CONST_STRPTR path) (D1,D2)
176 BOOL AssignAdd(CONST_STRPTR name, BPTR lock) (D1,D2)
177 LONG RemAssignList(CONST_STRPTR name, BPTR lock) (D1,D2)
178 struct DevProc *GetDeviceProc(CONST_STRPTR name, struct DevProc *dp) (D1,D2)
179 void FreeDeviceProc(struct DevProc *dp) (D1)
180 struct DosList *LockDosList(ULONG flags) (D1)
181 void UnLockDosList(ULONG flags) (D1)
182 struct DosList *AttemptLockDosList(ULONG flags) (D1)
183 LONG RemDosEntry(struct DosList *dlist) (D1)
184 LONG AddDosEntry(struct DosList *dlist) (D1)
185 struct DosList *FindDosEntry(struct DosList *dlist, CONST_STRPTR name, ULONG flags) (D1,D2,D3)
186 struct DosList *NextDosEntry(struct DosList *dlist, ULONG flags) (D1,D2)
187 struct DosList * MakeDosEntry(CONST_STRPTR name, LONG type) (D1,D2)
188 void FreeDosEntry(struct DosList *dlist) (D1)
189 BOOL IsFileSystem(CONST_STRPTR devicename) (D1)
190 BOOL Format(CONST_STRPTR devicename, CONST_STRPTR volumename, ULONG dostype) (D1,D2,D3)
191 LONG Relabel(CONST_STRPTR drive, CONST_STRPTR newname) (D1,D2)
192 LONG Inhibit(CONST_STRPTR name, LONG onoff) (D1,D2)
193 BOOL AddBuffers(CONST_STRPTR devicename, LONG numbuffers) (D1,D2)
194 LONG CompareDates(const struct DateStamp *date1, const struct DateStamp *date2) (D1,D2)
195 BOOL DateToStr(struct DateTime *datetime) (D1)
196 BOOL StrToDate(struct DateTime *datetime) (D1)
197 BPTR InternalLoadSeg(BPTR fh, BPTR table, LONG_FUNC *functionarray, LONG *stack) (D0,A0,A1,A2)
198 BOOL InternalUnLoadSeg(BPTR seglist, VOID_FUNC freefunc) (D1,A1)
199 BPTR NewLoadSeg(CONST_STRPTR file, const struct TagItem *tags) (D1,D2)
200 BOOL AddSegment(CONST_STRPTR name, BPTR seg, LONG type) (D1,D2,D3)
201 struct Segment *FindSegment(CONST_STRPTR name, struct Segment *seg, BOOL system) (D1,D2,D3)
202 LONG RemSegment(struct Segment *seg) (D1)
203 LONG CheckSignal(LONG mask) (D1)
204 struct RDArgs *ReadArgs(CONST_STRPTR templ, IPTR *array, struct RDArgs *rdargs) (D1,D2,D3)
205 LONG FindArg(CONST_STRPTR templ, CONST_STRPTR keyword) (D1,D2)
206 LONG ReadItem(STRPTR buffer, LONG maxchars, struct CSource *input) (D1,D2,D3)
207 LONG StrToLong(CONST_STRPTR string, LONG *value) (D1,D2)
208 LONG MatchFirst(CONST_STRPTR pat, struct AnchorPath *AP) (D1,D2)
209 LONG MatchNext(struct AnchorPath *AP) (D1)
210 void MatchEnd(struct AnchorPath *AP) (D1)
211 LONG ParsePattern(CONST_STRPTR Source, STRPTR Dest, LONG DestLength) (D1,D2,D3)
212 BOOL MatchPattern(CONST_STRPTR pat, CONST_STRPTR str) (D1,D2)
213 .skip 1 # DosNameFromAnchor
214 void FreeArgs(struct RDArgs *args) (D1)
215 .novararg
216 .skip 1
217 STRPTR FilePart(CONST_STRPTR path) (D1)
218 STRPTR PathPart(CONST_STRPTR path) (D1)
219 BOOL AddPart(STRPTR dirname, CONST_STRPTR filename, ULONG size) (D1,D2,D3)
220 BOOL StartNotify(struct NotifyRequest *notify) (D1)
221 void EndNotify(struct NotifyRequest *notify) (D1)
222 BOOL SetVar(CONST_STRPTR name, CONST_STRPTR buffer, LONG size, LONG flags) (D1,D2,D3,D4)
223 LONG GetVar(CONST_STRPTR name, STRPTR buffer, LONG size, LONG flags) (D1,D2,D3,D4)
224 LONG DeleteVar(CONST_STRPTR name, ULONG flags) (D1,D2)
225 struct LocalVar *FindVar(CONST_STRPTR name, ULONG type) (D1,D2)
226 IPTR CliInit(struct DosPacket *dp) (A0)
227 IPTR CliInitNewcli(struct DosPacket *dp) (A0)
228 IPTR CliInitRun(struct DosPacket *dp) (A0)
229 LONG WriteChars(CONST_STRPTR buf, ULONG buflen) (D1,D2)
230 LONG PutStr(CONST_STRPTR string) (D1)
231 LONG VPrintf(CONST_STRPTR format, IPTR *argarray) (D1,D2)
232 .skip 1
233 .version 37 # Actually, version 36.147, but let's be on the safe side
234 LONG ParsePatternNoCase(CONST_STRPTR Source, STRPTR Dest, LONG DestLength) (D1,D2,D3)
235 BOOL MatchPatternNoCase(CONST_STRPTR pat, CONST_STRPTR str) (D1,D2)
236 STRPTR DosGetString(LONG stringNum) (D1)
237 .version 37
238 BOOL SameDevice(BPTR lock1, BPTR lock2) (D1,D2)
239 .version 39
240 void ExAllEnd(BPTR lock, struct ExAllData *buffer, LONG size, LONG data, struct ExAllControl *control) (D1,D2,D3,D4,D5)
241 BOOL SetOwner(CONST_STRPTR name, ULONG owner_info) (D1,D2)
242 .version 50
243 .skip 1 # MorphOS v50: LONG AddSegmentTagList(struct TagItem *tags) (A0)
244 .skip 1 # MorphOS v50: struct Segment *FindSegmentTagList(struct TagItem *tags) (A0)
245 LONG ScanVars(struct Hook * hook, ULONG flags, APTR userdata) (D1,D2,D3)
246 # The following entries are reserved for MorphOS v51 compatibility:
247 .version 51
248 # private10()()
249 # private11()()
250 # private12()()
251 # private13()()
252 # private14()()
253 # private15()()
254 # private16()()
255 # private17()()
256 # QUAD Seek64(BPTR file, QUAD pos, LONG mode) (base,sysv)
257 # QUAD SetFileSize64(BPTR fh, QUAD pos, LONG mode) (base,sysv)
258 # LONG LockRecord64(BPTR fh, UQUAD offset, UQUAD length, ULONG mode, ULONG timeout) (base,sysv)
259 # LONG LockRecords64(struct RecordLock64 *recArray, ULONG timeout) (base,sysv)
260 # LONG UnLockRecord64(BPTR fh, UQUAD offset, UQUAD length) (base,sysv)
261 # LONG UnLockRecords64(struct RecordLock64 *recArray) (base,sysv)
262 # private18()()
263 # private19()()
264 # LONG NewReadLink( struct MsgPort *port, BPTR lock, CONST_STRPTR path, UBYTE *buffer, LONG buffer_size) (base,sysv)
265 # LONG GetFileSysAttr(CONST_STRPTR devicename, LONG attr, APTR storage, LONG storage_size) (base,sysv)
266 # LONG GetSegListAttr(BPTR seglist, LONG attr, APTR storage, LONG storage_size) (base,sysv)
267 # LONG SetDosObjectAttr(ULONG type, APTR ptr, struct TagItem *tags) (base,sysv)
268 # LONG GetDosObjectAttr(ULONG type, APTR ptr, struct TagItem *tags) (base,sysv)
269 # LONG Examine64(BPTR lock, struct FileInfoBlock *fib, struct TagItem *tags) (base,sysv)
270 # LONG ExNext64(BPTR lock, struct FileInfoBlock *fib, struct TagItem *tags) (base,sysv)
271 # LONG ExamineFH64(BPTR file, struct FileInfoBlock *fib, struct TagItem *tags) (base,sysv)
272 ##end functionlist