RIOT/cpu/native/include/native_internal.h
Ludwig Ortmann 916757cf4c implement err.h
valgrind reported invalid reads/writes with glibc err[x]|warn[x] (in
glibc printf) when stdio had been redirected in between.

define _progname (pointing to argv[0])
2013-12-10 17:00:01 +01:00

61 lines
1.3 KiB
C

/**
* Native CPU internal declarations
*/
/**
* @ingroup arch
* @defgroup native_cpu Native CPU
* @{
* @author Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
*/
#ifndef _NATIVE_INTERNAL_H
#define _NATIVE_INTERNAL_H
//#include <signal.h>
/**
* internal functions
*/
void native_cpu_init(void);
void native_interrupt_init(void);
extern void native_hwtimer_pre_init();
void native_irq_handler();
extern void _native_sig_leave_tramp(void);
void _native_syscall_leave();
void _native_syscall_enter();
/**
* external functions regularly wrapped in native for direct use
*/
extern ssize_t (*real_read)(int fd, void *buf, size_t count);
extern ssize_t (*real_write)(int fd, const void *buf, size_t count);
/**
* data structures
*/
extern volatile int native_interrupts_enabled;
extern volatile unsigned int _native_saved_eip;
extern int _sig_pipefd[2];
extern volatile int _native_sigpend;
extern volatile int _native_in_isr;
extern volatile int _native_in_syscall;
extern char __isr_stack[SIGSTKSZ];
extern char __end_stack[SIGSTKSZ];
extern ucontext_t native_isr_context;
extern ucontext_t end_context;
extern ucontext_t *_native_cur_ctx, *_native_isr_ctx;
extern const char *_progname;
#ifdef MODULE_UART0
#include <sys/select.h>
extern fd_set _native_rfds;
#endif
/** @} */
#endif /* _NATIVE_INTERNAL_H */