^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __nosy_user_h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __nosy_user_h
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #include <linux/ioctl.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #define NOSY_IOC_GET_STATS _IOR('&', 0, struct nosy_stats)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define NOSY_IOC_START _IO('&', 1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define NOSY_IOC_STOP _IO('&', 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define NOSY_IOC_FILTER _IOW('&', 2, __u32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct nosy_stats {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) __u32 total_packet_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) __u32 lost_packet_count;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) * Format of packets returned from the kernel driver:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) * quadlet with timestamp (microseconds, CPU endian)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) * quadlet-padded packet data... (little endian)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) * quadlet with ack (little endian)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #endif /* __nosy_user_h */