brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · b9ea81b Raw
64 lines · c
1/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */2/*3 * Copyright(c) 2016 Google Inc. All rights reserved.4 * Copyright(c) 2016 Linaro Ltd. All rights reserved.5 */6 7#ifndef __ARPC_H8#define __ARPC_H9 10/* APBridgeA RPC (ARPC) */11 12enum arpc_result {13	ARPC_SUCCESS		= 0x00,14	ARPC_NO_MEMORY		= 0x01,15	ARPC_INVALID		= 0x02,16	ARPC_TIMEOUT		= 0x03,17	ARPC_UNKNOWN_ERROR	= 0xff,18};19 20struct arpc_request_message {21	__le16	id;		/* RPC unique id */22	__le16	size;		/* Size in bytes of header + payload */23	__u8	type;		/* RPC type */24	__u8	data[];	/* ARPC data */25} __packed;26 27struct arpc_response_message {28	__le16	id;		/* RPC unique id */29	__u8	result;		/* Result of RPC */30} __packed;31 32/* ARPC requests */33#define ARPC_TYPE_CPORT_CONNECTED		0x0134#define ARPC_TYPE_CPORT_QUIESCE			0x0235#define ARPC_TYPE_CPORT_CLEAR			0x0336#define ARPC_TYPE_CPORT_FLUSH			0x0437#define ARPC_TYPE_CPORT_SHUTDOWN		0x0538 39struct arpc_cport_connected_req {40	__le16 cport_id;41} __packed;42 43struct arpc_cport_quiesce_req {44	__le16 cport_id;45	__le16 peer_space;46	__le16 timeout;47} __packed;48 49struct arpc_cport_clear_req {50	__le16 cport_id;51} __packed;52 53struct arpc_cport_flush_req {54	__le16 cport_id;55} __packed;56 57struct arpc_cport_shutdown_req {58	__le16 cport_id;59	__le16 timeout;60	__u8 phase;61} __packed;62 63#endif	/* __ARPC_H */64