| /* |
| 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., |
| * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| * |
| ********************************************************************** |
| |
| ======================================================================= |
| |
| This is the header for the file that links in the operating system- |
| specific parts of the software |
| |
| */ |
| |
| #ifndef GOT_SYS_H |
| #define GOT_SYS_H |
| |
| /* Called at the start of the run to do initialisation */ |
| extern void SYS_Initialise(int clock_control); |
| |
| /* Called at the end of the run to do final clean-up */ |
| extern void SYS_Finalise(void); |
| |
| typedef enum { |
| SYS_MAIN_PROCESS, |
| SYS_NTSKE_HELPER, |
| } SYS_ProcessContext; |
| |
| /* Switch to the specified user and group in given context */ |
| extern void SYS_DropRoot(uid_t uid, gid_t gid, SYS_ProcessContext context); |
| |
| /* Enable a system call filter to allow only system calls |
| which chronyd normally needs after initialization */ |
| extern void SYS_EnableSystemCallFilter(int level, SYS_ProcessContext context); |
| |
| extern void SYS_SetScheduler(int SchedPriority); |
| extern void SYS_LockMemory(void); |
| |
| #endif /* GOT_SYS_H */ |