History log of /haiku/headers/private/kernel/real_time_clock.h
Revision Date Author Comments
# 24df6592 11-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged signals-merge branch into trunk with the following changes:
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes #5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes #1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes #6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes #5682.
* Implemented support for thread cancellation. Closes #5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554.
* Lots over smaller more or less related changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dbe1e23a 16-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Optimised passing around of timezone a bit
* _kern_[sg]et_timezone() now accepts/passes out the timezone name, too
* adjust Time preflet and clockconfig to pass the timezone name into the kernel
when calling _kern_set_timezone()
* ajust implementation of tzset() to fetch the timezone name from the kernel
via _kern_get_timezone() instead of reading 'libroot_timezone_info'
* the Time preflet no longer writes 'libroot_timezone_info'


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bb7a098 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added missing 'void' to make the get_timezone_offset() declaration a proper
prototype and not just a forward


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37910 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0ea55e0 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added get_timezone_offset() to kernel, which returns the offset in seconds
* made FAT add-on use get_timezone_offset(), this time correctly adjusted for
the difference in units (minutes/seconds)
This makes the times in our FAT-fs agree with Linux again, at least :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37905 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e965f50 03-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

More consolidation of timezone code:
* dropped DaylightSavingTime from real_time_clock code in kernel, it was
never really being used for what it meant (and just being referred to by
gettimeofday(), which put a different meaning to it
* adjusted the syscalls get_timezone() & set_timezone() as well as their callers
accordingly
* got rid of get_rtc_info() and rtc_info struct in kernel, as it was only
being referred to by the FAT add-on and that one (like gettimeofday()) put a
different meaning to tz_minuteswest. Added a comment to FAT's util.c
showing a possible solution, should the hardcoded GMT timezone pose a problem.
* fixed declaration of gettimeofday() to match POSIX base specs, issue 7
* changed implementation of gettimeofday() to not bother trying to fill struct
timezone - it was using wrong values before, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37888 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96ac47e3 03-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Made some progress with consolidation of timezone-related code:
* renamed syscalls _kern_[gs]et_tzfilename
to _kern_[gs]et_real_time_clock_is_gmt, as the filename part is no longer
relevant (and the two corresponding parameters were removed)
* C++-ified and reworked clockconfig to use the info from 'Time settings'
to setup the timezone info during boot
* removed invocation of _kern_get_tzfilename() from tzset(), as the syscall
no longer exists and tzset() is currently broken anyway
* adjusted the Time preflet to use the renamed syscall when getting/setting
the RTC info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37881 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a0f39da 14-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Julun: time computations based on an algorithm by Fliegel,
and van Flandern (1968), instead of those inefficient loops we had before.
Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22557 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f46bdd1c 14-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added a _kern_get_timezone() syscall that can be used without needing to
re-evaluate the timezone file over and over.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9a5e605 03-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled the conversion between seconds since the epoche and the split up
(year, month,...) representation out of the x86 specific code and put
respective support functions into real_time_clock.c. We'll need those
for the PPC specific part too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15827 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5622a2e2 15-Dec-2004 Jérôme Duval <korli@users.berlios.de>

added get_rtc_info, needed in the kernel for services which use local timestamps such as the dos filesystem


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10463 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b50999c 28-Nov-2004 Jérôme Duval <korli@users.berlios.de>

reverted to rtc_boot_time


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10281 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d96fb11 26-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Moved _user_system_time() to real_time_clock.c.
Renamed _user_set_tzspecs() to _user_set_timezone().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0018ac6a 22-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added _user_get_tzfilename
renamed rtc_boot_time to rtc_system_time_offset


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10190 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4bbf2e49 22-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added _user_set_tzfilename
removed set_tzspecs, which was useless; now done in user_set_tzspecs


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10176 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35bec416 21-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added timezone_offset and dst_observed fields to real_time_data
added prototypes for set_tzspecs, used for setting these fields


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ce0cb43 05-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

The set_read_time_clock() syscall now returns a status_t to be able to
indicate failure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9699c529 28-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added the syscall for set_real_time_clock().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5187 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6cb2b86 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

rtc_set_system_time() is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5146 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a34e8cc3 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Applied our style guide, made the headers C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2218f79e 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added real-time clock support written by Jeff Ward (for the kernel).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5137 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 24df65921befcd0ad0c5c7866118f922da61cb96 11-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Merged signals-merge branch into trunk with the following changes:
* Reorganized the kernel locking related to threads and teams.
* We now discriminate correctly between process and thread signals. Signal
handlers have been moved to teams. Fixes #5679.
* Implemented real-time signal support, including signal queuing, SA_SIGINFO
support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition
of the real-time signal range. Closes #1935 and #2695.
* Gave SIGBUS a separate signal number. Fixes #6704.
* Implemented <time.h> clock and timer support, and fixed/completed alarm() and
[set]itimer(). Closes #5682.
* Implemented support for thread cancellation. Closes #5686.
* Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554.
* Lots over smaller more or less related changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dbe1e23aa87ced2603074f6e4eaca2c4d99cf971 16-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Optimised passing around of timezone a bit
* _kern_[sg]et_timezone() now accepts/passes out the timezone name, too
* adjust Time preflet and clockconfig to pass the timezone name into the kernel
when calling _kern_set_timezone()
* ajust implementation of tzset() to fetch the timezone name from the kernel
via _kern_get_timezone() instead of reading 'libroot_timezone_info'
* the Time preflet no longer writes 'libroot_timezone_info'


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6bb7a098b75db8f0541f2bd3e4383022671d1092 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added missing 'void' to make the get_timezone_offset() declaration a proper
prototype and not just a forward


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37910 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0ea55e0a087e09e68581bdf2de7521ed87f33b5 04-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* added get_timezone_offset() to kernel, which returns the offset in seconds
* made FAT add-on use get_timezone_offset(), this time correctly adjusted for
the difference in units (minutes/seconds)
This makes the times in our FAT-fs agree with Linux again, at least :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37905 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7e965f506df723e0253980218bc3ce819b7736e4 03-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

More consolidation of timezone code:
* dropped DaylightSavingTime from real_time_clock code in kernel, it was
never really being used for what it meant (and just being referred to by
gettimeofday(), which put a different meaning to it
* adjusted the syscalls get_timezone() & set_timezone() as well as their callers
accordingly
* got rid of get_rtc_info() and rtc_info struct in kernel, as it was only
being referred to by the FAT add-on and that one (like gettimeofday()) put a
different meaning to tz_minuteswest. Added a comment to FAT's util.c
showing a possible solution, should the hardcoded GMT timezone pose a problem.
* fixed declaration of gettimeofday() to match POSIX base specs, issue 7
* changed implementation of gettimeofday() to not bother trying to fill struct
timezone - it was using wrong values before, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37888 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 96ac47e3126d4001093b745baf4b3d8f31636314 03-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

Made some progress with consolidation of timezone-related code:
* renamed syscalls _kern_[gs]et_tzfilename
to _kern_[gs]et_real_time_clock_is_gmt, as the filename part is no longer
relevant (and the two corresponding parameters were removed)
* C++-ified and reworked clockconfig to use the info from 'Time settings'
to setup the timezone info during boot
* removed invocation of _kern_get_tzfilename() from tzset(), as the syscall
no longer exists and tzset() is currently broken anyway
* adjusted the Time preflet to use the renamed syscall when getting/setting
the RTC info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37881 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6a0f39da22afb7ba28d499af4bd672b7456de8be 14-Oct-2007 Axel Dörfler <axeld@pinc-software.de>

Applied patch by Julun: time computations based on an algorithm by Fliegel,
and van Flandern (1968), instead of those inefficient loops we had before.
Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22557 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f46bdd1c9ada5b6bc8641a6ef74c870c9eb26421 14-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Added a _kern_get_timezone() syscall that can be used without needing to
re-evaluate the timezone file over and over.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16785 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9a5e6050f56c3a112af440aa9009c9cba05d782 03-Jan-2006 Ingo Weinhold <ingo_weinhold@gmx.de>

Pulled the conversion between seconds since the epoche and the split up
(year, month,...) representation out of the x86 specific code and put
respective support functions into real_time_clock.c. We'll need those
for the PPC specific part too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15827 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5622a2e2c58d8e3aebbca99e213fb4999f6c9a8e 15-Dec-2004 Jérôme Duval <korli@users.berlios.de>

added get_rtc_info, needed in the kernel for services which use local timestamps such as the dos filesystem


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10463 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b50999cc70b1590f3bd152ec011a30d0983ce4b 28-Nov-2004 Jérôme Duval <korli@users.berlios.de>

reverted to rtc_boot_time


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10281 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d96fb1167a7baa5a24dadc1b5ee8de6bcd5ace7 26-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

Moved _user_system_time() to real_time_clock.c.
Renamed _user_set_tzspecs() to _user_set_timezone().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10252 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0018ac6a376f3fda41eb416b3c350408104e3605 22-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added _user_get_tzfilename
renamed rtc_boot_time to rtc_system_time_offset


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10190 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4bbf2e4987a8f181ca5434ae25690338e2d9c0d3 22-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added _user_set_tzfilename
removed set_tzspecs, which was useless; now done in user_set_tzspecs


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10176 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35bec416bb765f3a8968bbf21c899e10a8a5e49a 21-Nov-2004 Jérôme Duval <korli@users.berlios.de>

added timezone_offset and dst_observed fields to real_time_data
added prototypes for set_tzspecs, used for setting these fields


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4ce0cb439aad614aef667cbcef357ffd50395de1 05-Nov-2004 Axel Dörfler <axeld@pinc-software.de>

The set_read_time_clock() syscall now returns a status_t to be able to
indicate failure.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@9803 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9699c5299243829af22c00de696895b826575a7e 28-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added the syscall for set_real_time_clock().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5187 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f6cb2b865ea8a14baae8b4c066d29d832f92c423 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

rtc_set_system_time() is no longer needed.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5146 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a34e8cc39f95dc493b974a8a5281d6b98c6f40a2 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Applied our style guide, made the headers C++ safe.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5139 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2218f79ede8a20a312982a6a78497683c75dbeae 24-Oct-2003 Axel Dörfler <axeld@pinc-software.de>

Added real-time clock support written by Jeff Ward (for the kernel).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5137 a95241bf-73f2-0310-859d-f6bbb57e9c96