home *** CD-ROM | disk | FTP | other *** search
- /*____________________________________________________________________________*\
- *
-
- Copyright (c) 1997 John Roy. All rights reserved.
-
- These sources, libraries and applications are
- FREE FOR COMMERCIAL AND NON-COMMERCIAL USE
- as long as the following conditions are adhered to.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- 3. Redistributions of any form whatsoever and all advertising materials
- mentioning features must contain the following
- acknowledgment:
- "This product includes software developed by John Roy
- (http://www.johnroy.com/pi3/)."
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- IN NO EVENT SHALL THE AUTHORS OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGE.
-
- *____________________________________________________________________________*|
- *
- * $Source: PITimer.h$
- * $Date: Sun Aug 10 06:29:39 1997$
- *
- Description:
- Definition of timer functions.
- \*____________________________________________________________________________*/
- /* $HeaderTop:$ */
-
- #ifndef PITIMER_H_
- #define PITIMER_H_
-
- #include "PiAPI.h"
- #include "PISync.h"
- #include "PIThread.h"
-
- /*____________________________________________________________________________*\
- *
- Typedefs:
- \*____________________________________________________________________________*/
- typedef struct Timer PITimer;
-
- /*____________________________________________________________________________*\
- *
- Name:
- PITimer_new
-
- Synopsis:
- PITimer *PITimer_new()
-
- Description:
- Allocates and returns a pointer to a new timer object.
-
- Notes:
- Timer internals and API functions support microsecond resolution, however,
- most operating systems will not support this granularity. Actual
- timer resolution is operating system dependant.
-
- Return Values:
- Returns a pointer to a new Timer object.
-
- Errors:
- On error PITimer_new() returns NULL. The function
- PITimer_getLastError() can be used to get more specific
- error information.
-
- See Also:
- PITimer_delete()
- \*____________________________________________________________________________*/
- PUBLIC_PIAPI PITimer *PITimer_new();
-
- /*____________________________________________________________________________*\
- *
- Name:
- PITimer_reset
-
- Synopsis:
- int PITimer_reset( PITimer *pTimer )
-
- Description:
- Reset the timer to 0 seconds and 0 microseconds.
-
- Notes:
- Return Values:
- Returns PIAPI_COMPLETED on success.
-
- Errors:
- On error PIAPI_ERROR is returned. The function PITimer_getLastError()
- returns more specific error information.
-
- See Also:
- PITimer_elapsed()
- \*____________________________________________________________________________*/
- PUBLIC_PIAPI int PITimer_reset( PITimer *pTimer );
-
- /*____________________________________________________________________________*\
- *
- Name:
- PITimer_elapsed
-
- Synopsis:
- int PITimer_elapsed( PITimer *pTimer, long *plSeconds,
- long *plMicroSeconds )
-
- Description:
- Returns the number of seconds and microseconds elapsed since the
- timer was last reset.
-
- Notes:
- If plSeconds is NULL, the number of seconds will not be set.
- If plMicroSeconds is NULL, the number of microseconds will not be set.
-
- Return Values:
- Returns PIAPI_COMPLETED on success.
-
- Errors:
- On error PIAPI_ERROR is returned. The function PITimer_getLastError()
- returns more specific error information.
-
- See Also:
- PITimer_reset()
- \*____________________________________________________________________________*/
- PUBLIC_PIAPI int PITimer_elapsed( PITimer *pTimer, long *plSeconds,
- long *plMicroSeconds );
-
- /*____________________________________________________________________________*\
- *
- Name:
- PITimer_delete
-
- Synopsis:
- int PITimer_delete( PITimer *pTimer )
-
- Description:
- Destroys a timer object and deallocates memory associated with it.
-
- Notes:
- Return Values:
- Returns PIAPI_COMPLETED on success.
-
- Errors:
- On error PIAPI_ERROR is returned. The function PITimer_getLastError()
- returns more specific error information.
-
- See Also:
- PITimer_new()
- \*____________________________________________________________________________*/
- PUBLIC_PIAPI int PITimer_delete( PITimer *pTimer );
-
- #endif /* PITIMER_H_ */
-
-