blob: cdd75a537dbaa96e27a17d7144cd929890602fff [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <ddk/debug.h>
#include <ddk/device.h>
#include <ddk/driver.h>
#include <ddk/protocol/test.h>
#include <fbl/unique_ptr.h>
#include <zircon/compiler.h>
#include <zircon/syscalls.h>
#include <zircon/types.h>
namespace qmi_fake {
class Device {
public:
Device(zx_device_t* device);
zx_status_t Bind();
void Unbind();
void Release();
zx_status_t Ioctl(uint32_t op, const void* in_buf, size_t in_len,
void* out_buf, size_t out_len, size_t* out_actual);
zx_status_t GetProtocol(uint32_t proto_id, void* out_proto);
zx_status_t OpenChan(zx_handle_t* chan);
private:
zx_handle_t hold_chan_;
zx_device_t* parent_;
zx_device_t* zxdev_;
};
} // namespace qmi_fake