9 // Whether the alloc() and/or dev_alloc() methods are accepted by a given
10 // ResourceSpace is defined by the particular subtype.
12 interface ResourceSpace : Mem.Allocator {
13 guid: "2515CEC8-F7E0-11D9-9DF4-000A95BB581A";
15 dev_alloc(ulong start inout, ulong len, Mem.Allocator.AllocFlags flags,
16 Device dev, Mem.AllocHandle handle out);
18 get_resources(Resource[] res out);
19 get_parent(Resource parent out);
21 get_devices(Device[] devs out);
22 get_description(char[] desc out);
26 guid: "1F19CCF2-F7E0-11D9-98CE-000A95BB581A";
28 get_resources(Resource[] res out);
29 get_parent(Bus bus out);
30 get_description(char[] desc out);
33 interface Bus : Device {
34 guid: "196CC482-F7E0-11D9-9AED-000A95BB581A";
36 get_devices(Device[] devs out);
37 get_resource_spaces(ResourceSpace[] resource_spaces out);
39 // Try to auto-enumerate new devices. If the bus is not capable
40 // of auto-enumeration, do nothing. It is up to the specific bus
41 // type as to whether any action is taken for prevously-enumerated
42 // devices that are no longer detected.