1 /******************************************************************************
2 ###############################################################################
3 # Copyright (c) [2017-2020] [ICT/CAS] #
4 # Licensed under the ORAN Software License v1.0 (License) #
5 ###############################################################################
6 ******************************************************************************/
9 #include "vos_sys_diff.h"
19 #define VOS_NAME_MAX_LENGTH 128 /* VOS有名字的对象的名字的最大长度. */
26 #define VOS_ERROR (-1)
32 #define VOS_PACKED __attribute__((packed))
34 typedef struct VOS_MAC_addr_s{
35 unsigned char addr[6];
36 }VOS_PACKED VOS_MAC_addr_t;
38 typedef struct VOS_IPv4_addr_s{
40 }VOS_PACKED VOS_IPv4_addr_t;
42 typedef struct VOS_IPv6_addr_s{
43 unsigned char addr[16];
44 }VOS_PACKED VOS_IPv6_addr_t;
51 typedef unsigned char UCHAR;
54 typedef unsigned short USHORT;
58 typedef unsigned int UINT;
61 typedef unsigned long ULONG;
63 typedef unsigned char BYTE;
64 typedef unsigned short WORD;
65 typedef unsigned long DWORD;
70 typedef const char *LPCSTR;
71 typedef unsigned long *PULONG;
74 typedef void *VOS_HANDLE;
78 typedef unsigned char UINT8;
81 typedef unsigned short UINT16;
84 typedef unsigned int UINT32;
87 typedef unsigned long UINT64;
94 #if !defined(__cplusplus) && 0
95 #define NULL ((void*)0)
102 #if defined (OS_LINUX)
106 typedef double DOUBLE;
111 typedef unsigned short *PUSHORT;
116 typedef unsigned char *PUCHAR;
122 typedef FLOAT *PFLOAT;
142 typedef BYTE *LPBYTE;
162 typedef WORD *LPWORD;
167 typedef long *LPLONG;
172 typedef DWORD *PDWORD;
177 typedef DWORD *LPDWORD;
182 typedef void *LPVOID;
187 typedef const void *LPCVOID;
192 typedef unsigned int *PUINT;
195 /* Types use for passing & returning polymorphic values */
198 typedef unsigned int WPARAM;
208 typedef LONG LRESULT;
212 #ifndef HAVE_LONGLONG
213 #define HAVE_LONGLONG
214 typedef long long LONGLONG;
217 #ifndef HAVE_ULONGLONG
218 #define HAVE_ULONGLONG
219 typedef unsigned long long ULONGLONG;
222 #ifndef HAVE_longlong
223 #define HAVE_longlong
224 typedef long long longlong;
227 #ifndef HAVE_ulonglong
228 #define HAVE_ulonglong
229 typedef unsigned long long ulonglong;
236 #define __const__ const
237 #define __signed__ signed
238 #define __const__ const
243 #define VOS_ERR_OUT VOS_Printf("error! %s(%u),%s\r\n",__FILE__,__LINE__,__func__)
244 #define VOS_VAL_OUT(a) VOS_Printf("\r\n var(%s),value(%d),%s(%u),%s\r\n",(#a),(a),__FILE__,__LINE__,__func__)
245 #define VOS_VAL_OUT_U(a) VOS_Printf("\r\n var(%s),value(%u),%s(%u),%s\r\n",(#a),(a),__FILE__,__LINE__,__func__)
246 #define VOS_STR_OUT(a) VOS_Printf("\r\n %s,%s(%u),%s\r\n",(a),__FILE__,__LINE__,__func__)
250 #define __VOS_RESIDUE( _n, _2_exp ) (((_n)<<(32-(_2_exp)))>>(32-(_2_exp)))
253 #define __VOS_QUOTIENT( _n, _2_exp ) ((_n)>>(_2_exp))
256 #define __VOS_INTZERO( _n, _2_exp ) (__VOS_QUOTIENT( _n, _2_exp )<<(_2_exp))
259 #define __VOS_INTINCR( _n, _2_exp ) \
260 ((__VOS_QUOTIENT( _n, _2_exp ) + (0==__VOS_QUOTIENT( __VOS_RESIDUE( _n, _2_exp ), _2_exp ))?0:1)<<(_2_exp))
265 #define CL_LIB_AF_INET6 10
266 #define CL_LIB_AF_INET 2
273 /** IPv6 addr structure */
283 #define VOS_SNMP_DateAndTime_SIZE 8
284 typedef struct VOS_SNMP_DateAndTime_s{
285 CHAR DateAndTime[VOS_SNMP_DateAndTime_SIZE];
286 }VOS_SNMP_DateAndTime_t;
293 #endif /*_VOS_TYPES_H_*/