1
#pragma once
2

            
3
#if !defined(__linux__)
4
#error "Linux platform file is part of non-Linux build."
5
#endif
6

            
7
#include "envoy/api/os_sys_calls_linux.h"
8

            
9
#include "source/common/singleton/threadsafe_singleton.h"
10

            
11
namespace Envoy {
12
namespace Api {
13

            
14
class LinuxOsSysCallsImpl : public LinuxOsSysCalls {
15
public:
16
  // Api::LinuxOsSysCalls
17
  SysCallIntResult sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t* mask) override;
18
  SysCallIntResult setns(int fd, int nstype) const override;
19
};
20

            
21
using LinuxOsSysCallsSingleton = ThreadSafeSingleton<LinuxOsSysCallsImpl>;
22

            
23
} // namespace Api
24
} // namespace Envoy