看源码时候看到如下符号,只知道是设置对齐和大小端的方式,没有找到相应的定义,不知道在哪里定义的:
le16_to_cpu
get_unaligned
__le16
部分代码如下:
意思是从(__u8 *)start地址取一个16位长度的数据,地址增长2个字节。
(__u8 *start, __u8 *end, struct hid_item *item
case 2:
if ((end - start) < 2)
return NULL;
item->data.u16 = le16_to_cpu(get_unaligned((__le16*)start));
start = (__u8 *)((__le16 *)start + 1);
return start;
详细代码见这里:
http://www.cnblogs.com/sdphome/archive/2011/09/29/2195799.html
想移植这块的话,这里的对齐,大小端该怎么弄?
谢谢诸位的帮助。 |