0

这是 IOCTL 开关盒的一部分。我收到以下错误?

错误:“数据”的存储大小未知错误:“mesg”未声明(在此函数中首次使用)

case PASS_STRUCT:

        struct mesg{
            int pIDs[SIZE];
            int niceVal;
        };

        struct mesg data;

        ret = copy_from_user(&data, arg, sizeof(data));
        if(ret < 0){
            printk("PASS_STRUCT\n");
            return -1;  
        }

        printk("Message PASS_STRUCT : %d\n",data.niceVal);
        break;

SIZE 值在创建消息之前设置。

4

1 回答 1

2
struct mesg{
    int pIDs[SIZE];
    int niceVal;
};

SIZE 值在创建消息之前设置。

在 CSIZE中需要是一个真正的编译时常量才能像这样使用它。就像是:

#define SIZE 10

您还应该将结构声明移到switch.

于 2012-08-26T15:25:04.387 回答