File indexing completed on 2024-05-19 05:49:13

0001 #include <linux/ipc.h>
0002 #include <linux/mount.h>
0003 #include <linux/net.h>
0004 
0005 static const QMap<ulong, QString> signalMap = {
0006     {0, QStringLiteral("SIG0")},       {1, QStringLiteral("SIGHUP")},   {2, QStringLiteral("SIGINT")},     {3, QStringLiteral("SIGQUIT")},
0007     {4, QStringLiteral("SIGILL")},     {5, QStringLiteral("SIGTRAP")},  {6, QStringLiteral("SIGABRT")},    {7, QStringLiteral("SIGBUS")},
0008     {8, QStringLiteral("SIGFPE")},     {9, QStringLiteral("SIGKILL")},  {10, QStringLiteral("SIGUSR1")},   {11, QStringLiteral("SIGSEGV")},
0009     {12, QStringLiteral("SIGUSR2")},   {13, QStringLiteral("SIGPIPE")}, {14, QStringLiteral("SIGALRM")},   {15, QStringLiteral("SIGTERM")},
0010     {16, QStringLiteral("SIGSTKFLT")}, {17, QStringLiteral("SIGCHLD")}, {18, QStringLiteral("SIGCONT")},   {19, QStringLiteral("SIGSTOP")},
0011     {20, QStringLiteral("SIGTSTP")},   {21, QStringLiteral("SIGTTIN")}, {22, QStringLiteral("SIGTTOU")},   {23, QStringLiteral("SIGURG")},
0012     {24, QStringLiteral("SIGXCPU")},   {25, QStringLiteral("SIGXFSZ")}, {26, QStringLiteral("SIGVTALRM")}, {27, QStringLiteral("SIGPROF")},
0013     {28, QStringLiteral("SIGWINCH")},  {29, QStringLiteral("SIGIO")},   {30, QStringLiteral("IGPWR")},     {31, QStringLiteral("SIGSYS")}};
0014 
0015 static const QMap<ulong, QString> cloneFlagMap = {{0x00000100, QStringLiteral("CLONE_VM")},
0016                                                   {0x00000200, QStringLiteral("CLONE_FS")},
0017                                                   {0x00000400, QStringLiteral("CLONE_FILES")},
0018                                                   {0x00000800, QStringLiteral("CLONE_SIGHAND")},
0019                                                   {0x00002000, QStringLiteral("CLONE_PTRACE")},
0020                                                   {0x00004000, QStringLiteral("CLONE_VFORK")},
0021                                                   {0x00008000, QStringLiteral("CLONE_PARENT")},
0022                                                   {0x00010000, QStringLiteral("CLONE_THREAD")},
0023                                                   {0x00020000, QStringLiteral("CLONE_NEWNS")},
0024                                                   {0x00040000, QStringLiteral("CLONE_SYSVSEM")},
0025                                                   {0x00080000, QStringLiteral("CLONE_SETTLS")},
0026                                                   {0x00100000, QStringLiteral("CLONE_PARENT_SETTID")},
0027                                                   {0x00200000, QStringLiteral("CLONE_CHILD_CLEARTID")},
0028                                                   {0x00400000, QStringLiteral("CLONE_DETACHED")},
0029                                                   {0x00800000, QStringLiteral("CLONE_UNTRACED")},
0030                                                   {0x01000000, QStringLiteral("CLONE_CHILD_SETTID")},
0031                                                   {0x02000000, QStringLiteral("CLONE_STOPPED")},
0032                                                   {0x04000000, QStringLiteral("CLONE_NEWUTS")},
0033                                                   {0x08000000, QStringLiteral("CLONE_NEWIPC")},
0034                                                   {0x10000000, QStringLiteral("CLONE_NEWUSER")},
0035                                                   {0x20000000, QStringLiteral("CLONE_NEWPID")},
0036                                                   {0x40000000, QStringLiteral("CLONE_NEWNET")},
0037                                                   {0x80000000, QStringLiteral("CLONE_IO")},
0038                                                   {0x00000000, QStringLiteral("CLONE_CLEAR_SIGHAND")}};
0039 
0040 static const QMap<ulong, QString> clockMap = {{0, QStringLiteral("CLOCK_REALTIME")},
0041                                               {1, QStringLiteral("CLOCK_MONOTONIC")},
0042                                               {2, QStringLiteral("CLOCK_PROCESS_CPUTIME_ID")},
0043                                               {3, QStringLiteral("CLOCK_THREAD_CPUTIME_ID")},
0044                                               {4, QStringLiteral("CLOCK_MONOTONIC_RAW")},
0045                                               {5, QStringLiteral("CLOCK_REALTIME_COARSE")},
0046                                               {6, QStringLiteral("CLOCK_MONOTONIC_COARSE")},
0047                                               {7, QStringLiteral("CLOCK_BOOTTIME")},
0048                                               {8, QStringLiteral("CLOCK_REALTIME_ALARM")},
0049                                               {9, QStringLiteral("CLOCK_BOOTTIME_ALARM")},
0050                                               {10, QStringLiteral("CLOCK_SGI_CYCLE")},
0051                                               {11, QStringLiteral("CLOCK_TAI")}};
0052 
0053 static const QMap<ulong, QString> personMap = {{0x0000, QStringLiteral("PER_LINUX")},
0054                                                {0x0000 | ADDR_LIMIT_32BIT, QStringLiteral("PER_LINUX_32BIT")},
0055                                                {0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, QStringLiteral("PER_SVR4")},
0056                                                {0x0002 | STICKY_TIMEOUTS | SHORT_INODE, QStringLiteral("PER_SVR3")},
0057                                                {0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE, QStringLiteral("PER_SCOSVR3")},
0058                                                {0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS, QStringLiteral("PER_OSR5")},
0059                                                {0x0004 | STICKY_TIMEOUTS | SHORT_INODE, QStringLiteral("PER_WYSEV386")},
0060                                                {0x0005 | STICKY_TIMEOUTS, QStringLiteral("PER_ISCR4")},
0061                                                {0x0006, QStringLiteral("PER_BSD")},
0062                                                {0x0006 | STICKY_TIMEOUTS, QStringLiteral("PER_SUNOS")},
0063                                                {0x0007 | STICKY_TIMEOUTS | SHORT_INODE, QStringLiteral("PER_XENIX")},
0064                                                {0x0008, QStringLiteral("PER_LINUX32")},
0065                                                {0x0008 | ADDR_LIMIT_3GB, QStringLiteral("PER_LINUX32_3GB")},
0066                                                {0x0009 | STICKY_TIMEOUTS, QStringLiteral("PER_IRIX32")},
0067                                                {0x000a | STICKY_TIMEOUTS, QStringLiteral("PER_IRIXN32")},
0068                                                {0x000b | STICKY_TIMEOUTS, QStringLiteral("PER_IRIX64")},
0069                                                {0x000c, QStringLiteral("PER_RISCOS")},
0070                                                {0x000d | STICKY_TIMEOUTS, QStringLiteral("PER_SOLARIS")},
0071                                                {0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, QStringLiteral("PER_UW7")},
0072                                                {0x000f, QStringLiteral("PER_OSF4")},
0073                                                {0x0010, QStringLiteral("PER_HPUX")}};
0074 
0075 static const QMap<ulong, QString> ptraceMap = {{0, QStringLiteral("PTRACE_TRACEME")},
0076                                                {1, QStringLiteral("PTRACE_PEEKTEXT")},
0077                                                {2, QStringLiteral("PTRACE_PEEKDATA")},
0078                                                {3, QStringLiteral("PTRACE_PEEKUSER")},
0079                                                {4, QStringLiteral("PTRACE_POKETEXT")},
0080                                                {5, QStringLiteral("PTRACE_POKEDATA")},
0081                                                {6, QStringLiteral("PTRACE_POKEUSER")},
0082                                                {7, QStringLiteral("PTRACE_CONT")},
0083                                                {8, QStringLiteral("PTRACE_KILL")},
0084                                                {9, QStringLiteral("PTRACE_SINGLESTEP")},
0085                                                {12, QStringLiteral("PTRACE_GETREGS")},
0086                                                {13, QStringLiteral("PTRACE_SETREGS")},
0087                                                {14, QStringLiteral("PTRACE_GETFPREGS")},
0088                                                {15, QStringLiteral("PTRACE_SETFPREGS")},
0089                                                {16, QStringLiteral("PTRACE_ATTACH")},
0090                                                {17, QStringLiteral("PTRACE_DETACH")},
0091                                                {18, QStringLiteral("PTRACE_GETFPXREGS")},
0092                                                {19, QStringLiteral("PTRACE_SETFPXREGS")},
0093                                                {24, QStringLiteral("PTRACE_SYSCALL")},
0094                                                {25, QStringLiteral("PTRACE_GET_THREAD_AREA")},
0095                                                {26, QStringLiteral("PTRACE_SET_THREAD_AREA")},
0096                                                {30, QStringLiteral("PTRACE_ARCH_PRCTL")},
0097                                                {31, QStringLiteral("PTRACE_SYSEMU")},
0098                                                {32, QStringLiteral("PTRACE_SYSEMU_SINGLESTEP")},
0099                                                {33, QStringLiteral("PTRACE_SINGLEBLOCK")},
0100                                                {0x4200, QStringLiteral("PTRACE_SETOPTIONS")},
0101                                                {0x4201, QStringLiteral("PTRACE_GETEVENTMSG")},
0102                                                {0x4202, QStringLiteral("PTRACE_GETSIGINFO")},
0103                                                {0x4203, QStringLiteral("PTRACE_SETSIGINFO")},
0104                                                {0x4204, QStringLiteral("PTRACE_GETREGSET")},
0105                                                {0x4205, QStringLiteral("PTRACE_SETREGSET")},
0106                                                {0x4206, QStringLiteral("PTRACE_SEIZE")},
0107                                                {0x4207, QStringLiteral("PTRACE_INTERRUPT")},
0108                                                {0x4208, QStringLiteral("PTRACE_LISTEN")},
0109                                                {0x4209, QStringLiteral("PTRACE_PEEKSIGINFO")},
0110                                                {0x420a, QStringLiteral("PTRACE_GETSIGMASK")},
0111                                                {0x420b, QStringLiteral("PTRACE_SETSIGMASK")},
0112                                                {0x420c, QStringLiteral("PTRACE_SECCOMP_GET_FILTER")},
0113                                                {0x420d, QStringLiteral("PTRACE_SECCOMP_GET_METADATA")},
0114                                                {0x420e, QStringLiteral("PTRACE_GET_SYSCALL_INFO")}};
0115 
0116 static const QMap<ulong, QString> prctloptMap = {{1, QStringLiteral("PR_SET_PDEATHSIG")},
0117                                                  {2, QStringLiteral("PR_GET_PDEATHSIG")},
0118                                                  {3, QStringLiteral("PR_GET_DUMPABLE")},
0119                                                  {4, QStringLiteral("PR_SET_DUMPABLE")},
0120                                                  {5, QStringLiteral("PR_GET_UNALIGN")},
0121                                                  {6, QStringLiteral("PR_SET_UNALIGN")},
0122                                                  {7, QStringLiteral("PR_GET_KEEPCAPS")},
0123                                                  {8, QStringLiteral("PR_SET_KEEPCAPS")},
0124                                                  {9, QStringLiteral("PR_GET_FPEMU")},
0125                                                  {10, QStringLiteral("PR_SET_FPEMU")},
0126                                                  {11, QStringLiteral("PR_GET_FPEXC")},
0127                                                  {12, QStringLiteral("PR_SET_FPEXC")},
0128                                                  {13, QStringLiteral("PR_GET_TIMING")},
0129                                                  {14, QStringLiteral("PR_SET_TIMING")},
0130                                                  {15, QStringLiteral("PR_SET_NAME")},
0131                                                  {16, QStringLiteral("PR_GET_NAME")},
0132                                                  {19, QStringLiteral("PR_GET_ENDIAN")},
0133                                                  {20, QStringLiteral("PR_SET_ENDIAN")},
0134                                                  {21, QStringLiteral("PR_GET_SECCOMP")},
0135                                                  {22, QStringLiteral("PR_SET_SECCOMP")},
0136                                                  {23, QStringLiteral("PR_CAPBSET_READ")},
0137                                                  {24, QStringLiteral("PR_CAPBSET_DROP")},
0138                                                  {25, QStringLiteral("PR_GET_TSC")},
0139                                                  {26, QStringLiteral("PR_SET_TSC")},
0140                                                  {27, QStringLiteral("PR_GET_SECUREBITS")},
0141                                                  {28, QStringLiteral("PR_SET_SECUREBITS")},
0142                                                  {29, QStringLiteral("PR_SET_TIMERSLACK")},
0143                                                  {30, QStringLiteral("PR_GET_TIMERSLACK")},
0144                                                  {31, QStringLiteral("PR_TASK_PERF_EVENTS_DISABLE")},
0145                                                  {32, QStringLiteral("PR_TASK_PERF_EVENTS_ENABLE")},
0146                                                  {33, QStringLiteral("PR_MCE_KILL")},
0147                                                  {34, QStringLiteral("PR_MCE_KILL_GET")},
0148                                                  {35, QStringLiteral("PR_SET_MM")},
0149                                                  {36, QStringLiteral("PR_SET_CHILD_SUBREAPER")},
0150                                                  {37, QStringLiteral("PR_GET_CHILD_SUBREAPER")},
0151                                                  {38, QStringLiteral("PR_SET_NO_NEW_PRIVS")},
0152                                                  {39, QStringLiteral("PR_GET_NO_NEW_PRIVS")},
0153                                                  {40, QStringLiteral("PR_GET_TID_ADDRESS")},
0154                                                  {41, QStringLiteral("PR_SET_THP_DISABLE")},
0155                                                  {42, QStringLiteral("PR_GET_THP_DISABLE")},
0156                                                  {43, QStringLiteral("PR_MPX_ENABLE_MANAGEMENT")},
0157                                                  {44, QStringLiteral("PR_MPX_DISABLE_MANAGEMENT")},
0158                                                  {45, QStringLiteral("PR_SET_FP_MODE")},
0159                                                  {46, QStringLiteral("PR_GET_FP_MODE")},
0160                                                  {47, QStringLiteral("PR_CAP_AMBIENT")},
0161                                                  {50, QStringLiteral("PR_SVE_SET_VL")},
0162                                                  {51, QStringLiteral("PR_SVE_GET_VL")},
0163                                                  {52, QStringLiteral("PR_GET_SPECULATION_CTRL")},
0164                                                  {53, QStringLiteral("PR_SET_SPECULATION_CTRL")},
0165                                                  {54, QStringLiteral("PR_PAC_RESET_KEYS")},
0166                                                  {55, QStringLiteral("PR_SET_TAGGED_ADDR_CTRL")},
0167                                                  {56, QStringLiteral("PR_GET_TAGGED_ADDR_CTRL")}};
0168 
0169 static const QMap<ulong, QString> rlimitMap = {{0, QStringLiteral("RLIMIT_CPU")},
0170                                                {1, QStringLiteral("RLIMIT_FSIZE")},
0171                                                {2, QStringLiteral("RLIMIT_DATA")},
0172                                                {3, QStringLiteral("RLIMIT_STACK")},
0173                                                {4, QStringLiteral("RLIMIT_CORE")},
0174                                                {5, QStringLiteral("RLIMIT_RSS")},
0175                                                {6, QStringLiteral("RLIMIT_NPROC")},
0176                                                {7, QStringLiteral("RLIMIT_NOFILE")},
0177                                                {8, QStringLiteral("RLIMIT_MEMLOCK")},
0178                                                {9, QStringLiteral("RLIMIT_AS")},
0179                                                {10, QStringLiteral("RLIMIT_LOCKS")},
0180                                                {11, QStringLiteral("RLIMIT_SIGPENDING")},
0181                                                {12, QStringLiteral("RLIMIT_MSGQUEUE")},
0182                                                {13, QStringLiteral("RLIMIT_NICE")},
0183                                                {14, QStringLiteral("RLIMIT_RTPRIO")},
0184                                                {15, QStringLiteral("RLIMIT_RTTIME")}};
0185 
0186 static const QMap<ulong, QString> famMap = {{AF_LOCAL, QStringLiteral("local")},
0187                                             {AF_INET, QStringLiteral("inet")},
0188                                             {AF_AX25, QStringLiteral("ax25")},
0189                                             {AF_IPX, QStringLiteral("ipx")},
0190                                             {AF_APPLETALK, QStringLiteral("appletalk")},
0191                                             {AF_NETROM, QStringLiteral("netrom")},
0192                                             {AF_BRIDGE, QStringLiteral("bridge")},
0193                                             {AF_ATMPVC, QStringLiteral("atmpvc")},
0194                                             {AF_X25, QStringLiteral("x25")},
0195                                             {AF_INET6, QStringLiteral("inet6")},
0196                                             {AF_ROSE, QStringLiteral("rose")},
0197                                             {AF_DECnet, QStringLiteral("decnet")},
0198                                             {AF_NETBEUI, QStringLiteral("netbeui")},
0199                                             {AF_SECURITY, QStringLiteral("security")},
0200                                             {AF_KEY, QStringLiteral("key")},
0201                                             {AF_NETLINK, QStringLiteral("netlink")},
0202                                             {AF_PACKET, QStringLiteral("packet")},
0203                                             {AF_ASH, QStringLiteral("ash")},
0204                                             {AF_ECONET, QStringLiteral("econet")},
0205                                             {AF_ATMSVC, QStringLiteral("atmsvc")},
0206                                             {AF_RDS, QStringLiteral("rds")},
0207                                             {AF_SNA, QStringLiteral("sna")},
0208                                             {AF_IRDA, QStringLiteral("irda")},
0209                                             {AF_PPPOX, QStringLiteral("pppox")},
0210                                             {AF_WANPIPE, QStringLiteral("wanpipe")},
0211                                             {AF_LLC, QStringLiteral("llc")},
0212                                             {AF_CAN, QStringLiteral("can")},
0213                                             {AF_TIPC, QStringLiteral("tipc")},
0214                                             {AF_BLUETOOTH, QStringLiteral("bluetooth")},
0215                                             {AF_IUCV, QStringLiteral("iucv")},
0216                                             {AF_RXRPC, QStringLiteral("rxrpc")},
0217                                             {AF_ISDN, QStringLiteral("isdn")},
0218                                             {AF_PHONET, QStringLiteral("phonet")},
0219                                             {AF_IEEE802154, QStringLiteral("ieee802154")},
0220                                             {37, QStringLiteral("caif")},
0221                                             {38, QStringLiteral("alg")},
0222                                             {39, QStringLiteral("nfc")},
0223                                             {40, QStringLiteral("vsock")},
0224                                             {41, QStringLiteral("kcm")},
0225                                             {42, QStringLiteral("qipcrtr")},
0226                                             {43, QStringLiteral("smc")},
0227                                             {44, QStringLiteral("xdp")}};
0228 
0229 static const QMap<ulong, QString> sockMap = {{SYS_SOCKET, QStringLiteral("socket")},
0230                                              {SYS_BIND, QStringLiteral("bind")},
0231                                              {SYS_CONNECT, QStringLiteral("connect")},
0232                                              {SYS_LISTEN, QStringLiteral("listen")},
0233                                              {SYS_ACCEPT, QStringLiteral("accept")},
0234                                              {SYS_GETSOCKNAME, QStringLiteral("getsockname")},
0235                                              {SYS_GETPEERNAME, QStringLiteral("getpeername")},
0236                                              {SYS_SOCKETPAIR, QStringLiteral("socketpair")},
0237                                              {SYS_SEND, QStringLiteral("send")},
0238                                              {SYS_RECV, QStringLiteral("recv")},
0239                                              {SYS_SENDTO, QStringLiteral("sendto")},
0240                                              {SYS_RECVFROM, QStringLiteral("recvfrom")},
0241                                              {SYS_SHUTDOWN, QStringLiteral("shutdown")},
0242                                              {SYS_SETSOCKOPT, QStringLiteral("setsockopt")},
0243                                              {SYS_GETSOCKOPT, QStringLiteral("getsockopt")},
0244                                              {SYS_SENDMSG, QStringLiteral("sendmsg")},
0245                                              {SYS_RECVMSG, QStringLiteral("recvmsg")},
0246                                              {SYS_ACCEPT4, QStringLiteral("accept4")},
0247                                              {19, QStringLiteral("recvmmsg")},
0248                                              {20, QStringLiteral("sendmmsg")}};
0249 
0250 static const QMap<ulong, QString> ipcMap = {{SEMOP, QStringLiteral("semop")},
0251                                             {SEMGET, QStringLiteral("semget")},
0252                                             {SEMCTL, QStringLiteral("semctl")},
0253                                             {SEMTIMEDOP, QStringLiteral("semtimedop")},
0254                                             {MSGSND, QStringLiteral("msgsnd")},
0255                                             {MSGRCV, QStringLiteral("msgrcv")},
0256                                             {MSGGET, QStringLiteral("msgget")},
0257                                             {MSGCTL, QStringLiteral("msgctl")},
0258                                             {SHMAT, QStringLiteral("shmat")},
0259                                             {SHMDT, QStringLiteral("shmdt")},
0260                                             {SHMGET, QStringLiteral("shmget")},
0261                                             {SHMCTL, QStringLiteral("shmctl")}};
0262 
0263 static const QMap<ulong, QString> bpfMap = {{0, QStringLiteral("BPF_MAP_CREATE")},        {1, QStringLiteral("BPF_MAP_LOOKUP_ELEM")},
0264                                             {2, QStringLiteral("BPF_MAP_UPDATE_ELEM")},   {3, QStringLiteral("BPF_MAP_DELETE_ELEM")},
0265                                             {4, QStringLiteral("BPF_MAP_GET_NEXT_KEY")},  {5, QStringLiteral("BPF_PROG_LOAD")},
0266                                             {6, QStringLiteral("BPF_OBJ_PIN")},           {7, QStringLiteral("BPF_OBJ_GET")},
0267                                             {8, QStringLiteral("BPF_PROG_ATTACH")},       {9, QStringLiteral("BPF_PROG_DETACH")},
0268                                             {10, QStringLiteral("BPF_PROG_TEST_RUN")},    {11, QStringLiteral("BPF_PROG_GET_NEXT_ID")},
0269                                             {12, QStringLiteral("BPF_MAP_GET_NEXT_ID")},  {13, QStringLiteral("BPF_PROG_GET_FD_BY_ID")},
0270                                             {14, QStringLiteral("BPF_MAP_GET_FD_BY_ID")}, {15, QStringLiteral("BPF_OBJ_GET_INFO_BY_FD")},
0271                                             {16, QStringLiteral("BPF_PROG_QUERY")},       {17, QStringLiteral("BPF_RAW_TRACEPOINT_OPEN")},
0272                                             {18, QStringLiteral("BPF_BTF_LOAD")},         {19, QStringLiteral("BPF_BTF_GET_FD_BY_ID")},
0273                                             {20, QStringLiteral("BPF_TASK_FD_QUERY")},    {21, QStringLiteral("BPF_MAP_LOOKUP_AND_DELETE_ELEM")},
0274                                             {22, QStringLiteral("BPF_MAP_FREEZE")},       {23, QStringLiteral("BPF_BTF_GET_NEXT_ID")}};
0275 
0276 static const QMap<ulong, QString> fcntlcmdMap = {{0, QStringLiteral("F_DUPFD")},
0277                                                  {1, QStringLiteral("F_GETFD")},
0278                                                  {2, QStringLiteral("F_SETFD")},
0279                                                  {3, QStringLiteral("F_GETFL")},
0280                                                  {4, QStringLiteral("F_SETFL")},
0281                                                  {5, QStringLiteral("F_GETLK")},
0282                                                  {6, QStringLiteral("F_SETLK")},
0283                                                  {7, QStringLiteral("F_SETLKW")},
0284                                                  {8, QStringLiteral("F_SETOWN")},
0285                                                  {9, QStringLiteral("F_GETOWN")},
0286                                                  {10, QStringLiteral("F_SETSIG")},
0287                                                  {11, QStringLiteral("F_GETSIG")},
0288                                                  {12, QStringLiteral("F_GETLK64")},
0289                                                  {13, QStringLiteral("F_SETLK64")},
0290                                                  {14, QStringLiteral("F_SETLKW64")},
0291                                                  {15, QStringLiteral("F_SETOWN_EX")},
0292                                                  {16, QStringLiteral("F_GETOWN_EX")},
0293                                                  {17, QStringLiteral("F_GETOWNER_UIDS")},
0294                                                  {1024, QStringLiteral("F_SETLEASE")},
0295                                                  {1025, QStringLiteral("F_GETLEASE")},
0296                                                  {1026, QStringLiteral("F_NOTIFY")},
0297                                                  {1029, QStringLiteral("F_CANCELLK")},
0298                                                  {1030, QStringLiteral("F_DUPFD_CLOEXEC")},
0299                                                  {1031, QStringLiteral("F_SETPIPE_SZ")},
0300                                                  {1032, QStringLiteral("F_GETPIPE_SZ")},
0301                                                  {1033, QStringLiteral("F_ADD_SEALS")},
0302                                                  {1034, QStringLiteral("F_GET_SEALS")},
0303                                                  {1035, QStringLiteral("F_GET_RW_HINT")},
0304                                                  {1036, QStringLiteral("F_SET_RW_HINT")},
0305                                                  {1037, QStringLiteral("F_GET_FILE_RW_HINT")},
0306                                                  {1038, QStringLiteral("F_SET_FILE_RW_HINT")}};
0307 
0308 static const QMap<ulong, QString> socklevelMap = {
0309     {0, QStringLiteral("SOL_IP")},         {6, QStringLiteral("SOL_TCP")},         {17, QStringLiteral("SOL_UDP")},      {41, QStringLiteral("SOL_IPV6")},
0310     {58, QStringLiteral("SOL_ICMPV6")},    {132, QStringLiteral("SOL_SCTP")},      {136, QStringLiteral("SOL_UDPLITE")}, {255, QStringLiteral("SOL_RAW")},
0311     {256, QStringLiteral("SOL_IPX")},      {257, QStringLiteral("SOL_AX25")},      {258, QStringLiteral("SOL_ATALK")},   {259, QStringLiteral("SOL_NETROM")},
0312     {260, QStringLiteral("SOL_ROSE")},     {261, QStringLiteral("SOL_DECNET")},    {263, QStringLiteral("SOL_PACKET")},  {264, QStringLiteral("SOL_ATM")},
0313     {265, QStringLiteral("SOL_AAL")},      {266, QStringLiteral("SOL_IRDA")},      {267, QStringLiteral("SOL_NETBEUI")}, {268, QStringLiteral("SOL_LLC")},
0314     {269, QStringLiteral("SOL_DCCP")},     {270, QStringLiteral("SOL_NETLINK")},   {271, QStringLiteral("SOL_TIPC")},    {272, QStringLiteral("SOL_RXRPC")},
0315     {273, QStringLiteral("SOL_PPPOL2TP")}, {274, QStringLiteral("SOL_BLUETOOTH")}, {275, QStringLiteral("SOL_PNPIPE")},  {276, QStringLiteral("SOL_RDS")},
0316     {277, QStringLiteral("SOL_IUCV")},     {278, QStringLiteral("SOL_CAIF")},      {279, QStringLiteral("SOL_ALG")},     {280, QStringLiteral("SOL_NFC")},
0317     {281, QStringLiteral("SOL_KCM")},      {282, QStringLiteral("SOL_TLS")},       {283, QStringLiteral("SOL_XDP")}};
0318 
0319 static const QMap<ulong, QString> socktypeMap = {{1, QStringLiteral("SOCK_STREAM")},
0320                                                  {2, QStringLiteral("SOCK_DGRAM")},
0321                                                  {3, QStringLiteral("SOCK_RAW")},
0322                                                  {4, QStringLiteral("SOCK_RDM")},
0323                                                  {5, QStringLiteral("SOCK_SEQPACKET")},
0324                                                  {6, QStringLiteral("SOCK_DCCP")},
0325                                                  {10, QStringLiteral("SOCK_PACKET")}};
0326 
0327 static const QMap<ulong, QString> schedMap = {{0, QStringLiteral("SCHED_OTHER")},
0328                                               {1, QStringLiteral("SCHED_FIFO")},
0329                                               {2, QStringLiteral("SCHED_RR")},
0330                                               {3, QStringLiteral("SCHED_BATCH")},
0331                                               {5, QStringLiteral("SCHED_IDLE")},
0332                                               {6, QStringLiteral("SCHED_DEADLINE")}};
0333 
0334 static const QMap<ulong, QString> openflagMap = {{0x0, QStringLiteral("O_RDONLY")},
0335                                                  {0x1, QStringLiteral("O_WRONLY")},
0336                                                  {0x2, QStringLiteral("O_RDWR")},
0337                                                  {0x100, QStringLiteral("O_CREAT")},
0338                                                  {0x200, QStringLiteral("O_EXCL")},
0339                                                  {0x400, QStringLiteral("O_NOCTTY")},
0340                                                  {0x1000, QStringLiteral("O_TRUNC")},
0341                                                  {0x2000, QStringLiteral("O_APPEND")},
0342                                                  {0x4000, QStringLiteral("O_NONBLOCK")},
0343                                                  {0x10000, QStringLiteral("O_DSYNC")},
0344                                                  {0x20000, QStringLiteral("O_ASYNC")},
0345                                                  {0x40000, QStringLiteral("O_DIRECT")},
0346                                                  {0x200000, QStringLiteral("O_DIRECTORY")},
0347                                                  {0x400000, QStringLiteral("O_NOFOLLOW")},
0348                                                  {0x1000000, QStringLiteral("O_NOATIME")},
0349                                                  {0x2000000, QStringLiteral("O_CLOEXEC")},
0350                                                  {0x4000000, QStringLiteral("O_SYNC")},
0351                                                  {0x10000000, QStringLiteral("__O_PATH")},
0352                                                  {0x20000000, QStringLiteral("__O_TMPFILE")}};
0353 
0354 static const QMap<ulong, QString> accessMap = {{0x1U, QStringLiteral("X_OK")}, {0x2U, QStringLiteral("W_OK")}, {0x4U, QStringLiteral("R_OK")}};
0355 
0356 static const QMap<ulong, QString> epollctlMap = {{1, QStringLiteral("EPOLL_CTL_ADD")},
0357                                                  {2, QStringLiteral("EPOLL_CTL_DEL")},
0358                                                  {3, QStringLiteral("EPOLL_CTL_MOD")}};
0359 
0360 static const QMap<ulong, QString> capMap = {{0, QStringLiteral("chown")},
0361                                             {1, QStringLiteral("dac_override")},
0362                                             {2, QStringLiteral("dac_read_search")},
0363                                             {3, QStringLiteral("fowner")},
0364                                             {4, QStringLiteral("fsetid")},
0365                                             {5, QStringLiteral("kill")},
0366                                             {6, QStringLiteral("setgid")},
0367                                             {7, QStringLiteral("setuid")},
0368                                             {8, QStringLiteral("setpcap")},
0369                                             {9, QStringLiteral("linux_immutable")},
0370                                             {10, QStringLiteral("net_bind_service")},
0371                                             {11, QStringLiteral("net_broadcast")},
0372                                             {12, QStringLiteral("net_admin")},
0373                                             {13, QStringLiteral("net_raw")},
0374                                             {14, QStringLiteral("ipc_lock")},
0375                                             {15, QStringLiteral("ipc_owner")},
0376                                             {16, QStringLiteral("sys_module")},
0377                                             {17, QStringLiteral("sys_rawio")},
0378                                             {18, QStringLiteral("sys_chroot")},
0379                                             {19, QStringLiteral("sys_ptrace")},
0380                                             {20, QStringLiteral("sys_pacct")},
0381                                             {21, QStringLiteral("sys_admin")},
0382                                             {22, QStringLiteral("sys_boot")},
0383                                             {23, QStringLiteral("sys_nice")},
0384                                             {24, QStringLiteral("sys_resource")},
0385                                             {25, QStringLiteral("sys_time")},
0386                                             {26, QStringLiteral("sys_tty_config")},
0387                                             {27, QStringLiteral("mknod")},
0388                                             {28, QStringLiteral("lease")},
0389                                             {29, QStringLiteral("audit_write")},
0390                                             {30, QStringLiteral("audit_control")},
0391                                             {31, QStringLiteral("setfcap")},
0392                                             {32, QStringLiteral("mac_override")},
0393                                             {33, QStringLiteral("mac_admin")},
0394                                             {34, QStringLiteral("syslog")},
0395                                             {35, QStringLiteral("wake_alarm")},
0396                                             {36, QStringLiteral("block_suspend")},
0397                                             {37, QStringLiteral("audit_read")}};
0398 
0399 static const QMap<ulong, QString> umountMap = {{0x00000001, QStringLiteral("MNT_FORCE")},
0400                                                {0x00000002, QStringLiteral("MNT_DETACH")},
0401                                                {0x00000004, QStringLiteral("MNT_EXPIRE")},
0402                                                {0x00000008, QStringLiteral("UMOUNT_NOFOLLOW")},
0403                                                {0x80000000, QStringLiteral("UMOUNT_UNUSED")}};
0404 
0405 static const QMap<ulong, QString> ioctlreqMap = {{0x4B3A, QStringLiteral("KDSETMODE")},
0406                                                  {0x4B3B, QStringLiteral("KDGETMODE")},
0407 
0408                                                  {0x5309, QStringLiteral("CDROMEJECT")},
0409                                                  {0x530F, QStringLiteral("CDROMEJECT_SW")},
0410                                                  {0x5311, QStringLiteral("CDROM_GET_UPC")},
0411                                                  {0x5316, QStringLiteral("CDROMSEEK")},
0412 
0413                                                  {0x5401, QStringLiteral("TCGETS")},
0414                                                  {0x5402, QStringLiteral("TCSETS")},
0415                                                  {0x5403, QStringLiteral("TCSETSW")},
0416                                                  {0x5404, QStringLiteral("TCSETSF")},
0417                                                  {0x5409, QStringLiteral("TCSBRK")},
0418                                                  {0x540B, QStringLiteral("TCFLSH")},
0419                                                  {0x540E, QStringLiteral("TIOCSCTTY")},
0420                                                  {0x540F, QStringLiteral("TIOCGPGRP")},
0421                                                  {0x5410, QStringLiteral("TIOCSPGRP")},
0422                                                  {0x5413, QStringLiteral("TIOCGWINSZ")},
0423                                                  {0x5414, QStringLiteral("TIOCSWINSZ")},
0424                                                  {0x541B, QStringLiteral("TIOCINQ")},
0425                                                  {0x5421, QStringLiteral("FIONBIO")},
0426                                                  {0x5422, QStringLiteral("TIOCNOTTY")},
0427                                                  {0x8901, QStringLiteral("FIOSETOWN")},
0428                                                  {0x8903, QStringLiteral("FIOGETOWN")},
0429                                                  {0x8910, QStringLiteral("SIOCGIFNAME")},
0430                                                  {0x8927, QStringLiteral("SIOCGIFHWADDR")},
0431                                                  {0x8933, QStringLiteral("SIOCGIFINDEX")},
0432                                                  {0x89a2, QStringLiteral("SIOCBRADDIF")},
0433                                                  {0x40045431, QStringLiteral("TIOCSPTLCK")},
0434                                                  {0x80045430, QStringLiteral("TIOCGPTN")},
0435                                                  {0x80045431, QStringLiteral("TIOCSPTLCK")},
0436 
0437                                                  {0xC01C64A3, QStringLiteral("DRM_IOCTL_MODE_CURSOR")},
0438                                                  {0xC01864B0, QStringLiteral("DRM_IOCTL_MODE_PAGE_FLIP")},
0439                                                  {0xC01864B1, QStringLiteral("DRM_IOCTL_MODE_DIRTYFB")}};
0440 
0441 static const QMap<ulong, QString> ipoptnameMap = {{1, QStringLiteral("IP_TOS")},
0442                                                   {2, QStringLiteral("IP_TTL")},
0443                                                   {3, QStringLiteral("IP_HDRINCL")},
0444                                                   {4, QStringLiteral("IP_OPTIONS")},
0445                                                   {5, QStringLiteral("IP_ROUTER_ALERT")},
0446                                                   {6, QStringLiteral("IP_RECVOPTS")},
0447                                                   {7, QStringLiteral("IP_RETOPTS")},
0448                                                   {8, QStringLiteral("IP_PKTINFO")},
0449                                                   {9, QStringLiteral("IP_PKTOPTIONS")},
0450                                                   {10, QStringLiteral("IP_MTU_DISCOVER")},
0451                                                   {11, QStringLiteral("IP_RECVERR")},
0452                                                   {12, QStringLiteral("IP_RECVTTL")},
0453                                                   {13, QStringLiteral("IP_RECVTOS")},
0454                                                   {14, QStringLiteral("IP_MTU")},
0455                                                   {15, QStringLiteral("IP_FREEBIND")},
0456                                                   {16, QStringLiteral("IP_IPSEC_POLICY")},
0457                                                   {17, QStringLiteral("IP_XFRM_POLICY")},
0458                                                   {18, QStringLiteral("IP_PASSSEC")},
0459                                                   {19, QStringLiteral("IP_TRANSPARENT")},
0460                                                   {20, QStringLiteral("IP_ORIGDSTADDR")},
0461                                                   {21, QStringLiteral("IP_MINTTL")},
0462                                                   {22, QStringLiteral("IP_NODEFRAG")},
0463                                                   {23, QStringLiteral("IP_CHECKSUM")},
0464                                                   {24, QStringLiteral("IP_BIND_ADDRESS_NO_PORT")},
0465                                                   {25, QStringLiteral("IP_RECVFRAGSIZE")},
0466                                                   {32, QStringLiteral("IP_MULTICAST_IF")},
0467                                                   {33, QStringLiteral("IP_MULTICAST_TTL")},
0468                                                   {34, QStringLiteral("IP_MULTICAST_LOOP")},
0469                                                   {35, QStringLiteral("IP_ADD_MEMBERSHIP")},
0470                                                   {36, QStringLiteral("IP_DROP_MEMBERSHIP")},
0471                                                   {37, QStringLiteral("IP_UNBLOCK_SOURCE")},
0472                                                   {38, QStringLiteral("IP_BLOCK_SOURCE")},
0473                                                   {39, QStringLiteral("IP_ADD_SOURCE_MEMBERSHIP")},
0474                                                   {40, QStringLiteral("IP_DROP_SOURCE_MEMBERSHIP")},
0475                                                   {41, QStringLiteral("IP_MSFILTER")},
0476                                                   {42, QStringLiteral("MCAST_JOIN_GROUP")},
0477                                                   {43, QStringLiteral("MCAST_BLOCK_SOURCE")},
0478                                                   {44, QStringLiteral("MCAST_UNBLOCK_SOURCE")},
0479                                                   {45, QStringLiteral("MCAST_LEAVE_GROUP")},
0480                                                   {46, QStringLiteral("MCAST_JOIN_SOURCE_GROUP")},
0481                                                   {47, QStringLiteral("MCAST_LEAVE_SOURCE_GROUP")},
0482                                                   {48, QStringLiteral("MCAST_MSFILTER")},
0483                                                   {49, QStringLiteral("IP_MULTICAST_ALL")},
0484                                                   {50, QStringLiteral("IP_UNICAST_IF")},
0485                                                   {64, QStringLiteral("IPT_SO_SET_REPLACE")},
0486                                                   {65, QStringLiteral("IPT_SO_SET_ADD_COUNTERS")},
0487                                                   {66, QStringLiteral("IPT_SO_GET_REVISION_TARGET")}};
0488 
0489 static const QMap<ulong, QString> sockoptnameMap = {{1, QStringLiteral("SO_DEBUG")},
0490                                                     {2, QStringLiteral("SO_REUSEADDR")},
0491                                                     {3, QStringLiteral("SO_TYPE")},
0492                                                     {4, QStringLiteral("SO_ERROR")},
0493                                                     {5, QStringLiteral("SO_DONTROUTE")},
0494                                                     {6, QStringLiteral("SO_BROADCAST")},
0495                                                     {7, QStringLiteral("SO_SNDBUF")},
0496                                                     {8, QStringLiteral("SO_RCVBUF")},
0497                                                     {9, QStringLiteral("SO_KEEPALIVE")},
0498                                                     {10, QStringLiteral("SO_OOBINLINE")},
0499                                                     {11, QStringLiteral("SO_NO_CHECK")},
0500                                                     {12, QStringLiteral("SO_PRIORITY")},
0501                                                     {13, QStringLiteral("SO_LINGER")},
0502                                                     {14, QStringLiteral("SO_BSDCOMPAT")},
0503                                                     {15, QStringLiteral("SO_REUSEPORT")},
0504                                                     {16, QStringLiteral("SO_PASSCRED")},
0505                                                     {17, QStringLiteral("SO_PEERCRED")},
0506                                                     {18, QStringLiteral("SO_RCVLOWAT")},
0507                                                     {19, QStringLiteral("SO_SNDLOWAT")},
0508                                                     {20, QStringLiteral("SO_RCVTIMEO")},
0509                                                     {21, QStringLiteral("SO_SNDTIMEO")},
0510                                                     {22, QStringLiteral("SO_SECURITY_AUTHENTICATION")},
0511                                                     {23, QStringLiteral("SO_SECURITY_ENCRYPTION_TRANSPORT")},
0512                                                     {24, QStringLiteral("SO_SECURITY_ENCRYPTION_NETWORK")},
0513                                                     {25, QStringLiteral("SO_BINDTODEVICE")},
0514                                                     {26, QStringLiteral("SO_ATTACH_FILTER")},
0515                                                     {27, QStringLiteral("SO_DETACH_FILTER")},
0516                                                     {28, QStringLiteral("SO_PEERNAME")},
0517                                                     {29, QStringLiteral("SO_TIMESTAMP")},
0518                                                     {30, QStringLiteral("SO_ACCEPTCONN")},
0519                                                     {31, QStringLiteral("SO_PEERSEC")},
0520                                                     {32, QStringLiteral("SO_SNDBUFFORCE")},
0521                                                     {33, QStringLiteral("SO_RCVBUFFORCE")},
0522                                                     {34, QStringLiteral("SO_PASSSEC")},
0523                                                     {35, QStringLiteral("SO_TIMESTAMPNS")},
0524                                                     {36, QStringLiteral("SO_MARK")},
0525                                                     {37, QStringLiteral("SO_TIMESTAMPING")},
0526                                                     {38, QStringLiteral("SO_PROTOCOL")},
0527                                                     {39, QStringLiteral("SO_DOMAIN")},
0528                                                     {40, QStringLiteral("SO_RXQ_OVFL")},
0529                                                     {41, QStringLiteral("SO_WIFI_STATUS")},
0530                                                     {42, QStringLiteral("SO_PEEK_OFF")},
0531                                                     {43, QStringLiteral("SO_NOFCS")},
0532                                                     {44, QStringLiteral("SO_LOCK_FILTER")},
0533                                                     {45, QStringLiteral("SO_SELECT_ERR_QUEUE")},
0534                                                     {46, QStringLiteral("SO_BUSY_POLL")},
0535                                                     {47, QStringLiteral("SO_MAX_PACING_RATE")},
0536                                                     {48, QStringLiteral("SO_BPF_EXTENSIONS")},
0537                                                     {49, QStringLiteral("SO_INCOMING_CPU")},
0538                                                     {50, QStringLiteral("SO_ATTACH_BPF")},
0539                                                     {51, QStringLiteral("SO_ATTACH_REUSEPORT_CBPF")},
0540                                                     {52, QStringLiteral("SO_ATTACH_REUSEPORT_EBPF")},
0541                                                     {53, QStringLiteral("SO_CNX_ADVICE")},
0542                                                     {54, QStringLiteral("SCM_TIMESTAMPING_OPT_STATS")},
0543                                                     {55, QStringLiteral("SO_MEMINFO")},
0544                                                     {56, QStringLiteral("SO_INCOMING_NAPI_ID")},
0545                                                     {57, QStringLiteral("SO_COOKIE")},
0546                                                     {58, QStringLiteral("SCM_TIMESTAMPING_PKTINFO")},
0547                                                     {59, QStringLiteral("SO_PEERGROUPS")},
0548                                                     {60, QStringLiteral("SO_ZEROCOPY")},
0549                                                     {61, QStringLiteral("SO_TXTIME")},
0550                                                     {62, QStringLiteral("SO_BINDTOIFINDEX")},
0551                                                     {63, QStringLiteral("SO_TIMESTAMP_NEW")},
0552                                                     {64, QStringLiteral("SO_TIMESTAMPNS_NEW")},
0553                                                     {65, QStringLiteral("SO_TIMESTAMPING_NEW")},
0554                                                     {66, QStringLiteral("SO_RCVTIMEO_NEW")},
0555                                                     {67, QStringLiteral("SO_SNDTIMEO_NEW")},
0556                                                     {68, QStringLiteral("SO_DETACH_REUSEPORT_BPF")},
0557                                                     {116, QStringLiteral("SO_RCVLOWAT")},
0558                                                     {117, QStringLiteral("SO_SNDLOWAT")},
0559                                                     {118, QStringLiteral("SO_RCVTIMEO")},
0560                                                     {119, QStringLiteral("SO_SNDTIMEO")},
0561                                                     {120, QStringLiteral("SO_PASSCRED")},
0562                                                     {121, QStringLiteral("SO_PEERCRED")}};
0563 
0564 static const QMap<ulong, QString> tcpoptnameMap = {{1, QStringLiteral("TCP_NODELAY")},
0565                                                    {2, QStringLiteral("TCP_MAXSEG")},
0566                                                    {3, QStringLiteral("TCP_CORK")},
0567                                                    {4, QStringLiteral("TCP_KEEPIDLE")},
0568                                                    {5, QStringLiteral("TCP_KEEPINTVL")},
0569                                                    {6, QStringLiteral("TCP_KEEPCNT")},
0570                                                    {7, QStringLiteral("TCP_SYNCNT")},
0571                                                    {8, QStringLiteral("TCP_LINGER2")},
0572                                                    {9, QStringLiteral("TCP_DEFER_ACCEPT")},
0573                                                    {10, QStringLiteral("TCP_WINDOW_CLAMP")},
0574                                                    {11, QStringLiteral("TCP_INFO")},
0575                                                    {12, QStringLiteral("TCP_QUICKACK")},
0576                                                    {13, QStringLiteral("TCP_CONGESTION")},
0577                                                    {14, QStringLiteral("TCP_MD5SIG")},
0578                                                    {15, QStringLiteral("TCP_COOKIE_TRANSACTIONS")},
0579                                                    {16, QStringLiteral("TCP_THIN_LINEAR_TIMEOUTS")},
0580                                                    {17, QStringLiteral("TCP_THIN_DUPACK")},
0581                                                    {18, QStringLiteral("TCP_USER_TIMEOUT")},
0582                                                    {19, QStringLiteral("TCP_REPAIR")},
0583                                                    {20, QStringLiteral("TCP_REPAIR_QUEUE")},
0584                                                    {21, QStringLiteral("TCP_QUEUE_SEQ")},
0585                                                    {22, QStringLiteral("TCP_REPAIR_OPTIONS")},
0586                                                    {23, QStringLiteral("TCP_FASTOPEN")},
0587                                                    {24, QStringLiteral("TCP_TIMESTAMP")},
0588                                                    {25, QStringLiteral("TCP_NOTSENT_LOWAT")},
0589                                                    {26, QStringLiteral("TCP_CC_INFO")},
0590                                                    {27, QStringLiteral("TCP_SAVE_SYN")},
0591                                                    {28, QStringLiteral("TCP_SAVED_SYN")},
0592                                                    {29, QStringLiteral("TCP_REPAIR_WINDOW")},
0593                                                    {30, QStringLiteral("TCP_FASTOPEN_CONNECT")},
0594                                                    {31, QStringLiteral("TCP_ULP")},
0595                                                    {32, QStringLiteral("TCP_MD5SIG_EXT")},
0596                                                    {33, QStringLiteral("TCP_FASTOPEN_KEY")},
0597                                                    {34, QStringLiteral("TCP_FASTOPEN_NO_COOKIE")},
0598                                                    {35, QStringLiteral("TCP_ZEROCOPY_RECEIVE")},
0599                                                    {36, QStringLiteral("TCP_INQ")},
0600                                                    {37, QStringLiteral("TCP_TX_DELAY")}};
0601 
0602 static const QMap<ulong, QString> ip6optnameMap = {{1, QStringLiteral("IPV6_ADDRFORM")},
0603                                                    {2, QStringLiteral("IPV6_2292PKTINFO")},
0604                                                    {3, QStringLiteral("IPV6_2292HOPOPTS")},
0605                                                    {4, QStringLiteral("IPV6_2292DSTOPTS")},
0606                                                    {5, QStringLiteral("IPV6_2292RTHDR")},
0607                                                    {6, QStringLiteral("IPV6_2292PKTOPTIONS")},
0608                                                    {7, QStringLiteral("IPV6_CHECKSUM")},
0609                                                    {8, QStringLiteral("IPV6_2292HOPLIMIT")},
0610                                                    {9, QStringLiteral("IPV6_NEXTHOP")},
0611                                                    {10, QStringLiteral("IPV6_AUTHHDR")},
0612                                                    {11, QStringLiteral("IPV6_FLOWINFO")},
0613                                                    {16, QStringLiteral("IPV6_UNICAST_HOPS")},
0614                                                    {17, QStringLiteral("IPV6_MULTICAST_IF")},
0615                                                    {18, QStringLiteral("IPV6_MULTICAST_HOPS")},
0616                                                    {19, QStringLiteral("IPV6_MULTICAST_LOOP")},
0617                                                    {20, QStringLiteral("IPV6_ADD_MEMBERSHIP")},
0618                                                    {21, QStringLiteral("IPV6_DROP_MEMBERSHIP")},
0619                                                    {22, QStringLiteral("IPV6_ROUTER_ALERT")},
0620                                                    {23, QStringLiteral("IPV6_MTU_DISCOVER")},
0621                                                    {24, QStringLiteral("IPV6_MTU")},
0622                                                    {25, QStringLiteral("IPV6_RECVERR")},
0623                                                    {26, QStringLiteral("IPV6_V6ONLY")},
0624                                                    {27, QStringLiteral("IPV6_JOIN_ANYCAST")},
0625                                                    {28, QStringLiteral("IPV6_LEAVE_ANYCAST")},
0626                                                    {29, QStringLiteral("IPV6_MULTICAST_ALL")},
0627                                                    {30, QStringLiteral("IPV6_ROUTER_ALERT_ISOLATE")},
0628                                                    {32, QStringLiteral("IPV6_FLOWLABEL_MGR")},
0629                                                    {33, QStringLiteral("IPV6_FLOWINFO_SEND")},
0630                                                    {34, QStringLiteral("IPV6_IPSEC_POLICY")},
0631                                                    {35, QStringLiteral("IPV6_XFRM_POLICY")},
0632                                                    {36, QStringLiteral("IPV6_HDRINCL")},
0633                                                    {42, QStringLiteral("MCAST_JOIN_GROUP")},
0634                                                    {43, QStringLiteral("MCAST_BLOCK_SOURCE")},
0635                                                    {44, QStringLiteral("MCAST_UNBLOCK_SOURCE")},
0636                                                    {45, QStringLiteral("MCAST_LEAVE_GROUP")},
0637                                                    {46, QStringLiteral("MCAST_JOIN_SOURCE_GROUP")},
0638                                                    {47, QStringLiteral("MCAST_LEAVE_SOURCE_GROUP")},
0639                                                    {48, QStringLiteral("MCAST_MSFILTER")},
0640                                                    {49, QStringLiteral("IPV6_RECVPKTINFO")},
0641                                                    {50, QStringLiteral("IPV6_PKTINFO")},
0642                                                    {51, QStringLiteral("IPV6_RECVHOPLIMIT")},
0643                                                    {52, QStringLiteral("IPV6_HOPLIMIT")},
0644                                                    {53, QStringLiteral("IPV6_RECVHOPOPTS")},
0645                                                    {54, QStringLiteral("IPV6_HOPOPTS")},
0646                                                    {55, QStringLiteral("IPV6_RTHDRDSTOPTS")},
0647                                                    {56, QStringLiteral("IPV6_RECVRTHDR")},
0648                                                    {57, QStringLiteral("IPV6_RTHDR")},
0649                                                    {58, QStringLiteral("IPV6_RECVDSTOPTS")},
0650                                                    {59, QStringLiteral("IPV6_DSTOPTS")},
0651                                                    {60, QStringLiteral("IPV6_RECVPATHMTU")},
0652                                                    {61, QStringLiteral("IPV6_PATHMTU")},
0653                                                    {62, QStringLiteral("IPV6_DONTFRAG")},
0654                                                    {63, QStringLiteral("IPV6_USE_MIN_MTU")},
0655                                                    {64, QStringLiteral("IP6T_SO_SET_REPLACE")},
0656                                                    {65, QStringLiteral("IP6T_SO_SET_ADD_COUNTERS")},
0657                                                    {66, QStringLiteral("IPV6_RECVTCLASS")},
0658                                                    {67, QStringLiteral("IPV6_TCLASS")},
0659                                                    {68, QStringLiteral("IP6T_SO_GET_REVISION_MATCH")},
0660                                                    {69, QStringLiteral("IP6T_SO_GET_REVISION_TARGET")},
0661                                                    {70, QStringLiteral("IPV6_AUTOFLOWLABEL")},
0662                                                    {72, QStringLiteral("IPV6_ADDR_PREFERENCES")},
0663                                                    {73, QStringLiteral("IPV6_MINHOPCOUNT")},
0664                                                    {74, QStringLiteral("IPV6_ORIGDSTADDR")},
0665                                                    {75, QStringLiteral("IPV6_TRANSPARENT")},
0666                                                    {76, QStringLiteral("IPV6_UNICAST_IF")},
0667                                                    {77, QStringLiteral("IPV6_RECVFRAGSIZE")},
0668                                                    {78, QStringLiteral("IPV6_FREEBIND")},
0669                                                    {80, QStringLiteral("IP6T_SO_ORIGINAL_DST")}};
0670 
0671 static const QMap<ulong, QString> pktoptnameMap = {
0672     {1, QStringLiteral("PACKET_ADD_MEMBERSHIP")},  {2, QStringLiteral("PACKET_DROP_MEMBERSHIP")}, {3, QStringLiteral("PACKET_RECV_OUTPUT")},
0673     {5, QStringLiteral("PACKET_RX_RING")},         {6, QStringLiteral("PACKET_STATISTICS")},      {7, QStringLiteral("PACKET_COPY_THRESH")},
0674     {8, QStringLiteral("PACKET_AUXDATA")},         {9, QStringLiteral("PACKET_ORIGDEV")},         {10, QStringLiteral("PACKET_VERSION")},
0675     {11, QStringLiteral("PACKET_HDRLEN")},         {12, QStringLiteral("PACKET_RESERVE")},        {13, QStringLiteral("PACKET_TX_RING")},
0676     {14, QStringLiteral("PACKET_LOSS")},           {15, QStringLiteral("PACKET_VNET_HDR")},       {16, QStringLiteral("PACKET_TX_TIMESTAMP")},
0677     {17, QStringLiteral("PACKET_TIMESTAMP")},      {18, QStringLiteral("PACKET_FANOUT")},         {19, QStringLiteral("PACKET_TX_HAS_OFF")},
0678     {20, QStringLiteral("PACKET_QDISC_BYPASS")},   {21, QStringLiteral("PACKET_ROLLOVER_STATS")}, {22, QStringLiteral("PACKET_FANOUT_DATA")},
0679     {23, QStringLiteral("PACKET_IGNORE_OUTGOING")}};
0680 
0681 static const QMap<ulong, QString> recvMap = {
0682     {0x00000001, QStringLiteral("MSG_OOB")},        {0x00000002, QStringLiteral("MSG_PEEK")},       {0x00000004, QStringLiteral("MSG_DONTROUTE")},
0683     {0x00000008, QStringLiteral("MSG_CTRUNC")},     {0x00000010, QStringLiteral("MSG_PROXY")},      {0x00000020, QStringLiteral("MSG_TRUNC")},
0684     {0x00000040, QStringLiteral("MSG_DONTWAIT")},   {0x00000080, QStringLiteral("MSG_EOR")},        {0x00000100, QStringLiteral("MSG_WAITALL")},
0685     {0x00000200, QStringLiteral("MSG_FIN")},        {0x00000400, QStringLiteral("MSG_SYN")},        {0x00000800, QStringLiteral("MSG_CONFIRM")},
0686     {0x00001000, QStringLiteral("MSG_RST")},        {0x00002000, QStringLiteral("MSG_ERRQUEUE")},   {0x00004000, QStringLiteral("MSG_NOSIGNAL")},
0687     {0x00008000, QStringLiteral("MSG_MORE")},       {0x00010000, QStringLiteral("MSG_WAITFORONE")}, {0x00020000, QStringLiteral("MSG_SENDPAGE_NOTLAST")},
0688     {0x00040000, QStringLiteral("MSG_BATCH")},      {0x20000000, QStringLiteral("MSG_FASTOPEN")},   {0x40000000, QStringLiteral("MSG_CMSG_CLOEXEC")},
0689     {0x80000000, QStringLiteral("MSG_CMSG_COMPAT")}};
0690 
0691 static const QMap<ulong, QString> shmmodeMap = {{00001000, QStringLiteral("SHM_DEST")},
0692                                                 {00002000, QStringLiteral("SHM_LOCKED")},
0693                                                 {00004000, QStringLiteral("SHM_HUGETLB")},
0694                                                 {00010000, QStringLiteral("SHM_NORESERVE")}};
0695 
0696 static const QMap<ulong, QString> ipccmdMap = {{00001000, QStringLiteral("IPC_CREAT")},
0697                                                {00002000, QStringLiteral("IPC_EXCL")},
0698                                                {00004000, QStringLiteral("IPC_NOWAIT")}};
0699 
0700 static const QMap<ulong, QString> protMap = {{1, QStringLiteral("PROT_READ")},
0701                                              {2, QStringLiteral("PROT_WRITE")},
0702                                              {4, QStringLiteral("PROT_EXEC")},
0703                                              {8, QStringLiteral("PROT_SEM")}};
0704 
0705 static const QMap<ulong, QString> seekMap = {{0, QStringLiteral("SEEK_SET")},
0706                                              {1, QStringLiteral("SEEK_CUR")},
0707                                              {2, QStringLiteral("SEEK_END")},
0708                                              {3, QStringLiteral("SEEK_DATA")},
0709                                              {4, QStringLiteral("SEEK_HOLE")}};
0710 
0711 static const QMap<ulong, QString> mmapMap = {{0x0000001, QStringLiteral("MAP_SHARED")},
0712                                              {0x0000002, QStringLiteral("MAP_PRIVATE")},
0713                                              {0x0000010, QStringLiteral("MAP_FIXED")},
0714                                              {0x0000020, QStringLiteral("MAP_ANONYMOUS")},
0715                                              {0x0000040, QStringLiteral("MAP_32BIT")},
0716                                              {0x0000100, QStringLiteral("MAP_GROWSDOWN")},
0717                                              {0x0000800, QStringLiteral("MAP_DENYWRITE")},
0718                                              {0x0001000, QStringLiteral("MAP_EXECUTABLE")},
0719                                              {0x0002000, QStringLiteral("MAP_LOCKED")},
0720                                              {0x0004000, QStringLiteral("MAP_NORESERVE")},
0721                                              {0x0008000, QStringLiteral("MAP_POPULATE")},
0722                                              {0x0010000, QStringLiteral("MAP_NONBLOCK")},
0723                                              {0x0020000, QStringLiteral("MAP_STACK")},
0724                                              {0x0040000, QStringLiteral("MAP_HUGETLB")},
0725                                              {0x0080000, QStringLiteral("MAP_SYNC")},
0726                                              {0x0100000, QStringLiteral("MAP_FIXED_NOREPLACE")},
0727                                              {0x4000000, QStringLiteral("MAP_UNINITIALIZED")}};
0728 
0729 static const QMap<ulong, QString> mountMap = {{MS_RDONLY, QStringLiteral("MS_RDONLY")},
0730                                               {MS_NOSUID, QStringLiteral("MS_NOSUID")},
0731                                               {MS_NODEV, QStringLiteral("MS_NODEV")},
0732                                               {MS_NOEXEC, QStringLiteral("MS_NOEXEC")},
0733                                               {MS_SYNCHRONOUS, QStringLiteral("MS_SYNCHRONOUS")},
0734                                               {MS_REMOUNT, QStringLiteral("MS_REMOUNT")},
0735                                               {MS_MANDLOCK, QStringLiteral("MS_MANDLOCK")},
0736                                               {MS_DIRSYNC, QStringLiteral("MS_DIRSYNC")},
0737                                               {MS_NOATIME, QStringLiteral("MS_NOATIME")},
0738                                               {MS_NODIRATIME, QStringLiteral("MS_NODIRATIME")},
0739                                               {MS_BIND, QStringLiteral("MS_BIND")},
0740                                               {MS_MOVE, QStringLiteral("MS_MOVE")},
0741                                               {MS_REC, QStringLiteral("MS_REC")},
0742                                               {MS_SILENT, QStringLiteral("MS_SILENT")},
0743                                               {MS_POSIXACL, QStringLiteral("MS_POSIXACL")},
0744                                               {MS_UNBINDABLE, QStringLiteral("MS_UNBINDABLE")},
0745                                               {MS_PRIVATE, QStringLiteral("MS_PRIVATE")},
0746                                               {MS_SLAVE, QStringLiteral("MS_SLAVE")},
0747                                               {MS_SHARED, QStringLiteral("MS_SHARED")},
0748                                               {MS_RELATIME, QStringLiteral("MS_RELATIME")},
0749                                               {MS_KERNMOUNT, QStringLiteral("MS_KERNMOUNT")},
0750                                               {MS_I_VERSION, QStringLiteral("MS_I_VERSION")},
0751                                               {(1 << 24), QStringLiteral("MS_STRICTATIME")},
0752                                               {(1 << 25), QStringLiteral("MS_LAZYTIME")},
0753                                               {(1 << 26), QStringLiteral("MS_SUBMOUNT")},
0754                                               {(1 << 27), QStringLiteral("MS_SNAP_STABLE")},
0755                                               {(1 << 28), QStringLiteral("MS_NOSEC")},
0756                                               {(1 << 29), QStringLiteral("MS_BORN")},
0757                                               {MS_ACTIVE, QStringLiteral("MS_ACTIVE")},
0758                                               {MS_NOUSER, QStringLiteral("MS_NOUSER")}};