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