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 139 140 141
|
.\" 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 15 Dec 1995 Miguel A. Sepulveda (miguel@typhoon.harvard.edu)
.\" Modified 30 Jun 1996 Miguel A. Sepulveda (angel@vivaldi.princeton.edu)
.\" Modified Wed Jul 30 14:25:16 1997 by Paul Slootman <paul@wurtel.demon.nl>
.\" Translation revised 25 April 1998 by Juan Piernas <pierans@dif.um.es>
.\"
.TH ADJTIMEX 2 "30 Julio 1997" "Linux 2.0" "Manual del Programador de Linux"
.SH NOMBRE
adjtimex \- ajusta el reloj del ncleo
.SH SINOPSIS
.B #include <sys/timex.h>
.sp
.BI "int adjtimex(struct timex *" "buf" ");"
.SH DESCRIPCIN
Linux usa el algoritmo de
David L. Mills para ajustar el reloj.
.B adjtimex
lee y opcionalmente prepara parmetros de ajuste para dicho algoritmo.
.PP
.B adjtimex
toma un indicador a una estructura
.I timex
, actualiza los parmetros del ncleo a partir de los valores de los campos,
y devuelve la misma estructura con los valores actuales del ncleo.
Esta estructura se declara como sigue a continuacin:
.PP
.nf
struct timex
{
int modes; /* selector de modo*/
long offset; /* ajuste de la hora (usec) */
long freq; /* ajuste de la frecuencia (ppm escalada) */
long maxerror; /* error mximo (usec) */
long esterror; /* error estimado (usec) */
int status; /* comando/estado del reloj*/
long constant; /* pll constante de tiempo */
long precision; /* precisin del reloj(usec) (slo lectura) */
long tolerance; /* tolerancia de la frecuencia del reloj (ppm)
(slo lectura) */
struct timeval time; /* hora actual (slo lectura) */
long tick; /* usecs entre ticks del reloj */
};
.fi
.RS
.RE
.PP
El campo
.I modes
determina que parmetros sern asignados, si es que hay alguno.
Puede contener una combinacin (mediante una
.RI operacin- O
lgica) de cero o ms elementos de la lista siguiente:
.PP
.nf
#define ADJ_OFFSET 0x0001 /* ajuste de la hora */
#define ADJ_FREQUENCY 0x0002 /* ajuste de la frecuencia */
#define ADJ_MAXERROR 0x0004 /* error mximo de la hora*/
#define ADJ_ESTERROR 0x0008 /* error estimado de la hora */
#define ADJ_STATUS 0x0010 /* estado del reloj */
#define ADJ_TIMECONST 0x0020 /* pll constante de tiempo */
#define ADJ_TICK 0x4000 /* valor tick*/
#define ADJ_OFFSET_SINGLESHOT 0x8001 /* ajuste de hora; mtodo antiguo */
.fi
.RS
.RE
.PP
Los usuarios comunes slo puede utilizar un valor cero para
.IR mode .
nicamente el superusuario puede asignar un valor a un parmetro.
.br
.ne 12v
.SH "VALOR DEVUELTO"
En caso de xito,
.B adjtimex
devuelve el estado del reloj:
.PP
.RS
.nf
#define TIME_OK 0 /* reloj sincronizado */
#define TIME_INS 1 /* insertar segundo de salto */
#define TIME_DEL 2 /* borrar segundo de salto */
#define TIME_OOP 3 /* segundo de salto en progreso */
#define TIME_WAIT 4 /* se ha producido un segundo de salto */
#define TIME_BAD 5 /* reloj no sincronizado */
.fi
.RE
.PP
En caso de fallo,
.B adjtimex
regresa \-1 y asigna un valor apropiado a
.IR errno .
.SH ERRORES
.TP
.B EFAULT
.I buf
no apunta a una zona de memoria escribible.
.TP
.B EPERM
.I buf.mode
no es cero y el usuario no es el superusuario.
.TP
.B EINVAL
Se ha hecho un intento de asignar a
.I buf.offset
un valor fuera del intervalo \-131071 a +131071,
o de asignar a
.I buf.status
un valor no contenido en la lista anteriormente discutida,
o de asignar a
.I buf.tick
un valor fuera del intervalo
.RB 900000/ HZ
a
.RB 1100000/ HZ ,
donde
.B HZ
es la frecuencia de interrupcin del reloj del sistema.
.SH "VASE TAMBIN"
.BR settimeofday (2).
|