forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
916 B
36 lines
916 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef __QRTR_H_ |
|
#define __QRTR_H_ |
|
|
|
#include <linux/types.h> |
|
|
|
struct sk_buff; |
|
|
|
/* endpoint node id auto assignment */ |
|
#define QRTR_EP_NID_AUTO (-1) |
|
|
|
/** |
|
* struct qrtr_endpoint - endpoint handle |
|
* @xmit: Callback for outgoing packets |
|
* |
|
* The socket buffer passed to the xmit function becomes owned by the endpoint |
|
* driver. As such, when the driver is done with the buffer, it should |
|
* call kfree_skb() on failure, or consume_skb() on success. |
|
*/ |
|
struct qrtr_endpoint { |
|
int (*xmit)(struct qrtr_endpoint *ep, struct sk_buff *skb); |
|
/* private: not for endpoint use */ |
|
struct qrtr_node *node; |
|
}; |
|
|
|
int qrtr_endpoint_register(struct qrtr_endpoint *ep, unsigned int nid); |
|
|
|
void qrtr_endpoint_unregister(struct qrtr_endpoint *ep); |
|
|
|
int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len); |
|
|
|
int qrtr_ns_init(void); |
|
|
|
void qrtr_ns_remove(void); |
|
|
|
#endif
|
|
|