mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
Adds the Virtual Services framework and core protocol code. The Virtual Services framework provides a bus for generic inter-vm communications using a high level abstract model. The vservices bus provides support for both HLOS and embedded C clients and servers, allowing VMs to communicate in a common OS independent manner. The vservices bus and services over it are hot-plug capable and can support a wide variety of use cases, including device virtualization using virtual device protocol (classes) and drivers, similar in concept to USB or virtio. Change-Id: I7a696354f59730e0ad340fb92dc85661a7376dee Signed-off-by: Carl van Schaik <carl@cog.systems> Git-commit: 42814676e8bf5fb34060ee80e05e2175ae146292 Git-repo: https://github.com/CogSystems/linux-msm/commits/msm-4.9-hyp [mnalajal@codeaurora: Resolve trivial merge conflicts] Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
41 lines
1.2 KiB
C
41 lines
1.2 KiB
C
/*
|
|
* include/vservices/transport.h
|
|
*
|
|
* Copyright (c) 2012-2018 General Dynamics
|
|
* Copyright (c) 2014 Open Kernel Labs, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* This file defines the private interface that vServices transport drivers
|
|
* must provide to the vservices session and protocol layers. The transport,
|
|
* transport vtable, and message buffer structures are defined in the public
|
|
* <vservices/transport.h> header.
|
|
*/
|
|
|
|
#ifndef _VSERVICES_TRANSPORT_PRIV_H_
|
|
#define _VSERVICES_TRANSPORT_PRIV_H_
|
|
|
|
#include <linux/types.h>
|
|
#include <linux/list.h>
|
|
|
|
#include <vservices/transport.h>
|
|
#include <vservices/types.h>
|
|
#include <vservices/buffer.h>
|
|
|
|
/**
|
|
* struct vs_notify_info - Notification information stored in the transport
|
|
* @service_id: Service id for this notification info
|
|
* @offset: Offset into the notification mapping
|
|
*/
|
|
struct vs_notify_info {
|
|
vs_service_id_t service_id;
|
|
unsigned offset;
|
|
};
|
|
|
|
#define VS_MAX_SERVICES 128
|
|
#define VS_MAX_SERVICE_ID (VS_MAX_SERVICES - 1)
|
|
|
|
#endif /* _VSERVICES_TRANSPORT_PRIV_H_ */
|