blob: da23723bf203cce47d91d0dece26d455bce284b8 [file] [log] [blame]
// Copyright 2021 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef LIBHWSEC_FOUNDATION_SYSCALLER_SYSCALLER_IMPL_H_
#define LIBHWSEC_FOUNDATION_SYSCALLER_SYSCALLER_IMPL_H_
#include "libhwsec-foundation/hwsec-foundation_export.h"
#include "libhwsec-foundation/syscaller/syscaller.h"
namespace hwsec_foundation {
class HWSEC_FOUNDATION_EXPORT SyscallerImpl : public Syscaller {
public:
SyscallerImpl() = default;
~SyscallerImpl() override = default;
int Open(const char* pathname, int flags) override;
int Close(int fd) override;
ssize_t Write(int fd, const void* buf, size_t count) override;
ssize_t Read(int fd, void* buf, size_t count) override;
int Select(int nfds,
fd_set* readfds,
fd_set* writefds,
fd_set* exceptfds,
struct timeval* timeout) override;
int Ioctl(int fd,
unsigned long request, // NOLINT(runtime/int)
struct mei_connect_client_data* data) override;
};
} // namespace hwsec_foundation
#endif // LIBHWSEC_FOUNDATION_SYSCALLER_SYSCALLER_IMPL_H_