Section: Manual del Programador de Linux (2)
Updated: 30 julio 1997
Index Return to Main
Contents
adjtimex - ajusta el reloj del núcleo
int adjtimex(struct timex *buf);
Linux usa el algoritmo de David L. Mills para ajustar el reloj. adjtimex lee y opcionalmente prepara parámetros de ajuste para dicho algoritmo.
adjtimex toma un indicador a una estructura timex , actualiza los parámetros del núcleo a partir de los valores de los campos, y devuelve la misma estructura con los valores actuales del núcleo. Esta estructura se declara como sigue a continuación:
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 máximo (usec) */ long esterror; /* error estimado (usec) */ int status; /* comando/estado del reloj*/ long constant; /* pll constante de tiempo */ long precision; /* precisión del reloj(usec) (sólo lectura) */ long tolerance; /* tolerancia de la frecuencia del reloj (ppm) (sólo lectura) */ struct timeval time; /* hora actual (sólo lectura) */ long tick; /* usecs entre ticks del reloj */ };
El campo modes determina que parámetros serán asignados, si es que hay alguno. Puede contener una combinación (mediante una operación-O lógica) de cero o más elementos de la lista siguiente:
#define ADJ_OFFSET 0x0001 /* ajuste de la hora */ #define ADJ_FREQUENCY 0x0002 /* ajuste de la frecuencia */ #define ADJ_MAXERROR 0x0004 /* error máximo 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; método antiguo */
Los usuarios comunes sólo puede utilizar un valor cero para
mode. Únicamente el superusuario puede asignar un valor a un
parámetro.
En caso de éxito, adjtimex devuelve el estado del reloj:
#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 */
En caso de fallo, adjtimex regresa -1 y asigna un valor apropiado a errno.
(2)
This document was created by man2html, using
the manual pages.
Time: 06:16:20 GMT, January 22, 2005