A Question of How to Handle Numerical Notation

Chuck Swiger cswiger at mac.com
Fri Oct 6 10:52:13 PDT 2006


On Oct 6, 2006, at 4:26 AM, Martin McCormick wrote:
> 	Does anybody know what this notation is called?  Does an
> explanation of the algorithm exist in public so one can convert the
> strings that are part of the call manager output in to the unsigned
> ints that actually carry the right values?
>
> 	An example of the string in question looks like:
>
> "370A65FA-6965-4E40-A0DA-EC88DE6B"

That sure looks like a UUID, which may or may not encode valid time  
information.  See:

http://en.wikipedia.org/wiki/UUID
http://www.ietf.org/rfc/rfc4122.txt

4.1.4.  Timestamp

    The timestamp is a 60-bit value.  For UUID version 1, this is
    represented by Coordinated Universal Time (UTC) as a count of 100-
    nanosecond intervals since 00:00:00.00, 15 October 1582 (the date of
    Gregorian reform to the Christian calendar).

    For systems that do not have UTC available, but do have the local
    time, they may use that instead of UTC, as long as they do so
    consistently throughout the system.  However, this is not  
recommended
    since generating the UTC from local time only needs a time zone
    offset.

    For UUID version 3 or 5, the timestamp is a 60-bit value constructed
    from a name as described in Section 4.3.

    For UUID version 4, the timestamp is a randomly or pseudo-randomly
    generated 60-bit value, as described in Section 4.4.

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                          time_low                             |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |       time_mid                |         time_hi_and_version   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |clk_seq_hi_res |  clk_seq_low  |         node (0-1)            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                         node (2-5)                            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

-- 
-Chuck




More information about the freebsd-questions mailing list