Набор может передаваться с помощью ioctl или аналогичного из C/C++

Вы можете определить переменную оболочки feat=feature/blabla, а затем использовать git checkout $feat-7. Например, в некоторых оболочках (zsh, но не в bash ), вы можете нажать вкладку после $feat, чтобы развернуть ее непосредственно до feature/blabla.

Демонстрация

Обратной стороной является добавленный знак доллара, но положительной стороной является то, что он работает почти во всех оболочках, просто добавляя это определение переменной.

0
08.05.2020, 00:23
1 ответ

Как указывалось ранее, вы можете просмотреть исходный код iproute2, в котором используется libnetlink. Однако согласно документации libnetlink предназначен для внутреннего использования, используйте libmnl для новых программ .

API-интерфейс Libmnl немного отличается, так что это не просто -замена, но он выполняет свою работу и работает точно так же. В основном вам нужно настроить сообщение netlink, а затем начать добавлять вложенные атрибуты. Как только ваше сообщение будет создано, отправьте его по сети, используя API-интерфейсы сокетов libmnl, и все готово.

Пример кода для установки соединения вверх/вниз :https://github.com/pevik/libmnl/blob/60e34d339522bbad3142fa1609e4506edd33c969/examples/rtnl/rtnl-link-set.c

Обратите внимание, что для установки скорости передачи вам не нужно устанавливать ifi_flags. Вместо этого после добавления атрибута, содержащего имя устройства can (с помощью mnl_attr_put_str), вам необходимо добавить вложенный объект linkinfo с помощью mnl_attr_nest_start, mnl_attr_put_str. Затем, используя те же самые функции, вам также нужно добавить объект битовой синхронизации can(struct can_bittiming). См. iplink _can.c для примера того, какие данные должны быть установлены в этой структуре. Вы завершаете построение полезной нагрузки, вызывая mnl_attr_nest_endдля обоих вложенных объектов.

0
13.09.2021, 12:22

Теги

Похожие вопросы