O-CU-UP
[scp/ocu/5gnr.git] / Include / vos_string.h
1 /******************************************************************************
2 ###############################################################################
3 #   Copyright (c) [2017-2020] [ICT/CAS]                                        #
4 #   Licensed under the ORAN Software License v1.0 (License)             #
5 ###############################################################################
6 ******************************************************************************/
7
8
9 #ifndef __VOS_STRING_H__
10 #define __VOS_STRING_H__
11
12 #ifdef __cplusplus
13 extern "C"{
14 #endif /* __cplusplus */
15
16 /** 同 memcpy */
17 VOID *VOS_MemCpy(VOID * pcDest, const VOID * pcSrc, ULONG ulLen);
18
19 /** 同 memmove */
20 VOID *VOS_MemMove(VOID * pcDest, const VOID * pcSrc, ULONG ulLen);
21
22 /** 同 memset */
23 VOID *VOS_MemSet(VOID *pcBuf, CHAR cWhat, ULONG ulHowMany);
24
25 /** 同 memset(&var,0,sizeof(var)) */
26 VOID *VOS_MemZero(VOID *pcBuf, ULONG ulHowMany);
27
28 /** 同 memcmp */
29 LONG VOS_MemCmp(const VOID *pcBuf1, const VOID *pcBuf2, ULONG ulLen);
30
31 /** 同 strchr */
32 CHAR *VOS_StrChr(const CHAR *pcStr, CHAR cCh);
33
34 /** 同 strrchr */
35 CHAR *VOS_StrRChr(const CHAR *pcStr, CHAR cCh);
36
37 /** 同 strcat */
38 CHAR *VOS_StrCat(CHAR *pcDest, const CHAR *pcAppend);
39
40 /** 同 strncat */
41 CHAR *VOS_StrnCat(CHAR *pcDest, const CHAR *pcAppend, ULONG ulLen);
42
43 /** 同 strcpy */
44 CHAR *VOS_StrCpy(CHAR *pcDest, const CHAR *pcSrc);
45
46 /** 同 strncpy */
47 CHAR *VOS_StrnCpy(CHAR * pcDest,const CHAR *pcSrc, ULONG ulCount);
48
49 /** 同 strncmp */
50 ULONG VOS_StrnCmp(const CHAR * cs, const CHAR * ct, ULONG count);
51
52 /** 同 strcmp */
53 LONG VOS_StrCmp(const CHAR *szStr1, const CHAR *szStr2);
54
55 /** 同 strlen */
56 ULONG VOS_StrLen(const CHAR *szStr);
57
58 /** 同 strstr */
59 CHAR *VOS_StrStr(const CHAR *szStr, const CHAR *szToFind);
60
61 /** 同 strncmp */
62 CHAR *VOS_StrpBrk(const CHAR *szStr, const CHAR *szToFind);
63
64 /** 同 atol */
65 LONG VOS_AtoL(const CHAR *szString);
66
67 /** 同 strtol */
68 LONG VOS_StrToL(const CHAR *cp,CHAR **endp,INT base);
69
70 /** 同 strtoul */
71 ULONG VOS_StrToUL(const CHAR *szNptr, CHAR **szEndptr, INT ulBase );
72
73 /** 同 strtoll */
74 LONGLONG VOS_StrToLL(const CHAR *cp,CHAR **endp,INT base);
75
76 /** 同 strtoull */
77 ULONGLONG VOS_StrToULL(const CHAR *cp,CHAR **endp,INT base);
78
79 /** 同 strtok */
80 CHAR * VOS_StrToK(CHAR* strToken, const CHAR * strDelimit);
81
82 /** 同 atoi */
83 INT VOS_AtoI(const CHAR* s);
84
85 /** 同 strncasecmp */
86 ULONG VOS_StrnCaseCmp(const CHAR*, const CHAR*, ULONG ulLen);
87
88 /** 同 strcasecmp */
89 LONG VOS_StrCaseCmp(const CHAR *cs, const CHAR *ct);
90
91 /** 同 strnlen */
92 ULONG VOS_StrnLen(const CHAR * s, ULONG count);
93
94 /** 将字符串转换为小写 */
95 CHAR *VOS_StrToLower(CHAR *src);
96
97 /** 将字符串转换为大写 */
98 CHAR *VOS_StrToUpper(CHAR *src);
99
100
101 /** 
102  * 复制字符串,申请大小为strlen(src)+1内存,然后将字符串拷入,并返回
103  * @param[in]   src       源字符串
104  * @param[in]   mod_id    模块ID
105  * @return      成功返回新字符串的地址,失败返回NULL
106  */
107 CHAR *VOS_StrDup (const CHAR *src,INT mod_id);
108
109
110 /** 
111  * 复制字符串,并转换为小写,申请大小为strlen(src)+1内存,然后将字符串拷入,并返回
112  * @param[in]   src       源字符串
113  * @param[in]   mod_id    模块ID
114  */
115 CHAR *VOS_StrDupToLower (const CHAR *src,INT mod_id);
116
117
118 /** 
119  * 计算从左侧第一个不是空白字符起到字符串结尾的长度
120  * @param[in]   szStr      字符串
121 * @return      字符串长度
122 */
123 ULONG VOS_StrLeftTrimLen(const CHAR *szStr);
124
125
126 /** 
127  * 将str 中的old字符替换成new字符
128  * @param[in]   src      字符串
129  * @param[in]   old      要替换的字符
130  * @param[in]   new      替换成的字符
131  * @return      返回指向src的指针
132  */
133 CHAR *VOS_StrCharReplace(CHAR *src,const CHAR old,const CHAR new);
134
135
136 #ifdef __cplusplus
137 }
138 #endif /* __cplusplus */
139
140 #endif /*__VOS_STRING_H__*/