Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef _SPARC64_OPENPROMIO_H |
2 | #define _SPARC64_OPENPROMIO_H | |
3 | ||
4 | #include <linux/compiler.h> | |
5 | #include <linux/ioctl.h> | |
6 | #include <linux/types.h> | |
7 | ||
8 | /* | |
9 | * SunOS and Solaris /dev/openprom definitions. The ioctl values | |
10 | * were chosen to be exactly equal to the SunOS equivalents. | |
11 | */ | |
12 | ||
13 | struct openpromio | |
14 | { | |
15 | u_int oprom_size; /* Actual size of the oprom_array. */ | |
16 | char oprom_array[1]; /* Holds property names and values. */ | |
17 | }; | |
18 | ||
19 | #define OPROMMAXPARAM 4096 /* Maximum size of oprom_array. */ | |
20 | ||
21 | #define OPROMGETOPT 0x20004F01 | |
22 | #define OPROMSETOPT 0x20004F02 | |
23 | #define OPROMNXTOPT 0x20004F03 | |
24 | #define OPROMSETOPT2 0x20004F04 | |
25 | #define OPROMNEXT 0x20004F05 | |
26 | #define OPROMCHILD 0x20004F06 | |
27 | #define OPROMGETPROP 0x20004F07 | |
28 | #define OPROMNXTPROP 0x20004F08 | |
29 | #define OPROMU2P 0x20004F09 | |
30 | #define OPROMGETCONS 0x20004F0A | |
31 | #define OPROMGETFBNAME 0x20004F0B | |
32 | #define OPROMGETBOOTARGS 0x20004F0C | |
33 | /* Linux extensions */ /* Arguments in oprom_array: */ | |
34 | #define OPROMSETCUR 0x20004FF0 /* int node - Sets current node */ | |
35 | #define OPROMPCI2NODE 0x20004FF1 /* int pci_bus, pci_devfn - Sets current node to PCI device's node */ | |
36 | #define OPROMPATH2NODE 0x20004FF2 /* char path[] - Set current node from fully qualified PROM path */ | |
37 | ||
38 | /* | |
39 | * Return values from OPROMGETCONS: | |
40 | */ | |
41 | ||
42 | #define OPROMCONS_NOT_WSCONS 0 | |
43 | #define OPROMCONS_STDIN_IS_KBD 0x1 /* stdin device is kbd */ | |
44 | #define OPROMCONS_STDOUT_IS_FB 0x2 /* stdout is a framebuffer */ | |
45 | #define OPROMCONS_OPENPROM 0x4 /* supports openboot */ | |
46 | ||
47 | ||
48 | /* | |
49 | * NetBSD/OpenBSD /dev/openprom definitions. | |
50 | */ | |
51 | ||
52 | struct opiocdesc | |
53 | { | |
54 | int op_nodeid; /* PROM Node ID (value-result) */ | |
55 | int op_namelen; /* Length of op_name. */ | |
56 | char __user *op_name; /* Pointer to the property name. */ | |
57 | int op_buflen; /* Length of op_buf (value-result) */ | |
58 | char __user *op_buf; /* Pointer to buffer. */ | |
59 | }; | |
60 | ||
61 | #define OPIOCGET _IOWR('O', 1, struct opiocdesc) | |
62 | #define OPIOCSET _IOW('O', 2, struct opiocdesc) | |
63 | #define OPIOCNEXTPROP _IOWR('O', 3, struct opiocdesc) | |
64 | #define OPIOCGETOPTNODE _IOR('O', 4, int) | |
65 | #define OPIOCGETNEXT _IOWR('O', 5, int) | |
66 | #define OPIOCGETCHILD _IOWR('O', 6, int) | |
67 | ||
68 | #endif /* _SPARC64_OPENPROMIO_H */ | |
69 |