26 |
|
|
27 |
intptr_t (*grub_ieee1275_entry_fn) (void *); |
intptr_t (*grub_ieee1275_entry_fn) (void *); |
28 |
|
|
|
#ifndef IEEE1275_CALL_ENTRY_FN |
|
|
#define IEEE1275_CALL_ENTRY_FN(args) (*grub_ieee1275_entry_fn) (args) |
|
|
#endif |
|
|
|
|
|
/* All backcalls to the firmware is done by calling an entry function |
|
|
which was passed to us from the bootloader. When doing the backcall, |
|
|
a structure is passed which specifies what the firmware should do. |
|
|
NAME is the requested service. NR_INS and NR_OUTS is the number of |
|
|
passed arguments and the expected number of return values, resp. */ |
|
|
struct grub_ieee1275_common_hdr |
|
|
{ |
|
|
char *name; |
|
|
int nr_ins; |
|
|
int nr_outs; |
|
|
}; |
|
|
|
|
|
#define INIT_IEEE1275_COMMON(p, xname, xins, xouts) \ |
|
|
(p)->name = xname; (p)->nr_ins = xins; (p)->nr_outs = xouts |
|
|
|
|
29 |
/* FIXME is this function needed? */ |
/* FIXME is this function needed? */ |
30 |
grub_uint32_t |
grub_uint32_t |
31 |
grub_ieee1275_decode_int_4 (unsigned char *p) |
grub_ieee1275_decode_int_4 (unsigned char *p) |