blob: a8705e93b782d636f1bf84d1881be17d5f31570e [file] [log] [blame]
// Copyright 2020 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.
#ifndef SRC_LIB_DDK_INCLUDE_DDK_FRAGMENT_DEVICE_H_
#define SRC_LIB_DDK_INCLUDE_DDK_FRAGMENT_DEVICE_H_
#include <zircon/types.h>
#include <ddk/device.h>
// This header is only meant to be used in fragment driver which can maintain the protocol
// contexts. It is not needed/not intended to be used elsewhere.
// protocols look like: typedef struct
// {
// protocol_xyz_ops_t* ops;
// void* ctx;
// } protocol_xyz_t;
zx_status_t device_open_protocol_session_multibindable(const zx_device_t* dev, uint32_t proto_id,
void* protocol);
zx_status_t device_close_protocol_session_multibindable(const zx_device_t* dev, void* protocol_ctx);
#endif