blob: 1a01e430bbc60cac93c7dd6e4ca05a22364bff86 [file] [log] [blame]
wdenk87249ba2004-01-06 22:38:14 +00001#ifndef __EXPORTS_H__
2#define __EXPORTS_H__
wdenk874ac262003-07-24 23:38:38 +00003
4#ifndef __ASSEMBLY__
5
Martin Dorwigcb2c2862015-01-26 15:22:54 -07006struct spi_slave;
7
wdenk874ac262003-07-24 23:38:38 +00008/* These are declarations of exported functions available in C code */
9unsigned long get_version(void);
10int getc(void);
11int tstc(void);
12void putc(const char);
13void puts(const char*);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020014int printf(const char* fmt, ...);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070015void install_hdlr(int, interrupt_handler_t, void*);
wdenk874ac262003-07-24 23:38:38 +000016void free_hdlr(int);
17void *malloc(size_t);
Simon Glassf5f2b0e2015-03-03 08:03:01 -070018#ifndef CONFIG_SYS_MALLOC_SIMPLE
wdenk874ac262003-07-24 23:38:38 +000019void free(void*);
Simon Glassf5f2b0e2015-03-03 08:03:01 -070020#endif
Ingo van Lilf0f778a2009-11-24 14:09:21 +010021void __udelay(unsigned long);
wdenk874ac262003-07-24 23:38:38 +000022unsigned long get_timer(unsigned long);
Wolfgang Denk318ef5c2010-06-20 17:14:14 +020023int vprintf(const char *, va_list);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070024unsigned long simple_strtoul(const char *cp, char **endp, unsigned int base);
Heiko Schocher8d4f35a2011-05-02 21:33:49 +000025int strict_strtoul(const char *cp, unsigned int base, unsigned long *res);
Wolfgang Denkd67abff2011-07-29 14:42:18 +020026char *getenv (const char *name);
27int setenv (const char *varname, const char *varvalue);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070028long simple_strtol(const char *cp, char **endp, unsigned int base);
29int strcmp(const char *cs, const char *ct);
Lukasz Majewski99180d62012-12-11 11:09:42 +010030unsigned long ustrtoul(const char *cp, char **endp, unsigned int base);
Piotr Wilczek219ad3c2013-01-27 22:59:24 +000031unsigned long long ustrtoull(const char *cp, char **endp, unsigned int base);
Martin Dorwigcb2c2862015-01-26 15:22:54 -070032#if defined(CONFIG_CMD_I2C) && \
33 (!defined(CONFIG_DM_I2C) || defined(CONFIG_DM_I2C_COMPAT))
wdenk4cc02a82003-09-11 23:06:34 +000034int i2c_write (uchar, uint, int , uchar* , int);
35int i2c_read (uchar, uint, int , uchar* , int);
Jon Loeliger07efe2a2007-07-10 10:27:39 -050036#endif
wdenk874ac262003-07-24 23:38:38 +000037
Wolfgang Denk6262d0212010-06-28 22:00:46 +020038void app_startup(char * const *);
wdenk874ac262003-07-24 23:38:38 +000039
40#endif /* ifndef __ASSEMBLY__ */
41
Martin Dorwigcb2c2862015-01-26 15:22:54 -070042struct jt_funcs {
43#define EXPORT_FUNC(impl, res, func, ...) res(*func)(__VA_ARGS__);
wdenk874ac262003-07-24 23:38:38 +000044#include <_exports.h>
45#undef EXPORT_FUNC
wdenk874ac262003-07-24 23:38:38 +000046};
47
Martin Dorwigcb2c2862015-01-26 15:22:54 -070048
49#define XF_VERSION 7
wdenk874ac262003-07-24 23:38:38 +000050
Graeme Russcbfce1d2011-04-13 19:43:28 +100051#if defined(CONFIG_X86)
wdenkb8463562003-07-26 08:08:08 +000052extern gd_t *global_data;
53#endif
54
wdenk87249ba2004-01-06 22:38:14 +000055#endif /* __EXPORTS_H__ */