﻿£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * PPS generator API header
 *
 * Copyright (C) 2024 Rodolfo Giometti <giometti@enneenne.com>
 */

#ifndef _PPS_GEN_H_
#define _PPS_GEN_H_

#include <linux/types.h>
#include <linux/ioctl.h>

/**
 * struct pps_gen_event - the PPS generator events
 * @event: the event type
 * @sequence: the event sequence number
 *
 * Userspace can get the last PPS generator event by using the
 * ioctl(pps_gen, PPS_GEN_FETCHEVENT, ...) syscall.
 * The sequence field can be used to save the last event ID, while in the
 * event field is stored the last event type. Currently known event is:
 *
 *     PPS_GEN_EVENT_MISSEDPULSE	: last pulse was not generated
 */
struct pps_gen_event {
	unsigned int event;
	unsigned int sequence;
};

#define PPS_GEN_EVENT_MISSEDPULSE	1

#define PPS_GEN_SETENABLE		_IOW('p', 0xb1, unsigned int *)
#define PPS_GEN_USESYSTEMCLOCK		_IOR('p', 0xb2, unsigned int *)
#define PPS_GEN_FETCHEVENT		_IOR('p', 0xb3, struct pps_gen_event *)

#endif /* _PPS_GEN_H_ */
