4 ISA-PnP -- A Plug And Play ISA software layer for AmigaOS.
5 Copyright (C) 2001 Martin Blom <martin@blom.org>
6 Copyright (C) 2009-2013 The AROS Development Team
8 This library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Library General Public
10 License as published by the Free Software Foundation; either
11 version 2 of the License, or (at your option) any later version.
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Library General Public License for more details.
18 You should have received a copy of the GNU Library General Public
19 License along with this library; if not, write to the
20 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Cambridge,
24 #ifndef ISA_PNP_devices_h
25 #define ISA_PNP_devices_h
27 #include "CompilerSpecific.h"
29 #include <exec/types.h>
35 AROS_LD5(struct ISAPNP_Card
*, ISAPNP_FindCard
,
36 AROS_LHA(struct ISAPNP_Card
*, last_card
, A0
),
37 AROS_LHA(LONG
, manufacturer
, D0
),
38 AROS_LHA(WORD
, product
, D1
),
39 AROS_LHA(BYTE
, revision
, D2
),
40 AROS_LHA(LONG
, serial
, D3
),
41 struct ISAPNPBase
*, res
, 28, ISAPNP
);
43 AROS_LD4(struct ISAPNP_Device
*, ISAPNP_FindDevice
,
44 AROS_LHA(struct ISAPNP_Device
*, last_device
, A0
),
45 AROS_LHA(LONG
, manufacturer
, D0
),
46 AROS_LHA(WORD
, product
, D1
),
47 AROS_LHA(BYTE
, revision
, D2
),
48 struct ISAPNPBase
*, res
, 29, ISAPNP
);
50 AROS_LD2(APTR
, ISAPNP_LockCardsA
,
51 AROS_LHA(ULONG
, flags
, D0
),
52 AROS_LHA(struct ISAPNP_Card
**, cards
, A0
),
53 struct ISAPNPBase
*, res
, 30, ISAPNP
);
55 AROS_LD1(void, ISAPNP_UnlockCards
,
56 AROS_LHA(APTR
, card_lock_handle
, A0
),
57 struct ISAPNPBase
*, res
, 31, ISAPNP
);
59 AROS_LD2(APTR
, ISAPNP_LockDevicesA
,
60 AROS_LHA(ULONG
, flags
, D0
),
61 AROS_LHA(struct ISAPNP_Device
**, devices
, A0
),
62 struct ISAPNPBase
*, res
, 32, ISAPNP
);
64 AROS_LD1(void, ISAPNP_UnlockDevices
,
65 AROS_LHA(APTR
, device_lock_handle
, A0
),
66 struct ISAPNPBase
*, res
, 33, ISAPNP
);
68 static inline struct ISAPNP_Device
*ISAPNP_FindDevice(struct ISAPNP_Device
*last_device
,
69 LONG manufacturer
, WORD product
,
70 BYTE revision
, struct ISAPNPBase
*res
)
72 return AROS_LC4(struct ISAPNP_Device
*, ISAPNP_FindDevice
,
73 AROS_LHA(struct ISAPNP_Device
*, last_device
, A0
),
74 AROS_LHA(LONG
, manufacturer
, D0
),
75 AROS_LHA(WORD
, product
, D1
),
76 AROS_LHA(BYTE
, revision
, D2
),
77 struct ISAPNPBase
*, res
, 29, ISAPNP
);
80 #endif /* ISA_PNP_devices_h */