english
version "1.0"
identify "%Z%%M% %I% %E%"

#: Copyright (c) 1994-2005 by Wayne C. Gramlich.
#, All rights reserved.

module time

#: The system module provides access to the high resolution timer.

define time
    external



procedure current_set@time
    takes
	time time
    returns_nothing
    external time__current_set

    #: This procedure will store the current time into {time}.



procedure nanoseconds_get@time
    takes
	time time
    returns unsigned
    external time__nanoseconds_get

    #: This procedure will return the nanoseconds field of {time].


procedure nanoseconds_set@time
    takes
	time time
	nanoseconds unsigned
    returns_nothing
    external time__nanoseconds_set

    #: This procedure will set the nanoseconds field of {time}
    #, to {nanoseconds}.


procedure allocate@time
    takes_nothing
    returns time
    external time__allocate

    #: This procedure will allocate and return a {time} object.



procedure print@time
    takes
	time time
	out_stream out_stream
    returns_nothing

    #: This procedure will output {time} to {out_stream}.


procedure seconds_get@time
    takes
	time time
    returns unsigned
    external time__seconds_get

    #: This procedure will return the seconds field of {time}.


procedure seconds_set@time
    takes
	time time
	seconds unsigned
    returns_nothing
    external time__seconds_set

    #: This procedure will set the seconds field of {time} to {seconds}.