Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ utc_mkreltime(3dts) — DCE 3.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

utc_mkreltime(3dts)  —  Subroutines

Name

utc_mkreltime - Converts a tm structure that expresses relative time to a relative binary timestamp

Synopsis

#include <dce/utc.h> int utc_mkreltime(
utc_t ∗utc,
struct tm ∗timetm,
long tns,
struct tm ∗inacctm,
long ins);

Parameters

Input

timetmA tm structure that expresses a relative time.  On input, tm_wday and tm_yday are ignored; the value of tm_isdst should be -1. 

tnsNanoseconds since the time component. 

inacctmA tm structure that expresses seconds of inaccuracy.  If a null pointer is passed, or if tm_yday is negative, the inaccuracy is considered to be unspecified.  On input, tm_mday, tm_mon, tm_year, tm_wday, tm_isdst, and tm_zone are ignored. 

insNanoseconds of the inaccuracy component. 

Output

utcResulting relative binary timestamp. 

Description

The utc_mkreltime() routine converts a tm structure that expresses relative time to a relative binary timestamp.  Additional inputs include nanoseconds since the last second of time and nanoseconds of inaccuracy. 

Return Values

 0Indicates that the routine executed successfully. 

-1Indicates an invalid time argument or invalid results. 

Examples

The following example converts the relative time 125-03:12:30.1I120.25 to a relative binary timestamp. 

utc_t       utc;
struct tm   tmtime,tminacc;
long        tnsec,insec;
     /∗ Fill in the fields
     ∗/
    memset((void ∗)&tmtime,0,sizeof(tmtime));
    tmtime.tm_mday = 125;
    tmtime.tm_hour = 3;
    tmtime.tm_min  = 12;
    tmtime.tm_sec  = 30;
    tnsec = 100000000;     /∗ .1 ∗ 1.0E9 ∗/
     memset((void ∗)&tminacc,0,sizeof(tminacc));
    tminacc.tm_sec = 120;
    tnsec = 250000000;     /∗ .25 ∗ 1.0E9 ∗/
 /∗ Convert to a relative binary timestamp...
 ∗/
utc_mkreltime(&utc,       /∗ Out: Resultant relative binary timestamp ∗/
              &tmtime,    /∗ In:  tm struct that represents input     ∗/
              tnsec,      /∗ In:  Nanoseconds from input              ∗/
              &tminacc,   /∗ In:  tm struct that represents inacc     ∗/
              insec);     /∗ In:  Nanoseconds from input              ∗/

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026