2 * Definitions for talking to the Open Firmware PROM on 3 * Power Macintosh computers. 5 * Copyright (C) 1996 Paul Mackerras. 11 externchar*prom_display_paths
[]; 12 externunsigned int prom_num_displays
; 14 struct address_range
{ 20 struct interrupt_info
{ 22 int sense
;/* +ve/-ve logic, edge or level, etc. */ 30 struct translation_property
{ 41 struct property
*next
; 49 struct address_range
*addrs
; 51 struct interrupt_info
*intrs
; 53 struct property
*properties
; 54 struct device_node
*parent
; 55 struct device_node
*child
; 56 struct device_node
*sibling
; 57 struct device_node
*next
;/* next device of same type */ 58 struct device_node
*allnext
;/* next in list of all nodes */ 62 typedefvoid(*prom_entry
)(struct prom_args
*); 65 externvoidabort(void); 66 externvoidprom_init(int,int, prom_entry
); 67 externvoidprom_print(const char*msg
); 68 externvoidfinish_device_tree(void); 69 externstruct device_node
*find_devices(const char*name
); 70 externstruct device_node
*find_type_devices(const char*type
); 71 externstruct device_node
*find_path_device(const char*path
); 72 externstruct device_node
*find_compatible_devices(const char*type
, 74 externstruct device_node
*find_phandle(phandle
); 75 externintdevice_is_compatible(struct device_node
*device
,const char* compat
); 76 externunsigned char*get_property(struct device_node
*node
,const char*name
, 78 externvoidprint_properties(struct device_node
*node
); 79 externintcall_rtas(const char*service
,int nargs
,int nret
, 80 unsigned long*outputs
, ...);