18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __nosy_user_h 38c2ecf20Sopenharmony_ci#define __nosy_user_h 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/ioctl.h> 68c2ecf20Sopenharmony_ci#include <linux/types.h> 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ci#define NOSY_IOC_GET_STATS _IOR('&', 0, struct nosy_stats) 98c2ecf20Sopenharmony_ci#define NOSY_IOC_START _IO('&', 1) 108c2ecf20Sopenharmony_ci#define NOSY_IOC_STOP _IO('&', 2) 118c2ecf20Sopenharmony_ci#define NOSY_IOC_FILTER _IOW('&', 2, __u32) 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cistruct nosy_stats { 148c2ecf20Sopenharmony_ci __u32 total_packet_count; 158c2ecf20Sopenharmony_ci __u32 lost_packet_count; 168c2ecf20Sopenharmony_ci}; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci/* 198c2ecf20Sopenharmony_ci * Format of packets returned from the kernel driver: 208c2ecf20Sopenharmony_ci * 218c2ecf20Sopenharmony_ci * quadlet with timestamp (microseconds, CPU endian) 228c2ecf20Sopenharmony_ci * quadlet-padded packet data... (little endian) 238c2ecf20Sopenharmony_ci * quadlet with ack (little endian) 248c2ecf20Sopenharmony_ci */ 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif /* __nosy_user_h */ 27