#ifndef CLIB_DOS_PROTOS_H
#define CLIB_DOS_PROTOS_H

/*
    *** Automatically generated from 'dos.conf'. Edits will be lost. ***
    Copyright © 1995-2005, The AROS Development Team. All rights reserved.
*/

#include <aros/libcall.h>
#include <dos/dos.h>
#include <dos/dosextens.h>
#include <dos/record.h>
#include <dos/rdargs.h>
#include <dos/dosasl.h>
#include <dos/var.h>
#include <dos/notify.h>
#include <dos/datetime.h>
#include <dos/dostags.h>
#include <dos/exall.h>
#include <aros/preprocessor/variadic/cast2iptr.hpp>

#define AllocDosObjectTagList(...) AllocDosObject(__VA_ARGS__)
#define CreateNewProcTagList(...) CreateNewProc(__VA_ARGS__)
#define NewLoadSegTagList(...) NewLoadSeg(__VA_ARGS__)
#define System(...) SystemTagList(__VA_ARGS__)

/* Prototypes for stubs in amiga.lib */
APTR AllocDosObjectTags (ULONG type, Tag tag1, ...) __stackparm;
struct Process * CreateNewProcTags (Tag tag1, ...) __stackparm;
BPTR NewLoadSegTags (STRPTR file, Tag tag1, ...) __stackparm;
LONG SystemTags (STRPTR command, Tag tag1, ...) __stackparm;

#define FWritef(fh, format, ...) \
({ \
    IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
    VFWritef((fh), (format), __args); \
})
 
#define FPrintf(fh, format, ...) \
({ \
    IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
    VFPrintf((fh), (format), __args); \
})

#define Printf(format, ...) \
({ \
    IPTR __args[] = { AROS_PP_VARIADIC_CAST2IPTR(__VA_ARGS__) }; \
    VFPrintf(Output(), (format), __args); \
})

AROS_LP2(BPTR, Open,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(LONG, accessMode, D2),
        struct DosLibrary *, DOSBase, 5, Dos)

AROS_LP1(BOOL, Close,
        AROS_LPA(BPTR, file, D1),
        struct DosLibrary *, DOSBase, 6, Dos)

AROS_LP3(LONG, Read,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(APTR, buffer, D2),
        AROS_LPA(LONG, length, D3),
        struct DosLibrary *, DOSBase, 7, Dos)

AROS_LP3(LONG, Write,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(CONST_APTR, buffer, D2),
        AROS_LPA(LONG, length, D3),
        struct DosLibrary *, DOSBase, 8, Dos)

AROS_LP0(BPTR, Input,
        struct DosLibrary *, DOSBase, 9, Dos)

AROS_LP0(BPTR, Output,
        struct DosLibrary *, DOSBase, 10, Dos)

AROS_LP3(LONG, Seek,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(LONG, position, D2),
        AROS_LPA(LONG, mode, D3),
        struct DosLibrary *, DOSBase, 11, Dos)

AROS_LP1(BOOL, DeleteFile,
        AROS_LPA(CONST_STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 12, Dos)

AROS_LP2(LONG, Rename,
        AROS_LPA(CONST_STRPTR, oldName, D1),
        AROS_LPA(CONST_STRPTR, newName, D2),
        struct DosLibrary *, DOSBase, 13, Dos)

AROS_LP2(BPTR, Lock,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(LONG, accessMode, D2),
        struct DosLibrary *, DOSBase, 14, Dos)

AROS_LP1(BPTR, DupLock,
        AROS_LPA(BPTR, lock, D1),
        struct DosLibrary *, DOSBase, 16, Dos)

AROS_LP2(BOOL, Examine,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(struct FileInfoBlock*, fib, D2),
        struct DosLibrary *, DOSBase, 17, Dos)

AROS_LP2(BOOL, ExNext,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(struct FileInfoBlock*, fileInfoBlock, D2),
        struct DosLibrary *, DOSBase, 18, Dos)

AROS_LP2(BOOL, Info,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(struct InfoData*, parameterBlock, D2),
        struct DosLibrary *, DOSBase, 19, Dos)

AROS_LP1(BPTR, CreateDir,
        AROS_LPA(CONST_STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 20, Dos)

AROS_LP1(BPTR, CurrentDir,
        AROS_LPA(BPTR, lock, D1),
        struct DosLibrary *, DOSBase, 21, Dos)

AROS_LP0(LONG, IoErr,
        struct DosLibrary *, DOSBase, 22, Dos)

AROS_LP4(struct MsgPort*, CreateProc,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(LONG, pri, D2),
        AROS_LPA(BPTR, segList, D3),
        AROS_LPA(LONG, stackSize, D4),
        struct DosLibrary *, DOSBase, 23, Dos)

AROS_LP1(void, Exit,
        AROS_LPA(LONG, returnCode, D1),
        struct DosLibrary *, DOSBase, 24, Dos)

AROS_LP1(BPTR, LoadSeg,
        AROS_LPA(CONST_STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 25, Dos)

AROS_LP1(BOOL, UnLoadSeg,
        AROS_LPA(BPTR, seglist, D1),
        struct DosLibrary *, DOSBase, 26, Dos)

AROS_LP1(struct Device *, DeviceProc,
        AROS_LPA(CONST_STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 29, Dos)

AROS_LP2(BOOL, SetComment,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(STRPTR, comment, D2),
        struct DosLibrary *, DOSBase, 30, Dos)

AROS_LP2(BOOL, SetProtection,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(ULONG, protect, D2),
        struct DosLibrary *, DOSBase, 31, Dos)

AROS_LP1(struct DateStamp *, DateStamp,
        AROS_LPA(struct DateStamp *, date, D1),
        struct DosLibrary *, DOSBase, 32, Dos)

AROS_LP1(void, Delay,
        AROS_LPA(ULONG, timeout, D1),
        struct DosLibrary *, DOSBase, 33, Dos)

AROS_LP2(BOOL, WaitForChar,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(LONG, timeout, D2),
        struct DosLibrary *, DOSBase, 34, Dos)

AROS_LP1(BPTR, ParentDir,
        AROS_LPA(BPTR, lock, D1),
        struct DosLibrary *, DOSBase, 35, Dos)

AROS_LP1(BOOL, IsInteractive,
        AROS_LPA(BPTR, file, D1),
        struct DosLibrary *, DOSBase, 36, Dos)

AROS_LP3(LONG, Execute,
        AROS_LPA(STRPTR, string, D1),
        AROS_LPA(BPTR, input, D2),
        AROS_LPA(BPTR, output, D3),
        struct DosLibrary *, DOSBase, 37, Dos)

AROS_LP2(APTR, AllocDosObject,
        AROS_LPA(ULONG, type, D1),
        AROS_LPA(struct TagItem*, tags, D2),
        struct DosLibrary *, DOSBase, 38, Dos)

AROS_LP2(void, FreeDosObject,
        AROS_LPA(ULONG, type, D1),
        AROS_LPA(APTR, ptr, D2),
        struct DosLibrary *, DOSBase, 39, Dos)

AROS_LP7(LONG, DoPkt,
        AROS_LPA(struct MsgPort*, port, D1),
        AROS_LPA(LONG, action, D2),
        AROS_LPA(LONG, arg1, D3),
        AROS_LPA(LONG, arg2, D4),
        AROS_LPA(LONG, arg3, D5),
        AROS_LPA(LONG, arg4, D6),
        AROS_LPA(LONG, arg5, D7),
        struct DosLibrary *, DOSBase, 40, Dos)

AROS_LP3(void, SendPkt,
        AROS_LPA(struct DosPacket *, dp, D1),
        AROS_LPA(struct MsgPort *, port, D2),
        AROS_LPA(struct MsgPort *, replyport, D3),
        struct DosLibrary *, DOSBase, 41, Dos)

AROS_LP0(struct DosPacket *, WaitPkt,
        struct DosLibrary *, DOSBase, 42, Dos)

AROS_LP3(void, ReplyPkt,
        AROS_LPA(struct DosPacket *, dp, D1),
        AROS_LPA(LONG, res1, D2),
        AROS_LPA(LONG, res2, D3),
        struct DosLibrary *, DOSBase, 43, Dos)

AROS_LP2(void, AbortPkt,
        AROS_LPA(struct MsgPort *, port, D1),
        AROS_LPA(struct DosPacket *, pkt, D2),
        struct DosLibrary *, DOSBase, 44, Dos)

AROS_LP5(BOOL, LockRecord,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(ULONG, offset, D2),
        AROS_LPA(ULONG, length, D3),
        AROS_LPA(ULONG, mode, D4),
        AROS_LPA(ULONG, timeout, D5),
        struct DosLibrary *, DOSBase, 45, Dos)

AROS_LP2(BOOL, LockRecords,
        AROS_LPA(struct RecordLock *, recArray, D1),
        AROS_LPA(ULONG, timeout, D2),
        struct DosLibrary *, DOSBase, 46, Dos)

AROS_LP3(BOOL, UnLockRecord,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(ULONG, offset, D2),
        AROS_LPA(ULONG, length, D3),
        struct DosLibrary *, DOSBase, 47, Dos)

AROS_LP1(BOOL, UnLockRecords,
        AROS_LPA(struct RecordLock *, recArray, D1),
        struct DosLibrary *, DOSBase, 48, Dos)

AROS_LP1(BPTR, SelectInput,
        AROS_LPA(BPTR, fh, D1),
        struct DosLibrary *, DOSBase, 49, Dos)

AROS_LP1(BPTR, SelectOutput,
        AROS_LPA(BPTR, fh, D1),
        struct DosLibrary *, DOSBase, 50, Dos)

AROS_LP1(LONG, FGetC,
        AROS_LPA(BPTR, file, D1),
        struct DosLibrary *, DOSBase, 51, Dos)

AROS_LP2(LONG, FPutC,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(LONG, character, D2),
        struct DosLibrary *, DOSBase, 52, Dos)

AROS_LP2(LONG, UnGetC,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(LONG, character, D2),
        struct DosLibrary *, DOSBase, 53, Dos)

AROS_LP4(LONG, FRead,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(APTR, block, D2),
        AROS_LPA(ULONG, blocklen, D3),
        AROS_LPA(ULONG, number, D4),
        struct DosLibrary *, DOSBase, 54, Dos)

AROS_LP4(LONG, FWrite,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(const APTR, block, D2),
        AROS_LPA(ULONG, blocklen, D3),
        AROS_LPA(ULONG, numblocks, D4),
        struct DosLibrary *, DOSBase, 55, Dos)

AROS_LP3(STRPTR, FGets,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(STRPTR, buf, D2),
        AROS_LPA(ULONG, buflen, D3),
        struct DosLibrary *, DOSBase, 56, Dos)

AROS_LP2(LONG, FPuts,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(CONST_STRPTR, string, D2),
        struct DosLibrary *, DOSBase, 57, Dos)

AROS_LP3(LONG, VFWritef,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(STRPTR, fmt, D2),
        AROS_LPA(IPTR *, argarray, D3),
        struct DosLibrary *, DOSBase, 58, Dos)

AROS_LP3(LONG, VFPrintf,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(CONST_STRPTR, format, D2),
        AROS_LPA(IPTR *, argarray, D3),
        struct DosLibrary *, DOSBase, 59, Dos)

AROS_LP1(LONG, Flush,
        AROS_LPA(BPTR, file, D1),
        struct DosLibrary *, DOSBase, 60, Dos)

AROS_LP4(LONG, SetVBuf,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(STRPTR, buff, D2),
        AROS_LPA(LONG, type, D3),
        AROS_LPA(LONG, size, D4),
        struct DosLibrary *, DOSBase, 61, Dos)

AROS_LP1(BPTR, OpenFromLock,
        AROS_LPA(BPTR, lock, D1),
        struct DosLibrary *, DOSBase, 63, Dos)

AROS_LP1(BPTR, ParentOfFH,
        AROS_LPA(BPTR, fh, D1),
        struct DosLibrary *, DOSBase, 64, Dos)

AROS_LP2(BOOL, SetFileDate,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(struct DateStamp *, date, D2),
        struct DosLibrary *, DOSBase, 66, Dos)

AROS_LP3(BOOL, NameFromLock,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(STRPTR, buffer, D2),
        AROS_LPA(LONG, length, D3),
        struct DosLibrary *, DOSBase, 67, Dos)

AROS_LP5(LONG, SplitName,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(ULONG, seperator, D2),
        AROS_LPA(STRPTR, buf, D3),
        AROS_LPA(LONG, oldpos, D4),
        AROS_LPA(LONG, size, D5),
        struct DosLibrary *, DOSBase, 69, Dos)

AROS_LP2(LONG, SameLock,
        AROS_LPA(BPTR, lock1, D1),
        AROS_LPA(BPTR, lock2, D2),
        struct DosLibrary *, DOSBase, 70, Dos)

AROS_LP2(LONG, SetMode,
        AROS_LPA(BPTR, fh, D1),
        AROS_LPA(LONG, mode, D2),
        struct DosLibrary *, DOSBase, 71, Dos)

AROS_LP5(BOOL, ExAll,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(struct ExAllData *, buffer, D2),
        AROS_LPA(LONG, size, D3),
        AROS_LPA(LONG, data, D4),
        AROS_LPA(struct ExAllControl *, control, D5),
        struct DosLibrary *, DOSBase, 72, Dos)

AROS_LP5(LONG, ReadLink,
        AROS_LPA(struct MsgPort *, port, D1),
        AROS_LPA(BPTR, lock, D2),
        AROS_LPA(STRPTR, path, D3),
        AROS_LPA(STRPTR, buffer, D4),
        AROS_LPA(ULONG, size, D5),
        struct DosLibrary *, DOSBase, 73, Dos)

AROS_LP3(LONG, MakeLink,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(APTR, dest, D2),
        AROS_LPA(LONG, soft, D3),
        struct DosLibrary *, DOSBase, 74, Dos)

AROS_LP3(BOOL, ChangeMode,
        AROS_LPA(ULONG, type, D1),
        AROS_LPA(BPTR, object, D2),
        AROS_LPA(ULONG, newmode, D3),
        struct DosLibrary *, DOSBase, 75, Dos)

AROS_LP3(LONG, SetFileSize,
        AROS_LPA(BPTR, file, D1),
        AROS_LPA(LONG, offset, D2),
        AROS_LPA(LONG, mode, D3),
        struct DosLibrary *, DOSBase, 76, Dos)

AROS_LP1(LONG, SetIoErr,
        AROS_LPA(LONG, result, D1),
        struct DosLibrary *, DOSBase, 77, Dos)

AROS_LP4(BOOL, Fault,
        AROS_LPA(LONG, code, D1),
        AROS_LPA(CONST_STRPTR, header, D2),
        AROS_LPA(STRPTR, buffer, D3),
        AROS_LPA(LONG, len, D4),
        struct DosLibrary *, DOSBase, 78, Dos)

AROS_LP2(BOOL, PrintFault,
        AROS_LPA(LONG, code, D1),
        AROS_LPA(STRPTR, header, D2),
        struct DosLibrary *, DOSBase, 79, Dos)

AROS_LP4(BOOL, ErrorReport,
        AROS_LPA(LONG, code, D1),
        AROS_LPA(LONG, type, D2),
        AROS_LPA(ULONG, arg1, D3),
        AROS_LPA(struct MsgPort *, device, D4),
        struct DosLibrary *, DOSBase, 80, Dos)

AROS_LP3(LONG, DisplayError,
        AROS_LPA(CONST_STRPTR, formatStr, A0),
        AROS_LPA(ULONG, flags, D0),
        AROS_LPA(APTR, args, A1),
        struct DosLibrary *, DOSBase, 81, Dos)

AROS_LP0(struct CommandLineInterface *, Cli,
        struct DosLibrary *, DOSBase, 82, Dos)

AROS_LP1(struct Process *, CreateNewProc,
        AROS_LPA(struct TagItem *, tags, D1),
        struct DosLibrary *, DOSBase, 83, Dos)

AROS_LP4(LONG, RunCommand,
        AROS_LPA(BPTR, segList, D1),
        AROS_LPA(ULONG, stacksize, D2),
        AROS_LPA(STRPTR, argptr, D3),
        AROS_LPA(ULONG, argsize, D4),
        struct DosLibrary *, DOSBase, 84, Dos)

AROS_LP0(struct MsgPort *, GetConsoleTask,
        struct DosLibrary *, DOSBase, 85, Dos)

AROS_LP1(struct MsgPort *, SetConsoleTask,
        AROS_LPA(struct MsgPort *, handler, D1),
        struct DosLibrary *, DOSBase, 86, Dos)

AROS_LP0(struct MsgPort *, GetFileSysTask,
        struct DosLibrary *, DOSBase, 87, Dos)

AROS_LP1(struct MsgPort *, SetFileSysTask,
        AROS_LPA(struct MsgPort *, task, D1),
        struct DosLibrary *, DOSBase, 88, Dos)

AROS_LP0(STRPTR, GetArgStr,
        struct DosLibrary *, DOSBase, 89, Dos)

AROS_LP1(STRPTR, SetArgStr,
        AROS_LPA(STRPTR, string, D1),
        struct DosLibrary *, DOSBase, 90, Dos)

AROS_LP1(struct Process *, FindCliProc,
        AROS_LPA(ULONG, num, D1),
        struct DosLibrary *, DOSBase, 91, Dos)

AROS_LP0(ULONG, MaxCli,
        struct DosLibrary *, DOSBase, 92, Dos)

AROS_LP1(BOOL, SetCurrentDirName,
        AROS_LPA(CONST_STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 93, Dos)

AROS_LP2(BOOL, GetCurrentDirName,
        AROS_LPA(STRPTR, buf, D1),
        AROS_LPA(LONG, len, D2),
        struct DosLibrary *, DOSBase, 94, Dos)

AROS_LP1(BOOL, SetProgramName,
        AROS_LPA(STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 95, Dos)

AROS_LP2(BOOL, GetProgramName,
        AROS_LPA(STRPTR, buf, D1),
        AROS_LPA(LONG, len, D2),
        struct DosLibrary *, DOSBase, 96, Dos)

AROS_LP1(BOOL, SetPrompt,
        AROS_LPA(STRPTR, name, D1),
        struct DosLibrary *, DOSBase, 97, Dos)

AROS_LP2(BOOL, GetPrompt,
        AROS_LPA(STRPTR, buf, D1),
        AROS_LPA(LONG, len, D2),
        struct DosLibrary *, DOSBase, 98, Dos)

AROS_LP1(BPTR, SetProgramDir,
        AROS_LPA(BPTR, lock, D1),
        struct DosLibrary *, DOSBase, 99, Dos)

AROS_LP0(BPTR, GetProgramDir,
        struct DosLibrary *, DOSBase, 100, Dos)

AROS_LP2(LONG, SystemTagList,
        AROS_LPA(CONST_STRPTR, command, D1),
        AROS_LPA(struct TagItem *, tags, D2),
        struct DosLibrary *, DOSBase, 101, Dos)

AROS_LP2(BOOL, AssignLock,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(BPTR, lock, D2),
        struct DosLibrary *, DOSBase, 102, Dos)

AROS_LP2(BOOL, AssignLate,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(CONST_STRPTR, path, D2),
        struct DosLibrary *, DOSBase, 103, Dos)

AROS_LP2(BOOL, AssignPath,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(CONST_STRPTR, path, D2),
        struct DosLibrary *, DOSBase, 104, Dos)

AROS_LP2(BOOL, AssignAdd,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(BPTR, lock, D2),
        struct DosLibrary *, DOSBase, 105, Dos)

AROS_LP2(LONG, RemAssignList,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(BPTR, lock, D2),
        struct DosLibrary *, DOSBase, 106, Dos)

AROS_LP2(struct DevProc *, GetDeviceProc,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(struct DevProc *, dp, D2),
        struct DosLibrary *, DOSBase, 107, Dos)

AROS_LP1(void, FreeDeviceProc,
        AROS_LPA(struct DevProc *, dp, D1),
        struct DosLibrary *, DOSBase, 108, Dos)

AROS_LP1(struct DosList *, LockDosList,
        AROS_LPA(ULONG, flags, D1),
        struct DosLibrary *, DOSBase, 109, Dos)

AROS_LP1(void, UnLockDosList,
        AROS_LPA(ULONG, flags, D1),
        struct DosLibrary *, DOSBase, 110, Dos)

AROS_LP1(struct DosList *, AttemptLockDosList,
        AROS_LPA(ULONG, flags, D1),
        struct DosLibrary *, DOSBase, 111, Dos)

AROS_LP1(LONG, RemDosEntry,
        AROS_LPA(struct DosList *, dlist, D1),
        struct DosLibrary *, DOSBase, 112, Dos)

AROS_LP1(LONG, AddDosEntry,
        AROS_LPA(struct DosList *, dlist, D1),
        struct DosLibrary *, DOSBase, 113, Dos)

AROS_LP3(struct DosList *, FindDosEntry,
        AROS_LPA(struct DosList *, dlist, D1),
        AROS_LPA(CONST_STRPTR, name, D2),
        AROS_LPA(ULONG, flags, D3),
        struct DosLibrary *, DOSBase, 114, Dos)

AROS_LP2(struct DosList *, NextDosEntry,
        AROS_LPA(struct DosList *, dlist, D1),
        AROS_LPA(ULONG, flags, D2),
        struct DosLibrary *, DOSBase, 115, Dos)

AROS_LP2(struct DosList *, MakeDosEntry,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(LONG, type, D2),
        struct DosLibrary *, DOSBase, 116, Dos)

AROS_LP1(void, FreeDosEntry,
        AROS_LPA(struct DosList *, dlist, D1),
        struct DosLibrary *, DOSBase, 117, Dos)

AROS_LP1(BOOL, IsFileSystem,
        AROS_LPA(STRPTR, devicename, D1),
        struct DosLibrary *, DOSBase, 118, Dos)

AROS_LP3(BOOL, Format,
        AROS_LPA(CONST_STRPTR, devicename, D1),
        AROS_LPA(CONST_STRPTR, volumename, D2),
        AROS_LPA(ULONG, dostype, D3),
        struct DosLibrary *, DOSBase, 119, Dos)

AROS_LP2(LONG, Relabel,
        AROS_LPA(CONST_STRPTR, drive, D1),
        AROS_LPA(CONST_STRPTR, newname, D2),
        struct DosLibrary *, DOSBase, 120, Dos)

AROS_LP2(LONG, Inhibit,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(LONG, onoff, D2),
        struct DosLibrary *, DOSBase, 121, Dos)

AROS_LP2(BOOL, AddBuffers,
        AROS_LPA(CONST_STRPTR, devicename, D1),
        AROS_LPA(LONG, numbuffers, D2),
        struct DosLibrary *, DOSBase, 122, Dos)

AROS_LP2(LONG, CompareDates,
        AROS_LPA(const struct DateStamp *, date1, D1),
        AROS_LPA(const struct DateStamp *, date2, D2),
        struct DosLibrary *, DOSBase, 123, Dos)

AROS_LP1(BOOL, DateToStr,
        AROS_LPA(struct DateTime *, datetime, D1),
        struct DosLibrary *, DOSBase, 124, Dos)

AROS_LP1(BOOL, StrToDate,
        AROS_LPA(struct DateTime *, datetime, D1),
        struct DosLibrary *, DOSBase, 125, Dos)

AROS_LP4(BPTR, InternalLoadSeg,
        AROS_LPA(BPTR, fh, D0),
        AROS_LPA(BPTR, table, A0),
        AROS_LPA(LONG_FUNC, functionarray, A1),
        AROS_LPA(LONG *, stack, A2),
        struct DosLibrary *, DOSBase, 126, Dos)

AROS_LP2(BOOL, InternalUnLoadSeg,
        AROS_LPA(BPTR, seglist, D1),
        AROS_LPA(VOID_FUNC, freefunc, A1),
        struct DosLibrary *, DOSBase, 127, Dos)

AROS_LP2(BPTR, NewLoadSeg,
        AROS_LPA(STRPTR, file, D1),
        AROS_LPA(struct TagItem *, tags, D2),
        struct DosLibrary *, DOSBase, 128, Dos)

AROS_LP3(BOOL, AddSegment,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(BPTR, seg, D2),
        AROS_LPA(LONG, type, D3),
        struct DosLibrary *, DOSBase, 129, Dos)

AROS_LP3(struct Segment *, FindSegment,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(struct Segment *, seg, D2),
        AROS_LPA(BOOL, system, D3),
        struct DosLibrary *, DOSBase, 130, Dos)

AROS_LP1(LONG, RemSegment,
        AROS_LPA(struct Segment *, seg, D1),
        struct DosLibrary *, DOSBase, 131, Dos)

AROS_LP1(LONG, CheckSignal,
        AROS_LPA(LONG, mask, D1),
        struct DosLibrary *, DOSBase, 132, Dos)

AROS_LP3(struct RDArgs *, ReadArgs,
        AROS_LPA(CONST_STRPTR, template, D1),
        AROS_LPA(IPTR *, array, D2),
        AROS_LPA(struct RDArgs *, rdargs, D3),
        struct DosLibrary *, DOSBase, 133, Dos)

AROS_LP2(LONG, FindArg,
        AROS_LPA(CONST_STRPTR, template, D1),
        AROS_LPA(CONST_STRPTR, keyword, D2),
        struct DosLibrary *, DOSBase, 134, Dos)

AROS_LP3(LONG, ReadItem,
        AROS_LPA(STRPTR, buffer, D1),
        AROS_LPA(LONG, maxchars, D2),
        AROS_LPA(struct CSource *, input, D3),
        struct DosLibrary *, DOSBase, 135, Dos)

AROS_LP2(LONG, StrToLong,
        AROS_LPA(CONST_STRPTR, string, D1),
        AROS_LPA(LONG *, value, D2),
        struct DosLibrary *, DOSBase, 136, Dos)

AROS_LP2(LONG, MatchFirst,
        AROS_LPA(STRPTR, pat, D1),
        AROS_LPA(struct AnchorPath *, AP, D2),
        struct DosLibrary *, DOSBase, 137, Dos)

AROS_LP1(LONG, MatchNext,
        AROS_LPA(struct AnchorPath *, AP, D1),
        struct DosLibrary *, DOSBase, 138, Dos)

AROS_LP1(void, MatchEnd,
        AROS_LPA(struct AnchorPath *, AP, D1),
        struct DosLibrary *, DOSBase, 139, Dos)

AROS_LP3(LONG, ParsePattern,
        AROS_LPA(STRPTR, Source, D1),
        AROS_LPA(STRPTR, Dest, D2),
        AROS_LPA(LONG, DestLength, D3),
        struct DosLibrary *, DOSBase, 140, Dos)

AROS_LP2(BOOL, MatchPattern,
        AROS_LPA(STRPTR, pat, D1),
        AROS_LPA(STRPTR, str, D2),
        struct DosLibrary *, DOSBase, 141, Dos)

AROS_LP0(BPTR, Error,
        struct DosLibrary *, DOSBase, 142, Dos)

AROS_LP1(void, FreeArgs,
        AROS_LPA(struct RDArgs *, args, D1),
        struct DosLibrary *, DOSBase, 143, Dos)

AROS_LP1(BPTR, SelectError,
        AROS_LPA(BPTR, fh, D1),
        struct DosLibrary *, DOSBase, 144, Dos)

AROS_LP1(STRPTR, FilePart,
        AROS_LPA(CONST_STRPTR, path, D1),
        struct DosLibrary *, DOSBase, 145, Dos)

AROS_LP1(STRPTR, PathPart,
        AROS_LPA(CONST_STRPTR, path, D1),
        struct DosLibrary *, DOSBase, 146, Dos)

AROS_LP3(BOOL, AddPart,
        AROS_LPA(STRPTR, dirname, D1),
        AROS_LPA(CONST_STRPTR, filename, D2),
        AROS_LPA(ULONG, size, D3),
        struct DosLibrary *, DOSBase, 147, Dos)

AROS_LP1(BOOL, StartNotify,
        AROS_LPA(struct NotifyRequest *, notify, D1),
        struct DosLibrary *, DOSBase, 148, Dos)

AROS_LP1(void, EndNotify,
        AROS_LPA(struct NotifyRequest *, notify, D1),
        struct DosLibrary *, DOSBase, 149, Dos)

AROS_LP4(BOOL, SetVar,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(CONST_STRPTR, buffer, D2),
        AROS_LPA(LONG, size, D3),
        AROS_LPA(LONG, flags, D4),
        struct DosLibrary *, DOSBase, 150, Dos)

AROS_LP4(LONG, GetVar,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(STRPTR, buffer, D2),
        AROS_LPA(LONG, size, D3),
        AROS_LPA(LONG, flags, D4),
        struct DosLibrary *, DOSBase, 151, Dos)

AROS_LP2(LONG, DeleteVar,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(ULONG, flags, D2),
        struct DosLibrary *, DOSBase, 152, Dos)

AROS_LP2(struct LocalVar *, FindVar,
        AROS_LPA(CONST_STRPTR, name, D1),
        AROS_LPA(ULONG, type, D2),
        struct DosLibrary *, DOSBase, 153, Dos)

AROS_LP1(STRPTR, DosGetLocalizedString,
        AROS_LPA(LONG, stringNum, D1),
        struct DosLibrary *, DOSBase, 154, Dos)

AROS_LP1(IPTR, CliInitNewcli,
        AROS_LPA(struct DosPacket *, dp, A0),
        struct DosLibrary *, DOSBase, 155, Dos)

AROS_LP1(IPTR, CliInitRun,
        AROS_LPA(struct DosPacket *, dp, A0),
        struct DosLibrary *, DOSBase, 156, Dos)

AROS_LP2(LONG, WriteChars,
        AROS_LPA(STRPTR, buf, D1),
        AROS_LPA(ULONG, buflen, D2),
        struct DosLibrary *, DOSBase, 157, Dos)

AROS_LP1(LONG, PutStr,
        AROS_LPA(CONST_STRPTR, string, D1),
        struct DosLibrary *, DOSBase, 158, Dos)

AROS_LP2(LONG, VPrintf,
        AROS_LPA(CONST_STRPTR, format, D1),
        AROS_LPA(IPTR *, argarray, D2),
        struct DosLibrary *, DOSBase, 159, Dos)

AROS_LP3(LONG, ParsePatternNoCase,
        AROS_LPA(STRPTR, Source, D1),
        AROS_LPA(STRPTR, Dest, D2),
        AROS_LPA(LONG, DestLength, D3),
        struct DosLibrary *, DOSBase, 161, Dos)

AROS_LP2(BOOL, MatchPatternNoCase,
        AROS_LPA(STRPTR, pat, D1),
        AROS_LPA(STRPTR, str, D2),
        struct DosLibrary *, DOSBase, 162, Dos)

AROS_LP1(STRPTR, DosGetString,
        AROS_LPA(LONG, stringNu, D0),
        struct DosLibrary *, DOSBase, 163, Dos)

AROS_LP2(BOOL, SameDevice,
        AROS_LPA(BPTR, lock1, D1),
        AROS_LPA(BPTR, lock2, D2),
        struct DosLibrary *, DOSBase, 164, Dos)

AROS_LP5(void, ExAllEnd,
        AROS_LPA(BPTR, lock, D1),
        AROS_LPA(struct ExAllData *, buffer, D2),
        AROS_LPA(LONG, size, D3),
        AROS_LPA(LONG, data, D4),
        AROS_LPA(struct ExAllControl *, control, D5),
        struct DosLibrary *, DOSBase, 165, Dos)

AROS_LP2(BOOL, SetOwner,
        AROS_LPA(STRPTR, name, D1),
        AROS_LPA(ULONG, owner_info, D2),
        struct DosLibrary *, DOSBase, 166, Dos)

#endif /* CLIB_DOS_PROTOS_H */
