Fixed binary search: no more infinite loops when vendor is unknown.
[tangerine.git] / workbench / libs / partition / amigaincludesforgcc / inline / partition.h
blob86e0dc8508472da94e758673d7f998427f6b104d
1 #ifndef _INLINE_PARTITION_H
2 #define _INLINE_PARTITION_H
4 /*
5 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
6 *** Automatically generated by geninline.awk. Do not edit ***
8 Desc: Inlines for Partition.library
9 Lang: english
12 #ifndef __INLINE_MACROS_H
13 # include <inline/macros.h>
14 #endif
16 #ifndef PARTITION_BASE_NAME
17 #define PARTITION_BASE_NAME PartitionBase
18 #endif
20 /* Prototypes */
21 #define OpenRootPartition(Device, Unit) \
22 LP2(0x1e, struct PartitionHandle *, OpenRootPartition, STRPTR, Device, a1, LONG, Unit, d1, \
23 , PARTITION_BASE_NAME)
25 #define CloseRootPartition(ph) \
26 LP1NR(0x24, CloseRootPartition, struct PartitionHandle *, ph, a1, \
27 , PARTITION_BASE_NAME)
29 #define OpenPartitionTable(root) \
30 LP1(0x2a, LONG, OpenPartitionTable, struct PartitionHandle *, root, a1, \
31 , PARTITION_BASE_NAME)
33 #define ClosePartitionTable(root) \
34 LP1NR(0x30, ClosePartitionTable, struct PartitionHandle *, root, a1, \
35 , PARTITION_BASE_NAME)
37 #define WritePartitionTable(root) \
38 LP1(0x36, LONG, WritePartitionTable, struct PartitionHandle *, root, a1, \
39 , PARTITION_BASE_NAME)
41 #define CreatePartitionTable(root, type) \
42 LP2(0x3c, LONG, CreatePartitionTable, struct PartitionHandle *, root, a1, ULONG, type, d1, \
43 , PARTITION_BASE_NAME)
45 #define AddPartition(root, taglist) \
46 LP2(0x42, struct PartitionHandle *, AddPartition, struct PartitionHandle *, root, a1, struct TagItem *, taglist, a2, \
47 , PARTITION_BASE_NAME)
49 #ifndef NO_INLINE_STDARG
50 #define AddPartitionTags(a1, tags...) \
51 ({ULONG _tags[] = { tags }; AddPartition((a1), (struct TagItem *)_tags);})
52 #endif /* !NO_INLINE_STDARG */
54 #define DeletePartition(ph) \
55 LP1NR(0x48, DeletePartition, struct PartitionHandle *, ph, a1, \
56 , PARTITION_BASE_NAME)
58 #define GetPartitionTableAttrs(root, taglist) \
59 LP2(0x4e, LONG, GetPartitionTableAttrs, struct PartitionHandle *, root, a1, struct TagItem *, taglist, a2, \
60 , PARTITION_BASE_NAME)
62 #ifndef NO_INLINE_STDARG
63 #define GetPartitionTableAttrsTags(a1, tags...) \
64 ({ULONG _tags[] = { tags }; GetPartitionTableAttrs((a1), (struct TagItem *)_tags);})
65 #endif /* !NO_INLINE_STDARG */
67 #define SetPartitionTableAttrs(root, taglist) \
68 LP2(0x54, LONG, SetPartitionTableAttrs, struct PartitionHandle *, root, a1, struct TagItem *, taglist, a2, \
69 , PARTITION_BASE_NAME)
71 #ifndef NO_INLINE_STDARG
72 #define SetPartitionTableAttrsTags(a1, tags...) \
73 ({ULONG _tags[] = { tags }; SetPartitionTableAttrs((a1), (struct TagItem *)_tags);})
74 #endif /* !NO_INLINE_STDARG */
76 #define GetPartitionAttrs(ph, taglist) \
77 LP2(0x5a, LONG, GetPartitionAttrs, struct PartitionHandle *, ph, a1, struct TagItem *, taglist, a2, \
78 , PARTITION_BASE_NAME)
80 #ifndef NO_INLINE_STDARG
81 #define GetPartitionAttrsTags(a1, tags...) \
82 ({ULONG _tags[] = { tags }; GetPartitionAttrs((a1), (struct TagItem *)_tags);})
83 #endif /* !NO_INLINE_STDARG */
85 #define SetPartitionAttrs(ph, taglist) \
86 LP2(0x60, LONG, SetPartitionAttrs, struct PartitionHandle *, ph, a1, struct TagItem *, taglist, a2, \
87 , PARTITION_BASE_NAME)
89 #ifndef NO_INLINE_STDARG
90 #define SetPartitionAttrsTags(a1, tags...) \
91 ({ULONG _tags[] = { tags }; SetPartitionAttrs((a1), (struct TagItem *)_tags);})
92 #endif /* !NO_INLINE_STDARG */
94 #define QueryPartitionTableAttrs(table) \
95 LP1(0x66, ULONG *, QueryPartitionTableAttrs, struct PartitionHandle *, table, a1, \
96 , PARTITION_BASE_NAME)
98 #define QueryPartitionAttrs(table) \
99 LP1(0x6c, ULONG *, QueryPartitionAttrs, struct PartitionHandle *, table, a1, \
100 , PARTITION_BASE_NAME)
102 #define DestroyPartitionTable(root) \
103 LP1(0x72, LONG, DestroyPartitionTable, struct PartitionHandle *, root, a1, \
104 , PARTITION_BASE_NAME)
106 #endif /* _INLINE_PARTITION_H */