| // Copyright (c) 2019 The Chromium 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 QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ | 
 | #define QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ | 
 |  | 
 | #include "quic/platform/api/quic_test.h" | 
 | #include "quic/qbone/platform/kernel_interface.h" | 
 |  | 
 | namespace quic { | 
 |  | 
 | class MockKernel : public KernelInterface { | 
 |  public: | 
 |   MockKernel() {} | 
 |  | 
 |   MOCK_METHOD(int, | 
 |               bind, | 
 |               (int fd, const struct sockaddr*, socklen_t addr_len), | 
 |               (override)); | 
 |   MOCK_METHOD(int, close, (int fd), (override)); | 
 |   MOCK_METHOD(int, ioctl, (int fd, int request, void*), (override)); | 
 |   MOCK_METHOD(int, open, (const char*, int flags), (override)); | 
 |   MOCK_METHOD(ssize_t, read, (int fd, void*, size_t count), (override)); | 
 |   MOCK_METHOD( | 
 |       ssize_t, | 
 |       recvfrom, | 
 |       (int sockfd, void*, size_t len, int flags, struct sockaddr*, socklen_t*), | 
 |       (override)); | 
 |   MOCK_METHOD(ssize_t, | 
 |               sendmsg, | 
 |               (int sockfd, const struct msghdr*, int flags), | 
 |               (override)); | 
 |   MOCK_METHOD(ssize_t, | 
 |               sendto, | 
 |               (int sockfd, | 
 |                const void*, | 
 |                size_t len, | 
 |                int flags, | 
 |                const struct sockaddr*, | 
 |                socklen_t addrlen), | 
 |               (override)); | 
 |   MOCK_METHOD(int, socket, (int domain, int type, int protocol), (override)); | 
 |   MOCK_METHOD(int, | 
 |               setsockopt, | 
 |               (int, int, int, const void*, socklen_t), | 
 |               (override)); | 
 |   MOCK_METHOD(ssize_t, write, (int fd, const void*, size_t count), (override)); | 
 | }; | 
 |  | 
 | }  // namespace quic | 
 |  | 
 | #endif  // QUICHE_QUIC_QBONE_PLATFORM_MOCK_KERNEL_H_ |