1 /* 2 * Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 * Description: netbuf enum type head file. 15 */ 16 17 #ifndef FRW_UTIL_COMMON_ROM_H 18 #define FRW_UTIL_COMMON_ROM_H 19 20 #include "osal_types.h" 21 #ifdef __cplusplus 22 #if __cplusplus 23 extern "C" { 24 #endif 25 #endif 26 27 /* 32位寄存器最大长度 */ 28 #define EXT_TIME_US_MAX_LEN (0xFFFFFFFF) 29 #define USEC_TO_MSEC 1000 /* s -> ms -> us 转换 */ 30 31 typedef struct { 32 osal_slong i_sec; 33 osal_slong i_usec; 34 } osal_time_us_stru; 35 36 /* 获取从_ul_start到_ul_end的时间差 */ osal_get_runtime(osal_u32 _start,osal_u32 _end)37static INLINE__ osal_u32 osal_get_runtime(osal_u32 _start, osal_u32 _end) 38 { 39 return ((_start > _end) ? (EXT_TIME_US_MAX_LEN - _start + _end + 1) : (_end - _start)); 40 } 41 42 #ifdef __cplusplus 43 #if __cplusplus 44 } 45 #endif 46 #endif 47 #endif /* end of frw_util_common_rom.h */