hc
2025-02-14 bbb9540dc49f70f6b703d1c8d1b85fa5f602d86e
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
/*
 * (C) Copyright 2007 Semihalf
 *
 * Written by: Rafal Jaworowski <raj@semihalf.com>
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
/*
 * This is the header file for conveniency wrapper routines (API glue)
 */
 
#ifndef _API_GLUE_H_
#define _API_GLUE_H_
 
#define API_SEARCH_LEN        (3 * 1024 * 1024)    /* 3MB search range */
 
#define UB_MAX_MR    5    /* max mem regions number */
#define UB_MAX_DEV    6    /* max devices number */
 
extern void *syscall_ptr;
extern uint32_t search_hint;
 
int    syscall(int, int *, ...);
int    api_search_sig(struct api_signature **sig);
 
/*
 * The ub_ library calls are part of the application, not U-Boot code!  They
 * are front-end wrappers that are used by the consumer application: they
 * prepare arguments for particular syscall and jump to the low level
 * syscall()
 */
 
/* console */
int    ub_getc(void);
int    ub_tstc(void);
void    ub_putc(char c);
void    ub_puts(const char *s);
 
/* system */
void            ub_reset(void);
struct sys_info *    ub_get_sys_info(void);
 
/* time */
void        ub_udelay(unsigned long);
unsigned long    ub_get_timer(unsigned long);
 
/* env vars */
char *        ub_env_get(const char *name);
void        ub_env_set(const char *name, char *value);
const char *    ub_env_enum(const char *last);
 
/* devices */
int            ub_dev_enum(void);
int            ub_dev_open(int handle);
int            ub_dev_close(int handle);
int            ub_dev_read(int handle, void *buf, lbasize_t len,
               lbastart_t start, lbasize_t *rlen);
int            ub_dev_send(int handle, void *buf, int len);
int            ub_dev_recv(int handle, void *buf, int len, int *rlen);
struct device_info *    ub_dev_get(int);
 
/* display */
int ub_display_get_info(int type, struct display_info *di);
int ub_display_draw_bitmap(ulong bitmap, int x, int y);
void ub_display_clear(void);
 
#endif /* _API_GLUE_H_ */