2 Copyright (C) 1998 Free Software Foundation, Inc.
3 Contributed by Andrew Cagney and Cygnus Solutions.
5 This file is part of GDB, the GNU debugger.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License along
18 with this program; if not, write to the Free Software Foundation, Inc.,
19 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
25 /* Initialize a port */
27 struct hw_port_descriptor
{
31 port_direction direction
;
34 void set_hw_ports (struct hw
*hw
, const struct hw_port_descriptor ports
[]);
36 typedef void (hw_port_event_method
)
43 void set_hw_port_event (struct hw
*hw
, hw_port_event_method
*to_port_event
);
48 A device drives its output ports using the call
57 /* This port event will then be propogated to any attached
60 Any interpretation of PORT and VALUE is model dependant. As a
61 guideline the following are recommended: PCI interrupts A-D should
62 correspond to ports 0-3; level sensative interrupts be requested
63 with a value of one and withdrawn with a value of 0; edge sensative
64 interrupts always have a value of 1, the event its self is treated
70 Attached to each port of a device can be zero or more
71 desitinations. These destinations consist of a device/port pair.
72 A destination is attached/detached to a device line using the
73 attach and detach calls. */
80 object_disposition disposition
);
89 /* Iterate over the list of ports attached to a device */
91 typedef void (hw_port_traverse_function
)
100 hw_port_traverse_function
*handler
,
104 /* DESTINATION is attached (detached) to LINE of the device ME
109 Users refer to port numbers symbolically. For instance a device
110 may refer to its `INT' signal which is internally represented by
113 To convert to/from the symbolic and internal representation of a
114 port name/number. The following functions are available. */
118 const char *symbolic_name
,
119 port_direction direction
);
126 port_direction direction
);