On Thu, 2006-08-24 at 19:27 +0200, Thomas Graf wrote: > I'd use normal u32 attributes here as well and simply > enumerate their type 1..n. > > int idx = 1 > list_for_each_entry(drv, &nl80211_drv_list, list) > NLA_PUT_U32(msg, idx++, drv->wiphy); > > The additional header seems waste but this way you stay flexible > and can extend the protocol later on. Attribute lengths are > checked with an open end in mind, i.e. you can put more stuff > behind that u32 in the future and your old applications will > still work. > > You also might want to consider returning ifindex and > the associated name.
That'd be a list of ifindexes again... > > +static int nl80211_get_intfs(struct sk_buff *skb, struct genl_info *info) > Try not to reuse the same attribute type for different purposes, > it will force you to duplicate the validation policy for every > single command and things become very error prone. I completely reworked that now so it will: * create a nested NL80211_ATTR_INTERFACE_LIST with nested { * 1..N attributes, with nested { * ATTR_IFINDEX and * ATTR_IFNAME } } how does that sound? Maybe I should do the same for the WIPHY list? i.e. create a new type ATTR_WIPHY_LIST and within that nest numbered attributes (array indexes) and in there put ATTR_WIPHY? So possibly I could also put ATTR_INTERFACE_LIST in there as well later? johannes - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html