GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
leapsecs(3) FreeBSD Library Functions Manual leapsecs(3)

leapsecs - handle UTC leap seconds

#include <leapsecs.h>

int leapsecs_sub(&t);
void leapsecs_add(&t,hit);

int leapsecs_read();
int leapsecs_init();

struct tai t;
int hit;

leapsecs_sub changes a seconds-since-epoch count into a non-leap-seconds-since-epoch count. It interprets t as a TAI64 label, subtracts from t the number of leap seconds that have occurred before or at t, and places the result back into t.

leapsecs_sub returns 1 if t was a leap second, 0 otherwise.

leapsecs_add reverses the effect of leapsecs_sub. hit must be 1 for a leap second, 0 otherwise.

The current implementation of leapsecs_sub and leapsecs_add uses a leap-second table read from disk.

leapsecs_read reads the leap-second table from /usr/local/etc/leapsecs.dat. It returns 0 on success, -1 on error. If /usr/local/etc/leapsecs.dat does not exist, leapsecs_read treats it as an empty file.

leapsecs_init is a one-time version of leapsecs_read. Initially it is the same as leapsecs_read; however, once leapsecs_read returns 0, leapsecs_init will always return 0 without calling leapsecs_read again.

leapsecs_add and leapsecs_sub call leapsecs_init. WARNING: If leapsecs_init returns failure, leapsecs_add and leapsecs_sub will proceed without a leap-second table. For reliability, all programs should call leapsecs_init at startup and check for errors.

WARNING: New entries are added to the leap-second table on disk every 12 to 18 months. leapsecs_read may be called repeatedly. It leaves the old table alone on error. For reliability, all long-running programs should call leapsecs_read at least once every month.

tai(3)

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.