Line data Source code
1 : #pragma once 2 : 3 : #if !defined(__linux__) 4 : #error "Linux platform file is part of non-Linux build." 5 : #endif 6 : 7 : #include <sched.h> 8 : 9 : #include "envoy/api/os_sys_calls_common.h" 10 : #include "envoy/common/pure.h" 11 : 12 : namespace Envoy { 13 : namespace Api { 14 : 15 : class LinuxOsSysCalls { 16 : public: 17 0 : virtual ~LinuxOsSysCalls() = default; 18 : 19 : /** 20 : * @see sched_getaffinity (man 2 sched_getaffinity) 21 : */ 22 : virtual SysCallIntResult sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t* mask) PURE; 23 : }; 24 : 25 : using LinuxOsSysCallsPtr = std::unique_ptr<LinuxOsSysCalls>; 26 : 27 : } // namespace Api 28 : } // namespace Envoy