mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 16:35:06 -05:00
Equivalent to V1.19.99.1
This is a verbatim copy of the files at that stage of the repository that was built from the CVS import. It allows future development to see a bit of recent history, but without carrying around the baggage going back to 1997. If that is really required, git grafts can be used.
This commit is contained in:
83
sched.h
Normal file
83
sched.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
$Header: /cvs/src/chrony/sched.h,v 1.10 2002/02/28 23:27:14 richard Exp $
|
||||
|
||||
=======================================================================
|
||||
|
||||
chronyd/chronyc - Programs for keeping computer clocks accurate.
|
||||
|
||||
**********************************************************************
|
||||
* Copyright (C) Richard P. Curnow 1997-2002
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of version 2 of the GNU General Public License as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
*
|
||||
**********************************************************************
|
||||
|
||||
=======================================================================
|
||||
|
||||
Exported header file for sched.c
|
||||
*/
|
||||
|
||||
#ifndef GOT_SCHED_H
|
||||
#define GOT_SCHED_H
|
||||
|
||||
#include "sysincl.h"
|
||||
|
||||
typedef unsigned long SCH_TimeoutID;
|
||||
|
||||
typedef unsigned long SCH_TimeoutClass;
|
||||
static const SCH_TimeoutClass SCH_ReservedTimeoutValue = 0;
|
||||
static const SCH_TimeoutClass SCH_NtpSamplingClass = 1;
|
||||
static const SCH_TimeoutClass SCH_NtpBroadcastClass = 2;
|
||||
|
||||
typedef void* SCH_ArbitraryArgument;
|
||||
typedef void (*SCH_FileHandler)(SCH_ArbitraryArgument);
|
||||
typedef void (*SCH_TimeoutHandler)(SCH_ArbitraryArgument);
|
||||
|
||||
/* Exported functions */
|
||||
|
||||
/* Initialisation function for the module */
|
||||
extern void SCH_Initialise(void);
|
||||
|
||||
/* Finalisation function for the module */
|
||||
extern void SCH_Finalise(void);
|
||||
|
||||
/* Register a handler for when select goes true on a file descriptor */
|
||||
extern void SCH_AddInputFileHandler
|
||||
(int fd, /* The file descriptor */
|
||||
SCH_FileHandler, /* The handler routine */
|
||||
SCH_ArbitraryArgument /* An arbitrary passthrough argument to the handler */
|
||||
);
|
||||
extern void SCH_RemoveInputFileHandler(int fd);
|
||||
|
||||
/* This queues a timeout to elapse at a given (raw) local time */
|
||||
extern SCH_TimeoutID SCH_AddTimeout(struct timeval *tv, SCH_TimeoutHandler, SCH_ArbitraryArgument);
|
||||
|
||||
/* This queues a timeout to elapse at a given delta time relative to the current (raw) time */
|
||||
extern SCH_TimeoutID SCH_AddTimeoutByDelay(double delay, SCH_TimeoutHandler, SCH_ArbitraryArgument);
|
||||
|
||||
/* This queues a timeout in a particular class, ensuring that the
|
||||
expiry time is at least a given separation away from any other
|
||||
timeout in the same class */
|
||||
extern SCH_TimeoutID SCH_AddTimeoutInClass(double min_delay, double separation,
|
||||
SCH_TimeoutClass class,
|
||||
SCH_TimeoutHandler handler, SCH_ArbitraryArgument);
|
||||
|
||||
/* The next one probably ought to return a status code */
|
||||
extern void SCH_RemoveTimeout(SCH_TimeoutID);
|
||||
|
||||
extern void SCH_MainLoop(void);
|
||||
|
||||
extern void SCH_QuitProgram(void);
|
||||
|
||||
#endif /* GOT_SCHED_H */
|
||||
Reference in New Issue
Block a user