当前位置: 首页 > news >正文

wordpress做直播网站吗做网站大型

wordpress做直播网站吗,做网站大型,响应式网站怎么做pc端的,网站建设的意义与价值在阅读和编写内核相关的代码时,经常会看到IS_ERR、ERR_PTR等函数。这些函数在内核头文件的err.h中。以我服务器的代码为例,内核版本为5.15。 这个文件的代码如下: /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_ERR_H #define _L…

在阅读和编写内核相关的代码时,经常会看到IS_ERR、ERR_PTR等函数。这些函数在内核头文件的err.h中。以我服务器的代码为例,内核版本为5.15。
在这里插入图片描述
这个文件的代码如下:

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_ERR_H
#define _LINUX_ERR_H#include <linux/compiler.h>
#include <linux/types.h>#include <asm/errno.h>/** Kernel pointers have redundant information, so we can use a* scheme where we can return either an error code or a normal* pointer with the same return value.** This should be a per-architecture thing, to allow different* error and pointer decisions.*/
#define MAX_ERRNO	4095#ifndef __ASSEMBLY__#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)static inline void * __must_check ERR_PTR(long error)
{return (void *) error;
}static inline long __must_check PTR_ERR(__force const void *ptr)
{return (long) ptr;
}static inline bool __must_check IS_ERR(__force const void *ptr)
{return IS_ERR_VALUE((unsigned long)ptr);
}static inline bool __must_check IS_ERR_OR_NULL(__force const void *ptr)
{return unlikely(!ptr) || IS_ERR_VALUE((unsigned long)ptr);
}/*** ERR_CAST - Explicitly cast an error-valued pointer to another pointer type* @ptr: The pointer to cast.** Explicitly cast an error-valued pointer to another pointer type in such a* way as to make it clear that's what's going on.*/
static inline void * __must_check ERR_CAST(__force const void *ptr)
{/* cast away the const */return (void *) ptr;
}static inline int __must_check PTR_ERR_OR_ZERO(__force const void *ptr)
{if (IS_ERR(ptr))return PTR_ERR(ptr);elsereturn 0;
}#endif#endif /* _LINUX_ERR_H */

这个文件提供了一套用于处理错误指针的宏和函数。主要部分的解释:

#define MAX_ERRNO 4095:定义了最大的错误号为4095。

#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO):定义了一个宏,用于检查一个值是否在错误号的范围内。

ERR_PTR(long error):这个函数将一个错误号转换为一个错误指针,这样就可以将错误信息通过指针返回。

PTR_ERR(const void *ptr):这个函数将一个错误指针转换回对应的错误号。

IS_ERR(const void *ptr):这个函数检查一个指针是否是错误指针。

IS_ERR_OR_NULL(const void *ptr):这个函数检查一个指针是否是错误指针或者NULL指针。

ERR_CAST(const void *ptr):这个函数将一个错误指针强制转换为另一种类型的指针。

PTR_ERR_OR_ZERO(const void *ptr):这个函数检查一个指针,如果它是错误指针,就返回对应的错误号,否则返回0。

这些函数和宏提供了一种机制,使得函数可以通过返回指针的方式来返回错误信息。

错误号的部分信息在文件errno.h中
代码如下:

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _LINUX_ERRNO_H
#define _LINUX_ERRNO_H#include <uapi/linux/errno.h>/** These should never be seen by user programs.  To return one of ERESTART** codes, signal_pending() MUST be set.  Note that ptrace can observe these* at syscall exit tracing, but they will never be left for the debugged user* process to see.*/
#define ERESTARTSYS	512
#define ERESTARTNOINTR	513
#define ERESTARTNOHAND	514	/* restart if no handler.. */
#define ENOIOCTLCMD	515	/* No ioctl command */
#define ERESTART_RESTARTBLOCK 516 /* restart by calling sys_restart_syscall */
#define EPROBE_DEFER	517	/* Driver requests probe retry */
#define EOPENSTALE	518	/* open found a stale dentry */
#define ENOPARAM	519	/* Parameter not supported *//* Defined for the NFSv3 protocol */
#define EBADHANDLE	521	/* Illegal NFS file handle */
#define ENOTSYNC	522	/* Update synchronization mismatch */
#define EBADCOOKIE	523	/* Cookie is stale */
#define ENOTSUPP	524	/* Operation is not supported */
#define ETOOSMALL	525	/* Buffer or request is too small */
#define ESERVERFAULT	526	/* An untranslatable error occurred */
#define EBADTYPE	527	/* Type not supported by server */
#define EJUKEBOX	528	/* Request initiated, but will not complete before timeout */
#define EIOCBQUEUED	529	/* iocb queued, will get completion event */
#define ERECALLCONFLICT	530	/* conflict with recalled state */
#define ENOGRACE	531	/* NFS file lock reclaim refused */#endif

错误号的部分解释如下

ERESTARTSYS (512):系统调用由于接收到一个可以被处理的信号而被中断,需要被重新启动。

ERESTARTNOINTR (513):系统调用由于某些原因被中断,需要被重新启动,但是不需要检查未决的信号。

ERESTARTNOHAND (514):系统调用由于接收到一个不能被当前进程处理的信号而被中断,需要被重新启动。

ENOIOCTLCMD (515):没有找到对应的ioctl命令。

ERESTART_RESTARTBLOCK (516):系统调用需要被重新启动,但是使用了不同的方法。

EPROBE_DEFER (517):设备驱动程序请求延迟探测。

EOPENSTALE (518):打开操作找到了一个过时的目录项。

ENOPARAM (519):不支持的参数。

EBADHANDLE (521):NFS协议中的非法文件句柄。

ENOTSYNC (522):更新同步不匹配。

EBADCOOKIE (523):Cookie过期。

ENOTSUPP (524):不支持的操作。

ETOOSMALL (525):缓冲区或请求太小。

ESERVERFAULT (526):发生了无法翻译的错误。

EBADTYPE (527):服务器不支持的类型。

EJUKEBOX (528):请求已经启动,但在超时前不会完成。

EIOCBQUEUED (529):iocb已经入队,将会收到完成事件。

ERECALLCONFLICT (530):与被召回的状态冲突。

ENOGRACE (531):NFS文件锁恢复被拒绝。

http://www.yayakq.cn/news/14048/

相关文章:

  • 个人域名备案 网站名称营销案例100例简短
  • 网站自己做网站错误提示页设计
  • 做网站都需要什么步骤亚马逊电子商务网站的建设
  • 什么网站可以自己做名片湘潭网站建设磐石网络上班时间
  • 网站建设计入哪个科目惠东网络建站公司
  • 模板生成网站吉林省住房城乡建设网站
  • 河北网站制作做调查赚钱的网站
  • 河北做网站盐城市城南新区建设局网站
  • 网站建设互联为什么公司网站打开很慢
  • 欢迎访问中国建设银行网站密码重置WordPress如何调用
  • 商务网站建设论文西安专业网站建设价格
  • 百度安全网站检测网站设计方案书ppt
  • 外贸网站建设 三方登录怎么向谷歌提交网站
  • 网站运营 流程成都网站设计招聘
  • 网站优化哪家好关于数据机房建设的网站
  • 政务网站建设目标广告公司网站首页设计页面
  • 能和实体彩票店和做的彩票网站上海品牌营销策划公司
  • 如果自己想建设网站该怎么做做微秀的网站
  • 做第一个php网站wordpress 视频外链
  • 帮人做非法网站网站排名优化学习
  • 养生网站建设论文东莞城乡建设规划官网
  • 公众号购买网站高端的赣州网站建设
  • 如何让网站火起来传统文化网站设计
  • 网站开发和系统开发的区别南京模板建站定制网站
  • 一般的网站都是用什么系统做的石家庄新闻综合频道
  • 有美元进账去外管局网站做啥网络系统设计的步骤
  • 如何用服务器建设网站免费视频素材下载的网站
  • 长春火车站高清图片温江建设局备案网站
  • 高端大气上档次的网站个人博客怎么注册
  • 苏州现代建设公司网站后台网站更新 网站没显示