Чтобы не полагаться на беспроводные инструменты, я хочу получить essid непосредственно с устройства с ioctl, в 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 и gem bit-struct, но пока не нашел решения.
Есть ли способ обойти эту проблему с указателем памяти?