12#if defined(OS_USE_OS_APP_CONFIG_H)
13#include <cmsis-plus/os-app-config.h>
16#if !defined(OS_USE_SEMIHOSTING_SYSCALLS)
40#pragma clang diagnostic ignored "-Wc++98-compat"
88 va_start (args, oflag);
99 return io->file_descriptor ();
132 return io->read (buf, nbyte);
142 if (fildes == 1 || fildes == 2)
149 return io->write (buf, nbyte);
161 return io->writev (iov, iovcnt);
184 va_start (args, request);
210 return (
static_cast<posix::file*
> (io))->lseek (offset, whence);
231 return io->isatty ();
252 return (
static_cast<posix::tty*
> (io))->tcdrain ();
273 return (
static_cast<posix::tty*
> (io))->tcgetattr (termios_p);
296 ->tcsetattr (optional_actions, termios_p);
317 return (
static_cast<posix::tty*
> (io))->tcflush (queue_selector);
338 return (
static_cast<posix::tty*
> (io))->tcsendbreak (duration);
352 va_start (args, cmd);
353 int ret = io->vfcntl (cmd, args);
368 return io->fstat (buf);
390 return (
static_cast<posix::file*
> (io))->fstatvfs (buf);
412 return (
static_cast<posix::file*
> (io))->ftruncate (length);
515#pragma GCC diagnostic push
516#pragma GCC diagnostic ignored "-Wcast-align"
518#pragma GCC diagnostic pop
532 return ((ssize_t) -1);
539#pragma GCC diagnostic push
540#pragma GCC diagnostic ignored "-Wcast-align"
542#pragma GCC diagnostic pop
554#pragma GCC diagnostic push
555#pragma GCC diagnostic ignored "-Wcast-align"
557#pragma GCC diagnostic pop
563 return dir->
close ();
569#pragma GCC diagnostic push
570#if defined(__clang__)
571#elif defined(__GNUC__)
572#pragma GCC diagnostic ignored "-Wunused-parameter"
590 return sock->file_descriptor ();
612 auto*
const new_socket = io->accept (address, address_len);
613 return new_socket->file_descriptor ();
626 return io->bind (address, address_len);
639 return io->connect (address, address_len);
652 return io->getpeername (address, address_len);
665 return io->getsockname (address, address_len);
678 return io->getsockopt (level, option_name, option_value, option_len);
690 return io->listen (backlog);
702 return io->recv (buffer, length, flags);
715 return io->recvfrom (buffer, length, flags, address, address_len);
727 return io->recvmsg (message, flags);
739 return io->send (buffer, length, flags);
751 return io->sendmsg (message, flags);
764 return io->sendto (message, length, flags, dest_addr, dest_len);
769 const void* option_value,
socklen_t option_len)
777 return io->setsockopt (level, option_name, option_value, option_len);
789 return io->shutdown (how);
801 return io->sockatmark ();
804#pragma GCC diagnostic pop
817#pragma GCC diagnostic push
818#if defined(__clang__)
819#pragma clang diagnostic ignored "-Wunused-parameter"
820#elif defined(__GNUC__)
821#pragma GCC diagnostic ignored "-Wunused-parameter"
827int __attribute__ ((weak))
835int __attribute__ ((weak))
846 ptimeval->tv_usec = 0;
863 return static_cast<clock_t
> (-1);
887 return static_cast<clock_t
> (-1);
902#pragma GCC diagnostic push
903#if defined(__clang__)
904#elif defined(__GNUC__)
905#pragma GCC diagnostic ignored "-Wuseless-cast"
908 return static_cast<pid_t
> (-1);
910#pragma GCC diagnostic push
918#pragma GCC diagnostic push
919#if defined(__clang__)
920#elif defined(__GNUC__)
921#pragma GCC diagnostic ignored "-Wuseless-cast"
924 return static_cast<pid_t
> (-1);
926#pragma GCC diagnostic pop
955#pragma GCC diagnostic push
956#if defined(__clang__)
957#elif defined(__GNUC__)
958#pragma GCC diagnostic ignored "-Wuseless-cast"
961 return static_cast<pid_t
> (-1);
963#pragma GCC diagnostic pop
991 return static_cast<ssize_t
> (-1);
994#pragma GCC diagnostic pop
1008#if defined(__ARM_EABI__) && (__STDC_HOSTED__ != 0)
1013#if defined(OS_INCLUDE_NEWLIB_POSIX_FUNCTIONS)
int __posix_statvfs(const char *path, struct statvfs *buf)
pid_t __posix_getpid(void)
int __posix_tcsetattr(int fildes, int optional_actions, const termios *termios_p)
clock_t __posix_clock(void)
int __posix_tcflush(int fildes, int queue_selector)
int __posix_fstatvfs(int fildes, struct statvfs *buf)
int __posix_tcdrain(int fildes)
void initialise_monitor_handles(void)
int __posix_tcgetattr(int fildes, termios *termios_p)
int __posix_tcsendbreak(int fildes, int duration)
virtual dirent * read(void)
virtual void rewind(void)
static class socket * socket(int fildes)
static class io * io(int fildes)
virtual timestamp_t now(void) override
Tell the current time adjusted for epoch.
int stat(const char *path, struct stat *buf)
clock_t times(struct tms *buf)
int socket(int domain, int type, int protocol)
int utime(const char *path, const utimbuf *times)
int unlink(const char *path)
io * vopen(const char *path, int oflag, std::va_list args)
int rmdir(const char *path)
int statvfs(const char *path, struct statvfs *buf)
int rename(const char *existing, const char *_new)
int stat(const char *path, struct stat *buf)
int chmod(const char *path, mode_t mode)
int truncate(const char *path, off_t length)
directory * opendir(const char *dirname)
Open directory.
int mkdir(const char *path, mode_t mode)
clock_rtc rtclock
The real time clock object instance.
Single file µOS++ RTOS definitions.
#define __posix_sockatmark
#define __posix_getsockopt
#define __posix_rewinddir
#define __posix_readdir_r
#define __posix_getsockname
#define __posix_gettimeofday
#define __posix_setsockopt
#define __posix_socketpair
#define __posix_ftruncate
#define __posix_getpeername
ssize_t trace_write(const void *buf, size_t nbyte)