2 Copyright © 2011, The AROS Development Team. All rights reserved.
7 #include <proto/utility.h>
9 #include "partition_support.h"
12 /*****************************************************************************
15 #include <utility/tagitem.h>
16 #include <libraries/partition.h>
18 AROS_LH2(void, GetFileSystemAttrsA
,
21 AROS_LHA(struct Node
*, handle
, A1
),
22 AROS_LHA(struct TagItem
*, taglist
, A2
),
25 struct Library
*, PartitionBase
, 22, Partition
)
28 get attributes of a partition table
31 handle - Filesystem handle
32 taglist - list of attributes; unknown tags are ignored
33 FST_ID (ULONG *) - Get 4-characters filesystem ID
34 FST_NAME (STRPTR *) - Get a pointer to filesystem name
35 FST_FSENTRY (struct FileSysEntry *) - Fill in the given struct FileSysEntry.
41 Name is returned as a pointer to internally allocated string. You should copy
42 it if you want to keep it after filesystem's partition table had been closed.
44 The following fields in struct FileSysEntry will not be filled in:
48 You need to query for filesystem's name separately and copy it into BSTR
49 yourself, if you need to. Loading the handler is done by LoadFileSystem()
63 *****************************************************************************/
67 const struct FSFunctionTable
*handler
= ((struct FileSysHandle
*)handle
)->handler
;
70 while ((tag
= NextTagItem((struct TagItem
**)&taglist
)))
72 handler
->getFileSystemAttr(PartitionBase
, (struct FileSysHandle
*)handle
, tag
);
75 * TODO: handler returns TRUE if it knows the attrubute and FALSE otherwise.
76 * If we ever have more partition table types which can handle embedded
77 * filesystem handlers, this can be expanded similar to GetPartitionAttrs(),
78 * and we will have some generic code here.