<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16">
  <compounddef id="netif_8h" kind="file" language="C++">
    <compoundname>netif.h</compoundname>
    <includes refid="opt_8h" local="no">net/opt.h</includes>
    <includes refid="err_8h" local="no">net/err.h</includes>
    <includes refid="ip__addr_8h" local="no">net/ip_addr.h</includes>
    <includes refid="def_8h" local="no">net/def.h</includes>
    <includes refid="pbuf_8h" local="no">net/pbuf.h</includes>
    <includes refid="stats_8h" local="no">net/stats.h</includes>
    <includedby refid="icmp_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/icmp.h</includedby>
    <includedby refid="icmp6_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/icmp6.h</includedby>
    <includedby refid="igmp_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/igmp.h</includedby>
    <includedby refid="ip_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/ip.h</includedby>
    <includedby refid="ip4__frag_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/ip4_frag.h</includedby>
    <includedby refid="ip6__frag_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/ip6_frag.h</includedby>
    <includedby refid="net_8h" local="no">C:/Dev/git/UbixOS/sys/include/net/net.h</includedby>
    <includedby refid="tcpip_8h" local="yes">C:/Dev/git/UbixOS/sys/include/net/tcpip.h</includedby>
    <includedby refid="f_2ethernet_8h" local="yes">C:/Dev/git/UbixOS/sys/include/netif/ethernet.h</includedby>
    <includedby refid="slipif_8h" local="yes">C:/Dev/git/UbixOS/sys/include/netif/slipif.h</includedby>
    <includedby refid="ne2k_8c" local="no">C:/Dev/git/UbixOS/sys/isa/ne2k.c</includedby>
    <includedby refid="core_2init_8c" local="yes">C:/Dev/git/UbixOS/sys/net/core/init.c</includedby>
    <includedby refid="netif_8c" local="yes">C:/Dev/git/UbixOS/sys/net/core/netif.c</includedby>
    <includedby refid="lnc_8c" local="no">C:/Dev/git/UbixOS/sys/pci/lnc.c</includedby>
    <incdepgraph>
      <node id="17">
        <label>stdarg.h</label>
        <link refid="stdarg_8h"/>
      </node>
      <node id="18">
        <label>ubixos/kpanic.h</label>
        <link refid="kpanic_8h"/>
      </node>
      <node id="15">
        <label>sys/io.h</label>
        <link refid="io_8h"/>
      </node>
      <node id="24">
        <label>net/pbuf.h</label>
        <link refid="pbuf_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
      </node>
      <node id="29">
        <label>net/priv/memp_priv.h</label>
        <link refid="memp__priv_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
      </node>
      <node id="8">
        <label>sys/select.h</label>
        <link refid="select_8h"/>
        <childnode refid="9" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>net/arch/cc.h</label>
        <link refid="cc_8h"/>
        <childnode refid="14" relation="include">
        </childnode>
      </node>
      <node id="12">
        <label>sys/_sigset.h</label>
        <link refid="__sigset_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="26">
        <label>net/mem.h</label>
        <link refid="mem_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="25">
        <label>net/stats.h</label>
        <link refid="stats_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>net/lwipopts.h</label>
        <link refid="lwipopts_8h"/>
      </node>
      <node id="6">
        <label>sys/types.h</label>
        <link refid="include_2sys_2types_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>net/def.h</label>
        <link refid="def_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>C:/Dev/git/UbixOS/sys/include/net/netif.h</label>
        <link refid="netif_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
      </node>
      <node id="5">
        <label>net/arch.h</label>
        <link refid="arch_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="16" relation="include">
        </childnode>
        <childnode refid="18" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>net/ip6_addr.h</label>
        <link refid="ip6__addr_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>net/opt.h</label>
        <link refid="opt_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="16">
        <label>lib/kprintf.h</label>
        <link refid="kprintf_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
      </node>
      <node id="4">
        <label>net/debug.h</label>
        <link refid="debug_8h"/>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="22">
        <label>net/ip4_addr.h</label>
        <link refid="ip4__addr_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>net/ip_addr.h</label>
        <link refid="ip__addr_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
      </node>
      <node id="28">
        <label>net/priv/memp_std.h</label>
        <link refid="memp__std_8h"/>
      </node>
      <node id="9">
        <label>sys/cdefs.h</label>
        <link refid="cdefs_8h"/>
      </node>
      <node id="14">
        <label>ubixos/time.h</label>
        <link refid="time_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
      </node>
      <node id="7">
        <label>sys/_types.h</label>
        <link refid="__types_8h"/>
      </node>
      <node id="19">
        <label>net/err.h</label>
        <link refid="err_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
      </node>
      <node id="10">
        <label>sys/_timespec.h</label>
        <link refid="__timespec_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="11">
        <label>sys/_timeval.h</label>
        <link refid="__timeval_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
      </node>
      <node id="27">
        <label>net/memp.h</label>
        <link refid="memp_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="4">
        <label>C:/Dev/git/UbixOS/sys/net/core/ipv6/ip6_frag.c</label>
        <link refid="ip6__frag_8c"/>
      </node>
      <node id="5">
        <label>C:/Dev/git/UbixOS/sys/include/net/igmp.h</label>
        <link refid="igmp_8h"/>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="50">
        <label>C:/Dev/git/UbixOS/sys/lib/ogprintf.cc</label>
        <link refid="ogprintf_8cc"/>
      </node>
      <node id="31">
        <label>C:/Dev/git/UbixOS/sys/fs/ubixfs/block.c</label>
        <link refid="block_8c"/>
      </node>
      <node id="51">
        <label>C:/Dev/git/UbixOS/sys/sde/colours.cc</label>
        <link refid="colours_8cc"/>
      </node>
      <node id="16">
        <label>C:/Dev/git/UbixOS/sys/init/main.c</label>
        <link refid="main_8c"/>
      </node>
      <node id="32">
        <label>C:/Dev/git/UbixOS/sys/fs/ubixfs/dirCache.c</label>
        <link refid="dirCache_8c"/>
      </node>
      <node id="38">
        <label>C:/Dev/git/UbixOS/sys/arch/armv6/fork.c</label>
        <link refid="armv6_2fork_8c"/>
      </node>
      <node id="53">
        <label>C:/Dev/git/UbixOS/sys/sde/sde.cc</label>
        <link refid="sde_8cc"/>
      </node>
      <node id="52">
        <label>C:/Dev/git/UbixOS/sys/sde/main.cc</label>
        <link refid="main_8cc"/>
      </node>
      <node id="25">
        <label>C:/Dev/git/UbixOS/sys/fs/vfs/inode.c</label>
        <link refid="inode_8c"/>
      </node>
      <node id="43">
        <label>C:/Dev/git/UbixOS/sys/isa/atkbd.c</label>
        <link refid="atkbd_8c"/>
      </node>
      <node id="12">
        <label>C:/Dev/git/UbixOS/sys/net/api/tcpip.c</label>
        <link refid="tcpip_8c"/>
      </node>
      <node id="66">
        <label>C:/Dev/git/UbixOS/sys/include/netif/slipif.h</label>
        <link refid="slipif_8h"/>
      </node>
      <node id="19">
        <label>C:/Dev/git/UbixOS/sys/fs/fat/fat.c</label>
        <link refid="fat_8c"/>
      </node>
      <node id="14">
        <label>C:/Dev/git/UbixOS/sys/include/net/net.h</label>
        <link refid="net_8h"/>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="17" relation="include">
        </childnode>
        <childnode refid="59" relation="include">
        </childnode>
      </node>
      <node id="24">
        <label>C:/Dev/git/UbixOS/sys/fs/vfs/file.c</label>
        <link refid="file_8c"/>
      </node>
      <node id="2">
        <label>C:/Dev/git/UbixOS/sys/include/net/icmp.h</label>
        <link refid="icmp_8h"/>
      </node>
      <node id="33">
        <label>C:/Dev/git/UbixOS/sys/fs/ubixfs/directory.c</label>
        <link refid="directory_8c"/>
      </node>
      <node id="3">
        <label>C:/Dev/git/UbixOS/sys/include/net/icmp6.h</label>
        <link refid="icmp6_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
      </node>
      <node id="27">
        <label>C:/Dev/git/UbixOS/sys/fs/vfs/vfs.c</label>
        <link refid="vfs_8c"/>
      </node>
      <node id="45">
        <label>C:/Dev/git/UbixOS/sys/kernel/endtask.c</label>
        <link refid="endtask_8c"/>
      </node>
      <node id="59">
        <label>C:/Dev/git/UbixOS/sys/pci/lnc.c</label>
        <link refid="lnc_8c"/>
      </node>
      <node id="58">
        <label>C:/Dev/git/UbixOS/sys/kmods/kmod.c</label>
        <link refid="kmod_8c"/>
      </node>
      <node id="29">
        <label>C:/Dev/git/UbixOS/sys/include/ubixfs/ubixfs.h</label>
        <link refid="include_2ubixfs_2ubixfs_8h"/>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="31" relation="include">
        </childnode>
        <childnode refid="32" relation="include">
        </childnode>
        <childnode refid="33" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="34" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
      </node>
      <node id="61">
        <label>C:/Dev/git/UbixOS/sys/include/net/priv/tcpip_priv.h</label>
        <link refid="tcpip__priv_8h"/>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="44">
        <label>C:/Dev/git/UbixOS/sys/isa/ne2k.c</label>
        <link refid="ne2k_8c"/>
      </node>
      <node id="37">
        <label>C:/Dev/git/UbixOS/sys/include/ubixos/vitals.h</label>
        <link refid="vitals_8h"/>
        <childnode refid="38" relation="include">
        </childnode>
        <childnode refid="30" relation="include">
        </childnode>
        <childnode refid="39" relation="include">
        </childnode>
        <childnode refid="40" relation="include">
        </childnode>
        <childnode refid="41" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="42" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="43" relation="include">
        </childnode>
        <childnode refid="44" relation="include">
        </childnode>
        <childnode refid="45" relation="include">
        </childnode>
        <childnode refid="46" relation="include">
        </childnode>
        <childnode refid="47" relation="include">
        </childnode>
        <childnode refid="48" relation="include">
        </childnode>
        <childnode refid="49" relation="include">
        </childnode>
        <childnode refid="50" relation="include">
        </childnode>
        <childnode refid="51" relation="include">
        </childnode>
        <childnode refid="52" relation="include">
        </childnode>
        <childnode refid="53" relation="include">
        </childnode>
        <childnode refid="54" relation="include">
        </childnode>
        <childnode refid="55" relation="include">
        </childnode>
      </node>
      <node id="23">
        <label>C:/Dev/git/UbixOS/sys/fs/ufs/ufs.c</label>
        <link refid="ufs_8c"/>
      </node>
      <node id="40">
        <label>C:/Dev/git/UbixOS/sys/arch/i386/fork.c</label>
        <link refid="i386_2fork_8c"/>
      </node>
      <node id="54">
        <label>C:/Dev/git/UbixOS/sys/vmm/paging.c</label>
        <link refid="paging_8c"/>
      </node>
      <node id="17">
        <label>C:/Dev/git/UbixOS/sys/include/vfs/vfs.h</label>
        <link refid="include_2vfs_2vfs_8h"/>
        <childnode refid="18" relation="include">
        </childnode>
        <childnode refid="19" relation="include">
        </childnode>
        <childnode refid="20" relation="include">
        </childnode>
        <childnode refid="21" relation="include">
        </childnode>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
        <childnode refid="24" relation="include">
        </childnode>
        <childnode refid="25" relation="include">
        </childnode>
        <childnode refid="26" relation="include">
        </childnode>
        <childnode refid="27" relation="include">
        </childnode>
        <childnode refid="28" relation="include">
        </childnode>
        <childnode refid="29" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="37" relation="include">
        </childnode>
        <childnode refid="56" relation="include">
        </childnode>
        <childnode refid="57" relation="include">
        </childnode>
        <childnode refid="58" relation="include">
        </childnode>
      </node>
      <node id="57">
        <label>C:/Dev/git/UbixOS/sys/kernel/ld.c</label>
        <link refid="ld_8c"/>
      </node>
      <node id="41">
        <label>C:/Dev/git/UbixOS/sys/arch/i386/systemtask.c</label>
        <link refid="i386_2systemtask_8c"/>
      </node>
      <node id="28">
        <label>C:/Dev/git/UbixOS/sys/include/sys/buf.h</label>
        <link refid="buf_8h"/>
        <childnode refid="22" relation="include">
        </childnode>
      </node>
      <node id="20">
        <label>C:/Dev/git/UbixOS/sys/fs/ubixfs/thread.c</label>
        <link refid="thread_8c"/>
      </node>
      <node id="60">
        <label>C:/Dev/git/UbixOS/sys/include/net/tcpip.h</label>
        <link refid="tcpip_8h"/>
        <childnode refid="61" relation="include">
        </childnode>
        <childnode refid="62" relation="include">
        </childnode>
        <childnode refid="63" relation="include">
        </childnode>
      </node>
      <node id="6">
        <label>C:/Dev/git/UbixOS/sys/net/core/init.c</label>
        <link refid="core_2init_8c"/>
      </node>
      <node id="63">
        <label>C:/Dev/git/UbixOS/sys/net/netif/ethernetif.c</label>
        <link refid="ethernetif_8c"/>
      </node>
      <node id="1">
        <label>C:/Dev/git/UbixOS/sys/include/net/netif.h</label>
        <link refid="netif_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
        <childnode refid="3" relation="include">
        </childnode>
        <childnode refid="5" relation="include">
        </childnode>
        <childnode refid="10" relation="include">
        </childnode>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="13" relation="include">
        </childnode>
        <childnode refid="14" relation="include">
        </childnode>
        <childnode refid="60" relation="include">
        </childnode>
        <childnode refid="64" relation="include">
        </childnode>
        <childnode refid="66" relation="include">
        </childnode>
        <childnode refid="44" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="59" relation="include">
        </childnode>
      </node>
      <node id="13">
        <label>C:/Dev/git/UbixOS/sys/include/net/ip6_frag.h</label>
        <link refid="ip6__frag_8h"/>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="26">
        <label>C:/Dev/git/UbixOS/sys/fs/vfs/namei.c</label>
        <link refid="namei_8c"/>
      </node>
      <node id="35">
        <label>C:/Dev/git/UbixOS/sys/fs/common/gpt.c</label>
        <link refid="gpt_8c"/>
      </node>
      <node id="18">
        <label>C:/Dev/git/UbixOS/sys/fs/devfs/devfs.c</label>
        <link refid="devfs_8c"/>
      </node>
      <node id="11">
        <label>C:/Dev/git/UbixOS/sys/include/net/ip4_frag.h</label>
        <link refid="ip4__frag_8h"/>
        <childnode refid="7" relation="include">
        </childnode>
        <childnode refid="9" relation="include">
        </childnode>
      </node>
      <node id="55">
        <label>C:/Dev/git/UbixOS/sys/vmm/vmm_memory.c</label>
        <link refid="vmm__memory_8c"/>
      </node>
      <node id="8">
        <label>C:/Dev/git/UbixOS/sys/net/core/netif.c</label>
        <link refid="netif_8c"/>
      </node>
      <node id="7">
        <label>C:/Dev/git/UbixOS/sys/net/core/memp.c</label>
        <link refid="memp_8c"/>
      </node>
      <node id="9">
        <label>C:/Dev/git/UbixOS/sys/net/core/timeouts.c</label>
        <link refid="timeouts_8c"/>
      </node>
      <node id="46">
        <label>C:/Dev/git/UbixOS/sys/kernel/syscall.c</label>
        <link refid="kernel_2syscall_8c"/>
      </node>
      <node id="39">
        <label>C:/Dev/git/UbixOS/sys/arch/armv6/systemtask.c</label>
        <link refid="armv6_2systemtask_8c"/>
      </node>
      <node id="10">
        <label>C:/Dev/git/UbixOS/sys/include/net/ip.h</label>
        <link refid="ip_8h"/>
        <childnode refid="11" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="6" relation="include">
        </childnode>
        <childnode refid="4" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
      </node>
      <node id="21">
        <label>C:/Dev/git/UbixOS/sys/fs/ubixfs/ubixfs.c</label>
        <link refid="ubixfs_8c"/>
      </node>
      <node id="30">
        <label>C:/Dev/git/UbixOS/sys/arch/armv6/syscall.c</label>
        <link refid="arch_2armv6_2syscall_8c"/>
      </node>
      <node id="22">
        <label>C:/Dev/git/UbixOS/sys/fs/ufs/ffs.c</label>
        <link refid="ffs_8c"/>
      </node>
      <node id="56">
        <label>C:/Dev/git/UbixOS/sys/include/ufs/ffs.h</label>
        <link refid="ffs_8h"/>
        <childnode refid="22" relation="include">
        </childnode>
        <childnode refid="23" relation="include">
        </childnode>
      </node>
      <node id="64">
        <label>C:/Dev/git/UbixOS/sys/include/netif/ethernet.h</label>
        <link refid="f_2ethernet_8h"/>
        <childnode refid="65" relation="include">
        </childnode>
        <childnode refid="12" relation="include">
        </childnode>
        <childnode refid="8" relation="include">
        </childnode>
        <childnode refid="62" relation="include">
        </childnode>
      </node>
      <node id="42">
        <label>C:/Dev/git/UbixOS/sys/fs/vfs/mount.c</label>
        <link refid="mount_8c"/>
      </node>
      <node id="65">
        <label>C:/Dev/git/UbixOS/sys/include/netif/etharp.h</label>
        <link refid="f_2etharp_8h"/>
      </node>
      <node id="36">
        <label>C:/Dev/git/UbixOS/sys/pci/hd.c</label>
        <link refid="hd_8c"/>
      </node>
      <node id="62">
        <label>C:/Dev/git/UbixOS/sys/net/net/init.c</label>
        <link refid="net_2init_8c"/>
      </node>
      <node id="34">
        <label>C:/Dev/git/UbixOS/sys/include/pci/hd.h</label>
        <link refid="hd_8h"/>
        <childnode refid="35" relation="include">
        </childnode>
        <childnode refid="15" relation="include">
        </childnode>
        <childnode refid="36" relation="include">
        </childnode>
      </node>
      <node id="15">
        <label>C:/Dev/git/UbixOS/sys/include/ubixos/init.h</label>
        <link refid="ubixos_2init_8h"/>
        <childnode refid="16" relation="include">
        </childnode>
      </node>
      <node id="49">
        <label>C:/Dev/git/UbixOS/sys/kernel/vitals.c</label>
        <link refid="vitals_8c"/>
      </node>
      <node id="48">
        <label>C:/Dev/git/UbixOS/sys/kernel/ubthread.c</label>
        <link refid="ubthread_8c"/>
      </node>
      <node id="47">
        <label>C:/Dev/git/UbixOS/sys/kernel/time.c</label>
        <link refid="time_8c"/>
      </node>
    </invincdepgraph>
    <innerclass refid="structnetif" prot="public">netif</innerclass>
    <innerclass refid="structnicBuffer" prot="public">nicBuffer</innerclass>
      <sectiondef kind="define">
      <memberdef kind="define" id="netif_8h_1a53a4d9ad0bbe679841b5ff3f6906076c" prot="public" static="no">
        <name>ENABLE_LOOPBACK</name>
        <initializer>(<ref refid="group__lwip__opts__loop_1ga724a0ea765d5a47d026d529725f31c01" kindref="member">LWIP_NETIF_LOOPBACK</ref> || <ref refid="group__lwip__opts__loop_1gaa2b1f736373cd896e212644aa453fbaf" kindref="member">LWIP_HAVE_LOOPIF</ref>)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="42" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="42" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="netif_8h_1ad968df1b35c2fae368e087966e3bc677" prot="public" static="no">
        <name>IF__NETIF_CHECKSUM_ENABLED</name>
        <param><defname>netif</defname></param>
        <param><defname>chksumflag</defname></param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="357" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="357" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1gaef64fe15c82bc7b235366923e517104e" prot="public" static="no">
        <name>NETIF_FLAG_BROADCAST</name>
        <initializer>0x02U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the netif has broadcast capability. Set by the netif driver in its init function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="89" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="89" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1ga92448dc510bc8d700c09e5c971ef0676" prot="public" static="no">
        <name>NETIF_FLAG_ETHARP</name>
        <initializer>0x08U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the netif is an ethernet device using ARP. Set by the netif driver in its init function. Used to check input packet types and use of DHCP. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="99" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="99" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1ga76ad9d0cf9f029df0ab2a998c64040dc" prot="public" static="no">
        <name>NETIF_FLAG_ETHERNET</name>
        <initializer>0x10U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the netif is an ethernet device. It might not use ARP or TCP/IP if it is used for PPPoE only. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="103" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="103" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1gac9493b923d733c73f6006d9714826558" prot="public" static="no">
        <name>NETIF_FLAG_IGMP</name>
        <initializer>0x20U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the netif has IGMP capability. Set by the netif driver in its init function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="106" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="106" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" prot="public" static="no">
        <name>NETIF_FLAG_LINK_UP</name>
        <initializer>0x04U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the interface has an active link (set by the network interface driver). Either set by the netif driver in its init function (if the link is up at that time) or at a later point once the link comes up (if link detection is supported by the hardware). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="95" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="95" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1gab14fbe1447d2fdbdf5abc87f51eb6508" prot="public" static="no">
        <name>NETIF_FLAG_MLD6</name>
        <initializer>0x40U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>If set, the netif has MLD6 capability. Set by the netif driver in its init function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="109" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="109" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" prot="public" static="no">
        <name>NETIF_FLAG_UP</name>
        <initializer>0x01U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Whether the network interface is &apos;up&apos;. This is a software flag used to control whether this network interface is enabled and processes traffic. It must be set by the startup code before this netif can be used (also for dhcp/autoip). </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="86" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="86" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="netif_8h_1a780be4c3fa9f7f2534f7865666c3a1b8" prot="public" static="no">
        <name>netif_is_link_up</name>
        <param><defname>netif</defname></param>
        <initializer>(((<ref refid="structnetif" kindref="compound">netif</ref>)-&gt;flags &amp; <ref refid="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" kindref="member">NETIF_FLAG_LINK_UP</ref>) ? (<ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref>)1 : (<ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref>)0)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Ask if a link is up </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="421" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="421" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="group__netif_1ga94a4c24c988afc0a577387730f303b19" prot="public" static="no">
        <name>netif_is_up</name>
        <param><defname>netif</defname></param>
        <initializer>(((<ref refid="structnetif" kindref="compound">netif</ref>)-&gt;flags &amp; <ref refid="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" kindref="member">NETIF_FLAG_UP</ref>) ? (<ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref>)1 : (<ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref>)0)</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Ask if an interface is up </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="409" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="409" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="netif_8h_1ab887a8ec553de1be1d04cf2961c63c41" prot="public" static="no">
        <name>NETIF_MAX_HWADDR_LEN</name>
        <initializer>6U</initializer>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Must be the maximum of all used hardware address lengths across all types of interfaces in use. This does not have to be changed, normally. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="71" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="71" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="netif_8h_1ac0aca2a2d3c7d7095939d818acf4dbd2" prot="public" static="no">
        <name>NETIF_SET_CHECKSUM_CTRL</name>
        <param><defname>netif</defname></param>
        <param><defname>chksumflags</defname></param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="356" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="356" bodyend="-1"/>
      </memberdef>
      <memberdef kind="define" id="netif_8h_1ae1c22f1dab74a84d9e31316fd5fdfa11" prot="public" static="no">
        <name>NETIF_SET_HWADDRHINT</name>
        <param><defname>netif</defname></param>
        <param><defname>hint</defname></param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="475" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="475" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="enum">
      <memberdef kind="enum" id="netif_8h_1a528ae27498af778f808a930469d98308" prot="public" static="no" strong="no">
        <type></type>
        <name>lwip_internal_netif_client_data_index</name>
        <enumvalue id="netif_8h_1a528ae27498af778f808a930469d98308a07e3221acd5d0c9890a999dbe7e03d38" prot="public">
          <name>LWIP_NETIF_CLIENT_DATA_INDEX_MAX</name>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="116" column="1" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="115" bodyend="130"/>
      </memberdef>
      <memberdef kind="enum" id="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0" prot="public" static="no" strong="no">
        <type></type>
        <name>netif_mac_filter_action</name>
        <enumvalue id="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a7ad3406353906deb4e64ebeed349e07e" prot="public">
          <name>NETIF_DEL_MAC_FILTER</name>
          <initializer>= 0</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
<para>Delete a filter entry </para>
          </detaileddescription>
        </enumvalue>
        <enumvalue id="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a4186fbaf94be956ea1a3b02cd1cccb1f" prot="public">
          <name>NETIF_ADD_MAC_FILTER</name>
          <initializer>= 1</initializer>
          <briefdescription>
          </briefdescription>
          <detaileddescription>
<para>Add a filter entry </para>
          </detaileddescription>
        </enumvalue>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>MAC Filter Actions, these are passed to a netif&apos;s igmp_mac_filter or mld_mac_filter callback function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="151" column="29" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="151" bodyend="156"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="typedef">
      <memberdef kind="typedef" id="netif_8h_1a2b02a78a8769925ff8e4f83d34e5e1f5" prot="public" static="no">
        <type><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref>(*</type>
        <definition>typedef err_t(* netif_init_fn) (struct netif *netif)</definition>
        <argsstring>)(struct netif *netif)</argsstring>
        <name>netif_init_fn</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function prototype for netif init functions. Set up flags and output/linkoutput callback functions in this function.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>The netif to initialize </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="163" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="163" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" prot="public" static="no">
        <type><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref>(*</type>
        <definition>typedef err_t(* netif_input_fn) (struct pbuf *p, struct netif *inp)</definition>
        <argsstring>)(struct pbuf *p, struct netif *inp)</argsstring>
        <name>netif_input_fn</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function prototype for netif-&gt;input functions. This function is saved as &apos;input&apos; callback function in the netif struct. Call it when a packet has been received.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>p</parametername>
</parameternamelist>
<parameterdescription>
<para>The received packet, copied into a pbuf </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>inp</parametername>
</parameternamelist>
<parameterdescription>
<para>The netif which received the packet </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="170" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="170" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="netif_8h_1ab75e9d808bc1b788bea84213e6a111ed" prot="public" static="no">
        <type><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref>(*</type>
        <definition>typedef err_t(* netif_linkoutput_fn) (struct netif *netif, struct pbuf *p)</definition>
        <argsstring>)(struct netif *netif, struct pbuf *p)</argsstring>
        <name>netif_linkoutput_fn</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function prototype for netif-&gt;linkoutput functions. Only used for ethernet netifs. This function is called by ARP when a packet shall be sent.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>The netif which shall send a packet </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p</parametername>
</parameternamelist>
<parameterdescription>
<para>The packet to send (raw ethernet packet) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="204" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="204" bodyend="-1"/>
      </memberdef>
      <memberdef kind="typedef" id="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" prot="public" static="no">
        <type>void(*</type>
        <definition>typedef void(* netif_status_callback_fn) (struct netif *netif)</definition>
        <argsstring>)(struct netif *netif)</argsstring>
        <name>netif_status_callback_fn</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Function prototype for netif status- or link-callback functions. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="206" column="9" bodyfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" bodystart="206" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="var">
      <memberdef kind="variable" id="netif_8h_1a3d0925cbce550ed461907aee816713ba" prot="public" static="no" mutable="no">
        <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
        <definition>struct netif* netif_default</definition>
        <argsstring></argsstring>
        <name>netif_default</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>The default network interface. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="363" column="19" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="105" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="363" declcolumn="19"/>
        <referencedby refid="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" compoundref="netif_8c" startline="377" endline="462">netif_remove</referencedby>
        <referencedby refid="group__netif_1gac90f290edd005238d62aa94c4ac9dea3" compoundref="netif_8c" startline="604" endline="616">netif_set_default</referencedby>
      </memberdef>
      <memberdef kind="variable" id="netif_8h_1a1c8141eaa98f6dc6dfddbb23a706656c" prot="public" static="no" mutable="no">
        <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
        <definition>struct netif* netif_list</definition>
        <argsstring></argsstring>
        <name>netif_list</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>The list of network interfaces. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="361" column="19" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="104" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="361" declcolumn="19"/>
        <referencedby refid="group__netif_1ga69c93a139e8a1f6ef4e3d076a2897def" compoundref="netif_8c" startline="472" endline="493">netif_find</referencedby>
        <referencedby refid="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" compoundref="netif_8c" startline="377" endline="462">netif_remove</referencedby>
      </memberdef>
      <memberdef kind="variable" id="netif_8h_1a4a11421d92a3c6d8d9fae9db3bb9f299" prot="public" static="no" mutable="no">
        <type>struct <ref refid="structnicBuffer" kindref="compound">nicBuffer</ref> *</type>
        <definition>struct nicBuffer* tmpBuf</definition>
        <argsstring></argsstring>
        <name>tmpBuf</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="58" column="23" bodyfile="C:/Dev/git/UbixOS/sys/net/netif/ethernetif.c" bodystart="63" bodyend="-1" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="58" declcolumn="23"/>
        <referencedby refid="lnc_8c_1afa544fa662f94035a72f9c04f7f7fd5a" compoundref="lnc_8c" startline="316" endline="350">lnc_rxINT</referencedby>
        <referencedby refid="lnc_8c_1a6fb9d9c3d73ce2d10b2cebe1d71f07e2" compoundref="lnc_8c" startline="278" endline="314">lnc_thread</referencedby>
        <referencedby refid="ne2k_8c_1adae239918a8091c31abf996cee262c92" compoundref="ne2k_8c" startline="312" endline="339">ne2kAllocBuffer</referencedby>
        <referencedby refid="ne2k_8c_1a954f14d0270247855900254097728c57" compoundref="ne2k_8c" startline="341" endline="351">ne2kGetBuffer</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="netif_8h_1a53b1dadb198f26ea67bf74d4d3e8daef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ethernetif_input</definition>
        <argsstring>(struct netif *)</argsstring>
        <name>ethernetif_input</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <defname>netif</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>This function should be called when a packet is ready to be read from the interface. It uses the function low_level_input() that should handle the actual reception of bytes from the network interface. Then the type of the received packet is determined and the appropriate input function is called.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>the lwip network interface structure for this ethernetif </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="483" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/netif/ethernetif.c" bodystart="270" bodyend="288" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="483" declcolumn="6"/>
        <references refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" compoundref="netif_8h" startline="287">netif::state</references>
        <referencedby refid="lnc_8c_1a6fb9d9c3d73ce2d10b2cebe1d71f07e2" compoundref="lnc_8c" startline="278" endline="314">lnc_thread</referencedby>
      </memberdef>
      <memberdef kind="function" id="group__netif_1ga66970b5877dd6b0cae906bfa78d0cb4c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
        <definition>struct netif* netif_add</definition>
        <argsstring>(struct netif *netif, void *state, netif_init_fn init, netif_input_fn input)</argsstring>
        <name>netif_add</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <param>
          <type>void *</type>
          <declname>state</declname>
        </param>
        <param>
          <type><ref refid="netif_8h_1a2b02a78a8769925ff8e4f83d34e5e1f5" kindref="member">netif_init_fn</ref></type>
          <declname>init</declname>
        </param>
        <param>
          <type><ref refid="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" kindref="member">netif_input_fn</ref></type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Add a network interface to the list of lwIP netifs.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>a pre-allocated netif structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ipaddr</parametername>
</parameternamelist>
<parameterdescription>
<para>IP address for the new netif </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>netmask</parametername>
</parameternamelist>
<parameterdescription>
<para>network mask for the new netif </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>gw</parametername>
</parameternamelist>
<parameterdescription>
<para>default gateway IP address for the new netif </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>state</parametername>
</parameternamelist>
<parameterdescription>
<para>opaque data passed to the new netif </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>init</parametername>
</parameternamelist>
<parameterdescription>
<para>callback function that initializes the interface </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>input</parametername>
</parameternamelist>
<parameterdescription>
<para>callback function that is called to pass ingress packets up in the protocol layer stack.<linebreak/>
It is recommended to use a function that passes the input directly to the stack (<ref refid="netif_8c_1a5532f93d68c874fb99c681bff2165385" kindref="member">netif_input()</ref>, NO_SYS=1 mode) or via sending a message to TCPIP thread (<ref refid="tcpip_8h_1ae510f195171bed8499ae94e264a92717" kindref="member">tcpip_input()</ref>, NO_SYS=0 mode).<linebreak/>
These functions use netif flags NETIF_FLAG_ETHARP and NETIF_FLAG_ETHERNET to decide whether to forward to ethernet_input() or ip_input(). In other words, the functions only work when the netif driver is implemented correctly!<linebreak/>
Most members of struct netif should be be initialized by the netif init function = netif driver (init parameter of this function).<linebreak/>
IPv6: Don&apos;t forget to call netif_create_ip6_linklocal_address() after setting the MAC address in struct <ref refid="structnetif_1aee967965d999fc1a4c40a66709304e69" kindref="member">netif.hwaddr</ref> (IPv6 requires a link-local address).</para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>netif, or NULL if failed. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="367" column="12" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="241" bodyend="338" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="367" declcolumn="12"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="ip__addr_8h_1afb3a0e5241683aff573e195f31ba8845" compoundref="ip__addr_8h" startline="310">ip_addr_set_zero_ip6</references>
        <references refid="debug_8h_1a94ad086267808462beae2b38f91996ed" compoundref="debug_8h" startline="116">LWIP_ASSERT</references>
        <references refid="lwipopts_8h_1a16c1b672604bfb0a66a6aeeb854589d3" compoundref="lwipopts_8h" startline="367">LWIP_IPV6_NUM_ADDRESSES</references>
        <references refid="lwipopts_8h_1a980909018aed54adc10dd68be3572b30" compoundref="lwipopts_8h" startline="385">LWIP_ND6_MAX_MULTICAST_SOLICIT</references>
        <references refid="string_8h_1ace4b911463887af5e748326323e99a23">memset</references>
        <references refid="netif_8h_1ac0aca2a2d3c7d7095939d818acf4dbd2" compoundref="netif_8h" startline="356">NETIF_SET_CHECKSUM_CTRL</references>
        <references refid="fat__string_8h_1a070d2ce7b6bb7e5c05602aa8c308d0c4" compoundref="fat__string_8h" startline="17">NULL</references>
        <references refid="structnetif_1ab7ef01e505dd2feb781fe86756b1c973" compoundref="netif_8h" startline="317">netif::num</references>
        <references refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" compoundref="netif_8h" startline="287">netif::state</references>
        <referencedby refid="net_2init_8c_1a22b2914249628f6cba7d4e1f138c969f" compoundref="net_2init_8c" startline="52" endline="70">net_init</referencedby>
        <referencedby refid="netif_8c_1a0f4a53e47c840904f824a2a1c0d4ebf4" compoundref="netif_8c" startline="163" endline="191">netif_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="group__netif_1ga69c93a139e8a1f6ef4e3d076a2897def" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
        <definition>struct netif* netif_find</definition>
        <argsstring>(const char *name)</argsstring>
        <name>netif_find</name>
        <param>
          <type><ref refid="cdefs_8h_1a2c212835823e3c54a8ab6d95c652660e" kindref="member">const</ref> char *</type>
          <declname>name</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Find a network interface by searching for its name</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>name</parametername>
</parameternamelist>
<parameterdescription>
<para>the name of the netif (like netif-&gt;name) plus concatenated number in ascii representation (e.g. &apos;en0&apos;) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="382" column="12" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="472" bodyend="493" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="382" declcolumn="12"/>
        <references refid="structnetif_1ab7ef01e505dd2feb781fe86756b1c973" compoundref="netif_8h" startline="317">netif::num</references>
        <references refid="pci_8c_1a8f8f80d37794cde9472343e4487ba3eb" compoundref="pci_8c" startline="37">name</references>
        <references refid="fat__string_8h_1a070d2ce7b6bb7e5c05602aa8c308d0c4" compoundref="fat__string_8h" startline="17">NULL</references>
        <references refid="netif_8c_1a1c8141eaa98f6dc6dfddbb23a706656c" compoundref="netif_8c" startline="104">netif_list</references>
        <references refid="structnetif_1ae77736b64df442242795220d76be6b86" compoundref="netif_8h" startline="235">netif::next</references>
        <references refid="structnetif_1a32fca6ffd28bb9af3f891a378827a67e" compoundref="netif_8h" startline="315">netif::name</references>
        <references refid="debug_8h_1a63a04edf7ff63c951bd8706711956cdb" compoundref="debug_8h" startline="164">LWIP_DEBUGF</references>
        <references refid="lwipopts_8h_1a2dfad02b075a7f9a8791a66fe40864a4" compoundref="lwipopts_8h" startline="433">NETIF_DEBUG</references>
      </memberdef>
      <memberdef kind="function" id="netif_8h_1a0f4a53e47c840904f824a2a1c0d4ebf4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_init</definition>
        <argsstring>(void)</argsstring>
        <name>netif_init</name>
        <param>
          <type>void</type>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="365" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="163" bodyend="191" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="365" declcolumn="6"/>
        <references refid="ip__addr_8h_1abfb1ce44d6a8791336bf3ac06aa086ca" compoundref="ip__addr_8h" startline="303">IP_ADDR6_HOST</references>
        <references refid="group__netif_1ga66970b5877dd6b0cae906bfa78d0cb4c" compoundref="netif_8c" startline="241" endline="338">netif_add</references>
        <references refid="group__netif_1gae0d2975f189277990e9d5276fdd9e9ea" compoundref="netif_8c" startline="735" endline="753">netif_set_link_up</references>
        <references refid="group__netif_1gaf19693be401a265a52d2a56c65753121" compoundref="netif_8c" startline="624" endline="637">netif_set_up</references>
        <references refid="fat__string_8h_1a070d2ce7b6bb7e5c05602aa8c308d0c4" compoundref="fat__string_8h" startline="17">NULL</references>
        <references refid="tcpip_8h_1ae510f195171bed8499ae94e264a92717" compoundref="tcpip_8c" startline="204" endline="216">tcpip_input</references>
        <referencedby refid="core_2init_8c_1a0c1a18439524d2f4a5e51d25c0ca2ce9" compoundref="core_2init_8c" startline="333" endline="381">lwip_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="netif_8h_1a5532f93d68c874fb99c681bff2165385" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref></type>
        <definition>err_t netif_input</definition>
        <argsstring>(struct pbuf *p, struct netif *inp)</argsstring>
        <name>netif_input</name>
        <param>
          <type>struct <ref refid="structpbuf" kindref="compound">pbuf</ref> *</type>
          <declname>p</declname>
        </param>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>inp</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Forwards a received packet for input processing with ethernet_input() or ip_input() depending on netif flags. Don&apos;t call directly, pass to <ref refid="group__netif_1ga66970b5877dd6b0cae906bfa78d0cb4c" kindref="member">netif_add()</ref> and call netif-&gt;input(). Only works if the netif driver correctly sets NETIF_FLAG_ETHARP and/or NETIF_FLAG_ETHERNET flag! </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="455" column="7" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="203" bodyend="211" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="455" declcolumn="7"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="group__netif__flags_1ga92448dc510bc8d700c09e5c971ef0676" compoundref="netif_8h" startline="99">NETIF_FLAG_ETHARP</references>
        <references refid="group__netif__flags_1ga76ad9d0cf9f029df0ab2a998c64040dc" compoundref="netif_8h" startline="103">NETIF_FLAG_ETHERNET</references>
      </memberdef>
      <memberdef kind="function" id="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_remove</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_remove</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Remove a network interface from the list of lwIP netifs.</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>the network interface to remove </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="376" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="377" bodyend="462" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="376" declcolumn="6"/>
        <references refid="fat__string_8h_1a070d2ce7b6bb7e5c05602aa8c308d0c4" compoundref="fat__string_8h" startline="17">NULL</references>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="group__netif__flags_1gac9493b923d733c73f6006d9714826558" compoundref="netif_8h" startline="106">NETIF_FLAG_IGMP</references>
        <references refid="lwipopts_8h_1a16c1b672604bfb0a66a6aeeb854589d3" compoundref="lwipopts_8h" startline="367">LWIP_IPV6_NUM_ADDRESSES</references>
        <references refid="group__netif_1ga94a4c24c988afc0a577387730f303b19" compoundref="netif_8h" startline="409">netif_is_up</references>
        <references refid="group__netif_1ga641d07ed8c31fe5306bc01605a6790cf" compoundref="netif_8c" startline="682" endline="700">netif_set_down</references>
        <references refid="snmp_8h_1adb3ddfac76153a97bbe02c220f8f85a0" compoundref="snmp_8h" startline="186">mib2_remove_ip4</references>
        <references refid="netif_8c_1a3d0925cbce550ed461907aee816713ba" compoundref="netif_8c" startline="105">netif_default</references>
        <references refid="group__netif_1gac90f290edd005238d62aa94c4ac9dea3" compoundref="netif_8c" startline="604" endline="616">netif_set_default</references>
        <references refid="netif_8c_1a1c8141eaa98f6dc6dfddbb23a706656c" compoundref="netif_8c" startline="104">netif_list</references>
        <references refid="structnetif_1ae77736b64df442242795220d76be6b86" compoundref="netif_8h" startline="235">netif::next</references>
        <references refid="snmp_8h_1a8199a60f5794825ce5d9d03fa6d09ce8" compoundref="snmp_8h" startline="178">mib2_netif_removed</references>
        <references refid="debug_8h_1a63a04edf7ff63c951bd8706711956cdb" compoundref="debug_8h" startline="164">LWIP_DEBUGF</references>
        <references refid="lwipopts_8h_1a2dfad02b075a7f9a8791a66fe40864a4" compoundref="lwipopts_8h" startline="433">NETIF_DEBUG</references>
      </memberdef>
      <memberdef kind="function" id="group__netif_1gac90f290edd005238d62aa94c4ac9dea3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_set_default</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_set_default</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set a network interface as the default network interface (used to output all packets for which no specific route is found)</para>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>netif</parametername>
</parameternamelist>
<parameterdescription>
<para>the default network interface </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="384" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="604" bodyend="616" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="384" declcolumn="6"/>
        <references refid="debug_8h_1a63a04edf7ff63c951bd8706711956cdb" compoundref="debug_8h" startline="164">LWIP_DEBUGF</references>
        <references refid="snmp_8h_1a4fc7123213fe9bbf0fb743e953f24043" compoundref="snmp_8h" startline="187">mib2_add_route_ip4</references>
        <references refid="snmp_8h_1aa3d83533068f4a497d6e29288973c9c3" compoundref="snmp_8h" startline="188">mib2_remove_route_ip4</references>
        <references refid="structnetif_1a32fca6ffd28bb9af3f891a378827a67e" compoundref="netif_8h" startline="315">netif::name</references>
        <references refid="lwipopts_8h_1a2dfad02b075a7f9a8791a66fe40864a4" compoundref="lwipopts_8h" startline="433">NETIF_DEBUG</references>
        <references refid="netif_8c_1a3d0925cbce550ed461907aee816713ba" compoundref="netif_8c" startline="105">netif_default</references>
        <references refid="fat__string_8h_1a070d2ce7b6bb7e5c05602aa8c308d0c4" compoundref="fat__string_8h" startline="17">NULL</references>
        <referencedby refid="net_2init_8c_1a22b2914249628f6cba7d4e1f138c969f" compoundref="net_2init_8c" startline="52" endline="70">net_init</referencedby>
        <referencedby refid="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" compoundref="netif_8c" startline="377" endline="462">netif_remove</referencedby>
      </memberdef>
      <memberdef kind="function" id="group__netif_1ga641d07ed8c31fe5306bc01605a6790cf" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_set_down</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_set_down</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Bring an interface down, disabling any traffic processing. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="405" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="682" bodyend="700" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="405" declcolumn="6"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" compoundref="netif_8h" startline="86">NETIF_FLAG_UP</references>
        <references refid="snmp_8h_1abe6b270482ca9af07c029f3136d8ec9c" compoundref="snmp_8h" startline="136">MIB2_COPY_SYSUPTIME_TO</references>
        <references refid="group__netif__flags_1ga92448dc510bc8d700c09e5c971ef0676" compoundref="netif_8h" startline="99">NETIF_FLAG_ETHARP</references>
        <references refid="netif_8c_1a67d78318251432e9e4416f7ceab23ecb" compoundref="netif_8c" startline="95">NETIF_STATUS_CALLBACK</references>
        <referencedby refid="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" compoundref="netif_8c" startline="377" endline="462">netif_remove</referencedby>
      </memberdef>
      <memberdef kind="function" id="group__netif_1ga34e37a1e8e358760dc1c43887922c7db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_set_link_down</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_set_link_down</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Called by a driver when its link goes down </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="419" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="760" bodyend="766" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="419" declcolumn="6"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" compoundref="netif_8h" startline="95">NETIF_FLAG_LINK_UP</references>
        <references refid="netif_8c_1aa4ea2644fa9858891412e976a24a0179" compoundref="netif_8c" startline="101">NETIF_LINK_CALLBACK</references>
      </memberdef>
      <memberdef kind="function" id="group__netif_1gae0d2975f189277990e9d5276fdd9e9ea" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_set_link_up</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_set_link_up</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Called by a driver when its link goes up </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="418" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="735" bodyend="753" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="418" declcolumn="6"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" compoundref="netif_8h" startline="95">NETIF_FLAG_LINK_UP</references>
        <references refid="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" compoundref="netif_8h" startline="86">NETIF_FLAG_UP</references>
        <referencedby refid="net_2init_8c_1a22b2914249628f6cba7d4e1f138c969f" compoundref="net_2init_8c" startline="52" endline="70">net_init</referencedby>
        <referencedby refid="netif_8c_1a0f4a53e47c840904f824a2a1c0d4ebf4" compoundref="netif_8c" startline="163" endline="191">netif_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="group__netif_1gaf19693be401a265a52d2a56c65753121" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void netif_set_up</definition>
        <argsstring>(struct netif *netif)</argsstring>
        <name>netif_set_up</name>
        <param>
          <type>struct <ref refid="structnetif" kindref="compound">netif</ref> *</type>
          <declname>netif</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Bring an interface up, available for processing traffic. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h" line="404" column="6" bodyfile="C:/Dev/git/UbixOS/sys/net/core/netif.c" bodystart="624" bodyend="637" declfile="C:/Dev/git/UbixOS/sys/include/net/netif.h" declline="404" declcolumn="6"/>
        <references refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" compoundref="netif_8h" startline="313">netif::flags</references>
        <references refid="snmp_8h_1abe6b270482ca9af07c029f3136d8ec9c" compoundref="snmp_8h" startline="136">MIB2_COPY_SYSUPTIME_TO</references>
        <references refid="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" compoundref="netif_8h" startline="95">NETIF_FLAG_LINK_UP</references>
        <references refid="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" compoundref="netif_8h" startline="86">NETIF_FLAG_UP</references>
        <references refid="netif_8c_1a67d78318251432e9e4416f7ceab23ecb" compoundref="netif_8c" startline="95">NETIF_STATUS_CALLBACK</references>
        <referencedby refid="net_2init_8c_1a22b2914249628f6cba7d4e1f138c969f" compoundref="net_2init_8c" startline="52" endline="70">net_init</referencedby>
        <referencedby refid="netif_8c_1a0f4a53e47c840904f824a2a1c0d4ebf4" compoundref="netif_8c" startline="163" endline="191">netif_init</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>netif API (to be used from TCPIP thread) </para>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"></codeline>
<codeline lineno="6"><highlight class="comment">/*</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/>Copyright<sp/>(c)<sp/>2001-2004<sp/>Swedish<sp/>Institute<sp/>of<sp/>Computer<sp/>Science.</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>*<sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/>Redistribution<sp/>and<sp/>use<sp/>in<sp/>source<sp/>and<sp/>binary<sp/>forms,<sp/>with<sp/>or<sp/>without<sp/>modification,</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/>are<sp/>permitted<sp/>provided<sp/>that<sp/>the<sp/>following<sp/>conditions<sp/>are<sp/>met:</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>*<sp/>1.<sp/>Redistributions<sp/>of<sp/>source<sp/>code<sp/>must<sp/>retain<sp/>the<sp/>above<sp/>copyright<sp/>notice,</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>this<sp/>list<sp/>of<sp/>conditions<sp/>and<sp/>the<sp/>following<sp/>disclaimer.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/>2.<sp/>Redistributions<sp/>in<sp/>binary<sp/>form<sp/>must<sp/>reproduce<sp/>the<sp/>above<sp/>copyright<sp/>notice,</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>this<sp/>list<sp/>of<sp/>conditions<sp/>and<sp/>the<sp/>following<sp/>disclaimer<sp/>in<sp/>the<sp/>documentation</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>and/or<sp/>other<sp/>materials<sp/>provided<sp/>with<sp/>the<sp/>distribution.</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>*<sp/>3.<sp/>The<sp/>name<sp/>of<sp/>the<sp/>author<sp/>may<sp/>not<sp/>be<sp/>used<sp/>to<sp/>endorse<sp/>or<sp/>promote<sp/>products</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/>derived<sp/>from<sp/>this<sp/>software<sp/>without<sp/>specific<sp/>prior<sp/>written<sp/>permission.</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>*<sp/>THIS<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>BY<sp/>THE<sp/>AUTHOR<sp/>``AS<sp/>IS&apos;&apos;<sp/>AND<sp/>ANY<sp/>EXPRESS<sp/>OR<sp/>IMPLIED</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*<sp/>WARRANTIES,<sp/>INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>THE<sp/>IMPLIED<sp/>WARRANTIES<sp/>OF</highlight></codeline>
<codeline lineno="23"><highlight class="comment"><sp/>*<sp/>MERCHANTABILITY<sp/>AND<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>ARE<sp/>DISCLAIMED.<sp/>IN<sp/>NO<sp/>EVENT</highlight></codeline>
<codeline lineno="24"><highlight class="comment"><sp/>*<sp/>SHALL<sp/>THE<sp/>AUTHOR<sp/>BE<sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>DIRECT,<sp/>INDIRECT,<sp/>INCIDENTAL,<sp/>SPECIAL,</highlight></codeline>
<codeline lineno="25"><highlight class="comment"><sp/>*<sp/>EXEMPLARY,<sp/>OR<sp/>CONSEQUENTIAL<sp/>DAMAGES<sp/>(INCLUDING,<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO,<sp/>PROCUREMENT</highlight></codeline>
<codeline lineno="26"><highlight class="comment"><sp/>*<sp/>OF<sp/>SUBSTITUTE<sp/>GOODS<sp/>OR<sp/>SERVICES;<sp/>LOSS<sp/>OF<sp/>USE,<sp/>DATA,<sp/>OR<sp/>PROFITS;<sp/>OR<sp/>BUSINESS</highlight></codeline>
<codeline lineno="27"><highlight class="comment"><sp/>*<sp/>INTERRUPTION)<sp/>HOWEVER<sp/>CAUSED<sp/>AND<sp/>ON<sp/>ANY<sp/>THEORY<sp/>OF<sp/>LIABILITY,<sp/>WHETHER<sp/>IN</highlight></codeline>
<codeline lineno="28"><highlight class="comment"><sp/>*<sp/>CONTRACT,<sp/>STRICT<sp/>LIABILITY,<sp/>OR<sp/>TORT<sp/>(INCLUDING<sp/>NEGLIGENCE<sp/>OR<sp/>OTHERWISE)<sp/>ARISING</highlight></codeline>
<codeline lineno="29"><highlight class="comment"><sp/>*<sp/>IN<sp/>ANY<sp/>WAY<sp/>OUT<sp/>OF<sp/>THE<sp/>USE<sp/>OF<sp/>THIS<sp/>SOFTWARE,<sp/>EVEN<sp/>IF<sp/>ADVISED<sp/>OF<sp/>THE<sp/>POSSIBILITY</highlight></codeline>
<codeline lineno="30"><highlight class="comment"><sp/>*<sp/>OF<sp/>SUCH<sp/>DAMAGE.</highlight></codeline>
<codeline lineno="31"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="32"><highlight class="comment"><sp/>*<sp/>This<sp/>file<sp/>is<sp/>part<sp/>of<sp/>the<sp/>lwIP<sp/>TCP/IP<sp/>stack.</highlight></codeline>
<codeline lineno="33"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="34"><highlight class="comment"><sp/>*<sp/>Author:<sp/>Adam<sp/>Dunkels<sp/>&lt;adam@sics.se&gt;</highlight></codeline>
<codeline lineno="35"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="36"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>LWIP_HDR_NETIF_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>LWIP_HDR_NETIF_H</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="opt_8h" kindref="compound">net/opt.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
<codeline lineno="42" refid="netif_8h_1a53a4d9ad0bbe679841b5ff3f6906076c" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>ENABLE_LOOPBACK<sp/>(LWIP_NETIF_LOOPBACK<sp/>||<sp/>LWIP_HAVE_LOOPIF)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="43"><highlight class="normal"></highlight></codeline>
<codeline lineno="44"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="err_8h" kindref="compound">net/err.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="ip__addr_8h" kindref="compound">net/ip_addr.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="47"><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="def_8h" kindref="compound">net/def.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="49"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="pbuf_8h" kindref="compound">net/pbuf.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;<ref refid="stats_8h" kindref="compound">net/stats.h</ref>&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="51"><highlight class="normal"></highlight></codeline>
<codeline lineno="52" refid="structnicBuffer" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnicBuffer" kindref="compound">nicBuffer</ref><sp/>{</highlight></codeline>
<codeline lineno="53" refid="structnicBuffer_1ab019ceba7f84eddae7d6b2abc538906a" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnicBuffer" kindref="compound">nicBuffer</ref><sp/>*<ref refid="structnicBuffer_1ab019ceba7f84eddae7d6b2abc538906a" kindref="member">next</ref>;</highlight></codeline>
<codeline lineno="54" refid="structnicBuffer_1a959ee09a7a6fc875f3d5d651576f37c4" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="structnicBuffer_1a959ee09a7a6fc875f3d5d651576f37c4" kindref="member">length</ref>;</highlight></codeline>
<codeline lineno="55" refid="structnicBuffer_1a9679b6c2e76a7617884e422c11aa3eac" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*<ref refid="structnicBuffer_1a9679b6c2e76a7617884e422c11aa3eac" kindref="member">buffer</ref>;</highlight></codeline>
<codeline lineno="56"><highlight class="normal">};</highlight></codeline>
<codeline lineno="57"><highlight class="normal"></highlight></codeline>
<codeline lineno="58"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnicBuffer" kindref="compound">nicBuffer</ref><sp/>*<ref refid="netif_8h_1a4a11421d92a3c6d8d9fae9db3bb9f299" kindref="member">tmpBuf</ref>;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"></highlight></codeline>
<codeline lineno="60"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="61"><highlight class="normal"></highlight><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="stringliteral">&quot;C&quot;</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="63"><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>Throughout<sp/>this<sp/>file,<sp/>IP<sp/>addresses<sp/>are<sp/>expected<sp/>to<sp/>be<sp/>in</highlight></codeline>
<codeline lineno="65"><highlight class="comment"><sp/>*<sp/>the<sp/>same<sp/>byte<sp/>order<sp/>as<sp/>in<sp/>IP_PCB.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66"><highlight class="normal"></highlight></codeline>
<codeline lineno="70"><highlight class="preprocessor">#ifndef<sp/>NETIF_MAX_HWADDR_LEN</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71" refid="netif_8h_1ab887a8ec553de1be1d04cf2961c63c41" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_MAX_HWADDR_LEN<sp/>6U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"></highlight></codeline>
<codeline lineno="86" refid="group__netif__flags_1gab47d7d130693dc155f480a5bf447725e" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_UP<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x01U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="87"><highlight class="normal"></highlight></codeline>
<codeline lineno="89" refid="group__netif__flags_1gaef64fe15c82bc7b235366923e517104e" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_BROADCAST<sp/><sp/><sp/><sp/>0x02U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"></highlight></codeline>
<codeline lineno="95" refid="group__netif__flags_1ga75f5a2b9276c93e3bd18a568459fd2d8" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_LINK_UP<sp/><sp/><sp/><sp/><sp/><sp/>0x04U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="96"><highlight class="normal"></highlight></codeline>
<codeline lineno="99" refid="group__netif__flags_1ga92448dc510bc8d700c09e5c971ef0676" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_ETHARP<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x08U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"></highlight></codeline>
<codeline lineno="103" refid="group__netif__flags_1ga76ad9d0cf9f029df0ab2a998c64040dc" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_ETHERNET<sp/><sp/><sp/><sp/><sp/>0x10U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight></codeline>
<codeline lineno="106" refid="group__netif__flags_1gac9493b923d733c73f6006d9714826558" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_IGMP<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x20U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal"></highlight></codeline>
<codeline lineno="109" refid="group__netif__flags_1gab14fbe1447d2fdbdf5abc87f51eb6508" refkind="member"><highlight class="preprocessor">#define<sp/>NETIF_FLAG_MLD6<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x40U</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
<codeline lineno="115" refid="netif_8h_1a528ae27498af778f808a930469d98308" refkind="member"><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1a528ae27498af778f808a930469d98308" kindref="member">lwip_internal_netif_client_data_index</ref></highlight></codeline>
<codeline lineno="116"><highlight class="normal">{</highlight></codeline>
<codeline lineno="117"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_DHCP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/>LWIP_NETIF_CLIENT_DATA_INDEX_DHCP,</highlight></codeline>
<codeline lineno="119"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_AUTOIP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/>LWIP_NETIF_CLIENT_DATA_INDEX_AUTOIP,</highlight></codeline>
<codeline lineno="122"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="123"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IGMP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/>LWIP_NETIF_CLIENT_DATA_INDEX_IGMP,</highlight></codeline>
<codeline lineno="125"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="126"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6_MLD</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/>LWIP_NETIF_CLIENT_DATA_INDEX_MLD6,</highlight></codeline>
<codeline lineno="128"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="129" refid="netif_8h_1a528ae27498af778f808a930469d98308a07e3221acd5d0c9890a999dbe7e03d38" refkind="member"><highlight class="normal"><sp/><sp/><sp/><ref refid="netif_8h_1a528ae27498af778f808a930469d98308a07e3221acd5d0c9890a999dbe7e03d38" kindref="member">LWIP_NETIF_CLIENT_DATA_INDEX_MAX</ref></highlight></codeline>
<codeline lineno="130"><highlight class="normal">};</highlight></codeline>
<codeline lineno="131"><highlight class="normal"></highlight></codeline>
<codeline lineno="132"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="133"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_GEN_IP<sp/><sp/><sp/><sp/><sp/><sp/><sp/>0x0001</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="134"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_GEN_UDP<sp/><sp/><sp/><sp/><sp/><sp/>0x0002</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_GEN_TCP<sp/><sp/><sp/><sp/><sp/><sp/>0x0004</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="136"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_GEN_ICMP<sp/><sp/><sp/><sp/><sp/>0x0008</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="137"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_GEN_ICMP6<sp/><sp/><sp/><sp/>0x0010</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_CHECK_IP<sp/><sp/><sp/><sp/><sp/>0x0100</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="139"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_CHECK_UDP<sp/><sp/><sp/><sp/>0x0200</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_CHECK_TCP<sp/><sp/><sp/><sp/>0x0400</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="141"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_CHECK_ICMP<sp/><sp/><sp/>0x0800</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_CHECK_ICMP6<sp/><sp/>0x1000</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="143"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_ENABLE_ALL<sp/><sp/><sp/>0xFFFF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_CHECKSUM_DISABLE_ALL<sp/><sp/>0x0000</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="145"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="146"><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref>;</highlight></codeline>
<codeline lineno="148"><highlight class="normal"></highlight></codeline>
<codeline lineno="151" refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0" refkind="member"><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0" kindref="member">netif_mac_filter_action</ref><sp/>{</highlight></codeline>
<codeline lineno="153" refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a7ad3406353906deb4e64ebeed349e07e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a7ad3406353906deb4e64ebeed349e07e" kindref="member">NETIF_DEL_MAC_FILTER</ref><sp/>=<sp/>0,</highlight></codeline>
<codeline lineno="155" refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a4186fbaf94be956ea1a3b02cd1cccb1f" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0a4186fbaf94be956ea1a3b02cd1cccb1f" kindref="member">NETIF_ADD_MAC_FILTER</ref><sp/>=<sp/>1</highlight></codeline>
<codeline lineno="156"><highlight class="normal">};</highlight></codeline>
<codeline lineno="157"><highlight class="normal"></highlight></codeline>
<codeline lineno="163" refid="netif_8h_1a2b02a78a8769925ff8e4f83d34e5e1f5" refkind="member"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*<ref refid="netif_8h_1a2b02a78a8769925ff8e4f83d34e5e1f5" kindref="member">netif_init_fn</ref>)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="170" refid="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" refkind="member"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*<ref refid="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" kindref="member">netif_input_fn</ref>)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p,<sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*inp);</highlight></codeline>
<codeline lineno="171"><highlight class="normal"></highlight></codeline>
<codeline lineno="172"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="173"><highlight class="normal"></highlight></codeline>
<codeline lineno="181"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*netif_output_fn)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p,</highlight></codeline>
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*ipaddr);</highlight></codeline>
<codeline lineno="183"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="184"><highlight class="normal"></highlight></codeline>
<codeline lineno="185"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="186"><highlight class="normal"></highlight></codeline>
<codeline lineno="194"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*netif_output_ip6_fn)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p,</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip6_addr_t<sp/>*ipaddr);</highlight></codeline>
<codeline lineno="196"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="197"><highlight class="normal"></highlight></codeline>
<codeline lineno="204" refid="netif_8h_1ab75e9d808bc1b788bea84213e6a111ed" refkind="member"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*<ref refid="netif_8h_1ab75e9d808bc1b788bea84213e6a111ed" kindref="member">netif_linkoutput_fn</ref>)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p);</highlight></codeline>
<codeline lineno="206" refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" refkind="member"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/>void<sp/>(*<ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref>)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="207"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4<sp/>&amp;&amp;<sp/>LWIP_IGMP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="208"><highlight class="normal"></highlight></codeline>
<codeline lineno="209"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*netif_igmp_mac_filter_fn)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,</highlight></codeline>
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*group,<sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0" kindref="member">netif_mac_filter_action</ref><sp/>action);</highlight></codeline>
<codeline lineno="211"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>&amp;&amp;<sp/>LWIP_IGMP<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="212"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="213"><highlight class="normal"></highlight></codeline>
<codeline lineno="214"><highlight class="keyword">typedef</highlight><highlight class="normal"><sp/><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>(*netif_mld_mac_filter_fn)(</highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,</highlight></codeline>
<codeline lineno="215"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip6_addr_t<sp/>*group,<sp/></highlight><highlight class="keyword">enum</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1ab194ec4241fad8b6e9aac51e3ec23de0" kindref="member">netif_mac_filter_action</ref><sp/>action);</highlight></codeline>
<codeline lineno="216"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="217"><highlight class="normal"></highlight></codeline>
<codeline lineno="218"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_DHCP<sp/>||<sp/>LWIP_AUTOIP<sp/>||<sp/>LWIP_IGMP<sp/>||<sp/>LWIP_IPV6_MLD<sp/>||<sp/>(LWIP_NUM_NETIF_CLIENT_DATA<sp/>&gt;<sp/>0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="219"><highlight class="normal"><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>netif_alloc_client_data_id(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="223"><highlight class="preprocessor">#define<sp/>netif_set_client_data(netif,<sp/>id,<sp/>data)<sp/>netif_get_client_data(netif,<sp/>id)<sp/>=<sp/>(data)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="224"><highlight class="normal"></highlight></codeline>
<codeline lineno="227"><highlight class="preprocessor">#define<sp/>netif_get_client_data(netif,<sp/>id)<sp/><sp/><sp/><sp/><sp/><sp/><sp/>(netif)-&gt;client_data[(id)]</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="228"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_DHCP<sp/>||<sp/>LWIP_AUTOIP<sp/>||<sp/>(LWIP_NUM_NETIF_CLIENT_DATA<sp/>&gt;<sp/>0)<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="229"><highlight class="normal"></highlight></codeline>
<codeline lineno="233" refid="structnetif" refkind="compound"><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>{</highlight></codeline>
<codeline lineno="235" refid="structnetif_1ae77736b64df442242795220d76be6b86" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif_1ae77736b64df442242795220d76be6b86" kindref="member">next</ref>;</highlight></codeline>
<codeline lineno="236"><highlight class="normal"></highlight></codeline>
<codeline lineno="237"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="238"><highlight class="normal"></highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><ref refid="ip__addr_8h_1a88b43639738c4de2d3cd22e3a1fd7696" kindref="member">ip_addr_t</ref><sp/>ip_addr;</highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><ref refid="ip__addr_8h_1a88b43639738c4de2d3cd22e3a1fd7696" kindref="member">ip_addr_t</ref><sp/>netmask;</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><ref refid="ip__addr_8h_1a88b43639738c4de2d3cd22e3a1fd7696" kindref="member">ip_addr_t</ref><sp/>gw;</highlight></codeline>
<codeline lineno="242"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="243"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="244"><highlight class="normal"></highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><ref refid="ip__addr_8h_1a88b43639738c4de2d3cd22e3a1fd7696" kindref="member">ip_addr_t</ref><sp/>ip6_addr[<ref refid="lwipopts_8h_1a16c1b672604bfb0a66a6aeeb854589d3" kindref="member">LWIP_IPV6_NUM_ADDRESSES</ref>];</highlight></codeline>
<codeline lineno="248"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>ip6_addr_state[<ref refid="lwipopts_8h_1a16c1b672604bfb0a66a6aeeb854589d3" kindref="member">LWIP_IPV6_NUM_ADDRESSES</ref>];</highlight></codeline>
<codeline lineno="249"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="250"><highlight class="normal"></highlight></codeline>
<codeline lineno="252" refid="structnetif_1a8fe4f1b7b0d710216287da9615164a5c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" kindref="member">netif_input_fn</ref><sp/><ref refid="structnetif_1a8fe4f1b7b0d710216287da9615164a5c" kindref="member">input</ref>;</highlight></codeline>
<codeline lineno="253"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="254"><highlight class="normal"></highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/>netif_output_fn<sp/>output;</highlight></codeline>
<codeline lineno="259"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="260"><highlight class="normal"></highlight></codeline>
<codeline lineno="263" refid="structnetif_1acaaac9b415a7be73eb8a287c8ed18a8d" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1ab75e9d808bc1b788bea84213e6a111ed" kindref="member">netif_linkoutput_fn</ref><sp/><ref refid="structnetif_1acaaac9b415a7be73eb8a287c8ed18a8d" kindref="member">linkoutput</ref>;</highlight></codeline>
<codeline lineno="264"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="265"><highlight class="normal"></highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/>netif_output_ip6_fn<sp/>output_ip6;</highlight></codeline>
<codeline lineno="270"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="271"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_STATUS_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="272"><highlight class="normal"></highlight></codeline>
<codeline lineno="274"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>status_callback;</highlight></codeline>
<codeline lineno="275"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_STATUS_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="276"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_LINK_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="277"><highlight class="normal"></highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>link_callback;</highlight></codeline>
<codeline lineno="280"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_LINK_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="281"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_REMOVE_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="282"><highlight class="normal"></highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>remove_callback;</highlight></codeline>
<codeline lineno="284"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_REMOVE_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="285"><highlight class="normal"></highlight></codeline>
<codeline lineno="287" refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" kindref="member">state</ref>;</highlight></codeline>
<codeline lineno="288"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>netif_get_client_data</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="289"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>client_data[<ref refid="netif_8h_1a528ae27498af778f808a930469d98308a07e3221acd5d0c9890a999dbe7e03d38" kindref="member">LWIP_NETIF_CLIENT_DATA_INDEX_MAX</ref><sp/>+<sp/><ref refid="lwipopts_8h_1a94a35212616f9a9aae5c98741612b936" kindref="member">LWIP_NUM_NETIF_CLIENT_DATA</ref>];</highlight></codeline>
<codeline lineno="290"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="291"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6_AUTOCONFIG</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="292"><highlight class="normal"></highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>ip6_autoconfig_enabled;</highlight></codeline>
<codeline lineno="294"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6_AUTOCONFIG<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="295"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6_SEND_ROUTER_SOLICIT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="296"><highlight class="normal"></highlight></codeline>
<codeline lineno="297"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>rs_count;</highlight></codeline>
<codeline lineno="298"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6_SEND_ROUTER_SOLICIT<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="299"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_HOSTNAME</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="300"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*<sp/>the<sp/>hostname<sp/>for<sp/>this<sp/>netif,<sp/>NULL<sp/>is<sp/>a<sp/>valid<sp/>value<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="301"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/><sp/>hostname;</highlight></codeline>
<codeline lineno="302"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_HOSTNAME<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="303"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga77570ac4fcab86864fa1916e55676da2" kindref="member">u16_t</ref><sp/>chksum_flags;</highlight></codeline>
<codeline lineno="305"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="306"><highlight class="normal"></highlight></codeline>
<codeline lineno="307" refid="structnetif_1aca7d56b4e0f822b0ced2885f222b8d48" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga77570ac4fcab86864fa1916e55676da2" kindref="member">u16_t</ref><sp/><ref refid="structnetif_1aca7d56b4e0f822b0ced2885f222b8d48" kindref="member">mtu</ref>;</highlight></codeline>
<codeline lineno="309" refid="structnetif_1afe1181561cb16241f3cb5ed01e567d42" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/><ref refid="structnetif_1afe1181561cb16241f3cb5ed01e567d42" kindref="member">hwaddr_len</ref>;</highlight></codeline>
<codeline lineno="311" refid="structnetif_1aee967965d999fc1a4c40a66709304e69" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/><ref refid="structnetif_1aee967965d999fc1a4c40a66709304e69" kindref="member">hwaddr</ref>[<ref refid="netif_8h_1ab887a8ec553de1be1d04cf2961c63c41" kindref="member">NETIF_MAX_HWADDR_LEN</ref>];</highlight></codeline>
<codeline lineno="313" refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/><ref refid="structnetif_1a1c171db6097bbb6f09f63549a66e00ea" kindref="member">flags</ref>;</highlight></codeline>
<codeline lineno="315" refid="structnetif_1a32fca6ffd28bb9af3f891a378827a67e" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/><ref refid="structnetif_1a32fca6ffd28bb9af3f891a378827a67e" kindref="member">name</ref>[2];</highlight></codeline>
<codeline lineno="317" refid="structnetif_1ab7ef01e505dd2feb781fe86756b1c973" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/><ref refid="structnetif_1ab7ef01e505dd2feb781fe86756b1c973" kindref="member">num</ref>;</highlight></codeline>
<codeline lineno="318"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>MIB2_STATS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="319"><highlight class="normal"></highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>link_type;</highlight></codeline>
<codeline lineno="322"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>link_speed;</highlight></codeline>
<codeline lineno="324"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>ts;</highlight></codeline>
<codeline lineno="326"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal">stats_mib2_netif_ctrs<sp/>mib2_counters;</highlight></codeline>
<codeline lineno="327"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>MIB2_STATS<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="328"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4<sp/>&amp;&amp;<sp/>LWIP_IGMP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="329"><highlight class="normal"></highlight></codeline>
<codeline lineno="331"><highlight class="normal"><sp/><sp/>netif_igmp_mac_filter_fn<sp/>igmp_mac_filter;</highlight></codeline>
<codeline lineno="332"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>&amp;&amp;<sp/>LWIP_IGMP<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="333"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="334"><highlight class="normal"></highlight></codeline>
<codeline lineno="336"><highlight class="normal"><sp/><sp/>netif_mld_mac_filter_fn<sp/>mld_mac_filter;</highlight></codeline>
<codeline lineno="337"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="338"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_HWADDRHINT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="339"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>*addr_hint;</highlight></codeline>
<codeline lineno="340"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_HWADDRHINT<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="341"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>ENABLE_LOOPBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">/*<sp/>List<sp/>of<sp/>packets<sp/>to<sp/>be<sp/>queued<sp/>for<sp/>ourselves.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="343"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*loop_first;</highlight></codeline>
<codeline lineno="344"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*loop_last;</highlight></codeline>
<codeline lineno="345"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_LOOPBACK_MAX_PBUFS</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="346"><highlight class="normal"><sp/><sp/><ref refid="group__compiler__abstraction_1ga77570ac4fcab86864fa1916e55676da2" kindref="member">u16_t</ref><sp/>loop_cnt_current;</highlight></codeline>
<codeline lineno="347"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_LOOPBACK_MAX_PBUFS<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="348"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>ENABLE_LOOPBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="349"><highlight class="normal">};</highlight></codeline>
<codeline lineno="350"><highlight class="normal"></highlight></codeline>
<codeline lineno="351"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="352"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_SET_CHECKSUM_CTRL(netif,<sp/>chksumflags)<sp/>do<sp/>{<sp/>\</highlight></codeline>
<codeline lineno="353"><highlight class="preprocessor"><sp/><sp/>(netif)-&gt;chksum_flags<sp/>=<sp/>chksumflags;<sp/>}<sp/>while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="354"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>IF__NETIF_CHECKSUM_ENABLED(netif,<sp/>chksumflag)<sp/>if<sp/>(((netif)<sp/>==<sp/>NULL)<sp/>||<sp/>(((netif)-&gt;chksum_flags<sp/>&amp;<sp/>(chksumflag))<sp/>!=<sp/>0))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="355"><highlight class="normal"></highlight><highlight class="preprocessor">#else<sp/></highlight><highlight class="comment">/*<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="356" refid="netif_8h_1ac0aca2a2d3c7d7095939d818acf4dbd2" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_SET_CHECKSUM_CTRL(netif,<sp/>chksumflags)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="357" refid="netif_8h_1ad968df1b35c2fae368e087966e3bc677" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>IF__NETIF_CHECKSUM_ENABLED(netif,<sp/>chksumflag)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="358"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_CHECKSUM_CTRL_PER_NETIF<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="359"><highlight class="normal"></highlight></codeline>
<codeline lineno="361"><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="netif_8h_1a1c8141eaa98f6dc6dfddbb23a706656c" kindref="member">netif_list</ref>;</highlight></codeline>
<codeline lineno="363"><highlight class="keyword">extern</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="netif_8h_1a3d0925cbce550ed461907aee816713ba" kindref="member">netif_default</ref>;</highlight></codeline>
<codeline lineno="364"><highlight class="normal"></highlight></codeline>
<codeline lineno="365"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1a0f4a53e47c840904f824a2a1c0d4ebf4" kindref="member">netif_init</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="366"><highlight class="normal"></highlight></codeline>
<codeline lineno="367"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="group__netif_1ga66970b5877dd6b0cae906bfa78d0cb4c" kindref="member">netif_add</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,</highlight></codeline>
<codeline lineno="368"><highlight class="normal">#</highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/><ref refid="lwipopts_8h_1a429e811a80ebb5157e14a854870c4410" kindref="member">LWIP_IPV4</ref></highlight></codeline>
<codeline lineno="369"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*ipaddr,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*netmask,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*gw,</highlight></codeline>
<codeline lineno="370"><highlight class="normal">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="371"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>*<ref refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" kindref="member">state</ref>,<sp/><ref refid="netif_8h_1a2b02a78a8769925ff8e4f83d34e5e1f5" kindref="member">netif_init_fn</ref><sp/>init,<sp/><ref refid="netif_8h_1ab2302b1b64ac7b95f24c6bab754a575e" kindref="member">netif_input_fn</ref><sp/><ref refid="structnetif_1a8fe4f1b7b0d710216287da9615164a5c" kindref="member">input</ref>);</highlight></codeline>
<codeline lineno="372"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="373"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_addr(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*ipaddr,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*netmask,</highlight></codeline>
<codeline lineno="374"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*gw);</highlight></codeline>
<codeline lineno="375"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="376"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1ga9c6e541f0c184e1ea61a5cd8afe3e979" kindref="member">netif_remove</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<sp/><ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="377"><highlight class="normal"></highlight></codeline>
<codeline lineno="378"><highlight class="normal"></highlight><highlight class="comment">/*<sp/>Returns<sp/>a<sp/>network<sp/>interface<sp/>given<sp/>its<sp/>name.<sp/>The<sp/>name<sp/>is<sp/>of<sp/>the<sp/>form</highlight></codeline>
<codeline lineno="379"><highlight class="comment"><sp/><sp/><sp/>&quot;et0&quot;,<sp/>where<sp/>the<sp/>first<sp/>two<sp/>letters<sp/>are<sp/>the<sp/>&quot;name&quot;<sp/>field<sp/>in<sp/>the</highlight></codeline>
<codeline lineno="380"><highlight class="comment"><sp/><sp/><sp/>netif<sp/>structure,<sp/>and<sp/>the<sp/>digit<sp/>is<sp/>in<sp/>the<sp/>num<sp/>field<sp/>in<sp/>the<sp/>same</highlight></codeline>
<codeline lineno="381"><highlight class="comment"><sp/><sp/><sp/>structure.<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="382"><highlight class="normal"></highlight><highlight class="keyword">struct<sp/></highlight><highlight class="normal"><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="group__netif_1ga69c93a139e8a1f6ef4e3d076a2897def" kindref="member">netif_find</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal"><sp/>*<ref refid="pci_8c_1a8f8f80d37794cde9472343e4487ba3eb" kindref="member">name</ref>);</highlight></codeline>
<codeline lineno="383"><highlight class="normal"></highlight></codeline>
<codeline lineno="384"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1gac90f290edd005238d62aa94c4ac9dea3" kindref="member">netif_set_default</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="385"><highlight class="normal"></highlight></codeline>
<codeline lineno="386"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV4</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="387"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_ipaddr(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*ipaddr);</highlight></codeline>
<codeline lineno="388"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_netmask(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*netmask);</highlight></codeline>
<codeline lineno="389"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_gw(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip4_addr_t<sp/>*gw);</highlight></codeline>
<codeline lineno="391"><highlight class="preprocessor">#define<sp/>netif_ip4_addr(netif)<sp/><sp/><sp/><sp/>((const<sp/>ip4_addr_t*)ip_2_ip4(&amp;((netif)-&gt;ip_addr)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="392"><highlight class="normal"></highlight></codeline>
<codeline lineno="393"><highlight class="preprocessor">#define<sp/>netif_ip4_netmask(netif)<sp/>((const<sp/>ip4_addr_t*)ip_2_ip4(&amp;((netif)-&gt;netmask)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="394"><highlight class="normal"></highlight></codeline>
<codeline lineno="395"><highlight class="preprocessor">#define<sp/>netif_ip4_gw(netif)<sp/><sp/><sp/><sp/><sp/><sp/>((const<sp/>ip4_addr_t*)ip_2_ip4(&amp;((netif)-&gt;gw)))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="396"><highlight class="normal"></highlight></codeline>
<codeline lineno="397"><highlight class="preprocessor">#define<sp/>netif_ip_addr4(netif)<sp/><sp/><sp/><sp/>((const<sp/>ip_addr_t*)&amp;((netif)-&gt;ip_addr))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="398"><highlight class="normal"></highlight></codeline>
<codeline lineno="399"><highlight class="preprocessor">#define<sp/>netif_ip_netmask4(netif)<sp/>((const<sp/>ip_addr_t*)&amp;((netif)-&gt;netmask))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="400"><highlight class="normal"></highlight></codeline>
<codeline lineno="401"><highlight class="preprocessor">#define<sp/>netif_ip_gw4(netif)<sp/><sp/><sp/><sp/><sp/><sp/>((const<sp/>ip_addr_t*)&amp;((netif)-&gt;gw))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="402"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV4<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="403"><highlight class="normal"></highlight></codeline>
<codeline lineno="404"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1gaf19693be401a265a52d2a56c65753121" kindref="member">netif_set_up</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="405"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1ga641d07ed8c31fe5306bc01605a6790cf" kindref="member">netif_set_down</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="409" refid="group__netif_1ga94a4c24c988afc0a577387730f303b19" refkind="member"><highlight class="preprocessor">#define<sp/>netif_is_up(netif)<sp/>(((netif)-&gt;flags<sp/>&amp;<sp/>NETIF_FLAG_UP)<sp/>?<sp/>(u8_t)1<sp/>:<sp/>(u8_t)0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="410"><highlight class="normal"></highlight></codeline>
<codeline lineno="411"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_STATUS_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="412"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_status_callback(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>status_callback);</highlight></codeline>
<codeline lineno="413"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_STATUS_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="414"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_REMOVE_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="415"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_remove_callback(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>remove_callback);</highlight></codeline>
<codeline lineno="416"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_REMOVE_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="417"><highlight class="normal"></highlight></codeline>
<codeline lineno="418"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1gae0d2975f189277990e9d5276fdd9e9ea" kindref="member">netif_set_link_up</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="419"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="group__netif_1ga34e37a1e8e358760dc1c43887922c7db" kindref="member">netif_set_link_down</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="421" refid="netif_8h_1a780be4c3fa9f7f2534f7865666c3a1b8" refkind="member"><highlight class="preprocessor">#define<sp/>netif_is_link_up(netif)<sp/>(((netif)-&gt;flags<sp/>&amp;<sp/>NETIF_FLAG_LINK_UP)<sp/>?<sp/>(u8_t)1<sp/>:<sp/>(u8_t)0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="422"><highlight class="normal"></highlight></codeline>
<codeline lineno="423"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_LINK_CALLBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="424"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_set_link_callback(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="netif_8h_1a447d0a7e7c6e2396557c287b8b8c9436" kindref="member">netif_status_callback_fn</ref><sp/>link_callback);</highlight></codeline>
<codeline lineno="425"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_LINK_CALLBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="426"><highlight class="normal"></highlight></codeline>
<codeline lineno="427"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_HOSTNAME</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="428"><highlight class="normal"></highlight></codeline>
<codeline lineno="429"><highlight class="preprocessor">#define<sp/>netif_set_hostname(netif,<sp/>name)<sp/>do<sp/>{<sp/>if((netif)<sp/>!=<sp/>NULL)<sp/>{<sp/>(netif)-&gt;hostname<sp/>=<sp/>name;<sp/>}}while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="430"><highlight class="normal"></highlight></codeline>
<codeline lineno="431"><highlight class="preprocessor">#define<sp/>netif_get_hostname(netif)<sp/>(((netif)<sp/>!=<sp/>NULL)<sp/>?<sp/>((netif)-&gt;hostname)<sp/>:<sp/>NULL)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="432"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_HOSTNAME<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="433"><highlight class="normal"></highlight></codeline>
<codeline lineno="434"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IGMP</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="435"><highlight class="normal"></highlight></codeline>
<codeline lineno="436"><highlight class="preprocessor">#define<sp/>netif_set_igmp_mac_filter(netif,<sp/>function)<sp/>do<sp/>{<sp/>if((netif)<sp/>!=<sp/>NULL)<sp/>{<sp/>(netif)-&gt;igmp_mac_filter<sp/>=<sp/>function;<sp/>}}while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="437"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>netif_get_igmp_mac_filter(netif)<sp/>(((netif)<sp/>!=<sp/>NULL)<sp/>?<sp/>((netif)-&gt;igmp_mac_filter)<sp/>:<sp/>NULL)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="438"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IGMP<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="439"><highlight class="normal"></highlight></codeline>
<codeline lineno="440"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="441"><highlight class="normal"></highlight></codeline>
<codeline lineno="442"><highlight class="preprocessor">#define<sp/>netif_set_mld_mac_filter(netif,<sp/>function)<sp/>do<sp/>{<sp/>if((netif)<sp/>!=<sp/>NULL)<sp/>{<sp/>(netif)-&gt;mld_mac_filter<sp/>=<sp/>function;<sp/>}}while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="443"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>netif_get_mld_mac_filter(netif)<sp/>(((netif)<sp/>!=<sp/>NULL)<sp/>?<sp/>((netif)-&gt;mld_mac_filter)<sp/>:<sp/>NULL)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="444"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>netif_mld_mac_filter(netif,<sp/>addr,<sp/>action)<sp/>do<sp/>{<sp/>if((netif)<sp/>&amp;&amp;<sp/>(netif)-&gt;mld_mac_filter)<sp/>{<sp/>(netif)-&gt;mld_mac_filter((netif),<sp/>(addr),<sp/>(action));<sp/>}}while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="445"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>&amp;&amp;<sp/>LWIP_IPV6_MLD<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="446"><highlight class="normal"></highlight></codeline>
<codeline lineno="447"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>ENABLE_LOOPBACK</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="448"><highlight class="normal"><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>netif_loop_output(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p);</highlight></codeline>
<codeline lineno="449"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_poll(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>);</highlight></codeline>
<codeline lineno="450"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>!LWIP_NETIF_LOOPBACK_MULTITHREADING</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="451"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_poll_all(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
<codeline lineno="452"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>!LWIP_NETIF_LOOPBACK_MULTITHREADING<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="453"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>ENABLE_LOOPBACK<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="454"><highlight class="normal"></highlight></codeline>
<codeline lineno="455"><highlight class="normal"><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/><ref refid="netif_8h_1a5532f93d68c874fb99c681bff2165385" kindref="member">netif_input</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structpbuf" kindref="compound">pbuf</ref><sp/>*p,<sp/></highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*inp);</highlight></codeline>
<codeline lineno="456"><highlight class="normal"></highlight></codeline>
<codeline lineno="457"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_IPV6</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="458"><highlight class="normal"></highlight></codeline>
<codeline lineno="459"><highlight class="preprocessor">#define<sp/>netif_ip_addr6(netif,<sp/>i)<sp/><sp/>((const<sp/>ip_addr_t*)(&amp;((netif)-&gt;ip6_addr[i])))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="460"><highlight class="normal"></highlight></codeline>
<codeline lineno="461"><highlight class="preprocessor">#define<sp/>netif_ip6_addr(netif,<sp/>i)<sp/><sp/>((const<sp/>ip6_addr_t*)ip_2_ip6(&amp;((netif)-&gt;ip6_addr[i])))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="462"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_ip6_addr_set(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="group__compiler__abstraction_1ga9cd1d7891fe315de1201e2c6e45f4f57" kindref="member">s8_t</ref><sp/>addr_idx,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip6_addr_t<sp/>*addr6);</highlight></codeline>
<codeline lineno="463"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_ip6_addr_set_parts(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="group__compiler__abstraction_1ga9cd1d7891fe315de1201e2c6e45f4f57" kindref="member">s8_t</ref><sp/>addr_idx,<sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>i0,<sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>i1,<sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>i2,<sp/><ref refid="group__compiler__abstraction_1ga4c14294869aceba3ef9d4c0c302d0f33" kindref="member">u32_t</ref><sp/>i3);</highlight></codeline>
<codeline lineno="464"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>netif_ip6_addr_state(netif,<sp/>i)<sp/><sp/>((netif)-&gt;ip6_addr_state[i])</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="465"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_ip6_addr_set_state(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref>*<sp/><ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="group__compiler__abstraction_1ga9cd1d7891fe315de1201e2c6e45f4f57" kindref="member">s8_t</ref><sp/>addr_idx,<sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/><ref refid="structnetif_1a809cc57c0dff09c5c9ae45b02c2002f3" kindref="member">state</ref>);</highlight></codeline>
<codeline lineno="466"><highlight class="normal"><ref refid="group__compiler__abstraction_1ga9cd1d7891fe315de1201e2c6e45f4f57" kindref="member">s8_t</ref><sp/>netif_get_ip6_addr_match(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip6_addr_t<sp/>*ip6addr);</highlight></codeline>
<codeline lineno="467"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>netif_create_ip6_linklocal_address(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/><ref refid="group__compiler__abstraction_1ga4caecabca98b43919dd11be1c0d4cd8e" kindref="member">u8_t</ref><sp/>from_mac_48bit);</highlight></codeline>
<codeline lineno="468"><highlight class="normal"><ref refid="group__infrastructure__errors_1gaf02d9da80fd66b4f986d2c53d7231ddb" kindref="member">err_t</ref><sp/>netif_add_ip6_address(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*<ref refid="structnetif" kindref="compound">netif</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>ip6_addr_t<sp/>*ip6addr,<sp/><ref refid="group__compiler__abstraction_1ga9cd1d7891fe315de1201e2c6e45f4f57" kindref="member">s8_t</ref><sp/>*chosen_idx);</highlight></codeline>
<codeline lineno="469"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>netif_set_ip6_autoconfig_enabled(netif,<sp/>action)<sp/>do<sp/>{<sp/>if(netif)<sp/>{<sp/>(netif)-&gt;ip6_autoconfig_enabled<sp/>=<sp/>(action);<sp/>}}while(0)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="470"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_IPV6<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="471"><highlight class="normal"></highlight></codeline>
<codeline lineno="472"><highlight class="normal"></highlight><highlight class="preprocessor">#if<sp/>LWIP_NETIF_HWADDRHINT</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="473"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_SET_HWADDRHINT(netif,<sp/>hint)<sp/>((netif)-&gt;addr_hint<sp/>=<sp/>(hint))</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="474"><highlight class="normal"></highlight><highlight class="preprocessor">#else<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_HWADDRHINT<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="475" refid="netif_8h_1ae1c22f1dab74a84d9e31316fd5fdfa11" refkind="member"><highlight class="normal"></highlight><highlight class="preprocessor">#define<sp/>NETIF_SET_HWADDRHINT(netif,<sp/>hint)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="476"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_NETIF_HWADDRHINT<sp/>*/</highlight><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="477"><highlight class="normal"></highlight></codeline>
<codeline lineno="478"><highlight class="normal"></highlight><highlight class="preprocessor">#ifdef<sp/>__cplusplus</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="479"><highlight class="normal">}</highlight></codeline>
<codeline lineno="480"><highlight class="normal"></highlight><highlight class="preprocessor">#endif</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="481"><highlight class="normal"></highlight></codeline>
<codeline lineno="482"><highlight class="normal"></highlight><highlight class="comment">/*MrOlsen<sp/>2017-12-17<sp/>LWIP<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="483"><highlight class="normal"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="netif_8h_1a53b1dadb198f26ea67bf74d4d3e8daef" kindref="member">ethernetif_input</ref>(</highlight><highlight class="keyword">struct</highlight><highlight class="normal"><sp/><ref refid="structnetif" kindref="compound">netif</ref><sp/>*);</highlight></codeline>
<codeline lineno="484"><highlight class="normal"></highlight></codeline>
<codeline lineno="485"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/></highlight><highlight class="comment">/*<sp/>LWIP_HDR_NETIF_H<sp/>*/</highlight><highlight class="preprocessor"></highlight></codeline>
    </programlisting>
    <location file="C:/Dev/git/UbixOS/sys/include/net/netif.h"/>
  </compounddef>
</doxygen>
