1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual 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 manual; if not, write to the Free
.\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
.\" USA.
.\"
.\" Translated to German Sun Oct 06 13:00:00 1996 by Patrick Rother <krd@gulu.net>
.\"
.TH ADJTIMEX 2 "6. Oktober 1996" "Linux 1.2.4" "Systemaufrufe"
.SH NAME
adjtimex \- Einstellen der Kerneluhr
.SH BERSICHT
.B #include <sys/timex.h>
.sp
.BI "int adjtimex(struct timex *" "buf" ");"
.SH BESCHREIBUNG
Linux verwendet David Mills Algorithmus zur Justierung der Systemuhr.
.B adjtimex
liest und setzt auf Wunsch Einstellungsparameter fr diesen Algorithmus.
.PP
.B adjtimex
nimmt einen Zeiger auf eine Struktur
.IR timex ,
aktualisiert Kernelparameter aus den Feldwerten, und gibt die gleiche Struktur
mit aktuellen Werten zurck.
Diese Struktur ist wie folgt deklariert:
.PP
.RS
.nf
struct timex
{
int mode; /* mode selector */
long offset; /* Zeitoffset (usek) */
long frequency; /* Frequenzoffset (skalierte ppm) */
long maxerror; /* maximaler Fehler (usek) */
long esterror; /* geschtzter Fehler (usek) */
int status; /* Uhrkommando/-status */
long time_constant; /* pll Zeitkonstante */
long precision; /* Uhrprzision (usec) (nur lesbar) */
long tolerance; /* Uhrfrequenztoleranz (ppm) (nur lesbar) */
struct timeval time; /* (nur lesbar) */
long tick; /* usek zwischen Uhrticks */
};
.fi
.RE
.PP
Das Feld
.I mode
bestimmt, welche Parameter, falls vorhanden, zu setzen sind.
Es darf eine bitweise
.IR Oder verknpfung
von Null oder mehr der folgenden Bits enthalten:
.PP
.RS
.nf
#define ADJ_OFFSET 0x0001 /* Zeitoffset */
#define ADJ_FREQUENCY 0x0002 /* Frequenzoffset */
#define ADJ_MAXERROR 0x0004 /* maximaler Zeitfehler */
#define ADJ_ESTERROR 0x0008 /* geschtzter Zeitfehler */
#define ADJ_STATUS 0x0010 /* Uhrstatus */
#define ADJ_TIMECONST 0x0020 /* pll Zeitkonstante */
#define ADJ_TICK 0x4000 /* Tickwert */
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* altmodisches adjtime */
.fi
.RE
.PP
Gewhnliche Benutzer sind eingeschrnkt auf einen Nullwert fr
.IR mode .
Nur der Superuser darf Parameter setzen.
.br
.ne 12v
.SH "RCKGABEWERT"
Bei Erfolg gibt
.B adjtimex
den Wert von
.IR buf.status
zurck:
.PP
.RS
.nf
#define TIME_OK 0 /* Uhr synchronisiert */
#define TIME_INS 1 /* fge Schaltsekunde ein */
#define TIME_DEL 2 /* lsche Schaltsekunde */
#define TIME_OOP 3 /* Schaltsekunde in Betrieb */
#define TIME_BAD 4 /* Uhr nicht synchronisiert */
.fi
.RE
.PP
Im Fehlerfall gibt
.B adjtimex
\-1 zurck und setzt
.IR errno .
.SH FEHLER
.TP
.B EFAULT
.I buf
zeigt nicht auf beschreibbaren Speicher.
.TP
.B EPERM
.I buf.mode
ist nicht Null und der Benutzer ist nicht der Superuser.
.TP
.B EINVAL
Ein Versuch wurde unternommen
.I buf.offset
zu setzen auf einen Wert auerhalb des Bereichs von \-131071 bis +131071,
oder
.I buf.status
auf einen Wert zu setzen, der nicht oben aufgefhrt ist,
oder
.I buf.tick
auf einen Wert auerhalb des Bereichs von
.RB 900000/ HZ
bis
.RB 1100000/ HZ
zu setzen, wobei
.B HZ
die Systemtimerinterupfrequenz ist.
.SH "SIEHE AUCH"
.BR settimeofday (2).
|