⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 string.h

📁 xen虚拟机源代码安装包
💻 H
字号:
#ifndef _LINUX_STRING_H_#define _LINUX_STRING_H_#include <xen/types.h>	/* for size_t */#ifdef __cplusplusextern "C" {#endif#define __kernel_size_t size_textern char * strpbrk(const char *,const char *);extern char * strsep(char **,const char *);extern __kernel_size_t strspn(const char *,const char *);/* * Include machine specific inline routines */#include <asm/string.h>/* * These string functions are considered too dangerous for normal use. * Use safe_strcpy(), safe_strcat(), strlcpy(), strlcat() as appropriate. */#define strcpy  __xen_has_no_strcpy__#define strcat  __xen_has_no_strcat__#define strncpy __xen_has_no_strncpy__#define strncat __xen_has_no_strncat__#ifndef __HAVE_ARCH_STRLCPYextern size_t strlcpy(char *,const char *, __kernel_size_t);#endif#ifndef __HAVE_ARCH_STRLCATextern size_t strlcat(char *,const char *, __kernel_size_t);#endif#ifndef __HAVE_ARCH_STRCMPextern int strcmp(const char *,const char *);#endif#ifndef __HAVE_ARCH_STRNCMPextern int strncmp(const char *,const char *,__kernel_size_t);#endif#ifndef __HAVE_ARCH_STRNICMPextern int strnicmp(const char *, const char *, __kernel_size_t);#endif#ifndef __HAVE_ARCH_STRCHRextern char * strchr(const char *,int);#endif#ifndef __HAVE_ARCH_STRRCHRextern char * strrchr(const char *,int);#endif#ifndef __HAVE_ARCH_STRSTRextern char * strstr(const char *,const char *);#endif#ifndef __HAVE_ARCH_STRLENextern __kernel_size_t strlen(const char *);#endif#ifndef __HAVE_ARCH_STRNLENextern __kernel_size_t strnlen(const char *,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMSETextern void * memset(void *,int,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMCPYextern void * memcpy(void *,const void *,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMMOVEextern void * memmove(void *,const void *,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMSCANextern void * memscan(void *,int,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMCMPextern int memcmp(const void *,const void *,__kernel_size_t);#endif#ifndef __HAVE_ARCH_MEMCHRextern void * memchr(const void *,int,__kernel_size_t);#endif#ifdef __cplusplus}#endif#define is_char_array(x) __builtin_types_compatible_p(typeof(x), char[])/* safe_xxx always NUL-terminates and returns !=0 if result is truncated. */#define safe_strcpy(d, s) ({                    \    BUILD_BUG_ON(!is_char_array(d));            \    (strlcpy(d, s, sizeof(d)) >= sizeof(d));    \})#define safe_strcat(d, s) ({                    \    BUILD_BUG_ON(!is_char_array(d));            \    (strlcat(d, s, sizeof(d)) >= sizeof(d));    \})#endif /* _LINUX_STRING_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -