• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Huawei Device Co., Ltd.
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  */
15 
16 #ifndef __SECUREC_P_H__
17 #define __SECUREC_P_H__
18 
19 #include "securec.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25     /**
26     * @Description: The vsnprintfp_s function is equivalent to the vsnprintf function except for the parameter destMax/count
27     *               and the explicit runtime-constraints violation
28     * @param strDest -  produce output according to a format ,write to the character string strDest
29     * @param destMax - The maximum length of destination buffer(including the terminating null  byte ('\0'))
30     * @param count - do not write more than count bytes to strDest(not including the terminating null  byte ('\0'))
31     * @param priv_on - if true, any not %{public} prefix formatter arguments will be printed as "<private>"
32     * @param format - format string
33     * @param arglist - instead of  a variable  number of arguments
34     * @return:return the number of characters printed(not including the terminating null byte ('\0')),
35     *         If an error occurred return -1.Pay special attention to returning -1 when truncation occurs
36     */
37     SECUREC_API int vsnprintfp_s(char *strDest, size_t destMax, size_t count, int priv,  const char *format,
38                                 va_list arglist) SECUREC_ATTRIBUTE(5, 0);
39 #ifdef __cplusplus
40 }
41 #endif /* __cplusplus */
42 #endif /* __SECUREC_P_H__ */
43