18#ifndef SECUREC_H_5D13A042_DC3F_4ED9_A8D1_882811274C27
19#define SECUREC_H_5D13A042_DC3F_4ED9_A8D1_882811274C27
22#ifndef SECUREC_HAVE_STDARG_H
23#define SECUREC_HAVE_STDARG_H 1
26#if SECUREC_HAVE_STDARG_H
30#ifndef SECUREC_HAVE_ERRNO_H
31#define SECUREC_HAVE_ERRNO_H 1
35#if SECUREC_HAVE_ERRNO_H
37#include <linux/errno.h>
44#if defined(SECUREC_NEED_ERRNO_TYPE) || !defined(__STDC_WANT_LIB_EXT1__) || \
45 (defined(__STDC_WANT_LIB_EXT1__) && (!__STDC_WANT_LIB_EXT1__))
46#ifndef SECUREC_DEFINED_ERRNO_TYPE
47#define SECUREC_DEFINED_ERRNO_TYPE
65#ifndef EINVAL_AND_RESET
67#define EINVAL_AND_RESET 150
75#ifndef ERANGE_AND_RESET
77#define ERANGE_AND_RESET 162
80#ifndef EOVERLAP_AND_RESET
82#define EOVERLAP_AND_RESET 182
87#if defined(SECUREC_DLL_EXPORT)
88#define SECUREC_API __declspec(dllexport)
89#elif defined(SECUREC_DLL_IMPORT)
90#define SECUREC_API __declspec(dllimport)
101#define SECUREC_API extern
116#if SECUREC_ENABLE_MEMSET
129#ifndef SECUREC_ONLY_DECLARE_MEMSET
130#define SECUREC_ONLY_DECLARE_MEMSET 0
133#if !SECUREC_ONLY_DECLARE_MEMSET
135#if SECUREC_ENABLE_MEMMOVE
148#if SECUREC_ENABLE_MEMCPY
161#if SECUREC_ENABLE_STRCPY
173#if SECUREC_ENABLE_STRNCPY
186#if SECUREC_ENABLE_STRCAT
198#if SECUREC_ENABLE_STRNCAT
212#if SECUREC_ENABLE_VSPRINTF
227#if SECUREC_ENABLE_SPRINTF
240#if SECUREC_ENABLE_VSNPRINTF
256#if SECUREC_ENABLE_SNPRINTF
271#if SECUREC_SNPRINTF_TRUNCATED
298#if SECUREC_ENABLE_SCANF
308#if SECUREC_ENABLE_VSCANF
318#if SECUREC_ENABLE_SSCANF
329#if SECUREC_ENABLE_VSSCANF
341#if SECUREC_ENABLE_FSCANF
352#if SECUREC_ENABLE_VFSCANF
364#if SECUREC_ENABLE_STRTOK
380#if SECUREC_ENABLE_GETS && !SECUREC_IN_KERNEL
391#if SECUREC_ENABLE_WCHAR_FUNC
392#if SECUREC_ENABLE_MEMCPY
405#if SECUREC_ENABLE_MEMMOVE
418#if SECUREC_ENABLE_STRCPY
430#if SECUREC_ENABLE_STRNCPY
443#if SECUREC_ENABLE_STRCAT
455#if SECUREC_ENABLE_STRNCAT
469#if SECUREC_ENABLE_STRTOK
481#if SECUREC_ENABLE_VSPRINTF
494#if SECUREC_ENABLE_SPRINTF
506#if SECUREC_ENABLE_FSCANF
516#if SECUREC_ENABLE_VFSCANF
527#if SECUREC_ENABLE_SCANF
536#if SECUREC_ENABLE_VSCANF
546#if SECUREC_ENABLE_SSCANF
556#if SECUREC_ENABLE_VSSCANF
573#if SECUREC_WITH_PERFORMANCE_ADDONS
581#define strcpy_sp(dest, destMax, src) ((__builtin_constant_p((destMax)) && \
582 __builtin_constant_p((src))) ? \
583 SECUREC_STRCPY_SM((dest), (destMax), (src)) : \
584 strcpy_s((dest), (destMax), (src)))
587#define strncpy_sp(dest, destMax, src, count) ((__builtin_constant_p((count)) && \
588 __builtin_constant_p((destMax)) && \
589 __builtin_constant_p((src))) ? \
590 SECUREC_STRNCPY_SM((dest), (destMax), (src), (count)) : \
591 strncpy_s((dest), (destMax), (src), (count)))
594#define strcat_sp(dest, destMax, src) ((__builtin_constant_p((destMax)) && \
595 __builtin_constant_p((src))) ? \
596 SECUREC_STRCAT_SM((dest), (destMax), (src)) : \
597 strcat_s((dest), (destMax), (src)))
600#define strncat_sp(dest, destMax, src, count) ((__builtin_constant_p((count)) && \
601 __builtin_constant_p((destMax)) && \
602 __builtin_constant_p((src))) ? \
603 SECUREC_STRNCAT_SM((dest), (destMax), (src), (count)) : \
604 strncat_s((dest), (destMax), (src), (count)))
607#define memcpy_sp(dest, destMax, src, count) (__builtin_constant_p((count)) ? \
608 (SECUREC_MEMCPY_SM((dest), (destMax), (src), (count))) : \
609 (__builtin_constant_p((destMax)) ? \
610 (((size_t)(destMax) > 0 && \
611 (((unsigned long long)(destMax) & (unsigned long long)(-2)) < SECUREC_MEM_MAX_LEN)) ? \
612 memcpy_sOptTc((dest), (destMax), (src), (count)) : ERANGE) : \
613 memcpy_sOptAsm((dest), (destMax), (src), (count))))
616#define memset_sp(dest, destMax, c, count) (__builtin_constant_p((count)) ? \
617 (SECUREC_MEMSET_SM((dest), (destMax), (c), (count))) : \
618 (__builtin_constant_p((destMax)) ? \
619 (((((unsigned long long)(destMax) & (unsigned long long)(-2)) < SECUREC_MEM_MAX_LEN)) ? \
620 memset_sOptTc((dest), (destMax), (c), (count)) : ERANGE) : \
621 memset_sOptAsm((dest), (destMax), (c), (count))))
int format(const char *dev, int sectors, int option)
formatting sd card
errno_t wmemmove_s(wchar_t *dest, size_t destMax, const wchar_t *src, size_t count)
wchar_t * wcstok_s(wchar_t *strToken, const wchar_t *strDelimit, wchar_t **context)
const char * GetHwSecureCVersion(unsigned short *verNumber)
errno_t strcpy_error(char *strDest, size_t destMax, const char *strSrc)
int vswprintf_s(wchar_t *strDest, size_t destMax, const wchar_t *format, va_list argList)
int snprintf_s(char *strDest, size_t destMax, size_t count, const char *format,...)
int vsnprintf_truncated_s(char *strDest, size_t destMax, const char *format, va_list argList)
#define SECUREC_API
Definition securec.h:101
int vscanf_s(const char *format, va_list argList)
errno_t strcat_s(char *strDest, size_t destMax, const char *strSrc)
errno_t wcscpy_s(wchar_t *strDest, size_t destMax, const wchar_t *strSrc)
int scanf_s(const char *format,...)
int swprintf_s(wchar_t *strDest, size_t destMax, const wchar_t *format,...)
int swscanf_s(const wchar_t *buffer, const wchar_t *format,...)
int errno_t
Definition securec.h:50
errno_t wcscat_s(wchar_t *strDest, size_t destMax, const wchar_t *strSrc)
errno_t strncpy_s(char *strDest, size_t destMax, const char *strSrc, size_t count)
errno_t memset_s(void *dest, size_t destMax, int c, size_t count)
errno_t strncpy_error(char *strDest, size_t destMax, const char *strSrc, size_t count)
int vswscanf_s(const wchar_t *buffer, const wchar_t *format, va_list argList)
int sprintf_s(char *strDest, size_t destMax, const char *format,...)
errno_t strncat_s(char *strDest, size_t destMax, const char *strSrc, size_t count)
int sscanf_s(const char *buffer, const char *format,...)
int wscanf_s(const wchar_t *format,...)
errno_t wcsncpy_s(wchar_t *strDest, size_t destMax, const wchar_t *strSrc, size_t count)
int vsprintf_s(char *strDest, size_t destMax, const char *format, va_list argList)
errno_t memset_sOptAsm(void *dest, size_t destMax, int c, size_t count)
errno_t strcpy_s(char *strDest, size_t destMax, const char *strSrc)
int snprintf_truncated_s(char *strDest, size_t destMax, const char *format,...)
int vfscanf_s(FILE *stream, const char *format, va_list argList)
int fwscanf_s(FILE *stream, const wchar_t *format,...)
errno_t wcsncat_s(wchar_t *strDest, size_t destMax, const wchar_t *strSrc, size_t count)
int vfwscanf_s(FILE *stream, const wchar_t *format, va_list argList)
errno_t memcpy_s(void *dest, size_t destMax, const void *src, size_t count)
int fscanf_s(FILE *stream, const char *format,...)
char * strtok_s(char *strToken, const char *strDelimit, char **context)
errno_t memset_sOptTc(void *dest, size_t destMax, int c, size_t count)
int vsscanf_s(const char *buffer, const char *format, va_list argList)
errno_t memcpy_sOptTc(void *dest, size_t destMax, const void *src, size_t count)
errno_t memmove_s(void *dest, size_t destMax, const void *src, size_t count)
errno_t wmemcpy_s(wchar_t *dest, size_t destMax, const wchar_t *src, size_t count)
errno_t memcpy_sOptAsm(void *dest, size_t destMax, const void *src, size_t count)
int vwscanf_s(const wchar_t *format, va_list argList)
int vsnprintf_s(char *strDest, size_t destMax, size_t count, const char *format, va_list argList)
char * gets_s(char *buffer, size_t destMax)
#define SECUREC_ATTRIBUTE(x, y)
Definition securectype.h:388