msm-4.14/drivers/vservices/transport.h
Carl van Schaik 0c7e12307d driver: vservices: Add the vservices framework and core
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>
2018-11-19 18:17:34 -08:00

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_ */