Home | History | Annotate | Download | only in objmng
      1 /*
      2  * Copyright (C) 2007 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 
     18 /**
     19  * @file
     20  * Time Porting Layer
     21  *
     22  * Basic support functions that are needed by time.
     23  *
     24  * <!-- #interface list begin -->
     25  * \section drm_time Interface
     26  * - DRM_time_getElapsedSecondsFrom1970()
     27  * - DRM_time_sleep()
     28  * - DRM_time_getSysTime()
     29  * <!-- #interface list end -->
     30  */
     31 
     32 #ifndef __DRM_TIME_H__
     33 #define __DRM_TIME_H__
     34 
     35 #ifdef __cplusplus
     36 extern "C" {
     37 #endif
     38 
     39 #include <time.h>
     40 #include <drm_common_types.h>
     41 
     42 /** the time format */
     43 typedef struct __db_system_time_
     44 {
     45     uint16_t year;
     46     uint16_t month;
     47     uint16_t day;
     48     uint16_t hour;
     49     uint16_t min;
     50     uint16_t sec;
     51 } T_DB_TIME_SysTime;
     52 
     53 /**
     54  * Get the system time.it's up to UTC
     55  * \return Return the time in elapsed seconds.
     56  */
     57 uint32_t DRM_time_getElapsedSecondsFrom1970(void);
     58 
     59 /**
     60  * Suspend the execution of the current thread for a specified interval
     61  * \param ms suspended time by millisecond
     62  */
     63 void DRM_time_sleep(uint32_t ms);
     64 
     65 /**
     66  * function: get current system time
     67  * \param  time_ptr[OUT]  the system time got
     68  * \attention
     69  *    time_ptr must not be NULL
     70  */
     71 void DRM_time_getSysTime(T_DB_TIME_SysTime *time_ptr);
     72 
     73 #ifdef __cplusplus
     74 }
     75 #endif
     76 
     77 #endif /* __DRM_TIME_H__ */
     78