/linux-6.12.1/drivers/staging/rtl8192e/ |
D | rtllib_softmac.c | 2 /* IEEE 802.11 SoftMAC layer 22 static void rtllib_sta_wakeup(struct rtllib_device *ieee, short nl); 33 static unsigned int rtllib_MFIE_rate_len(struct rtllib_device *ieee) in rtllib_MFIE_rate_len() argument 47 static void rtllib_mfie_brate(struct rtllib_device *ieee, u8 **tag_p) in rtllib_mfie_brate() argument 64 static void rtllib_mfie_grate(struct rtllib_device *ieee, u8 **tag_p) in rtllib_mfie_grate() argument 85 static void rtllib_wmm_info(struct rtllib_device *ieee, u8 **tag_p) in rtllib_wmm_info() argument 101 static void rtllib_turbo_info(struct rtllib_device *ieee, u8 **tag_p) in rtllib_turbo_info() argument 116 netdev_alert(ieee->dev, "This is enable turbo mode IE process\n"); in rtllib_turbo_info() 119 static void enqueue_mgmt(struct rtllib_device *ieee, struct sk_buff *skb) in enqueue_mgmt() argument 123 nh = (ieee->mgmt_queue_head + 1) % MGMT_QUEUE_NUM; in enqueue_mgmt() [all …]
|
D | rtllib_softmac_wx.c | 2 /* IEEE 802.11 SoftMAC layer 18 int rtllib_wx_set_freq(struct rtllib_device *ieee, struct iw_request_info *a, in rtllib_wx_set_freq() argument 24 mutex_lock(&ieee->wx_mutex); in rtllib_wx_set_freq() 26 if (ieee->iw_mode == IW_MODE_INFRA) { in rtllib_wx_set_freq() 46 if (ieee->active_channel_map[fwrq->m] != 1) { in rtllib_wx_set_freq() 50 ieee->current_network.channel = fwrq->m; in rtllib_wx_set_freq() 51 ieee->set_chan(ieee->dev, ieee->current_network.channel); in rtllib_wx_set_freq() 56 mutex_unlock(&ieee->wx_mutex); in rtllib_wx_set_freq() 61 int rtllib_wx_get_freq(struct rtllib_device *ieee, in rtllib_wx_get_freq() argument 67 if (ieee->current_network.channel == 0) in rtllib_wx_get_freq() [all …]
|
D | rtllib_module.c | 37 static inline int rtllib_networks_allocate(struct rtllib_device *ieee) in rtllib_networks_allocate() argument 39 if (ieee->networks) in rtllib_networks_allocate() 42 ieee->networks = kcalloc(MAX_NETWORK_COUNT, in rtllib_networks_allocate() 44 if (!ieee->networks) in rtllib_networks_allocate() 50 static inline void rtllib_networks_free(struct rtllib_device *ieee) in rtllib_networks_free() argument 52 if (!ieee->networks) in rtllib_networks_free() 54 kfree(ieee->networks); in rtllib_networks_free() 55 ieee->networks = NULL; in rtllib_networks_free() 58 static inline void rtllib_networks_initialize(struct rtllib_device *ieee) in rtllib_networks_initialize() argument 62 INIT_LIST_HEAD(&ieee->network_free_list); in rtllib_networks_initialize() [all …]
|
D | rtl819x_BAProc.c | 20 static void deactivate_ba_entry(struct rtllib_device *ieee, struct ba_record *ba) in deactivate_ba_entry() argument 26 static u8 tx_ts_delete_ba(struct rtllib_device *ieee, struct tx_ts_record *ts) in tx_ts_delete_ba() argument 33 deactivate_ba_entry(ieee, pending_ba); in tx_ts_delete_ba() 38 deactivate_ba_entry(ieee, admitted_ba); in tx_ts_delete_ba() 44 static u8 rx_ts_delete_ba(struct rtllib_device *ieee, struct rx_ts_record *ts) in rx_ts_delete_ba() argument 50 deactivate_ba_entry(ieee, ba); in rx_ts_delete_ba() 66 static struct sk_buff *rtllib_ADDBA(struct rtllib_device *ieee, u8 *dst, in rtllib_ADDBA() argument 73 u16 len = ieee->tx_headroom + 9; in rtllib_ADDBA() 75 netdev_dbg(ieee->dev, "%s(): frame(%d) sentd to: %pM, ieee->dev:%p\n", in rtllib_ADDBA() 76 __func__, type, dst, ieee->dev); in rtllib_ADDBA() [all …]
|
D | rtl819x_TSProc.c | 14 struct rtllib_device *ieee = container_of(ts, struct rtllib_device, in RxPktPendingTimeout() local 23 spin_lock_irqsave(&(ieee->reorder_spinlock), flags); in RxPktPendingTimeout() 43 netdev_dbg(ieee->dev, in RxPktPendingTimeout() 46 ieee->stats_IndicateArray[index] = in RxPktPendingTimeout() 51 &ieee->RxReorder_Unused_List); in RxPktPendingTimeout() 63 netdev_warn(ieee->dev, in RxPktPendingTimeout() 66 spin_unlock_irqrestore(&(ieee->reorder_spinlock), in RxPktPendingTimeout() 70 rtllib_indicate_packets(ieee, ieee->stats_IndicateArray, index); in RxPktPendingTimeout() 77 msecs_to_jiffies(ieee->ht_info->rx_reorder_pending_time) in RxPktPendingTimeout() 80 spin_unlock_irqrestore(&(ieee->reorder_spinlock), flags); in RxPktPendingTimeout() [all …]
|
D | rtl819x_HTProc.c | 70 void ht_update_default_setting(struct rtllib_device *ieee) in ht_update_default_setting() argument 72 struct rt_hi_throughput *ht_info = ieee->ht_info; in ht_update_default_setting() 77 ieee->tx_dis_rate_fallback = 0; in ht_update_default_setting() 78 ieee->tx_use_drv_assinged_rate = 0; in ht_update_default_setting() 80 ieee->tx_enable_fw_calc_dur = 1; in ht_update_default_setting() 86 static u16 ht_mcs_to_data_rate(struct rtllib_device *ieee, u8 mcs_rate) in ht_mcs_to_data_rate() argument 88 struct rt_hi_throughput *ht_info = ieee->ht_info; in ht_mcs_to_data_rate() 97 u16 tx_count_to_data_rate(struct rtllib_device *ieee, u8 data_rate) in tx_count_to_data_rate() argument 122 bool is_ht_half_nmode_aps(struct rtllib_device *ieee) in is_ht_half_nmode_aps() argument 125 struct rtllib_network *net = &ieee->current_network; in is_ht_half_nmode_aps() [all …]
|
D | rtllib_rx.c | 38 static void rtllib_rx_mgt(struct rtllib_device *ieee, struct sk_buff *skb, 41 static inline void rtllib_monitor_rx(struct rtllib_device *ieee, in rtllib_monitor_rx() argument 46 skb->dev = ieee->dev; in rtllib_monitor_rx() 57 rtllib_frag_cache_find(struct rtllib_device *ieee, unsigned int seq, in rtllib_frag_cache_find() argument 64 entry = &ieee->frag_cache[tid][i]; in rtllib_frag_cache_find() 67 netdev_dbg(ieee->dev, in rtllib_frag_cache_find() 86 rtllib_frag_cache_get(struct rtllib_device *ieee, in rtllib_frag_cache_get() argument 116 skb = dev_alloc_skb(ieee->dev->mtu + in rtllib_frag_cache_get() 127 entry = &ieee->frag_cache[tid][ieee->frag_next_idx[tid]]; in rtllib_frag_cache_get() 128 ieee->frag_next_idx[tid]++; in rtllib_frag_cache_get() [all …]
|
D | rtllib_wx.c | 26 static inline char *rtl819x_translate_scan(struct rtllib_device *ieee, in rtl819x_translate_scan() argument 137 max_mcs = ht_get_highest_mcs_rate(ieee, ht_cap->MCS, in rtl819x_translate_scan() 219 int rtllib_wx_get_scan(struct rtllib_device *ieee, in rtllib_wx_get_scan() argument 231 netdev_dbg(ieee->dev, "Getting scan\n"); in rtllib_wx_get_scan() 232 mutex_lock(&ieee->wx_mutex); in rtllib_wx_get_scan() 233 spin_lock_irqsave(&ieee->lock, flags); in rtllib_wx_get_scan() 235 list_for_each_entry(network, &ieee->network_list, list) { in rtllib_wx_get_scan() 241 if (ieee->scan_age == 0 || in rtllib_wx_get_scan() 242 time_after(network->last_scanned + ieee->scan_age, jiffies)) in rtllib_wx_get_scan() 243 ev = rtl819x_translate_scan(ieee, ev, stop, network, in rtllib_wx_get_scan() [all …]
|
D | rtllib_tx.c | 97 * into N parts of size ieee->fts. The first fragment contains the SNAP header 102 * the case of WEP) So if you have 1500 bytes of payload with ieee->fts set to 157 int rtllib_encrypt_fragment(struct rtllib_device *ieee, struct sk_buff *frag, in rtllib_encrypt_fragment() argument 163 crypt = ieee->crypt_info.crypt[ieee->crypt_info.tx_keyidx]; in rtllib_encrypt_fragment() 166 netdev_info(ieee->dev, "=========>%s(), crypt is null\n", in rtllib_encrypt_fragment() 174 /* Host-based IEEE 802.11 fragmentation for TX is not yet supported, so in rtllib_encrypt_fragment() 186 netdev_info(ieee->dev, "%s: Encryption failed: len=%d.\n", in rtllib_encrypt_fragment() 187 ieee->dev->name, frag->len); in rtllib_encrypt_fragment() 265 static void rtllib_tx_query_agg_cap(struct rtllib_device *ieee, in rtllib_tx_query_agg_cap() argument 269 struct rt_hi_throughput *ht_info = ieee->ht_info; in rtllib_tx_query_agg_cap() [all …]
|
D | rtllib.h | 13 * Adaption to a generic IEEE 802.11 stack by James Ketrenos 381 #define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */ 390 /* IEEE 802.11 defines */ 492 /* IEEE 802.11 requires that STA supports concurrent reception of at least 1236 int ieee802_1x; /* is IEEE 802.1X used */ 1462 u8 (*rtllib_ap_sec_type)(struct rtllib_device *ieee); 1598 int rtllib_encrypt_fragment(struct rtllib_device *ieee, 1606 int rtllib_rx(struct rtllib_device *ieee, struct sk_buff *skb, 1611 int rtllib_wx_get_scan(struct rtllib_device *ieee, 1614 int rtllib_wx_set_encode(struct rtllib_device *ieee, [all …]
|
/linux-6.12.1/drivers/net/wireless/intel/ipw2x00/ |
D | libipw_geo.c | 31 int libipw_is_valid_channel(struct libipw_device *ieee, u8 channel) in libipw_is_valid_channel() argument 37 if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0) in libipw_is_valid_channel() 40 if (ieee->freq_band & LIBIPW_24GHZ_BAND) in libipw_is_valid_channel() 41 for (i = 0; i < ieee->geo.bg_channels; i++) in libipw_is_valid_channel() 45 if ((ieee->geo.bg[i].channel == channel) && in libipw_is_valid_channel() 46 !(ieee->geo.bg[i].flags & LIBIPW_CH_INVALID) && in libipw_is_valid_channel() 47 (!(ieee->mode & IEEE_G) || in libipw_is_valid_channel() 48 !(ieee->geo.bg[i].flags & LIBIPW_CH_B_ONLY))) in libipw_is_valid_channel() 51 if (ieee->freq_band & LIBIPW_52GHZ_BAND) in libipw_is_valid_channel() 52 for (i = 0; i < ieee->geo.a_channels; i++) in libipw_is_valid_channel() [all …]
|
D | libipw_module.c | 55 static int libipw_networks_allocate(struct libipw_device *ieee) in libipw_networks_allocate() argument 60 ieee->networks[i] = kzalloc(sizeof(struct libipw_network), in libipw_networks_allocate() 62 if (!ieee->networks[i]) { in libipw_networks_allocate() 65 kfree(ieee->networks[j]); in libipw_networks_allocate() 73 static inline void libipw_networks_free(struct libipw_device *ieee) in libipw_networks_free() argument 78 kfree(ieee->networks[i]); in libipw_networks_free() 81 void libipw_networks_age(struct libipw_device *ieee, in libipw_networks_age() argument 88 spin_lock_irqsave(&ieee->lock, flags); in libipw_networks_age() 89 list_for_each_entry(network, &ieee->network_list, list) { in libipw_networks_age() 92 spin_unlock_irqrestore(&ieee->lock, flags); in libipw_networks_age() [all …]
|
D | libipw_rx.c | 35 static void libipw_monitor_rx(struct libipw_device *ieee, in libipw_monitor_rx() argument 42 skb->dev = ieee->dev; in libipw_monitor_rx() 54 *ieee, in libipw_frag_cache_find() 64 entry = &ieee->frag_cache[i]; in libipw_frag_cache_find() 85 static struct sk_buff *libipw_frag_cache_get(struct libipw_device *ieee, in libipw_frag_cache_get() argument 99 skb = dev_alloc_skb(ieee->dev->mtu + in libipw_frag_cache_get() 107 entry = &ieee->frag_cache[ieee->frag_next_idx]; in libipw_frag_cache_get() 108 ieee->frag_next_idx++; in libipw_frag_cache_get() 109 if (ieee->frag_next_idx >= LIBIPW_FRAG_CACHE_LEN) in libipw_frag_cache_get() 110 ieee->frag_next_idx = 0; in libipw_frag_cache_get() [all …]
|
D | libipw_wx.c | 45 static char *libipw_translate_scan(struct libipw_device *ieee, in libipw_translate_scan() argument 74 snprintf(iwe.u.name, IFNAMSIZ, "IEEE 802.11%s", in libipw_translate_scan() 93 iwe.u.freq.m = libipw_channel_to_freq(ieee, network->channel); in libipw_translate_scan() 151 if (ieee->perfect_rssi == ieee->worst_rssi) in libipw_translate_scan() 156 (ieee->perfect_rssi - ieee->worst_rssi) * in libipw_translate_scan() 157 (ieee->perfect_rssi - ieee->worst_rssi) - in libipw_translate_scan() 158 (ieee->perfect_rssi - network->stats.rssi) * in libipw_translate_scan() 159 (15 * (ieee->perfect_rssi - ieee->worst_rssi) + in libipw_translate_scan() 160 62 * (ieee->perfect_rssi - in libipw_translate_scan() 162 ((ieee->perfect_rssi - in libipw_translate_scan() [all …]
|
D | libipw_tx.c | 78 N parts of size ieee->fts. The first fragment contains the SNAP header and the 83 So if you have 1500 bytes of payload with ieee->fts set to 500 without 138 static int libipw_encrypt_fragment(struct libipw_device *ieee, in libipw_encrypt_fragment() argument 142 ieee->crypt_info.crypt[ieee->crypt_info.tx_keyidx]; in libipw_encrypt_fragment() 158 ieee->dev->name, frag->len); in libipw_encrypt_fragment() 159 ieee->ieee_stats.tx_discards++; in libipw_encrypt_fragment() 242 struct libipw_device *ieee = netdev_priv(dev); in libipw_xmit() local 262 if (ieee->is_queue_full && (*ieee->is_queue_full) (dev, priority)) in libipw_xmit() 265 spin_lock_irqsave(&ieee->lock, flags); in libipw_xmit() 269 if (!ieee->hard_start_xmit) { in libipw_xmit() [all …]
|
D | libipw.h | 13 * Adaption to a generic IEEE 802.11 stack by James Ketrenos 127 #define ETH_P_PREAUTH 0x88C7 /* IEEE 802.11i pre-authentication */ 133 /* IEEE 802.11 defines */ 237 /* IEEE 802.11 requires that STA supports concurrent reception of at least 745 int ieee802_1x; /* is IEEE 802.1X used */ 834 static inline int libipw_is_valid_mode(struct libipw_device *ieee, in libipw_is_valid_mode() argument 844 (ieee->modulation & LIBIPW_OFDM_MODULATION) && in libipw_is_valid_mode() 845 (ieee->freq_band & LIBIPW_52GHZ_BAND)) in libipw_is_valid_mode() 849 (ieee->modulation & LIBIPW_OFDM_MODULATION) && in libipw_is_valid_mode() 850 (ieee->freq_band & LIBIPW_24GHZ_BAND)) in libipw_is_valid_mode() [all …]
|
D | ipw2200.c | 1453 return sprintf(buf, "%d\n", priv->ieee->scan_age); in scan_age_show() 1470 priv->ieee->scan_age = val; in scan_age_store() 1471 IPW_DEBUG_INFO("set scan_age = %u\n", priv->ieee->scan_age); in scan_age_store() 1718 wiphy_rfkill_set_hw_state(priv->ieee->wdev.wiphy, true); in rf_kill_active() 1721 wiphy_rfkill_set_hw_state(priv->ieee->wdev.wiphy, false); in rf_kill_active() 1814 if (libipw_is_valid_channel(priv->ieee, channel)) in speed_scan_store() 1864 const struct libipw_geo *geo = libipw_get_geo(priv->ieee); in channels_show() 2008 wiphy_rfkill_set_hw_state(priv->ieee->wdev.wiphy, true); in ipw_irq_tasklet() 2043 if (priv->ieee->sec.encrypt) { in ipw_irq_tasklet() 2434 const struct libipw_geo *geo = libipw_get_geo(priv->ieee); in ipw_set_tx_power() [all …]
|
/linux-6.12.1/Documentation/ABI/stable/ |
D | sysfs-bus-firewire | 6 IEEE 1394 node device attributes. 8 See IEEE 1212 for semantic definitions. 25 IEEE 1394 node device attribute. 27 See IEEE 1212 for semantic definitions. 30 Summary of all units present in an IEEE 1394 node. 47 IEEE 1394 node device attribute. 59 IEEE 1394 unit device attributes. 61 See IEEE 1212 for semantic definitions. 77 Attributes common to IEEE 1394 node devices and unit devices. 80 See IEEE 1212 for semantic definitions. [all …]
|
/linux-6.12.1/drivers/staging/rtl8192e/rtl8192e/ |
D | rtl_cam.c | 28 struct rtllib_device *ieee = priv->rtllib; in rtl92e_enable_hw_security_config() local 31 if (((ieee->pairwise_key_type == KEY_TYPE_WEP40) || in rtl92e_enable_hw_security_config() 32 (ieee->pairwise_key_type == KEY_TYPE_WEP104)) && in rtl92e_enable_hw_security_config() 38 ieee->hwsec_active = 1; in rtl92e_enable_hw_security_config() 39 if ((ieee->ht_info->iot_action & HT_IOT_ACT_PURE_N_MODE) || !hwwep) { in rtl92e_enable_hw_security_config() 40 ieee->hwsec_active = 0; in rtl92e_enable_hw_security_config() 50 struct rtllib_device *ieee = priv->rtllib; in rtl92e_set_swcam() local 55 ieee->swcamtable[EntryNo].bused = true; in rtl92e_set_swcam() 56 ieee->swcamtable[EntryNo].key_index = KeyIndex; in rtl92e_set_swcam() 57 ieee->swcamtable[EntryNo].key_type = KeyType; in rtl92e_set_swcam() [all …]
|
D | rtl_wx.c | 235 struct rtllib_device *ieee = priv->rtllib; in _rtl92e_wx_set_scan() local 239 if (!(ieee->softmac_features & IEEE_SOFTMAC_SCAN)) { in _rtl92e_wx_set_scan() 240 if ((ieee->link_state >= RTLLIB_ASSOCIATING) && in _rtl92e_wx_set_scan() 241 (ieee->link_state <= RTLLIB_ASSOCIATING_AUTHENTICATED)) in _rtl92e_wx_set_scan() 265 ieee->current_network.ssid_len = len; in _rtl92e_wx_set_scan() 266 memcpy(ieee->current_network.ssid, req->essid, len); in _rtl92e_wx_set_scan() 291 ieee->scan_operation_backup_handler(ieee->dev, SCAN_OPT_BACKUP); in _rtl92e_wx_set_scan() 295 ieee->scan_operation_backup_handler(ieee->dev, SCAN_OPT_RESTORE); in _rtl92e_wx_set_scan() 503 struct rtllib_device *ieee = priv->rtllib; in _rtl92e_wx_set_enc() local 529 ieee->pairwise_key_type = KEY_TYPE_NA; in _rtl92e_wx_set_enc() [all …]
|
D | rtl_core.c | 117 struct rtllib_device *ieee = priv->rtllib; in rtl92e_set_rf_state() local 171 if (ieee->link_state == MAC80211_LINKED) in rtl92e_set_rf_state() 199 &ieee->associate_procedure_wq, 0); in rtl92e_set_rf_state() 284 struct rtllib_device *ieee = priv->rtllib; in _rtl92e_update_beacon() local 285 struct rtllib_network *net = &ieee->current_network; in _rtl92e_update_beacon() 287 if (ieee->ht_info->current_ht_support) in _rtl92e_update_beacon() 288 HT_update_self_and_peer_setting(ieee, net); in _rtl92e_update_beacon() 289 ieee->ht_info->current_rt2rt_long_slot_time = net->bssht.bd_rt2rt_long_slot_time; in _rtl92e_update_beacon() 513 struct rtllib_device *ieee = priv->rtllib; in _rtl92e_refresh_support_rate() local 515 if (ieee->mode == WIRELESS_MODE_N_24G) { in _rtl92e_refresh_support_rate() [all …]
|
/linux-6.12.1/Documentation/networking/ |
D | ieee802154.rst | 2 IEEE 802.15.4 Developer's Guide 7 The IEEE 802.15.4 working group focuses on standardization of the bottom 15 of the IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack 20 - IEEE 802.15.4 layer; We have chosen to use plain Berkeley socket API, 21 the generic Linux networking stack to transfer IEEE 802.15.4 data 41 The IEEE 802.15.4 standard specifies an MTU of 127 bytes, yielding about 80 68 Like with WiFi, there are several types of devices implementing IEEE 802.15.4. 97 The MAC is the middle layer in the IEEE 802.15.4 Linux stack. This moment it 100 NOTE: Currently the only monitor device type is supported - it's IEEE 802.15.4 112 SoftMAC (fakelb - IEEE 802.15.4 loopback driver) interface. This option [all …]
|
/linux-6.12.1/net/core/ |
D | ieee8021q_helpers.c | 12 * IEEE 802.1Q-2022 in Annex I "I.3 Traffic type to traffic class mapping" and 82 * ieee8021q_tt_to_tc - Map IEEE 802.1Q Traffic Type to Traffic Class 83 * @tt: IEEE 802.1Q Traffic Type 86 * This function maps an IEEE 802.1Q Traffic Type to a Traffic Class (TC) based 88 * example provided by IEEE 802.1Q-2022 in Annex I "I.3 Traffic type to traffic 159 * ietf_dscp_to_ieee8021q_tt - Map IETF DSCP to IEEE 802.1Q Traffic Type 162 * This function maps an IETF DSCP value to an IEEE 802.1Q Traffic Type (TT). 163 * Since there is no corresponding mapping between DSCP and IEEE 802.1Q Traffic 167 * Return: IEEE 802.1Q Traffic Type corresponding to the given DSCP value 184 * Category [IEEE.802.11-2016] model. If the High-Throughput Data in ietf_dscp_to_ieee8021q_tt() [all …]
|
/linux-6.12.1/include/linux/pse-pd/ |
D | pse.h | 12 /* Maximum current in uA according to IEEE 802.3-2022 Table 145-1 */ 22 * IEEE 802.3-2018 30.15.1.2.1 acPoDLPSEAdminControl 24 * IEEE 802.3-2022 30.9.1.2.1 acPSEAdminControl 35 * functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState 37 * IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus: 39 * functions. IEEE 802.3-2022 30.9.1.1.2 aPSEAdminState 41 * IEEE 802.3-2022 30.9.1.1.5 aPSEPowerDetectionStatus: 43 * IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification 45 * IEEE 802.3-2022 30.9.1.1.23 aPSEActualPower 48 * IEEE 802.3-2022 145.2.5.4 pse_avail_pwr [all …]
|
/linux-6.12.1/net/ieee802154/ |
D | Kconfig | 3 tristate "IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support" 5 IEEE Std 802.15.4 defines a low data rate, low power and low 17 bool "IEEE 802.15.4 experimental netlink support" 22 tristate "IEEE 802.15.4 socket interface" 25 Socket interface for IEEE 802.15.4. Contains DGRAM sockets interface
|