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

网站建设网站优化wordpress垂直分页导航插件

网站建设网站优化,wordpress垂直分页导航插件,网站建设技术质量指标,建设企业网站登录901接前一篇文章#xff1a;libdrm全解析七 —— 源码全解析#xff08;4#xff09; 本文参考以下博文#xff1a; DRM 驱动程序开发#xff08;VKMS#xff09; 特此致谢#xff01; 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 7. DRM_IOCTL_GET_STATS …接前一篇文章libdrm全解析七 —— 源码全解析4 本文参考以下博文 DRM 驱动程序开发VKMS 特此致谢 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 7. DRM_IOCTL_GET_STATS 第7个宏是DRM_IOCTL_GET_STATS相应代码如下 #define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) 结合之前文章中的_IOR(type,nr,size)的最终定义得到如下代码 #define DRM_IOCTL_GET_STATS ( ((2) 30) | ((d) 8) | ((0x06) 0) | ((sizeof(struct drm_stats)) 16) ) struct drm_stats在同文件include/drm/drm.h中定义代码如下 /** DRM_IOCTL_GET_STATS ioctl argument type.*/ struct drm_stats {unsigned long count;struct {unsigned long value;enum drm_stat_type type;} data[15]; }; drm_stat_type的定义就在上边代码如下 enum drm_stat_type {_DRM_STAT_LOCK,_DRM_STAT_OPENS,_DRM_STAT_CLOSES,_DRM_STAT_IOCTLS,_DRM_STAT_LOCKS,_DRM_STAT_UNLOCKS,_DRM_STAT_VALUE, /** Generic value */_DRM_STAT_BYTE, /** Generic byte counter (1024bytes/K) */个_DRM_STAT_COUNT, /** Generic non-byte counter (1000/k) */_DRM_STAT_IRQ, /** IRQ */_DRM_STAT_PRIMARY, /** Primary DMA bytes */_DRM_STAT_SECONDARY, /** Secondary DMA bytes */_DRM_STAT_DMA, /** DMA */_DRM_STAT_SPECIAL, /** Special DMA (e.g., priority or polled) */_DRM_STAT_MISSED /** Missed DMA opportunity *//* Add to the *END* of the list */ }; DRM_IOCTL_GET_STATS对应的Userspace API为drmGetStats()。该函数也是在xf86drm.c中代码如下 drm_public int drmGetStats(int fd, drmStatsT *stats) {drm_stats_t s;unsigned i;memclear(s);if (drmIoctl(fd, DRM_IOCTL_GET_STATS, s))return -errno;stats-count 0;memset(stats, 0, sizeof(*stats));if (s.count sizeof(stats-data)/sizeof(stats-data[0]))return -1;#define SET_VALUE \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %8.8s; \stats-data[i].isvalue 1; \stats-data[i].verbose 0#define SET_COUNT \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %5.5s; \stats-data[i].isvalue 0; \stats-data[i].mult_names kgm; \stats-data[i].mult 1000; \stats-data[i].verbose 0#define SET_BYTE \stats-data[i].long_format %-20.20s; \stats-data[i].rate_format %5.5s; \stats-data[i].isvalue 0; \stats-data[i].mult_names KGM; \stats-data[i].mult 1024; \stats-data[i].verbose 0stats-count s.count;for (i 0; i s.count; i) {stats-data[i].value s.data[i].value;switch (s.data[i].type) {case _DRM_STAT_LOCK:stats-data[i].long_name Lock;stats-data[i].rate_name Lock;SET_VALUE;break;case _DRM_STAT_OPENS:stats-data[i].long_name Opens;stats-data[i].rate_name O;SET_COUNT;stats-data[i].verbose 1;break;case _DRM_STAT_CLOSES:stats-data[i].long_name Closes;stats-data[i].rate_name Lock;SET_COUNT;stats-data[i].verbose 1;break;case _DRM_STAT_IOCTLS:stats-data[i].long_name Ioctls;stats-data[i].rate_name Ioc/s;SET_COUNT;break;case _DRM_STAT_LOCKS:stats-data[i].long_name Locks;stats-data[i].rate_name Lck/s;SET_COUNT;break;case _DRM_STAT_UNLOCKS:stats-data[i].long_name Unlocks;stats-data[i].rate_name Unl/s;SET_COUNT;break;case _DRM_STAT_IRQ:stats-data[i].long_name IRQs;stats-data[i].rate_name IRQ/s;SET_COUNT;break;case _DRM_STAT_PRIMARY:stats-data[i].long_name Primary Bytes;stats-data[i].rate_name PB/s;SET_BYTE;break;case _DRM_STAT_SECONDARY:stats-data[i].long_name Secondary Bytes;stats-data[i].rate_name SB/s;SET_BYTE;break;case _DRM_STAT_DMA:stats-data[i].long_name DMA;stats-data[i].rate_name DMA/s;SET_COUNT;break;case _DRM_STAT_SPECIAL:stats-data[i].long_name Special DMA;stats-data[i].rate_name dma/s;SET_COUNT;break;case _DRM_STAT_MISSED:stats-data[i].long_name Miss;stats-data[i].rate_name Ms/s;SET_COUNT;break;case _DRM_STAT_VALUE:stats-data[i].long_name Value;stats-data[i].rate_name Value;SET_VALUE;break;case _DRM_STAT_BYTE:stats-data[i].long_name Bytes;stats-data[i].rate_name B/s;SET_BYTE;break;case _DRM_STAT_COUNT:default:stats-data[i].long_name Count;stats-data[i].rate_name Cnt/s;SET_COUNT;break;}}return 0; } 函数的作用是从中获取各种状态stat的相关信息包括IRQs、DMA、Locks、Unlocks等等。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。 8. DRM_IOCTL_SET_VERSION 第8个宏是DRM_IOCTL_SET_VERSION相应代码如下 #define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) 结合之前文章中的_IOWR(type,nr,size)的最终定义得到如下代码 #define DRM_IOCTL_SET_VERSION ( ((3) 30) | ((d) 8) | ((0x07) 0) | ((sizeof(struct drm_set_version)) 16) ) struct drm_set_version在同文件include/drm/drm.h中定义代码如下 /** DRM_IOCTL_SET_VERSION ioctl argument type.*/ struct drm_set_version {int drm_di_major;int drm_di_minor;int drm_dd_major;int drm_dd_minor; }; DRM_IOCTL_SET_VERSION对应的Userspace API为drmSetInterfaceVersion()。该函数也是在xf86drm.c中代码如下 /*** Issue a set-version ioctl.** \param fd file descriptor.* \param drmCommandIndex command index* \param data source pointer of the data to be read and written.* \param size size of the data to be read and written.** \return zero on success, or a negative value on failure.** \internal* It issues a read-write ioctl given by* \code DRM_COMMAND_BASE drmCommandIndex \endcode.*/ drm_public int drmSetInterfaceVersion(int fd, drmSetVersion *version) {int retcode 0;drm_set_version_t sv;memclear(sv);sv.drm_di_major version-drm_di_major;sv.drm_di_minor version-drm_di_minor;sv.drm_dd_major version-drm_dd_major;sv.drm_dd_minor version-drm_dd_minor;if (drmIoctl(fd, DRM_IOCTL_SET_VERSION, sv)) {retcode -errno;}version-drm_di_major sv.drm_di_major;version-drm_di_minor sv.drm_di_minor;version-drm_dd_major sv.drm_dd_major;version-drm_dd_minor sv.drm_dd_minor;return retcode; } 函数的作用是设置当前DRM接口的版本号。此函数在后文具体讲解函数的时候进行详细解析。在此先认识一下、有个印象就好。 其余宏定义将在后续文章中继续解析。
http://wiki.neutronadmin.com/news/8469/

相关文章:

  • wordpress添加文章页不显示网站怎么做优化百度能搜索到
  • html5网站开发技术小蜜蜂wordpress采集
  • 个人网站备案地址选择梧州市建设局官方网站
  • 运营网站是多少wordpress检测手机端
  • 网站seo诊断方案怎么做电影网站吗
  • git网站开发如何给自己公司做一个网站
  • 洛阳网站建设哪家公司好提供建立网站服务的公司
  • 浦东高端网站开发html网站免费下载
  • 邢台微信网站网站建设板块建议
  • 鲜花网站开发wordpress底部链接
  • h5网站用什么软件做出入成都最新通知今天
  • 网站建设与推广的步骤域名买好怎么开始做网站
  • 常州h5网站建设网站后台怎么上传图片产品
  • 大连做网站价钱邯郸seo推广
  • seo百度排名优化自己给网站做优化怎么做
  • 网站升级维护要多久做网站用什么服务器比较好
  • 怎么做网站服务器系统郑州网络营销学校
  • 网站广告设计怎么做制作网站公司多少钱
  • 网站备案名可以更改吗微信商城小程序定制
  • 泸县做网站公司西安公司排行榜
  • 深圳做企业网站哪家好免费软件下载网站入口
  • 北京网站备案负责人变更sem专业培训公司
  • 网站恶意做评论链接网站logo
  • led灯笼河网站建设网站的可行性分析怎么写
  • 电商网站seo优化今天安阳发生的重大新闻
  • 网站建设 分类广告修改wordpress博客
  • 黄金网站下载免费怎么做微信钓鱼网站吗
  • 专业建站服务公司安徽省招标投标信息网
  • 网站使用费用计算机信息网络系统
  • html5网站设计欣赏泰国购物网站大全