|
std::error_code | asmgrader::linux::make_error_code (int err=errno) |
|
Expected< ssize_t > | asmgrader::linux::write (int fd, const std::string &data) |
| writes to a file descriptor. See write(2) returns success/failure; logs failure at debug level
|
|
Expected< std::string > | asmgrader::linux::read (int fd, size_t count) |
| reads fromm a file descriptor. See read(2) returns success/failure; logs failure at debug level
|
|
Expected | asmgrader::linux::close (int fd) |
| closes a file descriptor. See close(2) returns success/failure; logs failure at debug level
|
|
Expected | asmgrader::linux::kill (pid_t pid, int sig) |
| see kill(2) returns success/failure; logs failure at debug level
|
|
Expected | asmgrader::linux::execve (const std::string &exec, const std::vector< std::string > &args, const std::vector< std::string > &envp) |
| args and envp do NOT need to have an extra NULL element; this is added for you. see execve(2) returns success/failure; logs failure at debug level
|
|
Expected< Fork > | asmgrader::linux::fork () |
| see dup(2) and ForkExpected returns result from enum; logs failure at debug level
|
|
Expected< int > | asmgrader::linux::open (const std::string &pathname, int flags, mode_t mode=0) |
| see open(2) returns success/failure; logs failure at debug level
|
|
Expected< off_t > | asmgrader::linux::lseek (int fd, off_t offset, int whence) |
| see lseek(2) returns success/failure; logs failure at debug level
|
|
Expected | asmgrader::linux::dup2 (int oldfd, int newfd) |
| see dup(2) returns success/failure; logs failure at debug level
|
|
Expected< int > | asmgrader::linux::ioctl (int fd, unsigned long request, void *argp) |
| see ioctl(2) returns success/failure; logs failure at debug level
|
|
Expected< int > | asmgrader::linux::fcntl (int fd, int cmd, std::optional< int > arg=std::nullopt) |
| see fcntl(2) returns success/failure; logs failure at debug level
|
|
Expected< siginfo_t > | asmgrader::linux::waitid (idtype_t idtype, id_t id, int options=WSTOPPED|WEXITED) |
| see waitid(2) returns success/failure; logs failure at debug level
|
|
Expected | asmgrader::linux::raise (int sig) |
| see raise(3) returns success/failure; logs failure at debug level
|
|
Expected< Pipe > | asmgrader::linux::pipe2 (int flags=0) |
| see pipe2(2) returns success/failure; logs failure at debug level
|
|
Expected< long > | asmgrader::linux::ptrace (int request, pid_t pid=0, AddrT addr=NULL, DataT data=NULL) |
| see ptrace(2) returns success/failure; logs failure at debug level
|
|
Expected< struct ::stat > | asmgrader::linux::stat (const std::string &pathname) |
| see stat(2)
|
|
Expected< pid_t > | asmgrader::linux::getpid () |
| see getpid(2) and getppid(2) these functions "cannot fail" according to the manpage. These wrappers are provided just for consistency.
|
|
Expected< pid_t > | asmgrader::linux::getppid () |
|
Expected< SignalHandlerT > | asmgrader::linux::signal (Signal sig, SignalHandlerT handler) |
|