time.c 412 B

12345678910111213141516171819202122232425262728
  1. /*
  2. * Copyright (c) 2021 Golioth, Inc.
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include <time.h>
  7. /* clock_gettime() prototype */
  8. #include <posix/time.h>
  9. time_t time(time_t *tloc)
  10. {
  11. struct timespec ts;
  12. int ret;
  13. ret = clock_gettime(CLOCK_REALTIME, &ts);
  14. if (ret < 0) {
  15. /* errno is already set by clock_gettime */
  16. return (time_t) -1;
  17. }
  18. if (tloc) {
  19. *tloc = ts.tv_sec;
  20. }
  21. return ts.tv_sec;
  22. }