Tag: ioctl

通过ioctl在ruby中获取essid

为了避免依赖无线工具我想用ioctl直接从设备获取essid,在C中这不是问题,但在Ruby中它是完全不同的。 问题是从wireless.h的结构跟随用作ioctl的输入/回复: struct iw_point { void __user *pointer; /* Pointer to the data (in user space) */ __u16 length; /* number of fields or size in bytes */ __u16 flags; /* Optional params */ }; 指针部分必须是存储区的有效地址,后跟长度(以字节为单位),后跟标志字段。 我尝试使用Array#pack和bit-struct gem,但还没有找到解决方案。 有没有办法绕过这个内存指针问题?