Files
kernel_xiaomi_cepheus/include/uapi/linux/qrtr.h
Arun Prakash 3777fb06b6 qrtr: Add custom ioctl options to support bpf filter
Add custom ioctl options to support bpf filter attach.
Add bpf filter attach and detach options so that user
space application can send bpf filter to qrtr core.

Change-Id: I3ed808e6ca8a175c0f1030b3b962f2d06691ff90
Signed-off-by: Arun Prakash <app@codeaurora.org>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2021-05-19 19:52:28 +05:30

66 lines
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _LINUX_QRTR_H
#define _LINUX_QRTR_H
#include <linux/socket.h>
#include <linux/types.h>
#define QRTR_NODE_BCAST 0xffffffffu
#define QRTR_PORT_CTRL 0xfffffffeu
/* use reserved ioctl value from protocol private area */
#define QRTR_IOCTL_TYPE ((SIOCPROTOPRIVATE >> 8) & 0xFF)
#define QRTR_IOCTL_SEQ_BASE (SIOCPROTOPRIVATE & 0xFF)
#define QRTR_ATTACH_BPF \
_IOR(QRTR_IOCTL_TYPE, QRTR_IOCTL_SEQ_BASE, int)
#define QRTR_DETTACH_BPF \
_IO(QRTR_IOCTL_TYPE, QRTR_IOCTL_SEQ_BASE + 1)
struct sockaddr_qrtr {
__kernel_sa_family_t sq_family;
__u32 sq_node;
__u32 sq_port;
};
enum qrtr_pkt_type {
QRTR_TYPE_DATA = 1,
QRTR_TYPE_HELLO = 2,
QRTR_TYPE_BYE = 3,
QRTR_TYPE_NEW_SERVER = 4,
QRTR_TYPE_DEL_SERVER = 5,
QRTR_TYPE_DEL_CLIENT = 6,
QRTR_TYPE_RESUME_TX = 7,
QRTR_TYPE_EXIT = 8,
QRTR_TYPE_PING = 9,
QRTR_TYPE_NEW_LOOKUP = 10,
QRTR_TYPE_DEL_LOOKUP = 11,
};
#define QRTR_TYPE_DEL_PROC 13
struct qrtr_ctrl_pkt {
__le32 cmd;
union {
struct {
__le32 service;
__le32 instance;
__le32 node;
__le32 port;
} server;
struct {
__le32 node;
__le32 port;
} client;
struct {
__le32 rsvd;
__le32 node;
} proc;
};
} __packed;
#endif /* _LINUX_QRTR_H */