Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
lnx_kernel_utils.hpp File Reference
#include <arion/common/global_defs.hpp>
#include <arion/common/global_excepts.hpp>
#include <arion/utils/struct_utils.hpp>
#include <arion/utils/type_utils.hpp>
#include <fcntl.h>
#include <linux/futex.h>
#include <linux/sched.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/un.h>

Go to the source code of this file.

Classes

struct  arion_lnx_type::ksigaction
 Linux kernel structure representing the signal action data for rt_sigaction. More...
 
struct  arion_lnx_type::rlimit32
 Structure for resource limits in 32-bit systems (two 32-bit values). More...
 
struct  arion_lnx_type::iovec32
 Structure for a scatter/gather vector entry in 32-bit systems. More...
 
struct  arion_lnx_type::__kernel_old_timeval
 Kernel structure for time value used in older syscalls (gettimeofday, ELF notes). More...
 
struct  arion_lnx_type::elf_siginfo
 Kernel structure for signal information used in ELF core dump notes. More...
 
struct  arion_lnx_type::elf_prstatus_common
 Common fields shared across architecture-specific elf_prstatus structures in core dumps. More...
 
class  arion_lnx_type::ErrCodeType
 Type used for syscall return error codes (negative values). More...
 
class  arion_lnx_type::FileDescriptorType
 Type used for file descriptor values. More...
 
class  arion_lnx_type::InAddrTType
 Type used for 32-bit IPv4 address values (in_addr_t). More...
 
class  arion_lnx_type::In6AddrTType
 Type used for 128-bit IPv6 address values (in6_addr_t). More...
 
class  arion_lnx_type::AccessModeType
 Type representing the access modes for the access() syscall (R_OK, W_OK, X_OK, F_OK). More...
 
class  arion_lnx_type::OpenModeType
 Type representing the open modes for the open() syscall (O_RDONLY, O_CREAT, etc.). More...
 
class  arion_lnx_type::FileATFlagType
 Type representing the flags used by the *at file syscalls (openat, faccessat, etc.). More...
 
class  arion_lnx_type::StatxMaskType
 Type representing the mask of requested fields for the statx() syscall. More...
 
class  arion_lnx_type::StatxAttrsType
 Type representing the file attributes flags returned by the statx() syscall. More...
 
class  arion_lnx_type::ProtFlagType
 Type representing the memory protection flags for mmap/mprotect (PROT_READ, PROT_WRITE, PROT_EXEC). More...
 
class  arion_lnx_type::MmapFlagType
 Type representing the flags for the mmap() syscall (MAP_SHARED, MAP_ANONYMOUS, etc.). More...
 
class  arion_lnx_type::SeekWhenceType
 Type representing the seek origin flags for lseek (SEEK_SET, SEEK_CUR, SEEK_END). More...
 
class  arion_lnx_type::FutexOpType
 Type representing the operation codes for the futex() syscall. More...
 
class  arion_lnx_type::CloneFlagType
 Type representing the flags for the clone() syscall (CLONE_VM, CLONE_THREAD, etc.). More...
 
class  arion_lnx_type::SignalType
 Type representing Linux signals (SIGHUP, SIGINT, SIGSEGV, etc.). More...
 
class  arion_lnx_type::FileModeType
 Type representing Unix file modes (permissions and file type). More...
 
class  arion_lnx_type::SocketDomainType
 Type representing the socket address families (domains) (AF_INET, AF_LOCAL, etc.). More...
 
class  arion_lnx_type::SocketTypeType
 Type representing the socket types (SOCK_STREAM, SOCK_DGRAM, etc.). More...
 
class  arion_lnx_type::StatStructFactory
 Polymorphic structure factory for the Unix struct stat (file status) structure. More...
 
class  arion_lnx_type::StructStatType
 Arion structure type wrapper for struct stat. More...
 
class  arion_lnx_type::StatxStructFactory
 Polymorphic structure factory for the Linux struct statx (extended file status) structure. More...
 
class  arion_lnx_type::StructStatxType
 Arion structure type wrapper for struct statx. More...
 
class  arion_lnx_type::TimespecStructFactory
 Polymorphic structure factory for the POSIX struct timespec structure. More...
 
class  arion_lnx_type::StructTimespecType
 Arion structure type wrapper for struct timespec. More...
 
class  arion_lnx_type::CloneArgsStructFactory
 Polymorphic structure factory for the Linux struct clone_args structure. More...
 
class  arion_lnx_type::StructCloneArgsType
 Arion structure type wrapper for struct clone_args. More...
 
class  arion_lnx_type::SockaddrInStructFactory
 Polymorphic structure factory for the IPv4 socket address struct sockaddr_in. More...
 
class  arion_lnx_type::StructSockaddrInType
 Arion structure type wrapper for struct sockaddr_in. More...
 
class  arion_lnx_type::SockaddrIn6StructFactory
 Polymorphic structure factory for the IPv6 socket address struct sockaddr_in6. More...
 
class  arion_lnx_type::StructSockaddrIn6Type
 Arion structure type wrapper for struct sockaddr_in6. More...
 
class  arion_lnx_type::SockaddrUnStructFactory
 Polymorphic structure factory for the Unix domain socket address struct sockaddr_un. More...
 
class  arion_lnx_type::StructSockaddrUnType
 Arion structure type wrapper for struct sockaddr_un. More...
 
class  arion_lnx_type::StructSockaddrType
 

Namespaces

namespace  arion_lnx_type
 

Typedefs

typedef unsigned long arion_lnx_type::elf_greg_t
 Type definition for a single general-purpose register value in an ELF core dump.
 
typedef unsigned long arion_lnx_type::elf_freg_t[3]
 Type definition for an FPU register value in an ELF core dump (typically for legacy 32-bit x86).
 

Functions

arion::PROT_FLAGS arion_lnx_type::kernel_prot_to_arion_prot (int kflags)
 

Variables

std::shared_ptr< ErrCodeTypearion_lnx_type::ERR_CODE_TYPE
 Shared pointer to the singleton instance of ErrCodeType.
 
std::shared_ptr< FileDescriptorTypearion_lnx_type::FILE_DESCRIPTOR_TYPE
 Shared pointer to the singleton instance of FileDescriptorType.
 
std::shared_ptr< InAddrTTypearion_lnx_type::IN_ADDR_T_TYPE
 Shared pointer to the singleton instance of InAddrTType.
 
std::shared_ptr< In6AddrTTypearion_lnx_type::IN6_ADDR_T_TYPE
 Shared pointer to the singleton instance of In6AddrTType.
 
std::shared_ptr< AccessModeTypearion_lnx_type::ACCESS_MODE_TYPE
 Shared pointer to the singleton instance of AccessModeType.
 
std::shared_ptr< OpenModeTypearion_lnx_type::OPEN_MODE_TYPE
 Shared pointer to the singleton instance of OpenModeType.
 
std::shared_ptr< FileATFlagTypearion_lnx_type::FILE_AT_FLAG_TYPE
 Shared pointer to the singleton instance of FileATFlagType.
 
std::shared_ptr< StatxMaskTypearion_lnx_type::STATX_MASK_TYPE
 Shared pointer to the singleton instance of StatxMaskType.
 
std::shared_ptr< StatxAttrsTypearion_lnx_type::STATX_ATTRS_TYPE
 Shared pointer to the singleton instance of StatxAttrsType.
 
std::shared_ptr< ProtFlagTypearion_lnx_type::PROT_FLAG_TYPE
 Shared pointer to the singleton instance of ProtFlagType.
 
std::shared_ptr< MmapFlagTypearion_lnx_type::MMAP_FLAG_TYPE
 Shared pointer to the singleton instance of MmapFlagType.
 
std::shared_ptr< SeekWhenceTypearion_lnx_type::SEEK_WHENCE_TYPE
 Shared pointer to the singleton instance of SeekWhenceType.
 
std::shared_ptr< FutexOpTypearion_lnx_type::FUTEX_OP_TYPE
 Shared pointer to the singleton instance of FutexOpType.
 
std::shared_ptr< CloneFlagTypearion_lnx_type::CLONE_FLAG_TYPE
 Shared pointer to the singleton instance of CloneFlagType.
 
std::shared_ptr< SignalTypearion_lnx_type::SIGNAL_TYPE
 Shared pointer to the singleton instance of SignalType.
 
std::shared_ptr< FileModeTypearion_lnx_type::FILE_MODE_TYPE
 Shared pointer to the singleton instance of FileModeType.
 
std::shared_ptr< SocketDomainTypearion_lnx_type::SOCKET_DOMAIN_TYPE
 Shared pointer to the singleton instance of SocketDomainType.
 
std::shared_ptr< SocketTypeTypearion_lnx_type::SOCKET_TYPE_TYPE
 Shared pointer to the singleton instance of SocketTypeType.
 
std::shared_ptr< StatStructFactoryarion_lnx_type::STAT_STRUCT_FACTORY
 Shared pointer to the singleton instance of StatStructFactory.
 
std::shared_ptr< StructStatTypearion_lnx_type::STRUCT_STAT_TYPE
 Shared pointer to the singleton instance of StructStatType.
 
std::shared_ptr< StatxStructFactoryarion_lnx_type::STATX_STRUCT_FACTORY
 Shared pointer to the singleton instance of StatxStructFactory.
 
std::shared_ptr< StructStatxTypearion_lnx_type::STRUCT_STATX_TYPE
 Shared pointer to the singleton instance of StructStatxType.
 
std::shared_ptr< TimespecStructFactoryarion_lnx_type::TIMESPEC_STRUCT_FACTORY
 Shared pointer to the singleton instance of TimespecStructFactory.
 
std::shared_ptr< StructTimespecTypearion_lnx_type::STRUCT_TIMESPEC_TYPE
 Shared pointer to the singleton instance of StructTimespecType.
 
std::shared_ptr< CloneArgsStructFactoryarion_lnx_type::CLONE_ARGS_STRUCT_FACTORY
 Shared pointer to the singleton instance of CloneArgsStructFactory.
 
std::shared_ptr< StructCloneArgsTypearion_lnx_type::STRUCT_CLONE_ARGS_TYPE
 Shared pointer to the singleton instance of StructCloneArgsType.
 
std::shared_ptr< SockaddrInStructFactoryarion_lnx_type::SOCKADDR_IN_STRUCT_FACTORY
 Shared pointer to the singleton instance of SockaddrInStructFactory.
 
std::shared_ptr< StructSockaddrInTypearion_lnx_type::STRUCT_SOCKADDR_IN_TYPE
 Shared pointer to the singleton instance of StructSockaddrInType.
 
std::shared_ptr< SockaddrIn6StructFactoryarion_lnx_type::SOCKADDR_IN6_STRUCT_FACTORY
 Shared pointer to the singleton instance of SockaddrIn6StructFactory.
 
std::shared_ptr< StructSockaddrIn6Typearion_lnx_type::STRUCT_SOCKADDR_IN6_TYPE
 Shared pointer to the singleton instance of StructSockaddrIn6Type.
 
std::shared_ptr< SockaddrUnStructFactoryarion_lnx_type::SOCKADDR_UN_STRUCT_FACTORY
 Shared pointer to the singleton instance of SockaddrUnStructFactory.
 
std::shared_ptr< StructSockaddrUnTypearion_lnx_type::STRUCT_SOCKADDR_UN_TYPE
 Shared pointer to the singleton instance of StructSockaddrUnType.
 
std::shared_ptr< StructSockaddrTypearion_lnx_type::STRUCT_SOCKADDR_TYPE
 Shared pointer to the singleton instance of StructSockaddrType.