文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用ioctl向linux内核传递参数的方法实例

使用ioctl向linux内核传递参数的方法实例

时间:2006-07-24  来源:paniven

使用ioctl向linux内核传递参数的方法实例

 

一、应用层

 

uint16 data16;

if ((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)

 {

       printf("socket failed\n\r");

}   

if(ioctl(fd, SIOCSIFVLAN_PVID_PRI, &data16) < 0)

 {

       printf("ioctl pvid failed\n\r");

}   

 

二、linux内核

1、  在sockios.h中定义

   #define SIOCSIFVLAN_PVID_PRI     0x8985         /* Set 802.1Q VLAN pvid   */

 

 

2、在af_inet.c中

     添加

        extern int VLAN1QEN(unsigned int ,void *arg);

在inet_ioctl()函数中添加

        case SIOCSIFVLAN_PVID_PRI:

               return VLAN1QEN(cmd, arg);

 

3、另外定义:

static unsigned int VLAN_PVID_PRI = 0;

int VLAN1QEN(unsigned int cmd,void *arg)

{

            unsigned int data;

              if (copy_from_user(&data, arg, sizeof(int)))

                     return -EFAULT;

            switch (cmd) {

              case SIOCSIFVLAN_PVID_PRI:

                   VLAN_PVID_PRI = data;

                 break;

            default:

                     return -EINVAL;

              }

}

相关阅读 更多 +
排行榜 更多 +
辣了么卷饼传奇最新版

辣了么卷饼传奇最新版

模拟经营 下载
尸潮塔防最新版

尸潮塔防最新版

策略塔防 下载
火柴人帝国无限安卓版

火柴人帝国无限安卓版

策略塔防 下载