WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
td_type.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2021-2021. All rights reserved.
3 * Description: td types header.
4 * Note: This file should be changed only infrequently and with great care.
5 */
6#ifndef __TD_TYPE_H__
7#define __TD_TYPE_H__
8
9#ifdef __KERNEL__
10#include <linux/types.h>
11#elif (defined(__LITEOS__) || defined(TD_SUPPORT_STDLIB) || defined(CONFIG_CGRA_CORE))
12#include <stdint.h>
13#endif
14
15#ifdef __cplusplus
16#if __cplusplus
17extern "C"{
18#endif
19#endif
20
21#ifndef NULL
22#ifdef __cplusplus
23#define NULL 0L
24#else
25#define NULL ((void*)0)
26#endif
27#endif
28
29/* defines */
30#define TD_NULL NULL
31#define TD_NULL_PTR TD_NULL
32#define TD_FALSE 0
33#define TD_TRUE 1
34
35typedef unsigned char td_uchar;
36typedef unsigned char td_u8;
37typedef unsigned short td_u16;
38typedef unsigned int td_u32;
39typedef unsigned long long td_u64;
40typedef unsigned long td_ulong;
41typedef char td_char;
42typedef signed char td_s8;
43typedef short td_s16;
44typedef int td_s32;
45typedef long long td_s64;
46typedef long td_slong;
47typedef float td_float;
48typedef double td_double;
49typedef void td_void;
50typedef td_u8 td_bool;
52typedef td_u8 td_byte;
54typedef void* td_pvoid;
55typedef volatile td_u32 td_u32_reg;
56typedef unsigned long td_size_t;
57typedef signed long td_ssize_t;
58typedef unsigned long td_length_t;
59typedef unsigned long long td_mem_size_t;
60typedef long long td_mem_handle_t;
61typedef unsigned int td_fr32; // 分数,分子高16bit,分母低16bit
62
63#if ((!defined(_LINUX_TYPES_H)) && (!defined(_STDINT_H)) && (!defined(CONFIG_CGRA_CORE)) \
64 &&(!defined(__DEFINED_uintptr_t)))
65typedef unsigned int uintptr_t;
66#define __DEFINED_uintptr_t
67#endif
69
70#ifdef __LP64__
71typedef unsigned long long td_phys_addr_t;
72typedef unsigned long long td_virt_addr_t;
73#else
74typedef unsigned int td_phys_addr_t;
75typedef unsigned int td_virt_addr_t;
76#endif
77typedef unsigned int td_phys_addr_bit32;
78
79#ifdef __cplusplus
80#if __cplusplus
81}
82#endif
83#endif /* __cplusplus */
84
85#endif /* __TD_TYPES_H__ */
86
void * td_pvoid
Definition td_type.h:54
unsigned long td_size_t
Definition td_type.h:56
unsigned long td_ulong
Definition td_type.h:40
td_byte * td_pbyte
Definition td_type.h:53
float td_float
Definition td_type.h:47
td_u8 td_byte
Definition td_type.h:52
unsigned short td_u16
Definition td_type.h:37
signed long td_ssize_t
Definition td_type.h:57
long long td_mem_handle_t
Definition td_type.h:60
double td_double
Definition td_type.h:48
uintptr_t td_uintptr_t
Definition td_type.h:68
td_u32 td_handle
Definition td_type.h:51
unsigned long long td_mem_size_t
Definition td_type.h:59
unsigned int uintptr_t
Definition td_type.h:65
unsigned char td_u8
Definition td_type.h:36
unsigned int td_phys_addr_bit32
Definition td_type.h:77
long td_slong
Definition td_type.h:46
td_u8 td_bool
Definition td_type.h:50
unsigned char td_uchar
Definition td_type.h:35
long long td_s64
Definition td_type.h:45
unsigned long td_length_t
Definition td_type.h:58
void td_void
Definition td_type.h:49
signed char td_s8
Definition td_type.h:42
unsigned int td_virt_addr_t
Definition td_type.h:75
unsigned int td_fr32
Definition td_type.h:61
unsigned int td_u32
Definition td_type.h:38
volatile td_u32 td_u32_reg
Definition td_type.h:55
short td_s16
Definition td_type.h:43
int td_s32
Definition td_type.h:44
unsigned long long td_u64
Definition td_type.h:39
char td_char
Definition td_type.h:41
unsigned int td_phys_addr_t
Definition td_type.h:74