首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义对prandom_u32的引用

未定义对prandom_u32的引用
EN

Stack Overflow用户
提问于 2016-08-09 22:01:42
回答 1查看 107关注 0票数 1

为Android构建内核以启用随机化wifi for地址时出现错误。添加的语言如下:

代码语言:javascript
复制
if (randomize_mac && (changes & IFF_UP) && !(old_flags & IFF_UP)) {
    /* randomize MAC whenever interface is brought up */
    struct sockaddr sa;
    unsigned int mac4;
    unsigned short mac2;

    mac4 = prandom_u32();
    mac2 = prandom_u32();
    memcpy(sa.sa_data, &mac4, sizeof(mac4));
    memcpy((char *)sa.sa_data + sizeof(mac4), &mac2, sizeof(mac2));
    if (!is_valid_ether_addr(sa.sa_data))
        sa.sa_data[5] = 1;
    sa.sa_data[0] &= 0xFC;
    sa.sa_family = dev->type;
    dev_set_mac_address(dev, &sa);
}

return ret;

}`

我在顶部添加了以下内容:

代码语言:javascript
复制
u32 prandom_u32(void);

但是仍然得到了错误。请帮帮忙

EN

回答 1

Stack Overflow用户

发布于 2016-08-10 02:33:22

好的。解决了这个问题:只需查看/include/linux/ u32 .h,就会发现include被定义为random32。因此,我将相应的行更改为

代码语言:javascript
复制
    mac4 = random32();
    mac2 = random32();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38852946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档