Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Classes | Namespaces | Macros | Variables
syscCallB.hpp File Reference
#include "core/common/trapgen/utils/trap_utils.hpp"
#include "core/common/trapgen/ABIIf.hpp"
#include "core/common/systemc.h"
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <map>
#include <set>
#include <string>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <utime.h>
#include <io.h>
#include <cerrno>
#include <sstream>
#include <ctime>
#include "core/common/trapgen/elfloader/elfFrontend.hpp"
Include dependency graph for syscCallB.hpp:
This graph shows which files directly or indirectly include this file:

Classes

class  trap::OSEmulatorBase
 
class  trap::SyscallCB< wordSize >
 
class  trap::openSysCall< wordSize >
 
class  trap::creatSysCall< wordSize >
 
class  trap::closeSysCall< wordSize >
 
class  trap::readSysCall< wordSize >
 
class  trap::writeSysCall< wordSize >
 
class  trap::isattySysCall< wordSize >
 
class  trap::sbrkSysCall< wordSize >
 
class  trap::lseekSysCall< wordSize >
 
class  trap::fstatSysCall< wordSize >
 
class  trap::statSysCall< wordSize >
 
class  trap::_exitSysCall< wordSize >
 
class  trap::timesSysCall< wordSize >
 
class  trap::timeSysCall< wordSize >
 
class  trap::randomSysCall< wordSize >
 
class  trap::utimesSysCall< wordSize >
 
class  trap::lstatSysCall< wordSize >
 
class  trap::getpidSysCall< wordSize >
 
class  trap::chmodSysCall< wordSize >
 
class  trap::dupSysCall< wordSize >
 
class  trap::dup2SysCall< wordSize >
 
class  trap::getenvSysCall< wordSize >
 
class  trap::gettimeofdaySysCall< wordSize >
 
class  trap::killSysCall< wordSize >
 
class  trap::errorSysCall< wordSize >
 
class  trap::chownSysCall< wordSize >
 
class  trap::unlinkSysCall< wordSize >
 
class  trap::usleepSysCall< wordSize >
 
class  trap::mainSysCall< wordSize >
 
class  trap::sysconfSysCall< wordSize >
 

Namespaces

 trap
 

Macros

#define NEWLIB_SC_ARG_MAX   0
 
#define NEWLIB_SC_CHILD_MAX   1
 
#define NEWLIB_SC_CLK_TCK   2
 
#define NEWLIB_SC_NGROUPS_MAX   3
 
#define NEWLIB_SC_OPEN_MAX   4
 
#define NEWLIB_SC_JOB_CONTROL   5
 
#define NEWLIB_SC_SAVED_IDS   6
 
#define NEWLIB_SC_VERSION   7
 
#define NEWLIB_SC_PAGESIZE   8
 
#define NEWLIB_SC_PAGE_SIZE   NEWLIB_SC_PAGESIZE
 
#define NEWLIB_SC_NPROCESSORS_CONF   9
 
#define NEWLIB_SC_NPROCESSORS_ONLN   10
 
#define NEWLIB_SC_PHYS_PAGES   11
 
#define NEWLIB_SC_AVPHYS_PAGES   12
 
#define NEWLIB_SC_MQ_OPEN_MAX   13
 
#define NEWLIB_SC_MQ_PRIO_MAX   14
 
#define NEWLIB_SC_RTSIG_MAX   15
 
#define NEWLIB_SC_SEM_NSEMS_MAX   16
 
#define NEWLIB_SC_SEM_VALUE_MAX   17
 
#define NEWLIB_SC_SIGQUEUE_MAX   18
 
#define NEWLIB_SC_TIMER_MAX   19
 
#define NEWLIB_SC_TZNAME_MAX   20
 
#define NEWLIB_SC_ASYNCHRONOUS_IO   21
 
#define NEWLIB_SC_FSYNC   22
 
#define NEWLIB_SC_MAPPED_FILES   23
 
#define NEWLIB_SC_MEMLOCK   24
 
#define NEWLIB_SC_MEMLOCK_RANGE   25
 
#define NEWLIB_SC_MEMORY_PROTECTION   26
 
#define NEWLIB_SC_MESSAGE_PASSING   27
 
#define NEWLIB_SC_PRIORITIZED_IO   28
 
#define NEWLIB_SC_REALTIME_SIGNALS   29
 
#define NEWLIB_SC_SEMAPHORES   30
 
#define NEWLIB_SC_SHARED_MEMORY_OBJECTS   31
 
#define NEWLIB_SC_SYNCHRONIZED_IO   32
 
#define NEWLIB_SC_TIMERS   33
 
#define NEWLIB_SC_AIO_LISTIO_MAX   34
 
#define NEWLIB_SC_AIO_MAX   35
 
#define NEWLIB_SC_AIO_PRIO_DELTA_MAX   36
 
#define NEWLIB_SC_DELAYTIMER_MAX   37
 
#define NEWLIB_SC_THREAD_KEYS_MAX   38
 
#define NEWLIB_SC_THREAD_STACK_MIN   39
 
#define NEWLIB_SC_THREAD_THREADS_MAX   40
 
#define NEWLIB_SC_TTY_NAME_MAX   41
 
#define NEWLIB_SC_THREADS   42
 
#define NEWLIB_SC_THREAD_ATTR_STACKADDR   43
 
#define NEWLIB_SC_THREAD_ATTR_STACKSIZE   44
 
#define NEWLIB_SC_THREAD_PRIORITY_SCHEDULING   45
 
#define NEWLIB_SC_THREAD_PRIO_INHERIT   46
 
#define NEWLIB_SC_THREAD_PRIO_PROTECT   47
 
#define NEWLIB_SC_THREAD_PRIO_CEILING   NEWLIB_SC_THREAD_PRIO_PROTECT
 
#define NEWLIB_SC_THREAD_PROCESS_SHARED   48
 
#define NEWLIB_SC_THREAD_SAFE_FUNCTIONS   49
 
#define NEWLIB_SC_GETGR_R_SIZE_MAX   50
 
#define NEWLIB_SC_GETPW_R_SIZE_MAX   51
 
#define NEWLIB_SC_LOGIN_NAME_MAX   52
 
#define NEWLIB_SC_THREAD_DESTRUCTOR_ITERATIONS   53
 
#define NEWLIB_SC_ADVISORY_INFO   54
 
#define NEWLIB_SC_ATEXIT_MAX   55
 
#define NEWLIB_SC_BARRIERS   56
 
#define NEWLIB_SC_BC_BASE_MAX   57
 
#define NEWLIB_SC_BC_DIM_MAX   58
 
#define NEWLIB_SC_BC_SCALE_MAX   59
 
#define NEWLIB_SC_BC_STRING_MAX   60
 
#define NEWLIB_SC_CLOCK_SELECTION   61
 
#define NEWLIB_SC_COLL_WEIGHTS_MAX   62
 
#define NEWLIB_SC_CPUTIME   63
 
#define NEWLIB_SC_EXPR_NEST_MAX   64
 
#define NEWLIB_SC_HOST_NAME_MAX   65
 
#define NEWLIB_SC_IOV_MAX   66
 
#define NEWLIB_SC_IPV6   67
 
#define NEWLIB_SC_LINE_MAX   68
 
#define NEWLIB_SC_MONOTONIC_CLOCK   69
 
#define NEWLIB_SC_RAW_SOCKETS   70
 
#define NEWLIB_SC_READER_WRITER_LOCKS   71
 
#define NEWLIB_SC_REGEXP   72
 
#define NEWLIB_SC_RE_DUP_MAX   73
 
#define NEWLIB_SC_SHELL   74
 
#define NEWLIB_SC_SPAWN   75
 
#define NEWLIB_SC_SPIN_LOCKS   76
 
#define NEWLIB_SC_SPORADIC_SERVER   77
 
#define NEWLIB_SC_SS_REPL_MAX   78
 
#define NEWLIB_SC_SYMLOOP_MAX   79
 
#define NEWLIB_SC_THREAD_CPUTIME   80
 
#define NEWLIB_SC_THREAD_SPORADIC_SERVER   81
 
#define NEWLIB_SC_TIMEOUTS   82
 
#define NEWLIB_SC_TRACE   83
 
#define NEWLIB_SC_TRACE_EVENT_FILTER   84
 
#define NEWLIB_SC_TRACE_EVENT_NAME_MAX   85
 
#define NEWLIB_SC_TRACE_INHERIT   86
 
#define NEWLIB_SC_TRACE_LOG   87
 
#define NEWLIB_SC_TRACE_NAME_MAX   88
 
#define NEWLIB_SC_TRACE_SYS_MAX   89
 
#define NEWLIB_SC_TRACE_USER_EVENT_MAX   90
 
#define NEWLIB_SC_TYPED_MEMORY_OBJECTS   91
 
#define NEWLIB_SC_V6_ILP32_OFF32   92
 
#define NEWLIB_SC_XBS5_ILP32_OFF32   NEWLIB_SC_V6_ILP32_OFF32
 
#define NEWLIB_SC_V6_ILP32_OFFBIG   93
 
#define NEWLIB_SC_XBS5_ILP32_OFFBIG   NEWLIB_SC_V6_ILP32_OFFBIG
 
#define NEWLIB_SC_V6_LP64_OFF64   94
 
#define NEWLIB_SC_XBS5_LP64_OFF64   NEWLIB_SC_V6_LP64_OFF64
 
#define NEWLIB_SC_V6_LPBIG_OFFBIG   95
 
#define NEWLIB_SC_XBS5_LPBIG_OFFBIG   NEWLIB_SC_V6_LPBIG_OFFBIG
 
#define NEWLIB_SC_XOPEN_CRYPT   96
 
#define NEWLIB_SC_XOPEN_ENH_I18N   97
 
#define NEWLIB_SC_XOPEN_LEGACY   98
 
#define NEWLIB_SC_XOPEN_REALTIME   99
 
#define NEWLIB_SC_STREAM_MAX   100
 
#define NEWLIB_SC_PRIORITY_SCHEDULING   101
 
#define NEWLIB_SC_XOPEN_REALTIME_THREADS   102
 
#define NEWLIB_SC_XOPEN_SHM   103
 
#define NEWLIB_SC_XOPEN_STREAMS   104
 
#define NEWLIB_SC_XOPEN_UNIX   105
 
#define NEWLIB_SC_XOPEN_VERSION   106
 
#define NEWLIB_SC_2_CHAR_TERM   107
 
#define NEWLIB_SC_2_C_BIND   108
 
#define NEWLIB_SC_2_C_DEV   109
 
#define NEWLIB_SC_2_FORT_DEV   110
 
#define NEWLIB_SC_2_FORT_RUN   111
 
#define NEWLIB_SC_2_LOCALEDEF   112
 
#define NEWLIB_SC_2_PBS   113
 
#define NEWLIB_SC_2_PBS_ACCOUNTING   114
 
#define NEWLIB_SC_2_PBS_CHECKPOINT   115
 
#define NEWLIB_SC_2_PBS_LOCATE   116
 
#define NEWLIB_SC_2_PBS_MESSAGE   117
 
#define NEWLIB_SC_2_PBS_TRACK   118
 
#define NEWLIB_SC_2_SW_DEV   119
 
#define NEWLIB_SC_2_UPE   120
 
#define NEWLIB_SC_2_VERSION   121
 

Variables

int errno
 

Macro Definition Documentation

#define NEWLIB_SC_2_C_BIND   108
#define NEWLIB_SC_2_C_DEV   109
#define NEWLIB_SC_2_CHAR_TERM   107
#define NEWLIB_SC_2_FORT_DEV   110
#define NEWLIB_SC_2_FORT_RUN   111
#define NEWLIB_SC_2_LOCALEDEF   112
#define NEWLIB_SC_2_PBS   113
#define NEWLIB_SC_2_PBS_ACCOUNTING   114
#define NEWLIB_SC_2_PBS_CHECKPOINT   115
#define NEWLIB_SC_2_PBS_LOCATE   116
#define NEWLIB_SC_2_PBS_MESSAGE   117
#define NEWLIB_SC_2_PBS_TRACK   118
#define NEWLIB_SC_2_SW_DEV   119
#define NEWLIB_SC_2_UPE   120
#define NEWLIB_SC_2_VERSION   121
#define NEWLIB_SC_ADVISORY_INFO   54
#define NEWLIB_SC_AIO_LISTIO_MAX   34
#define NEWLIB_SC_AIO_MAX   35
#define NEWLIB_SC_AIO_PRIO_DELTA_MAX   36
#define NEWLIB_SC_ARG_MAX   0
#define NEWLIB_SC_ASYNCHRONOUS_IO   21
#define NEWLIB_SC_ATEXIT_MAX   55
#define NEWLIB_SC_AVPHYS_PAGES   12
#define NEWLIB_SC_BARRIERS   56
#define NEWLIB_SC_BC_BASE_MAX   57
#define NEWLIB_SC_BC_DIM_MAX   58
#define NEWLIB_SC_BC_SCALE_MAX   59
#define NEWLIB_SC_BC_STRING_MAX   60
#define NEWLIB_SC_CHILD_MAX   1
#define NEWLIB_SC_CLK_TCK   2
#define NEWLIB_SC_CLOCK_SELECTION   61
#define NEWLIB_SC_COLL_WEIGHTS_MAX   62
#define NEWLIB_SC_CPUTIME   63
#define NEWLIB_SC_DELAYTIMER_MAX   37
#define NEWLIB_SC_EXPR_NEST_MAX   64
#define NEWLIB_SC_FSYNC   22
#define NEWLIB_SC_GETGR_R_SIZE_MAX   50
#define NEWLIB_SC_GETPW_R_SIZE_MAX   51
#define NEWLIB_SC_HOST_NAME_MAX   65
#define NEWLIB_SC_IOV_MAX   66
#define NEWLIB_SC_IPV6   67
#define NEWLIB_SC_JOB_CONTROL   5
#define NEWLIB_SC_LINE_MAX   68
#define NEWLIB_SC_LOGIN_NAME_MAX   52
#define NEWLIB_SC_MAPPED_FILES   23
#define NEWLIB_SC_MEMLOCK   24
#define NEWLIB_SC_MEMLOCK_RANGE   25
#define NEWLIB_SC_MEMORY_PROTECTION   26
#define NEWLIB_SC_MESSAGE_PASSING   27
#define NEWLIB_SC_MONOTONIC_CLOCK   69
#define NEWLIB_SC_MQ_OPEN_MAX   13
#define NEWLIB_SC_MQ_PRIO_MAX   14
#define NEWLIB_SC_NGROUPS_MAX   3
#define NEWLIB_SC_NPROCESSORS_CONF   9
#define NEWLIB_SC_NPROCESSORS_ONLN   10
#define NEWLIB_SC_OPEN_MAX   4
#define NEWLIB_SC_PAGE_SIZE   NEWLIB_SC_PAGESIZE
#define NEWLIB_SC_PAGESIZE   8
#define NEWLIB_SC_PHYS_PAGES   11
#define NEWLIB_SC_PRIORITIZED_IO   28
#define NEWLIB_SC_PRIORITY_SCHEDULING   101
#define NEWLIB_SC_RAW_SOCKETS   70
#define NEWLIB_SC_RE_DUP_MAX   73
#define NEWLIB_SC_READER_WRITER_LOCKS   71
#define NEWLIB_SC_REALTIME_SIGNALS   29
#define NEWLIB_SC_REGEXP   72
#define NEWLIB_SC_RTSIG_MAX   15
#define NEWLIB_SC_SAVED_IDS   6
#define NEWLIB_SC_SEM_NSEMS_MAX   16
#define NEWLIB_SC_SEM_VALUE_MAX   17
#define NEWLIB_SC_SEMAPHORES   30
#define NEWLIB_SC_SHARED_MEMORY_OBJECTS   31
#define NEWLIB_SC_SHELL   74
#define NEWLIB_SC_SIGQUEUE_MAX   18
#define NEWLIB_SC_SPAWN   75
#define NEWLIB_SC_SPIN_LOCKS   76
#define NEWLIB_SC_SPORADIC_SERVER   77
#define NEWLIB_SC_SS_REPL_MAX   78
#define NEWLIB_SC_STREAM_MAX   100
#define NEWLIB_SC_SYMLOOP_MAX   79
#define NEWLIB_SC_SYNCHRONIZED_IO   32
#define NEWLIB_SC_THREAD_ATTR_STACKADDR   43
#define NEWLIB_SC_THREAD_ATTR_STACKSIZE   44
#define NEWLIB_SC_THREAD_CPUTIME   80
#define NEWLIB_SC_THREAD_DESTRUCTOR_ITERATIONS   53
#define NEWLIB_SC_THREAD_KEYS_MAX   38
#define NEWLIB_SC_THREAD_PRIO_CEILING   NEWLIB_SC_THREAD_PRIO_PROTECT
#define NEWLIB_SC_THREAD_PRIO_INHERIT   46
#define NEWLIB_SC_THREAD_PRIO_PROTECT   47
#define NEWLIB_SC_THREAD_PRIORITY_SCHEDULING   45
#define NEWLIB_SC_THREAD_PROCESS_SHARED   48
#define NEWLIB_SC_THREAD_SAFE_FUNCTIONS   49
#define NEWLIB_SC_THREAD_SPORADIC_SERVER   81
#define NEWLIB_SC_THREAD_STACK_MIN   39
#define NEWLIB_SC_THREAD_THREADS_MAX   40
#define NEWLIB_SC_THREADS   42
#define NEWLIB_SC_TIMEOUTS   82
#define NEWLIB_SC_TIMER_MAX   19
#define NEWLIB_SC_TIMERS   33
#define NEWLIB_SC_TRACE   83
#define NEWLIB_SC_TRACE_EVENT_FILTER   84
#define NEWLIB_SC_TRACE_EVENT_NAME_MAX   85
#define NEWLIB_SC_TRACE_INHERIT   86
#define NEWLIB_SC_TRACE_LOG   87
#define NEWLIB_SC_TRACE_NAME_MAX   88
#define NEWLIB_SC_TRACE_SYS_MAX   89
#define NEWLIB_SC_TRACE_USER_EVENT_MAX   90
#define NEWLIB_SC_TTY_NAME_MAX   41
#define NEWLIB_SC_TYPED_MEMORY_OBJECTS   91
#define NEWLIB_SC_TZNAME_MAX   20
#define NEWLIB_SC_V6_ILP32_OFF32   92
#define NEWLIB_SC_V6_ILP32_OFFBIG   93
#define NEWLIB_SC_V6_LP64_OFF64   94
#define NEWLIB_SC_V6_LPBIG_OFFBIG   95
#define NEWLIB_SC_VERSION   7
#define NEWLIB_SC_XBS5_ILP32_OFF32   NEWLIB_SC_V6_ILP32_OFF32
#define NEWLIB_SC_XBS5_ILP32_OFFBIG   NEWLIB_SC_V6_ILP32_OFFBIG
#define NEWLIB_SC_XBS5_LP64_OFF64   NEWLIB_SC_V6_LP64_OFF64
#define NEWLIB_SC_XBS5_LPBIG_OFFBIG   NEWLIB_SC_V6_LPBIG_OFFBIG
#define NEWLIB_SC_XOPEN_CRYPT   96
#define NEWLIB_SC_XOPEN_ENH_I18N   97
#define NEWLIB_SC_XOPEN_LEGACY   98
#define NEWLIB_SC_XOPEN_REALTIME   99
#define NEWLIB_SC_XOPEN_REALTIME_THREADS   102
#define NEWLIB_SC_XOPEN_SHM   103
#define NEWLIB_SC_XOPEN_STREAMS   104
#define NEWLIB_SC_XOPEN_UNIX   105
#define NEWLIB_SC_XOPEN_VERSION   106

Variable Documentation

int errno