将 char[] 转换为 __be16 输入 linux 内核 space
convert char[] to __be16 type in linux kernel space
我需要在 linux 内核 space 中将 char[] 转换为 __be16 类型。
我可以使用 kstrtoint
将 char[] 转换为 int。同样的功能也适用于 __be16,但有警告。同样,任何预定义函数也可用于 __be16?
示例:
char x[120] = "02" 到 __be16 xx
__be16
其实就是一个network short int
,所以可以用htons
函数:
char* str = "123"; // input
int val;
__be16 nval; // output
kstrtoint(str, 10, &val);
nval = htons(val);
此外,可以使用 cpu_to_be16
代替 htons
。
我需要在 linux 内核 space 中将 char[] 转换为 __be16 类型。
我可以使用 kstrtoint
将 char[] 转换为 int。同样的功能也适用于 __be16,但有警告。同样,任何预定义函数也可用于 __be16?
示例:
char x[120] = "02" 到 __be16 xx
__be16
其实就是一个network short int
,所以可以用htons
函数:
char* str = "123"; // input
int val;
__be16 nval; // output
kstrtoint(str, 10, &val);
nval = htons(val);
此外,可以使用 cpu_to_be16
代替 htons
。