#ifndef CLIB_ICON_PROTOS_H
#define CLIB_ICON_PROTOS_H

/*
    *** Automatically generated from '/home/aros/ABIv11/AROS/AROS/workbench/libs/icon/icon.conf'. Edits will be lost. ***
    Copyright (C) 1995-2026, The AROS Development Team. All rights reserved.
*/

#include <aros/libcall.h>

#include <intuition/intuition.h>
#include <workbench/workbench.h>
#include <workbench/icon.h>
#include <utility/tagitem.h>

__BEGIN_DECLS


#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(void, FreeFreeList,
         AROS_LPA(struct FreeList *, freelist, A0),
         LIBBASETYPEPTR, IconBase, 9, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP3(BOOL, AddFreeList,
         AROS_LPA(struct FreeList *, freelist, A0),
         AROS_LPA(APTR, mem, A1),
         AROS_LPA(IPTR, size, A2),
         LIBBASETYPEPTR, IconBase, 12, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(struct DiskObject *, GetDiskObject,
         AROS_LPA(CONST_STRPTR, name, A0),
         LIBBASETYPEPTR, IconBase, 13, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP2(BOOL, PutDiskObject,
         AROS_LPA(CONST_STRPTR, name, A0),
         AROS_LPA(struct DiskObject *, icon, A1),
         LIBBASETYPEPTR, IconBase, 14, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(void, FreeDiskObject,
         AROS_LPA(struct DiskObject *, diskobj, A0),
         LIBBASETYPEPTR, IconBase, 15, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP2(UBYTE *, FindToolType,
         AROS_LPA(const STRPTR *, toolTypeArray, A0),
         AROS_LPA(const STRPTR, typeName, A1),
         LIBBASETYPEPTR, IconBase, 16, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP2(BOOL, MatchToolValue,
         AROS_LPA(UBYTE *, typeString, A0),
         AROS_LPA(UBYTE *, value, A1),
         LIBBASETYPEPTR, IconBase, 17, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP2(UBYTE *, BumpRevision,
         AROS_LPA(UBYTE *, newname, A0),
         AROS_LPA(UBYTE *, oldname, A1),
         LIBBASETYPEPTR, IconBase, 18, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(struct DiskObject *, GetDefDiskObject,
         AROS_LPA(LONG, type, D0),
         LIBBASETYPEPTR, IconBase, 20, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(BOOL, PutDefDiskObject,
         AROS_LPA(struct DiskObject *, icon, A0),
         LIBBASETYPEPTR, IconBase, 21, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__)
AROS_LP1(struct DiskObject *, GetDiskObjectNew,
         AROS_LPA(CONST_STRPTR, name, A0),
         LIBBASETYPEPTR, IconBase, 22, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (36 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (37 <= __ICON_LIBAPI__)
AROS_LP1(BOOL, DeleteDiskObject,
         AROS_LPA(UBYTE *, name, A0),
         LIBBASETYPEPTR, IconBase, 23, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (37 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP2(struct DiskObject *, DupDiskObjectA,
         AROS_LPA(struct DiskObject *, icon, A0),
         AROS_LPA(struct TagItem *, tags, A1),
         LIBBASETYPEPTR, IconBase, 25, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP2(ULONG, IconControlA,
         AROS_LPA(struct DiskObject *, icon, A0),
         AROS_LPA(struct TagItem *, tags, A1),
         LIBBASETYPEPTR, IconBase, 26, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP7(void, DrawIconStateA,
         AROS_LPA(struct RastPort *, rp, A0),
         AROS_LPA(struct DiskObject *, icon, A1),
         AROS_LPA(STRPTR, label, A2),
         AROS_LPA(LONG, leftEdge, D0),
         AROS_LPA(LONG, topEdge, D1),
         AROS_LPA(ULONG, state, D2),
         AROS_LPA(struct TagItem *, tags, A3),
         LIBBASETYPEPTR, IconBase, 27, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP5(BOOL, GetIconRectangleA,
         AROS_LPA(struct RastPort *, rp, A0),
         AROS_LPA(struct DiskObject *, icon, A1),
         AROS_LPA(STRPTR, label, A2),
         AROS_LPA(struct Rectangle *, rectangle, A3),
         AROS_LPA(struct TagItem *, tags, A4),
         LIBBASETYPEPTR, IconBase, 28, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP1(struct DiskObject *, NewDiskObject,
         AROS_LPA(ULONG, type, D0),
         LIBBASETYPEPTR, IconBase, 29, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP2(struct DiskObject *, GetIconTagList,
         AROS_LPA(CONST_STRPTR, name, A0),
         AROS_LPA(const struct TagItem *, tags, A1),
         LIBBASETYPEPTR, IconBase, 30, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP3(BOOL, PutIconTagList,
         AROS_LPA(CONST_STRPTR, name, A0),
         AROS_LPA(struct DiskObject *, icon, A1),
         AROS_LPA(struct TagItem *, tags, A2),
         LIBBASETYPEPTR, IconBase, 31, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP3(BOOL, LayoutIconA,
         AROS_LPA(struct DiskObject *, icon, A0),
         AROS_LPA(struct Screen *, screen, A1),
         AROS_LPA(struct TagItem *, tags, A2),
         LIBBASETYPEPTR, IconBase, 32, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

#if !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__)
AROS_LP1(void, ChangeToSelectedIconColor,
         AROS_LPA(struct ColorRegister *, cr, A0),
         LIBBASETYPEPTR, IconBase, 33, Icon
);

#endif /* !defined(__ICON_LIBAPI__) || (44 <= __ICON_LIBAPI__) */

__END_DECLS

#endif /* CLIB_ICON_PROTOS_H */
