VMS Help  —  DECdts  utc_addtime
    Computes the sum of two binary timestamps; the timestamps can be
    two relative times or a relative time and an absolute time.

    Format

      #include <utc.h>

      int utc_addtime(result, *utc1, *utc2)

         utc_t result;
         const utc_t *utc1;
         const utc_t *utc2;

1  –  Parameters

    Input

 utc1

    Binary timestamp or relative binary timestamp.

 utc2

    Binary timestamp or relative binary timestamp.

    Output

 result

    Resulting binary timestamp or relative binary timestamp,
    depending on the operation performed:

    o  relative time + relative time = relative time

    o  absolute time + relative time = absolute time

    o  relative time + absolute time = absolute time

    o  absolute time + absolute time is undefined. See NOTES.

2  –  Description

    The Add Time routine adds two binary timestamps, producing a
    third binary timestamp whose inaccuracy is the sum of the two
    input inaccuracies. One or both of the input timestamps typically
    represent a relative (delta) time. The TDF in the first input
    timestamp is copied to the output.

3  –  Notes

    Although no error is returned, do not use the combination
    absolute time + absolute time.

4  –  Returns

     0   Indicates that the routine executed successfully.
    -1   Indicates an invalid time parameter or invalid results.

5  –  Example

    The following example shows how to compute a timestamp that
    represents a time at least 5 seconds in the future.

    utc_t               now, future, fivesec;
    reltimespec_t       tfivesec;
    timespec_t          tzero;

    /*
     *   Construct a timestamp that represents 5 seconds...
     */
    tfivesec.tv_sec = 5;
    tfivesec.tv_nsec = 0;
    tzero.tv_sec = 0;
    tzero.tv_nsec = 0;
    utc_mkbinreltime(&fivesec, /* Out: 5 secs in binary timestamp */
                    &tfivesec, /* In:  5 secs in timespec         */
                    &tzero);   /* In:  0 secs inaccuracy in timespec */

    /*
     *  Get the maximum possible current time...
     *  (NULL input parameter is used to specify the current time.)
     */
    utc_pointtime((utc_t *)0, /* Out: Earliest possible current time */
                 (utc_t *)0, /* Out: Midpoint of current time       */
                 &now,       /* Out: Latest possible current time   */
                 (utc_t *)0);/* In:  Use current time               */

    /*
     *   Add 5 seconds to get future timestamp...
     */
    utc_addtime(&future,     /* Out: Future binary timestamp        */
                &now,        /* In:  Latest possible time now       */
                &fivesec);   /* In:  5 secs                         */

6  –  Related Functions

    utc_subtime
Close Help