openfirm.h (acb97117e373cd585ffae39245eb16f1dfcff33e) openfirm.h (481d6b549b172c5faea8d3b94de5a5b0ab1f5f9a)
1/* $NetBSD: openfirm.h,v 1.1 1998/05/15 10:16:00 tsubai Exp $ */
2
3/*-
4 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
5 * Copyright (C) 1995, 1996 TooLs GmbH.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 43 unchanged lines hidden (view full) ---

52 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
53 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
54 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
55 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56 *
57 * $FreeBSD$
58 */
59
1/* $NetBSD: openfirm.h,v 1.1 1998/05/15 10:16:00 tsubai Exp $ */
2
3/*-
4 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
5 * Copyright (C) 1995, 1996 TooLs GmbH.
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 43 unchanged lines hidden (view full) ---

52 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
53 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
54 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
55 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
56 *
57 * $FreeBSD$
58 */
59
60#ifndef _OPENFIRM_H_
61#define _OPENFIRM_H_
60#ifndef _DEV_OPENFIRM_H_
61#define _DEV_OPENFIRM_H_
62
63#include <sys/types.h>
64
65/*
66 * Prototypes for Open Firmware Interface Routines
67 */
68
62
63#include <sys/types.h>
64
65/*
66 * Prototypes for Open Firmware Interface Routines
67 */
68
69typedef uint32_t ihandle_t;
69typedef uint32_t ihandle_t;
70typedef uint32_t phandle_t;
71typedef uint32_t pcell_t;
72
73#ifdef _KERNEL
74#include <sys/malloc.h>
75
76#include <machine/ofw_machdep.h>
77
78MALLOC_DECLARE(M_OFWPROP);
79
80/*
70typedef uint32_t phandle_t;
71typedef uint32_t pcell_t;
72
73#ifdef _KERNEL
74#include <sys/malloc.h>
75
76#include <machine/ofw_machdep.h>
77
78MALLOC_DECLARE(M_OFWPROP);
79
80/*
81 * Open Firmware interface initialization. OF_install installs the named
81 * Open Firmware interface initialization. OF_install installs the named
82 * interface as the Open Firmware access mechanism, OF_init initializes it.
83 */
84
85boolean_t OF_install(char *name, int prio);
86void OF_init(void *cookie);
87
88/*
89 * Known Open Firmware interface names
90 */
91
92#define OFW_STD_DIRECT "ofw_std" /* Standard OF interface */
93#define OFW_STD_REAL "ofw_real" /* Real-mode OF interface */
94#define OFW_FDT "ofw_fdt" /* Flattened Device Tree */
95
96/* Generic functions */
82 * interface as the Open Firmware access mechanism, OF_init initializes it.
83 */
84
85boolean_t OF_install(char *name, int prio);
86void OF_init(void *cookie);
87
88/*
89 * Known Open Firmware interface names
90 */
91
92#define OFW_STD_DIRECT "ofw_std" /* Standard OF interface */
93#define OFW_STD_REAL "ofw_real" /* Real-mode OF interface */
94#define OFW_FDT "ofw_fdt" /* Flattened Device Tree */
95
96/* Generic functions */
97int OF_test(const char *);
98void OF_printf(const char *, ...);
97int OF_test(const char *name);
98void OF_printf(const char *fmt, ...);
99
100/* Device tree functions */
101phandle_t OF_peer(phandle_t node);
102phandle_t OF_child(phandle_t node);
103phandle_t OF_parent(phandle_t node);
104ssize_t OF_getproplen(phandle_t node, const char *propname);
105ssize_t OF_getprop(phandle_t node, const char *propname, void *buf,
106 size_t len);
99
100/* Device tree functions */
101phandle_t OF_peer(phandle_t node);
102phandle_t OF_child(phandle_t node);
103phandle_t OF_parent(phandle_t node);
104ssize_t OF_getproplen(phandle_t node, const char *propname);
105ssize_t OF_getprop(phandle_t node, const char *propname, void *buf,
106 size_t len);
107ssize_t OF_searchprop(phandle_t node, char *propname, void *buf,
107ssize_t OF_searchprop(phandle_t node, const char *propname, void *buf,
108 size_t len);
109ssize_t OF_getprop_alloc(phandle_t node, const char *propname,
110 int elsz, void **buf);
111int OF_nextprop(phandle_t node, const char *propname, char *buf,
112 size_t len);
113int OF_setprop(phandle_t node, const char *name, const void *buf,
114 size_t len);
115ssize_t OF_canon(const char *path, char *buf, size_t len);

--- 8 unchanged lines hidden (view full) ---

124int OF_seek(ihandle_t instance, uint64_t where);
125
126phandle_t OF_instance_to_package(ihandle_t instance);
127ssize_t OF_instance_to_path(ihandle_t instance, char *buf, size_t len);
128int OF_call_method(const char *method, ihandle_t instance,
129 int nargs, int nreturns, ...);
130
131/* Memory functions */
108 size_t len);
109ssize_t OF_getprop_alloc(phandle_t node, const char *propname,
110 int elsz, void **buf);
111int OF_nextprop(phandle_t node, const char *propname, char *buf,
112 size_t len);
113int OF_setprop(phandle_t node, const char *name, const void *buf,
114 size_t len);
115ssize_t OF_canon(const char *path, char *buf, size_t len);

--- 8 unchanged lines hidden (view full) ---

124int OF_seek(ihandle_t instance, uint64_t where);
125
126phandle_t OF_instance_to_package(ihandle_t instance);
127ssize_t OF_instance_to_path(ihandle_t instance, char *buf, size_t len);
128int OF_call_method(const char *method, ihandle_t instance,
129 int nargs, int nreturns, ...);
130
131/* Memory functions */
132void *OF_claim(void *virtrequest, size_t size, u_int align);
132void *OF_claim(void *virtrequest, size_t size, u_int align);
133void OF_release(void *virt, size_t size);
134
135/* Control transfer functions */
136void OF_enter(void);
137void OF_exit(void) __attribute__((noreturn));
138
139/* User interface functions */
140int OF_interpret(const char *cmd, int nreturns, ...);
141
142#endif /* _KERNEL */
133void OF_release(void *virt, size_t size);
134
135/* Control transfer functions */
136void OF_enter(void);
137void OF_exit(void) __attribute__((noreturn));
138
139/* User interface functions */
140int OF_interpret(const char *cmd, int nreturns, ...);
141
142#endif /* _KERNEL */
143#endif /* _OPENFIRM_H_ */
143#endif /* _DEV_OPENFIRM_H_ */