/* Open the stdin/stdout/stderr handles */ extern "C" void __GCC4MBEDOpenStandardHandles(void) { /* Open stdin/stdout/stderr */ _sys_open("/stdin", OPENMODE_R); _sys_open("/stdout", OPENMODE_W); _sys_open("/stderr", OPENMODE_W); g_StandardHandlesOpened = 1; }
main() { handle sbcr_hdl, pbddr_hdl, pbdr_hdl; pbddr_hdl = _sys_open(_SYS_OPEN_INTERFACE, PBDDR); _sys_write(pbddr_hdl, 0x8); _sys_close(pbddr_hdl); pbdr_hdl = _sys_open(_SYS_OPEN_INTERFACE, PBDR); while(1) { _sys_write(pbdr_hdl, 0x0); _sys_write(pbdr_hdl, 0x8); } }
int open(const char *path, int flags, ...) { int retval; pthread_t self; va_list ap; self = pthread__self(); TESTCANCEL(self); va_start(ap, flags); retval = _sys_open(path, flags, va_arg(ap, mode_t)); va_end(ap); TESTCANCEL(self); return retval; }
extern "C" int _open(const char *name, int flags, int mode) { int OpenMode = 0; (void)mode; /* Convert from newlib flags to mbed openmode */ if (flags & O_RDWR) { OpenMode |= OPENMODE_PLUS; } if (flags & O_TRUNC) { OpenMode |= OPENMODE_W; } if (flags & O_APPEND) { OpenMode |= OPENMODE_A; } return _sys_open(name, OpenMode); }
extern IO *sys_open(const char *path, int mode) { return _sys_open(path, mode, 0); }