time.c
上传用户:nvosite88
上传日期:2007-01-17
资源大小:4983k
文件大小:1k
源码类别:

VxWorks

开发平台:

C/C++

  1. /* time.c - time file for time */
  2. /* Copyright 1992-1993 Wind River Systems, Inc. */
  3. /*
  4. modification history
  5. --------------------
  6. 01c,05feb93,jdi  documentation cleanup for 5.1.
  7. 01b,20sep92,smb  documentation additions
  8. 01a,25jul92,smb  written.
  9. */
  10. /*  
  11. DESCRIPTION  
  12.   
  13. INCLUDE FILE: time.h
  14.    
  15. SEE ALSO: American National Standard X3.159-1989 
  16. NOMANUAL
  17. */
  18. #include "vxWorks.h"
  19. #include "time.h"
  20. #include "timers.h"
  21. /****************************************************************************
  22. *
  23. * time - determine the current calendar time (ANSI)
  24. *
  25. * This routine returns the implementation's best approximation of current
  26. * calendar time in seconds.  If <timer> is non-NULL, the return value is
  27. * also copied to the location <timer> points to.
  28. *
  29. * INTERNAL
  30. * Uses the POSIX clockLib functions.
  31. * Does this return the number of seconds since the BOARD was booted?
  32. *
  33. * INCLUDE FILES: time.h
  34. *
  35. * RETURNS:
  36. * The current calendar time in seconds, or ERROR (-1) if the calendar time
  37. * is not available.
  38. *
  39. * SEE ALSO: clock_gettime()
  40. */
  41.  
  42. time_t time
  43.     (
  44.     time_t *timer /* calendar time in seconds */
  45.     )
  46.     {
  47.     struct timespec tp;
  48.     if (clock_gettime (CLOCK_REALTIME, &tp) == 0)
  49. {
  50. if (timer != NULL)
  51.     *timer = (time_t) tp.tv_sec;
  52. return (time_t) (tp.tv_sec);
  53. }
  54.     else
  55. return (time_t) (ERROR);
  56.     }