var searchData=
[
  ['raw_5fbind',['raw_bind',['../group__raw__raw.html#ga8576dbbc7f03797525d2cdb7ec3b9fe4',1,'raw_bind(struct raw_pcb *pcb, const ip_addr_t *ipaddr):&#160;raw.c'],['../group__raw__raw.html#ga8576dbbc7f03797525d2cdb7ec3b9fe4',1,'raw_bind(struct raw_pcb *pcb, const ip_addr_t *ipaddr):&#160;raw.c']]],
  ['raw_5fbind_5fnetif',['raw_bind_netif',['../group__raw__raw.html#gaa124ac8a9479aebefe2c953629df591a',1,'raw_bind_netif(struct raw_pcb *pcb, const struct netif *netif):&#160;raw.c'],['../group__raw__raw.html#gaa124ac8a9479aebefe2c953629df591a',1,'raw_bind_netif(struct raw_pcb *pcb, const struct netif *netif):&#160;raw.c']]],
  ['raw_5fconnect',['raw_connect',['../group__raw__raw.html#ga31bb29c964d5e2f734e563485fc25168',1,'raw_connect(struct raw_pcb *pcb, const ip_addr_t *ipaddr):&#160;raw.c'],['../group__raw__raw.html#ga31bb29c964d5e2f734e563485fc25168',1,'raw_connect(struct raw_pcb *pcb, const ip_addr_t *ipaddr):&#160;raw.c']]],
  ['raw_5fdisconnect',['raw_disconnect',['../group__raw__raw.html#ga7634c0306e2c6f8040e35f6547e8d3ef',1,'raw_disconnect(struct raw_pcb *pcb):&#160;raw.c'],['../group__raw__raw.html#ga7634c0306e2c6f8040e35f6547e8d3ef',1,'raw_disconnect(struct raw_pcb *pcb):&#160;raw.c']]],
  ['raw_5finput',['raw_input',['../raw_8c.html#a03c4582d9ecf687e1f31d597c7889553',1,'raw_input(struct pbuf *p, struct netif *inp):&#160;raw.c'],['../raw__priv_8h.html#a03c4582d9ecf687e1f31d597c7889553',1,'raw_input(struct pbuf *p, struct netif *inp):&#160;raw.c']]],
  ['raw_5fnetif_5fip_5faddr_5fchanged',['raw_netif_ip_addr_changed',['../raw_8c.html#a61dc42f18e34800643000e48be6543ab',1,'raw_netif_ip_addr_changed(const ip_addr_t *old_addr, const ip_addr_t *new_addr):&#160;raw.c'],['../raw__priv_8h.html#a61dc42f18e34800643000e48be6543ab',1,'raw_netif_ip_addr_changed(const ip_addr_t *old_addr, const ip_addr_t *new_addr):&#160;raw.c']]],
  ['raw_5fnew',['raw_new',['../group__raw__raw.html#ga3217f096ea86728e011f91b249933e8f',1,'raw_new(u8_t proto):&#160;raw.c'],['../group__raw__raw.html#ga3217f096ea86728e011f91b249933e8f',1,'raw_new(u8_t proto):&#160;raw.c']]],
  ['raw_5fnew_5fip_5ftype',['raw_new_ip_type',['../group__raw__raw.html#ga3292b7ed2271ac29983edcef16dcbc11',1,'raw_new_ip_type(u8_t type, u8_t proto):&#160;raw.c'],['../group__raw__raw.html#ga3292b7ed2271ac29983edcef16dcbc11',1,'raw_new_ip_type(u8_t type, u8_t proto):&#160;raw.c']]],
  ['raw_5frecv',['raw_recv',['../group__raw__raw.html#gadf84e4e6911ce3c0d7f5669b6edac426',1,'raw_recv(struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg):&#160;raw.c'],['../group__raw__raw.html#gadf84e4e6911ce3c0d7f5669b6edac426',1,'raw_recv(struct raw_pcb *pcb, raw_recv_fn recv, void *recv_arg):&#160;raw.c']]],
  ['raw_5fremove',['raw_remove',['../group__raw__raw.html#ga8db62f7d75f722a653b5368305a47e16',1,'raw_remove(struct raw_pcb *pcb):&#160;raw.c'],['../group__raw__raw.html#ga8db62f7d75f722a653b5368305a47e16',1,'raw_remove(struct raw_pcb *pcb):&#160;raw.c']]],
  ['raw_5fsend',['raw_send',['../group__raw__raw.html#gabbc2e7c7a1b4429f420562d4f31b3a9d',1,'raw_send(struct raw_pcb *pcb, struct pbuf *p):&#160;raw.c'],['../group__raw__raw.html#gabbc2e7c7a1b4429f420562d4f31b3a9d',1,'raw_send(struct raw_pcb *pcb, struct pbuf *p):&#160;raw.c']]],
  ['raw_5fsendto',['raw_sendto',['../group__raw__raw.html#ga09427456070fb610cc7795d23dedc159',1,'raw_sendto(struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *ipaddr):&#160;raw.c'],['../group__raw__raw.html#ga09427456070fb610cc7795d23dedc159',1,'raw_sendto(struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *ipaddr):&#160;raw.c']]],
  ['raw_5fsendto_5fif_5fsrc',['raw_sendto_if_src',['../group__raw__raw.html#ga2fe3765ae938a3f7c53dc7051b7ab0b1',1,'raw_sendto_if_src(struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, struct netif *netif, const ip_addr_t *src_ip):&#160;raw.c'],['../group__raw__raw.html#ga2fe3765ae938a3f7c53dc7051b7ab0b1',1,'raw_sendto_if_src(struct raw_pcb *pcb, struct pbuf *p, const ip_addr_t *dst_ip, struct netif *netif, const ip_addr_t *src_ip):&#160;raw.c']]],
  ['rfc7668_5fif_5finit',['rfc7668_if_init',['../group__rfc7668if.html#ga3d940376bd983c14ffcc8d2580f3bdde',1,'rfc7668_if_init(struct netif *netif):&#160;lowpan6_ble.c'],['../group__rfc7668if.html#ga3d940376bd983c14ffcc8d2580f3bdde',1,'rfc7668_if_init(struct netif *netif):&#160;lowpan6_ble.c']]],
  ['rfc7668_5finput',['rfc7668_input',['../group__rfc7668if.html#ga1d9d7aff9f2f0515f761be0802178197',1,'rfc7668_input(struct pbuf *p, struct netif *netif):&#160;lowpan6_ble.c'],['../group__rfc7668if.html#ga1d9d7aff9f2f0515f761be0802178197',1,'rfc7668_input(struct pbuf *p, struct netif *netif):&#160;lowpan6_ble.c']]],
  ['rfc7668_5foutput',['rfc7668_output',['../group__rfc7668if.html#ga22930ade4e77b3195fe59949834d85f0',1,'rfc7668_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr):&#160;lowpan6_ble.c'],['../group__rfc7668if.html#ga22930ade4e77b3195fe59949834d85f0',1,'rfc7668_output(struct netif *netif, struct pbuf *q, const ip6_addr_t *ip6addr):&#160;lowpan6_ble.c']]],
  ['rfc7668_5fset_5fcontext',['rfc7668_set_context',['../group__rfc7668if.html#ga29dc0ebb8e640b64a57008b940fbca1e',1,'rfc7668_set_context(u8_t index, const ip6_addr_t *context):&#160;lowpan6_ble.c'],['../group__rfc7668if.html#ga29dc0ebb8e640b64a57008b940fbca1e',1,'rfc7668_set_context(u8_t idx, const ip6_addr_t *context):&#160;lowpan6_ble.c']]],
  ['rfc7668_5fset_5flocal_5faddr_5feui64',['rfc7668_set_local_addr_eui64',['../lowpan6__ble_8h.html#a9c5b721f6fb28b4c999baab56a65d8e2',1,'rfc7668_set_local_addr_eui64(struct netif *netif, const u8_t *local_addr, size_t local_addr_len):&#160;lowpan6_ble.c'],['../lowpan6__ble_8c.html#a9c5b721f6fb28b4c999baab56a65d8e2',1,'rfc7668_set_local_addr_eui64(struct netif *netif, const u8_t *local_addr, size_t local_addr_len):&#160;lowpan6_ble.c']]],
  ['rfc7668_5fset_5flocal_5faddr_5fmac48',['rfc7668_set_local_addr_mac48',['../lowpan6__ble_8h.html#a53d4e8096dd714f94c69d67a6cd49ac2',1,'rfc7668_set_local_addr_mac48(struct netif *netif, const u8_t *local_addr, size_t local_addr_len, int is_public_addr):&#160;lowpan6_ble.c'],['../lowpan6__ble_8c.html#a53d4e8096dd714f94c69d67a6cd49ac2',1,'rfc7668_set_local_addr_mac48(struct netif *netif, const u8_t *local_addr, size_t local_addr_len, int is_public_addr):&#160;lowpan6_ble.c']]],
  ['rfc7668_5fset_5fpeer_5faddr_5feui64',['rfc7668_set_peer_addr_eui64',['../lowpan6__ble_8h.html#a01b797f4fde59dfb803f0299e6a49593',1,'rfc7668_set_peer_addr_eui64(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len):&#160;lowpan6_ble.c'],['../lowpan6__ble_8c.html#a01b797f4fde59dfb803f0299e6a49593',1,'rfc7668_set_peer_addr_eui64(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len):&#160;lowpan6_ble.c']]],
  ['rfc7668_5fset_5fpeer_5faddr_5fmac48',['rfc7668_set_peer_addr_mac48',['../lowpan6__ble_8h.html#a437b9f9e85be644bd7b939413e3c81d0',1,'rfc7668_set_peer_addr_mac48(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len, int is_public_addr):&#160;lowpan6_ble.c'],['../lowpan6__ble_8c.html#a437b9f9e85be644bd7b939413e3c81d0',1,'rfc7668_set_peer_addr_mac48(struct netif *netif, const u8_t *peer_addr, size_t peer_addr_len, int is_public_addr):&#160;lowpan6_ble.c']]]
];
