112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|  * Copyright (C) 2011 The Android Open Source Project
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  *      http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| /** @file rs_time.rsh
 | |
|  *  \brief RenderScript time routines
 | |
|  *
 | |
|  *  This file contains RenderScript functions relating to time and date
 | |
|  *  manipulation.
 | |
|  */
 | |
| 
 | |
| #ifndef __RS_TIME_RSH__
 | |
| #define __RS_TIME_RSH__
 | |
| 
 | |
| /**
 | |
|  * Calendar time interpreted as seconds elapsed since the Epoch (00:00:00 on
 | |
|  * January 1, 1970, Coordinated Universal Time (UTC)).
 | |
|  */
 | |
| typedef int rs_time_t;
 | |
| 
 | |
| /**
 | |
|  * Data structure for broken-down time components.
 | |
|  *
 | |
|  * tm_sec   - Seconds after the minute. This ranges from 0 to 59, but possibly
 | |
|  *            up to 60 for leap seconds.
 | |
|  * tm_min   - Minutes after the hour. This ranges from 0 to 59.
 | |
|  * tm_hour  - Hours past midnight. This ranges from 0 to 23.
 | |
|  * tm_mday  - Day of the month. This ranges from 1 to 31.
 | |
|  * tm_mon   - Months since January. This ranges from 0 to 11.
 | |
|  * tm_year  - Years since 1900.
 | |
|  * tm_wday  - Days since Sunday. This ranges from 0 to 6.
 | |
|  * tm_yday  - Days since January 1. This ranges from 0 to 365.
 | |
|  * tm_isdst - Flag to indicate whether daylight saving time is in effect. The
 | |
|  *            value is positive if it is in effect, zero if it is not, and
 | |
|  *            negative if the information is not available.
 | |
|  */
 | |
| typedef struct {
 | |
|     int tm_sec;     ///< seconds
 | |
|     int tm_min;     ///< minutes
 | |
|     int tm_hour;    ///< hours
 | |
|     int tm_mday;    ///< day of the month
 | |
|     int tm_mon;     ///< month
 | |
|     int tm_year;    ///< year
 | |
|     int tm_wday;    ///< day of the week
 | |
|     int tm_yday;    ///< day of the year
 | |
|     int tm_isdst;   ///< daylight savings time
 | |
| } rs_tm;
 | |
| 
 | |
| /**
 | |
|  * Returns the number of seconds since the Epoch (00:00:00 UTC, January 1,
 | |
|  * 1970). If @p timer is non-NULL, the result is also stored in the memory
 | |
|  * pointed to by this variable. If an error occurs, a value of -1 is returned.
 | |
|  *
 | |
|  * @param timer Location to also store the returned calendar time.
 | |
|  *
 | |
|  * @return Seconds since the Epoch.
 | |
|  */
 | |
| extern rs_time_t __attribute__((overloadable))
 | |
|     rsTime(rs_time_t *timer);
 | |
| 
 | |
| /**
 | |
|  * Converts the time specified by @p timer into broken-down time and stores it
 | |
|  * in @p local. This function also returns a pointer to @p local. If @p local
 | |
|  * is NULL, this function does nothing and returns NULL.
 | |
|  *
 | |
|  * @param local Broken-down time.
 | |
|  * @param timer Input time as calendar time.
 | |
|  *
 | |
|  * @return Pointer to broken-down time (same as input @p local).
 | |
|  */
 | |
| extern rs_tm * __attribute__((overloadable))
 | |
|     rsLocaltime(rs_tm *local, const rs_time_t *timer);
 | |
| 
 | |
| /**
 | |
|  * Returns the current system clock (uptime) in milliseconds.
 | |
|  *
 | |
|  * @return Uptime in milliseconds.
 | |
|  */
 | |
| extern int64_t __attribute__((overloadable))
 | |
|     rsUptimeMillis(void);
 | |
| 
 | |
| /**
 | |
|  * Returns the current system clock (uptime) in nanoseconds.
 | |
|  *
 | |
|  * @return Uptime in nanoseconds.
 | |
|  */
 | |
| extern int64_t __attribute__((overloadable))
 | |
|     rsUptimeNanos(void);
 | |
| 
 | |
| /**
 | |
|  * Returns the time in seconds since this function was last called in this
 | |
|  * script.
 | |
|  *
 | |
|  * @return Time in seconds.
 | |
|  */
 | |
| extern float __attribute__((overloadable))
 | |
|     rsGetDt(void);
 | |
| 
 | |
| #endif
 |