openurl.library: 64-bit pointer casting cleanups
[AROS.git] / rom / isapnp / devices.h
bloba775f7df8fd8e4f0d9c87e4493b3355386b97b6b
1 /* $Id$ */
3 /*
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,
21 MA 02139, USA.
24 #ifndef ISA_PNP_devices_h
25 #define ISA_PNP_devices_h
27 #include "CompilerSpecific.h"
29 #include <exec/types.h>
31 struct ISAPNPBase;
32 struct ISAPNP_Card;
33 struct ISAPNP_Device;
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 */