1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 /* 3 * Copyright (c) 2016, Linaro Ltd. 4 */ 5 6 #ifndef _UAPI_RPMSG_H_ 7 #define _UAPI_RPMSG_H_ 8 9 #include <linux/ioctl.h> 10 #include <linux/types.h> 11 12 #define RPMSG_ADDR_ANY 0xFFFFFFFF 13 14 /** 15 * struct rpmsg_endpoint_info - endpoint info representation 16 * @name: name of service 17 * @src: local address. To set to RPMSG_ADDR_ANY if not used. 18 * @dst: destination address. To set to RPMSG_ADDR_ANY if not used. 19 */ 20 struct rpmsg_endpoint_info { 21 char name[32]; 22 __u32 src; 23 __u32 dst; 24 }; 25 26 /** 27 * Instantiate a new rmpsg char device endpoint. 28 */ 29 #define RPMSG_CREATE_EPT_IOCTL _IOW(0xb5, 0x1, struct rpmsg_endpoint_info) 30 31 /** 32 * Destroy a rpmsg char device endpoint created by the RPMSG_CREATE_EPT_IOCTL. 33 */ 34 #define RPMSG_DESTROY_EPT_IOCTL _IO(0xb5, 0x2) 35 36 /** 37 * Instantiate a new local rpmsg service device. 38 */ 39 #define RPMSG_CREATE_DEV_IOCTL _IOW(0xb5, 0x3, struct rpmsg_endpoint_info) 40 41 /** 42 * Release a local rpmsg device. 43 */ 44 #define RPMSG_RELEASE_DEV_IOCTL _IOW(0xb5, 0x4, struct rpmsg_endpoint_info) 45 46 /** 47 * Get the flow control state of the remote rpmsg char device. 48 */ 49 #define RPMSG_GET_OUTGOING_FLOWCONTROL _IOR(0xb5, 0x5, int) 50 51 /** 52 * Set the flow control state of the local rpmsg char device. 53 */ 54 #define RPMSG_SET_INCOMING_FLOWCONTROL _IOR(0xb5, 0x6, int) 55 56 #endif 57