-/* ieee1275.c - Access the Open Firmware client interface. */
+/* of.c - Access the Open Firmware client interface. */
/*
* GRUB -- GRand Unified Bootloader
* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
int
grub_ieee1275_finddevice (char *name, grub_ieee1275_phandle_t *phandlep)
{
- struct find_device_args {
+ struct find_device_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t device;
grub_ieee1275_phandle_t phandle;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "finddevice", 1, 1);
args.device = (grub_ieee1275_cell_t) name;
const char *property, void *buf,
grub_size_t size, grub_ssize_t *actual)
{
- struct get_property_args {
+ struct get_property_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t phandle;
grub_ieee1275_cell_t prop;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t buflen;
grub_ieee1275_cell_t size;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "getprop", 4, 1);
args.phandle = phandle;
grub_ieee1275_next_property (grub_ieee1275_phandle_t phandle, char *prev_prop,
char *prop, grub_ieee1275_cell_t *flags)
{
- struct get_property_args {
+ struct get_property_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t phandle;
grub_ieee1275_cell_t prev_prop;
grub_ieee1275_cell_t next_prop;
grub_ieee1275_cell_t flags;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "nextprop", 3, 1);
args.phandle = phandle;
grub_ieee1275_get_property_length (grub_ieee1275_phandle_t phandle,
const char *prop, grub_ssize_t *length)
{
- struct get_property_args {
+ struct get_property_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t phandle;
grub_ieee1275_cell_t prop;
grub_ieee1275_cell_t length;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "getproplen", 2, 1);
args.phandle = phandle;
grub_ieee1275_instance_to_package (grub_ieee1275_ihandle_t ihandle,
grub_ieee1275_phandle_t *phandlep)
{
- struct instance_to_package_args {
+ struct instance_to_package_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_phandle_t phandle;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "instance-to-package", 1, 1);
args.ihandle = ihandle;
int
grub_ieee1275_package_to_path (grub_ieee1275_phandle_t phandle,
- char *path, grub_size_t len, grub_ssize_t *actual)
+ char *path, grub_size_t len,
+ grub_ssize_t *actual)
{
- struct instance_to_package_args {
+ struct instance_to_package_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t phandle;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t buflen;
grub_ieee1275_cell_t actual;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "package-to-path", 3, 1);
args.phandle = phandle;
char *path, grub_size_t len,
grub_ssize_t *actual)
{
- struct instance_to_package_args {
+ struct instance_to_package_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t buflen;
grub_ieee1275_cell_t actual;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "instance-to-path", 3, 1);
args.ihandle = ihandle;
grub_ieee1275_write (grub_ieee1275_ihandle_t ihandle, void *buffer,
grub_size_t len, grub_ssize_t *actualp)
{
- struct write_args {
+ struct write_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t len;
grub_ieee1275_cell_t actual;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "write", 3, 1);
args.ihandle = ihandle;
grub_ieee1275_read (grub_ieee1275_ihandle_t ihandle, void *buffer,
grub_size_t len, grub_ssize_t *actualp)
{
- struct write_args {
+ struct write_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t len;
grub_ieee1275_cell_t actual;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "read", 3, 1);
args.ihandle = ihandle;
grub_ieee1275_seek (grub_ieee1275_ihandle_t ihandle, int pos_hi,
int pos_lo, grub_ssize_t *result)
{
- struct write_args {
+ struct write_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_cell_t pos_hi;
grub_ieee1275_cell_t pos_lo;
grub_ieee1275_cell_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "seek", 3, 1);
args.ihandle = ihandle;
grub_ieee1275_peer (grub_ieee1275_phandle_t node,
grub_ieee1275_phandle_t *result)
{
- struct peer_args {
+ struct peer_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t node;
grub_ieee1275_phandle_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "peer", 1, 1);
args.node = node;
grub_ieee1275_child (grub_ieee1275_phandle_t node,
grub_ieee1275_phandle_t *result)
{
- struct child_args {
+ struct child_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t node;
grub_ieee1275_phandle_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "child", 1, 1);
args.node = node;
grub_ieee1275_parent (grub_ieee1275_phandle_t node,
grub_ieee1275_phandle_t *result)
{
- struct parent_args {
+ struct parent_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t node;
grub_ieee1275_phandle_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "parent", 1, 1);
args.node = node;
int
grub_ieee1275_interpret (const char *command, grub_ieee1275_cell_t *catch)
{
- struct enter_args {
+ struct enter_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t command;
grub_ieee1275_cell_t catch;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "interpret", 1, 1);
args.command = (grub_ieee1275_cell_t) command;
int
grub_ieee1275_enter (void)
{
- struct enter_args {
+ struct enter_args
+ {
struct grub_ieee1275_common_hdr common;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "enter", 0, 0);
int
grub_ieee1275_exit (void)
{
- struct exit_args {
+ struct exit_args
+ {
struct grub_ieee1275_common_hdr common;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "exit", 0, 0);
int
grub_ieee1275_open (const char *path, grub_ieee1275_ihandle_t *result)
{
- struct open_args {
+ struct open_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t path;
grub_ieee1275_ihandle_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "open", 1, 1);
args.path = (grub_ieee1275_cell_t) path;
int
grub_ieee1275_close (grub_ieee1275_ihandle_t ihandle)
{
- struct close_args {
+ struct close_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_ihandle_t ihandle;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "close", 1, 0);
args.ihandle = ihandle;
grub_ieee1275_claim (grub_addr_t addr, grub_size_t size, unsigned int align,
grub_addr_t *result)
{
- struct claim_args {
+ struct claim_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t addr;
grub_ieee1275_cell_t size;
grub_ieee1275_cell_t align;
grub_ieee1275_cell_t base;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "claim", 3, 1);
args.addr = (grub_ieee1275_cell_t) addr;
int
grub_ieee1275_release (grub_addr_t addr, grub_size_t size)
{
- struct release_args {
+ struct release_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t addr;
grub_ieee1275_cell_t size;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "release", 2, 0);
args.addr = addr;
const char *propname, void *buf,
grub_size_t size, grub_ssize_t *actual)
{
- struct set_property_args {
+ struct set_property_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_phandle_t phandle;
grub_ieee1275_cell_t propname;
grub_ieee1275_cell_t buf;
grub_ieee1275_cell_t size;
grub_ieee1275_cell_t actual;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "setprop", 4, 1);
args.size = (grub_ieee1275_cell_t) size;
grub_ieee1275_set_color (grub_ieee1275_ihandle_t ihandle,
int index, int r, int g, int b)
{
- struct set_color_args {
+ struct set_color_args
+ {
struct grub_ieee1275_common_hdr common;
char *method;
grub_ieee1275_ihandle_t ihandle;
grub_ieee1275_cell_t g;
grub_ieee1275_cell_t r;
grub_ieee1275_cell_t result;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "call-method", 6, 1);
args.method = "color!";
int
grub_ieee1275_milliseconds (grub_uint32_t *msecs)
{
- struct milliseconds_args {
+ struct milliseconds_args
+ {
struct grub_ieee1275_common_hdr common;
grub_ieee1275_cell_t msecs;
- } args;
+ }
+ args;
INIT_IEEE1275_COMMON (&args.common, "milliseconds", 0, 1);