JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... NLMSG_SPACE(size_t len ); void *NLMSG_DATA(struct nlmsghdr * nlh ); struct nlmsghdr *NLMSG_NEXT(struct nlmsghdr * nlh , int len ); int NLMSG_OK(struct nlmsghdr ... * nlh , int len ); int NLMSG_PAYLOAD(struct nlmsghdr * nlh , int len ); 説明 < linux/netlink.h > では、 netlink データグラムにアクセスしたり、これを作成 ... いるものである。 netlink ソケットに対してやりとりされるバッファーには、 必ずこれらのマクロだけを使ってアクセスすべきである。 NLMSG_ALIGN netlink メッセージの長さを丸めて正しく揃える。 NLMSG_LENGTH 格納領域 (payload) の長さ len を引数にとり、 nlmsghdr の ... ... ネル暗号 API の設定を行ったりするための netlink インターフェース。 netlink メッセージはバイトストリームからなり、 一つ以上の nlmsghdr ヘッダーと、それに対応するペイロード (payload) が含まれる。 バイトストリームには、標準の NLMSG_* マクロによってのみアク ... セスすべきである。 より詳しい情報は netlink (3) を見よ。 マルチパートメッセージ (一つ以上の nlmsghdr ヘッダーと、それに対応するペイロードが 一つバイトストリームに含まれる) においては、 先頭のヘッダー・後続のヘッダーには ... NLM_F_MULTI フラグがセットされる。ただし最後のヘッダーだけは例外で、 NLMSG_DONE タイプとなる。 それぞれの nlmsghdr の後にはペイロードが続く。 struct nlmsghdr { __u32 nlmsg_len; /* ヘッダーを含むメッ ... ... ではない。 例 デバイスの MTU をセットする rtnetlink メッセージを生成する #include < linux/rtnetlink.h > ... struct { struct nlmsghdr nh; struct ifinfomsg if; char attrbuf[512]; } req; struct rtattr *rta; unsigned int mtu = 1000; int rtnetlink_sk = sock ... et(AF_NETLINK, SOCK_DGRAM, NETLINK_ROUTE); memset(&req, 0, sizeof(req)); req.nh.nlmsg_len = NLMSG_LENGTH(sizeof(req.if)); req.nh.nlmsg_flags = NLM_F_REQUEST; req.nh.nlmsg_type = RTM_NEWLINK; req.if.ifi_family ... C; req.if.ifi_index = INTERFACE_INDEX; req.if.ifi_change = 0xffffffff; /* ??? */ rta = (struct rtattr *)(((char *) &req) + NLMSG_ALIGN(req.nh.nlmsg_len)); rta->rta_type = IFLA_MTU; rta->rta_len = RTA_LENGTH(sizeof(mtu)); req.nh.nlmsg_len = NLMSG_ALIGN ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。