summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/bits/kernel_stat.h
AgeCommit message (Collapse)Author
2024-03-01libc: Remove 32bit timespec structures everywhere.Dmitry Chestnykh
With time64 enabled we use statx() system call and the appropriate routines for results conversion. There is no need in `__ts32_struct` anymore. Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
2024-02-26Refactor `ts32_struct` and `TO_ITS64_P`.Dmitry Chestnykh
- Renamed `ts32_struct` to `__ts32_struct` like `__ts64_struct` and moved its definition to the header. - Removed extra space from TO_ITS64_P() macro. Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
2024-02-22Introduce time64 support.Dmitry Chestnykh
This patch introduces *time64 syscalls support for uClibc-ng. Currently the redirection of syscalls to their *time64 analogs is fully supported for 32bit ARM (ARMv5, ARMv6, ARMv7). The main changes that take effect when time64 feature is enabled are: - sizeof(time_t) is 8. - There is a possibility os setting date beyond year 2038. - some syscalls are redirected: clock_adjtime -> clock_adjtime64 clock_getres -> clock_getres_time64 clock_gettime -> clock_gettime64 clock_nanosleep -> clock_nanosleep_time64 clock_settime -> clock_settime64 futex -> futex_time64 mq_timedreceive -> mq_timedreceive_time64 mq_timedsend -> mq_timedsend_time64 ppoll -> ppoll_time64 pselect6 -> pselect6_time64 recvmmsg -> recvmmsg_time64 rt_sigtimedwait -> rt_sigtimedwait_time64 sched_rr_get_interval -> sched_rr_get_interval_time64 semtimedop -> semtimedop_time64 timer_gettime -> timer_gettime64 timer_settime -> timer_settime64 timerfd_gettime -> timerfd_gettime64 timerfd_settime -> timerfd_settime64 utimensat -> utimensat_time64. - settimeofday uses clock_settime (like in glibc/musl). - gettimeofday uses clock_gettime (like in glibc/musl). - nanosleep uses clock_nanosleep (like in glibc/musl). - There are some fixes in data structures used by libc and kernel for correct data handling both with and without enabled time64 support. Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
2020-07-02Rename __unused struct members to include a namespaceEd Wildgoose
Rename various spare fields in structs to include a namespace This should avoid accidental clashes with uses of the __unused symbol in upstream projects. eg currently it causes a compile error in dhcpcd 8.x due to their re-use of the __unused symbol as a macro This follows the style of glibc which does something equivalent
2011-03-09bits/kernel_stat.h: no need for _LIBC guard, the file is not installed on targetPeter S. Mazinger
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
2009-07-26enable nanosecond stat support for everyoneMike Frysinger
Fill out the stat structure so that the nanosecond resolution support is always available. There is a small code size increase for a few ports (three additional assignments in xstatconv), but otherwise everything should remain the same. While we're here, punt __old_kernel_stat from the few headers that still define it as it is unused in uClibc and causes compile errors after these nanosecond changes. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-03-03mknod: widen the parameters to match kernelDenis Vlasenko
ustat: same, + remove superfluous "conversion" which does nothing at best, loses high dev bits at worst i386/bits/kernel_stat.h: update to reflect reality (wider dev_t) h8300/bits/kernel_stat.h: same arm/bits/kernel_stat.h: cosmetics to match kernel header to the letter
2008-07-23- trim any trailing whitespaceBernhard Reutner-Fischer
2007-03-08Sync kernel_stat64 with kernel. Thanks to Daniel Jacobowitz for hints.Khem Raj
2006-12-06bits/kernel_stat.h is for internal uClibc use only, fix a few otherEric Andersen
minor include file issues
2006-06-24Update ARM EABI kernel interface due to layout and size of struct stat64."Steven J. Hill"
2005-07-29remove outdated comment and announce support for nanosecondsMike Frysinger
2005-07-17rip out previous armeb old-stat abi compat code since arm linux opinion is ↵Mike Frysinger
that the old stat.h abi was for little endian only ... people should use this patch to fix their armeb kernels: http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=863/1
2005-07-16make sure the stat64 struct is packed to prevent further ABI headaches as ↵Mike Frysinger
done in mainline 2.6
2005-07-16with the help of John Bowler, track down the ugly ABI change between 2.4 / ↵Mike Frysinger
2.6 on big endian arm kernels and work around it best we can at runtime
2005-07-04import armeb fixes as outlined by John BowlerMike Frysinger
2005-06-25whitespace tweak, dont mind meMike Frysinger
2005-06-11change the old pads to the new nano sec fieldsMike Frysinger
2003-01-24Finish up fixing stat and setting various system types.Eric Andersen
2003-01-24Ok, people are probably going to hate me for this... This commit changes theEric Andersen
type of 'struct stat' and 'struct stat64' so they use consistant types. This change is the result of a bug I found while trying to use GNU tar. The problem was caused by our using kernel types within struct stat and trying to directly compare these values with standard types. Trying an 'if (a < b)' when 'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results then when comparing entities of the same type (i.e. time_t values).... Grumble. Nasty stuff, but I'm glad I got this out of the way now. As a result of this fix, uClibc 0.9.17 will not be binary compatible with earlier releases. I have always warned people this can and will happen. -Erik
2002-08-25Finish off the bits/kernel_stat.h cleanup for properEric Andersen
__USE_FILE_OFFSET64 handling. -Erik
2002-08-23Split out the definition of struct stat into the new archEric Andersen
specific bits/kernel_stat.h file. -Erik