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

网站内链案例免费网站推广软件有哪些

网站内链案例,免费网站推广软件有哪些,wordpress如何压缩图片大小,建设网站需要买什么在阅读和编写内核相关的代码时#xff0c;经常会看到IS_ERR、ERR_PTR等函数。这些函数在内核头文件的err.h中。以我服务器的代码为例#xff0c;内核版本为5.15。 这个文件的代码如下#xff1a; /* 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 thats whats 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.pierceye.com/news/837707/

相关文章:

  • 手机版网站开发用什么语言自己建设的网站怎么赚钱
  • 宁波建设监理协会网站软件开发文档的作用
  • 兰州电商平台网站建设网路神做网站怎么样
  • 诸城易讯网站建设服务中心网址的域名
  • 制作商务网站应用公园制作app软件下载
  • 情头定制网站被称为网站开发神器
  • 宝安网站设计案例淘宝页面制作
  • 天津品牌网站制作怎样建设网站流程
  • 怎样进行公司网站建设wordpress主题公司
  • 外宣做网站宣传网站功能描述
  • 部队网站建设多少钱营销自己的网站
  • 长春市城乡建设部网站南昌诚推网络技术有限公司
  • 网站 建设 欢迎你濮阳家电网站建设
  • 怎么快速建立一个网站如何用腾讯云服务器搭建wordpress
  • 五屏网站建设多少钱深圳网站公司有哪些
  • 莆田网站建站wordpress cd
  • 软件下载安装免费南京seo关键词优化服务
  • 广州网站设计软件建设将网站加入受信网站再试
  • 淘宝联盟网站备案常见的互联网应用
  • 自己做网站 搜索功能开发企业综合信息服务平台
  • 意大利语网站建设wordpress主题首页显示不全
  • 模板网站免费下载wordpress启用静态
  • 保定网站建设哪家好网站建设实践报告3000字
  • 网站制作项目执行免费制作微网站
  • 西安网站制作费用网站建设小程序开发报价
  • 深圳做针织衫服装的网站软件开发工具手机版
  • 网站域名注册的相关证书证明文件最珠海app
  • 网站规划建设与管理维护大学论文免费个人搭建网站
  • 网站解析时候让做别名企业密信app下载安装
  • 直播网站建设模板网站中文商标域名注册