summaryrefslogtreecommitdiffstats
path: root/qemu/roms/SLOF/clients/net-snk/include/of.h
blob: 22411ff98b35daf61d4b7a367788a4c498801f97 (plain)
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
69
70
/******************************************************************************
 * Copyright (c) 2004, 2008 IBM Corporation
 * All rights reserved.
 * This program and the accompanying materials
 * are made available under the terms of the BSD License
 * which accompanies this distribution, and is available at
 * http://www.opensource.org/licenses/bsd-license.php
 *
 * Contributors:
 *     IBM Corporation - initial implementation
 *****************************************************************************/

#ifndef OF_H
#define OF_H

#include <stdint.h>
#include <stddef.h>

#define p32 int
#define p32cast (int) (unsigned long) (void*)

#define phandle_t p32
#define ihandle_t p32

typedef struct 
{
    unsigned int serv;
    int nargs;
    int nrets;
    unsigned int args[16];
} of_arg_t;


phandle_t of_finddevice (const char *);
phandle_t of_peer (phandle_t);
phandle_t of_child (phandle_t);
phandle_t of_parent (phandle_t);
phandle_t of_instance_to_package(ihandle_t ihandle);
int of_getprop (phandle_t, const char *, void *, int);
void * of_call_method_3 (const char *, ihandle_t, int);
int of_test(const char *name);
int of_interpret_1(void *s, void *ret);

ihandle_t of_open (const char *);
void of_close(ihandle_t);
int of_read (ihandle_t , void*, int);
int of_write (ihandle_t, void*, int);
int of_seek (ihandle_t, int, int);

void * of_claim(void *, unsigned int , unsigned int );
void of_release(void *, unsigned int );

int of_yield(void);
void * of_set_callback(void *);

unsigned int romfs_lookup(const char *, void **);
int vpd_read(unsigned int , unsigned int , char *);
int vpd_write(unsigned int , unsigned int , char *);
int write_mm_log(char *, unsigned int , unsigned short );

int of_get_mac(phandle_t device, char *mac);
uint64_t get_puid(phandle_t node);
void translate_address_dev(uint64_t *, phandle_t);
void translate_address(unsigned long *addr);

int of_glue_init(unsigned int * timebase,
		 size_t _client_start, size_t _client_size);
void of_glue_release(void);

#endif