2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 #define USE_BOOPSI_STUBS
9 #include <proto/utility.h>
10 #include <proto/intuition.h>
11 #include <clib/boopsistubs.h>
12 #include "datatypes_intern.h"
14 /*****************************************************************************
17 #include <proto/datatypes.h>
19 AROS_LH2(ULONG
, GetDTAttrsA
,
22 AROS_LHA(Object
*, o
, A0
),
23 AROS_LHA(struct TagItem
*, attrs
, A2
),
26 struct Library
*, DataTypesBase
, 11, DataTypes
)
30 Get the attributes of a specific data type object.
34 o -- pointer to a data type object; may be NULL
35 attrs -- the attributes to get terminated with TAG_DONE; each Tag's
36 data element should contain the address of the respective
37 storage element; may be NULL
51 The number of attributes obtained.
55 (#1) - On AROS, the "DataType" an object returns may be a clone of
56 the real entry, so that the subclass can override
57 subformat information.
65 SetDTAttrsA(), intuition.library/GetAttr()
71 *****************************************************************************/
76 struct TagItem
*tstate
= attrs
;
80 if(o
== NULL
|| attrs
== NULL
)
83 opGet
.MethodID
= OM_GET
;
85 while ((tag
= NextTagItem(&tstate
)) != NULL
)
87 opGet
.opg_AttrID
= tag
->ti_Tag
;
88 opGet
.opg_Storage
= (IPTR
*)tag
->ti_Data
;
90 if(DoMethodA(o
, (Msg
)&opGet
))
93 *(opGet
.opg_Storage
) = 0;