os/ossrv/genericopenlibs/openenvcore/include/sys/time.dosc
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     1 /** @file  ../include/sys/time.h
     2 @internalComponent
     3 */
     4 
     5 /** @fn  adjtime(const struct timeval *delta, struct timeval *olddelta)
     6 @param delta
     7 @param olddelta
     8 @return   A successful call will return 0 while a failure will return -1
     9 
    10  
    11 
    12  The adjtime system call makes small adjustments to the system time (as 
    13   returned by gettimeofday ) by advancing it the amount 
    14   specified by the timeval delta .
    15 
    16  If delta is negative, the clock is still incremented by the positive of 
    17   delta until the correction is complete. Thus, the time is always a monotonically 
    18   increasing function and time correction from an earlier call to adjtime might not have finished when adjtime is called again. In such cases the structure pointed to by olddelta will contain, upon return, the number of microseconds still 
    19   to be corrected from the earlier call. Otherwise the values will be set to 0
    20 
    21  This call may be used by time servers that synchronize the clock.
    22 
    23 Examples:
    24 @code
    25 #include <sys/time.h>
    26 #include <stdio.h>
    27 int main()
    28 {
    29         //Fill the input struct with 100 microseconds
    30         const struct timeval delta = {0, 100};
    31         struct timeval  olddelta;
    32         int retval;
    33         retval = adjtime (&delta;, &olddelta;); //Call adjtime
    34         printf("adjtime returned %d",retval);
    35         return 0;
    36 }
    37 
    38 @endcode
    39  Output
    40 @code
    41 adjtime returned 0
    42 
    43 @endcode
    44 @see gettimeofday()
    45 
    46 
    47  
    48 
    49 @publishedAll
    50 @externallyDefinedApi
    51 */
    52 
    53 /** @fn  gettimeofday(struct timeval *tp, struct timezone *tzp)
    54 @param tp
    55 @param tzp
    56 @return   The gettimeofday function returns 0 for success, or -1  for  failure.
    57 
    58   The system's notion of the current Greenwich time and the current time
    59 zone is obtained with the gettimeofday system call, and set with the settimeofday system call.
    60 The time is expressed in seconds and microseconds
    61 since midnight (0 hour), January 1, 1970.
    62 The resolution of the system
    63 clock is hardware dependent, and the time may be updated continuously or
    64 in "ticks."
    65 If tp or tzp is NULL, the associated time
    66 information will not be returned or set.
    67 
    68  The structures pointed to by tp and tzp are defined in \#include \<sys/time.h\> as:
    69 
    70 @code
    71 struct timeval {
    72 longtv_sec;/* seconds since Jan. 1, 1970 */
    73 longtv_usec;/* and microseconds */
    74 };
    75 @endcode
    76 
    77 @code
    78 struct timezone {
    79 inttz_minuteswest; /* minutes west of Greenwich */
    80 inttz_dsttime;/* type of dst correction */
    81 };
    82 @endcode
    83 
    84  The timezone structure indicates the local time zone (measured in minutes of time 
    85   westward from Greenwich) and a flag that, if nonzero, indicates that Daylight 
    86   Saving time applies locally during the appropriate part of the year.
    87 
    88 Examples:
    89 @code
    90 #include <stdio.h>
    91 #include <sys/time.h>
    92  
    93 int main()
    94 {
    95   struct timeval *tv;
    96   struct timezone *tz;
    97   int i = gettimeofday(tv, tz);
    98       
    99   printf("tv: %d, %d", tv->tv_sec, tv->tv_usec);
   100   printf("tz: %d, %d", tz->tz_minuteswest, tz->tz_dsttime);
   101   return 0;
   102 }
   103 
   104 @endcode
   105  Output
   106 @code
   107 tv: 1474660693, -326937770
   108 tz: 7804688, 3
   109 
   110 @endcode
   111 @see adjtime()
   112 @see clock_gettime()
   113 @see ctime()
   114 
   115 
   116  
   117 
   118 @publishedAll
   119 @externallyDefinedApi
   120 */
   121 
   122 /** @fn  utimes(const char *filename, const struct timeval *tvp)
   123 @param filename
   124 @param tvp
   125 
   126 Note: This description also covers the following functions -
   127  lutimes()  futimes() 
   128 
   129 @return   Upon successful completion, the value 0 is returned; otherwise the
   130 value -1 is returned and the global variable errno is set to indicate the
   131 error.
   132 
   133   The utimes function sets the access and modification times of the file pointed 
   134 to by the path argument to the value of the times argument.
   135  The utimes function allows time specifications accurate to the microsecond.
   136 
   137  For utimes , the times argument is an array of timeval structures. The first array 
   138   member represents the date and time of last access and the second member represents the date and time of last modification. 
   139   The times in the timeval structure are measured in seconds and microseconds since the Epoch, although rounding toward 
   140   the nearest second may occur.
   141 
   142  If the times argument is a null pointer, the access and modification times 
   143   of the file are set to the current time.
   144 
   145 Examples:
   146 @code
   147 /*  Detailed description: Sample usage of utimes system call.
   148  *  Preconditions: Example.txt file should exist in the working directory
   149  */
   150 #include <sys/types.h>
   151 #include <utime.h>
   152 #include <sys/time.h>
   153 int main()
   154 {
   155   struct timeval Tim[1] ;
   156  Tim[0].tv_sec = 0 ;
   157  Tim[0].tv_usec = 0 ;
   158   if(utimes("Example.txt"  , Tim) < 0 )
   159   {
   160      printf("Utimes system call failed") ;
   161      return -1 ;
   162   }
   163   printf("Utimes call succeded") ;
   164  return 0 ;
   165 }
   166 
   167 @endcode
   168 @see stat()
   169 @see utime()
   170 
   171 
   172 
   173 @capability Deferred @ref RFs::SetModified(const TDesC16&, const TTime&)
   174 
   175 @publishedAll
   176 @externallyDefinedApi
   177 */
   178 
   179 
   180 /** @fn bintime_addx(struct bintime *bt, uint64_t x)
   181 
   182 Static inline funtion. Function for reading the time.
   183 
   184 @publishedAll
   185 @released
   186 */
   187 
   188 /** @fn  bintime_add(struct bintime *bt, const struct bintime *bt2)
   189 
   190 Static inline funtion. Function for reading the time.
   191 
   192 @publishedAll
   193 @released
   194 */
   195 
   196 /** @fn  bintime_sub(struct bintime *bt, const struct bintime *bt2)
   197 
   198 Static inline funtion. Function for reading the time.
   199 
   200 @publishedAll
   201 @released
   202 */
   203 
   204 
   205 /** @fn bintime2timespec(const struct bintime *bt, struct timespec *ts)
   206 
   207 Static inline funtion
   208 
   209 @publishedAll
   210 @released
   211 */
   212 
   213 /** @fn  timespec2bintime(const struct timespec *ts, struct bintime *bt)
   214 
   215 Static inline funtion
   216 
   217 @publishedAll
   218 @released
   219 */
   220 
   221 /** @fn  bintime2timeval(const struct bintime *bt, struct timeval *tv)
   222 
   223 Static inline funtion
   224 
   225 @publishedAll
   226 @released
   227 */
   228 
   229 
   230 /** @fn timeval2bintime(const struct timeval *tv, struct bintime *bt)
   231 
   232 Static inline funtion
   233 
   234 @publishedAll
   235 @released
   236 */
   237 
   238 /** @struct itimerval 
   239 
   240 Includes the following members,
   241 
   242 @publishedAll
   243 @externallyDefinedApi
   244 */
   245 
   246 /** @var itimerval::it_interval
   247 timer interval
   248 */
   249 
   250 /** @var itimerval::it_value
   251 current value 
   252 */
   253 
   254 /** @struct clockinfo 
   255 
   256 Getkerninfo clock information structure
   257 
   258 @publishedAll
   259 @externallyDefinedApi
   260 */
   261 
   262 /** @var clockinfo::hz
   263 clock frequency 
   264 */
   265 
   266 /** @var clockinfo::tick
   267 micro-seconds per hz tick
   268 */
   269 
   270 /** @var clockinfo::spare
   271 current value 
   272 */
   273 
   274 /** @var clockinfo::stathz
   275 statistics clock frequency
   276 */
   277 
   278 /** @var clockinfo::profhz
   279 profiling clock frequency
   280 */
   281 
   282 
   283 
   284