1 #ifndef PARTITION_SUPPORT_H
2 #define PARTITION_SUPPORT_H
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
10 #include <exec/types.h>
11 #include <libraries/partition.h>
12 #include <utility/tagitem.h>
14 #include "partition_intern.h"
16 struct PTFunctionTable
{
17 ULONG type
; /* Partition Table Type */
19 LONG (*checkPartitionTable
) (struct Library
*, struct PartitionHandle
*);
20 LONG (*openPartitionTable
) (struct Library
*, struct PartitionHandle
*);
21 void (*closePartitionTable
) (struct Library
*, struct PartitionHandle
*);
22 LONG (*writePartitionTable
) (struct Library
*, struct PartitionHandle
*);
23 LONG (*createPartitionTable
) (struct Library
*, struct PartitionHandle
*);
24 struct PartitionHandle
*(*addPartition
)(struct Library
*, struct PartitionHandle
*, struct TagItem
*);
25 void (*deletePartition
) (struct Library
*, struct PartitionHandle
*);
26 LONG (*getPartitionTableAttrs
)(struct Library
*, struct PartitionHandle
*, struct TagItem
*);
27 LONG (*setPartitionTableAttrs
)(struct Library
*, struct PartitionHandle
*, struct TagItem
*);
28 LONG (*getPartitionAttrs
) (struct Library
*, struct PartitionHandle
*, struct TagItem
*);
29 LONG (*setPartitionAttrs
) (struct Library
*, struct PartitionHandle
*, struct TagItem
*);
30 struct PartitionAttribute
* (*queryPartitionTableAttrs
)(struct Library
*);
31 struct PartitionAttribute
* (*queryPartitionAttrs
) (struct Library
*);
32 ULONG (*destroyPartitionTable
) (struct Library
*, struct PartitionHandle
*);
35 extern struct PTFunctionTable
*PartitionSupport
[];
37 LONG
PartitionGetGeometry(struct Library
*, struct IOExtTD
*, struct DriveGeometry
*);
38 void PartitionNsdCheck(struct Library
*, struct PartitionHandle
*);
39 ULONG
getStartBlock(struct PartitionHandle
*);
40 LONG
readBlock(struct Library
*, struct PartitionHandle
*, ULONG
, void *);
41 LONG
PartitionWriteBlock(struct Library
*, struct PartitionHandle
*, ULONG
, void *);
42 struct TagItem
*findTagItem(ULONG tag
, struct TagItem
*);
43 void fillMem(BYTE
*, LONG
, BYTE
);
45 #define getGeometry PartitionGetGeometry
46 #define writeBlock PartitionWriteBlock
48 #endif /* PARTITION_SUPPORT_H */