Developing LwIP Application with Sequential API

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Developing LwIP Application with Sequential API

Developing LwIP Application with Sequential API

LwIP can be used in two basic modes: Mainloop mode (“NO_SYS”)(no OS/RTOS running on target system) or OS mode (TCPIP thread) (there is an OS running on the target system). In mainloop mode, only raw API can be used. In OS mode, raw API and sequential APIs can be used.

In OS mode, the lwip stack and the application run in separate tasks. The application communicates with the LwIP stack through sequential API calls that sue the RTOS mailbox mechaniam for inter-process communicatioin.

This post is focusing on how to design a LwIP applicatioin in OS mode with sequential API in MCUXpresso SDK. It is for LwIP beginners. The code snipperts is from MCUXpresso SDK2.6.

For how to design a LwIP applicaton in mainloop mode (bare metal mode) with raw API, please refer to below link:

Developing LwIP Applications with Raw API  

 

 

Generally, a LwIP application inlcudes network interface setting up, LwIP stack initialization , using LwIP API, and configuration.

 

1. Starting a network interface

To create a new network interface, the user allocates space for a new struct netif (but does not initialize any part of it) and calls netifapi_netif_add:

    IP4_ADDR(&fsl_netif0_ipaddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3);

    IP4_ADDR(&fsl_netif0_netmask, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3);

IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);

 

    netifapi_netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask, &fsl_netif0_gw, &fsl_enet_config0,

                       ethernetif0_init, tcpip_input);

Pass tcpip_input API to netif_add API as input callback function that is called to pass ingress packets up in the protocol layer stack

 

next we need to bring the interface up

An interface that is “up” is available to your application for input and output, and “down” is the opposite state. Therefore, before you can use the interface, you must bring it up. This can be accomplished depending on how the interface gets its IP address.  We can use static IP address  or DHCP.

Set the network interface as the default network interface

netifapi_netif_set_default(&fsl_netif0);

 

Bring the interface up, available for processing

    netifapi_netif_set_up(&fsl_netif0);

2. Initializing LwIP stack

 

Call tcpip_init to create tcpip_thread, this thread has exclusive access to LwIP core functions. Other threads communicate with this thread using message boxes. It also starts all the timers to make sure they are running in the right thread context.

 

tcpip_init(NULL, NULL);

 

void   tcpip_init(tcpip_init_done_fn initfunc, void *arg)

{

  lwip_init();

 

  tcpip_init_done = initfunc;

  tcpip_init_done_arg = arg;

  if (sys_mbox_new(&tcpip_mbox, TCPIP_MBOX_SIZE) != ERR_OK) {

    LWIP_ASSERT("failed to create tcpip_thread mbox", 0);

  }

#if LWIP_TCPIP_CORE_LOCKING

  if (sys_mutex_new(&lock_tcpip_core) != ERR_OK) {

    LWIP_ASSERT("failed to create lock_tcpip_core", 0);

  }

#endif /* LWIP_TCPIP_CORE_LOCKING */

 

  sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);

}

Priority of user task should not exceed the priority of tcpip_thread

  - In lwipopts.h, the priority of tcpip_thread

    #define TCPIP_THREAD_PRIO              2

 

3. Using sequential API

 As shown in the below figure, the steps for establishing a TCP connection on the client side are the following:

  • Create a connection using the netconn_new() function;
  • Connect to the address of the server using the netconn_connect() function;
  • Send and receive data by means of the netconn_recv() and netconn_write() functions.
  • Close the connection by means of the netconn_close() function.

The steps involved in establishing a TCP connection on the server side are as follows:

  • Create a TCP connection with the netconn_new() function;
  • Bind the server to an address using the netconn_bind() function;
  • Listen for connections with the netconn_listen() function;
  • Accept a connection with the netconn_accept() function. This call typically blocks until a client connects with the server.
  • Send and receive data by means of netconn_write() and netconn_recv().
  • Close the connection by means of the netconn_close() function.

 

pastedImage_1.png

Middleware/lwip/contrib/appa/tcpecho/tcpecho.c

static void

tcpecho_thread(void *arg)

{

  struct netconn *conn, *newconn;

  err_t err;

  LWIP_UNUSED_ARG(arg);

 

  /* Create a new connection identifier. */

  /* Bind connection to well known port number 7. */

#if LWIP_IPV6

  conn = netconn_new(NETCONN_TCP_IPV6);

  netconn_bind(conn, IP6_ADDR_ANY, 7);

#else /* LWIP_IPV6 */

  conn = netconn_new(NETCONN_TCP);

  netconn_bind(conn, IP_ADDR_ANY, 7);

#endif /* LWIP_IPV6 */

  LWIP_ERROR("tcpecho: invalid conn", (conn != NULL), return;);

 

  /* Tell connection to go into listening mode. */

  netconn_listen(conn);

 

  while (1) {

 

    /* Grab new connection. */

    err = netconn_accept(conn, &newconn);

    /*printf("accepted new connection %p\n", newconn);*/

    /* Process the new connection. */

    if (err == ERR_OK) {

      struct netbuf *buf;

      void *data;

      u16_t len;

     

      while ((err = netconn_recv(newconn, &buf)) == ERR_OK) {

        /*printf("Recved\n");*/

        do {

             netbuf_data(buf, &data, &len);

             err = netconn_write(newconn, data, len, NETCONN_COPY);

#if 0

            if (err != ERR_OK) {

              printf("tcpecho: netconn_write: error \"%s\"\n", lwip_strerr(err));

            }

#endif

        } while (netbuf_next(buf) >= 0);

        netbuf_delete(buf);

      }

      /*printf("Got EOF, looping\n");*/

      /* Close connection and discard connection identifier. */

      netconn_close(newconn);

      netconn_delete(newconn);

    }

  }

}

 

From the tcpecho thread, we can see

First, one new TCP connection was called with parameter NETCONN_TCP  by API netconn_new.

#define netconn_new(t)                  netconn_new_with_proto_and_callback(t, 0, NULL)

struct netconn *

netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto, netconn_callback callback)

{

  struct netconn *conn;

  API_MSG_VAR_DECLARE(msg);

  API_MSG_VAR_ALLOC_RETURN_NULL(msg);

 

  conn = netconn_alloc(t, callback);

  if (conn != NULL) {

    err_t err;

 

    API_MSG_VAR_REF(msg).msg.n.proto = proto;

    API_MSG_VAR_REF(msg).conn = conn;

    err = netconn_apimsg(lwip_netconn_do_newconn, &API_MSG_VAR_REF(msg));

    if (err != ERR_OK) {

      LWIP_ASSERT("freeing conn without freeing pcb", conn->pcb.tcp == NULL);

      LWIP_ASSERT("conn has no recvmbox", sys_mbox_valid(&conn->recvmbox));

#if LWIP_TCP

      LWIP_ASSERT("conn->acceptmbox shouldn't exist", !sys_mbox_valid(&conn->acceptmbox));

#endif /* LWIP_TCP */

#if !LWIP_NETCONN_SEM_PER_THREAD

      LWIP_ASSERT("conn has no op_completed", sys_sem_valid(&conn->op_completed));

      sys_sem_free(&conn->op_completed);

#endif /* !LWIP_NETCONN_SEM_PER_THREAD */

      sys_mbox_free(&conn->recvmbox);

      memp_free(MEMP_NETCONN, conn);

      API_MSG_VAR_FREE(msg);

      return NULL;

    }

  }

  API_MSG_VAR_FREE(msg);

  return conn;

}

 

Then, the newly created connection is then bound to port 7 (echo protocol) by calling the API function netconn_bind.

 

Next, the application starts the listening process on the connection by calling the API function netconn_listen.

In the infinite while(1) loop, the application waits for a new connection by calling the API function netconn_accept. This API will block the application task when there is no incoming connection.

When there is an incoming connection, the application can start receiving data by calling the API function netconn_recv. Incoming data are received in a netbuf.

 

 

 

Application can get the received data by calling the netbuf API function netbuf_data.

err_t

netbuf_data(struct netbuf *buf, void **dataptr, u16_t *len)

{

  LWIP_ERROR("netbuf_data: invalid buf", (buf != NULL), return ERR_ARG;);

  LWIP_ERROR("netbuf_data: invalid dataptr", (dataptr != NULL), return ERR_ARG;);

  LWIP_ERROR("netbuf_data: invalid len", (len != NULL), return ERR_ARG;);

 

  if (buf->ptr == NULL) {

    return ERR_BUF;

  }

  *dataptr = buf->ptr->payload;

  *len = buf->ptr->len;

  return ERR_OK;

}

 

The received data is sent back (echoed) to the remote TCP client by calling the API function netconn_write.

Netconn_close and netconn_delete are used to respectively close and delete the netconn connection

 

 

4. Configuration LwIP

lwipopts.h is a user file that you can use to fully configure lwIP and all of its modules. You do not need to define every option that lwIP provides; if you do not define an option, a default value will be used. Therefore, your lwipopts.h provides a way to override much of the behavior of lwIP.

In multi theads mode, . We need to #define NO_SYS to 0.

Please refer to evkbimxrt1050_lwip_tcpecho_freertos\source\lwipopts.h

#if USE_RTOS

 

/**

 * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain

 * critical regions during buffer allocation, deallocation and memory

 * allocation and deallocation.

 */

#define SYS_LIGHTWEIGHT_PROT 1

 

/**

 * NO_SYS==0: Use RTOS

 */

#define NO_SYS 0

/**

 * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)

 */

#define LWIP_NETCONN 1

/**

 * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)

 */

#define LWIP_SOCKET 1

 

/**

 * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and

 * SO_RCVTIMEO processing.

 */

#define LWIP_SO_RCVTIMEO 1

 

 

 

 

 

コメント

Daniel,

Don't I need to have an active network connection before making netif API calls? If there is no network cable attached when I call netif_dhcp_start(), but I attach it later, I never see the dhcp state variable go to DHCP_STATE_BOUND. So, I would think there would be a callback or a status variable that lets me know when the link goes up or down, yet I can't seem to find it in either MCUXpresso SDK or LwIP. How is link status detected and reported?

Thanks!

%3CLINGO-SUB%20id%3D%22lingo-sub-1098996%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ESequential%20API%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9FLwIP%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E9%96%8B%E7%99%BA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1098996%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3ELwIP%20%E3%81%AF%E3%80%81%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%20%E3%83%A2%E3%83%BC%E3%83%89%20(%22NO_SYS%22)%20(%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%20%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%A7%20OS%2FRTOS%20%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84)%20%E3%81%A8%20OS%20%E3%83%A2%E3%83%BC%E3%83%89%20(TCPIP%20%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89)%20(%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%20%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%A7%20OS%20%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B)%20%E3%81%AE%202%20%E3%81%A4%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82mainloop%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81raw%20API%20%E3%81%AE%E3%81%BF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82OS%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81raw%20API%E3%81%A8Sequential%20API%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3EOS%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81lwip%20%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%A8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%E5%88%A5%E3%80%85%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%E3%80%81%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E9%96%93%E9%80%9A%E4%BF%A1%E3%81%AE%E3%81%9F%E3%82%81%E3%81%ABRTOS%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A1%E3%82%AB%E3%83%8B%E3%82%BA%E3%83%A0%E3%82%92%E8%A8%B4%E3%81%88%E3%82%8B%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%ABAPI%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%82%92%E4%BB%8B%E3%81%97%E3%81%A6LwIP%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%A8%E9%80%9A%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%93%E3%81%AE%E6%8A%95%E7%A8%BF%E3%81%A7%E3%81%AF%E3%80%81MCUXpresso%20SDK%E3%81%AE%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%ABAPI%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6OS%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7LwIP%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%A8%AD%E8%A8%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AB%E7%84%A6%E7%82%B9%E3%82%92%E5%BD%93%E3%81%A6%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82LwIP%E5%88%9D%E5%BF%83%E8%80%85%E5%90%91%E3%81%91%E3%81%A7%E3%81%99%E3%80%82%E3%82%B3%E3%83%BC%E3%83%89%20snipperts%20%E3%81%AF%20MCUXpresso%20SDK2.6%20%E3%81%8B%E3%82%89%E3%81%AE%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Eraw%20API%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%E3%83%A2%E3%83%BC%E3%83%89(%E3%83%99%E3%82%A2%E3%83%A1%E3%82%BF%E3%83%AB%E3%83%A2%E3%83%BC%E3%83%89)%E3%81%A7LwIP%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E8%A8%AD%E8%A8%88%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Fdocs%2FDOC-344907%22%20target%3D%22_blank%22%3ERaw%20API%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%20LwIP%20%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E9%96%8B%E7%99%BA%3C%2FA%3E%26nbsp%3B%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%E4%B8%80%E8%88%AC%E3%81%AB%E3%80%81LwIP%20%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E3%81%AF%E3%80%81%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%20%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%82%A4%E3%82%B9%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%80%81LwIP%20%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%80%81LwIP%20API%20%E3%81%AE%E4%BD%BF%E7%94%A8%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E6%A7%8B%E6%88%90%E3%81%8C%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSTRONG%3E1.%20%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%AE%E8%B5%B7%E5%8B%95%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E6%96%B0%E3%81%97%E3%81%84%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AF%E6%96%B0%E3%81%97%E3%81%84%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%E6%A7%8B%E9%80%A0%E4%BD%93netif%3C%2FSPAN%3E%20%E3%81%AB%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%92%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6(%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%81%9D%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%AF%E5%88%9D%E6%9C%9F%E5%8C%96%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93)%E3%80%81%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23D4D4D4%3B%22%3Enetifapi_netif_add%3C%2FSPAN%3E%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IP4_ADDR(%26amp%3Bfsl_netif0_ipaddr%2C%20configIP_ADDR0%2C%20configIP_ADDR1%2C%20configIP_ADDR2%2C%20configIP_ADDR3)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20IP4_ADDR(%26amp%3Bfsl_netif0_netmask%2C%20configNET_MASK0%2C%20configNET_MASK1%2C%20configNET_MASK2%2C%20configNET_MASK3)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3EIP4_ADDR(%26amp%3Bfsl_netif0_gw%2C%20configGW_ADDR0%2C%20configGW_ADDR1%2C%20configGW_ADDR2%2C%20configGW_ADDR3)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSPAN%20style%3D%22background%3A%20%23D4D4D4%3B%22%3Enetifapi_netif_add%3C%2FSPAN%3E(%26amp%3Bfsl_netif0%2C%20%26amp%3Bfsl_netif0_ipaddr%2C%20%26amp%3Bfsl_netif0_netmask%2C%20%26amp%3Bfsl_netif0_gw%2C%20%26amp%3Bfsl_enet_config0%2C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20ethernetif0_init%2C%20tcpip_input)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Etcpip_input%3C%2FSTRONG%3E%20API%20%E3%82%92%20%3CSTRONG%3Enetif_add%3C%2FSTRONG%3E%20API%20%E3%81%AB%E5%85%A5%E5%8A%9B%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0%E3%81%A8%E3%81%97%E3%81%A6%E6%B8%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E9%96%A2%E6%95%B0%E3%81%AF%E3%80%81%E5%85%A5%E5%8A%9B%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E5%B1%A4%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%AB%E6%B8%A1%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%AC%A1%E3%81%AB%E3%80%81%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%3E%E3%80%8C%E3%82%A2%E3%83%83%E3%83%97%E3%80%8D%E7%8A%B6%E6%85%8B%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%AF%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E5%85%A5%E5%8A%9B%E3%81%A8%E5%87%BA%E5%8A%9B%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%80%81%E3%80%8C%E3%83%80%E3%82%A6%E3%83%B3%E3%80%8D%E7%8A%B6%E6%85%8B%E3%81%AF%E3%81%9D%E3%81%AE%E5%8F%8D%E5%AF%BE%E3%81%AE%E7%8A%B6%E6%85%8B%E3%81%A7%E3%81%99%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%8CIP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%A6%E9%81%94%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E9%9D%99%E7%9A%84IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%BE%E3%81%9F%E3%81%AFDHCP%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Enetifapi_netif_set_default(%26amp%3Bfsl_netif0)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%20text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%97%E3%80%81%E5%87%A6%E7%90%86%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%AA%E7%8A%B6%E6%85%8B%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20netifapi_netif_set_up(%26amp%3Bfsl_netif0)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSTRONG%3E2.%20LwIP%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%26nbsp%3B%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3Etcpip_thread%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20%3CSTRONG%3Etcpip_init%3C%2FSTRONG%3E%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%A8%E3%80%81%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AFLwIP%E3%82%B3%E3%82%A2%E9%96%A2%E6%95%B0%E3%81%AB%E6%8E%92%E4%BB%96%E7%9A%84%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E4%BB%96%E3%81%AE%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%AF%E3%80%81%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%20%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%93%E3%81%AE%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%A8%E9%80%9A%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%81%BE%E3%81%9F%E3%80%81%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%97%E3%81%A6%E3%80%81%E9%81%A9%E5%88%87%E3%81%AA%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20style%3D%22margin-left%3A%20.25in%3B%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E8F2FE%3B%22%3Etcpip_init(NULL%2C%20NULL)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E8F2FE%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Evoid%26nbsp%3B%26nbsp%3B%20tcpip_init(tcpip_init_done_fn%20initfunc%2C%20void%20*arg)%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20lwip_init()%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20tcpip_init_done%20%3D%20initfunc%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20tcpip_init_done_arg%20%3D%20arg%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Eif%20(sys_mbox_new(%26amp%3Btcpip_mbox%2C%20TCPIP_MBOX_SIZE)%20!%3D%20ERR_OK)%20%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT%20(%22mbox%20%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9Ftcpip_thread%22%2C%200)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23if%20LWIP_TCPIP_CORE_LOCKING%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Eif%20(sys_mutex_new(%26amp%3Block_tcpip_core)%20!%3D%20ERR_OK)%20%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT%20(%22lock_tcpip_core%E3%81%AE%E4%BD%9C%E6%88%90%E3%81%AB%E5%A4%B1%E6%95%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%22%2C%200)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23endif%20%2F*%20LWIP_TCPIP_CORE_LOCKING%20*%2F%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Esys_thread_new(TCPIP_THREAD_NAME%2C%20tcpip_thread%2C%20NULL%2C%20TCPIP_THREAD_STACKSIZE%2C%20TCPIP_THREAD_PRIO)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22text-indent%3A%2021.75pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E5%84%AA%E5%85%88%E5%BA%A6%E3%81%AF%E3%80%81tcpip_thread%E3%81%AE%E5%84%AA%E5%85%88%E5%BA%A6%E3%82%92%E8%B6%85%E3%81%88%E3%81%A6%E3%81%AF%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%3C%2FP%3E%3CP%3E-%20lwipopts.h%20%E3%81%A7%E3%81%AF%E3%80%81tcpip_thread%E3%81%AE%E5%84%AA%E5%85%88%E9%A0%86%E4%BD%8D%3C%2FP%3E%3CP%3E%23define%20TCPIP_THREAD_PRIO%202%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSTRONG%3E3.%20%E3%82%B7%E3%83%BC%E3%82%B1%E3%83%B3%E3%82%B7%E3%83%A3%E3%83%ABAPI%E3%81%AE%E5%88%A9%E7%94%A8%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3CSPAN%20style%3D%22font-size%3A%2011.0pt%3B%22%3E%E6%AC%A1%E3%81%AE%E5%9B%B3%E3%81%AB%E7%A4%BA%E3%81%99%E3%82%88%E3%81%86%E3%81%AB%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E5%81%B4%E3%81%A7%20TCP%20%E6%8E%A5%E7%B6%9A%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E6%89%8B%E9%A0%86%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3Enetconn_new()%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%8E%A5%E7%B6%9A%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_connect()%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_recv()%20%E9%96%A2%E6%95%B0%E3%81%A8%20netconn_write()%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_close()%E9%96%A2%E6%95%B0%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%82%92%E9%96%89%E3%81%98%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E5%81%B4%E3%81%A7TCP%E6%8E%A5%E7%B6%9A%E3%82%92%E7%A2%BA%E7%AB%8B%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E6%89%8B%E9%A0%86%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CUL%3E%3CLI%3Enetconn_new()%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20TCP%20%E6%8E%A5%E7%B6%9A%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_bind()%20%E9%96%A2%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%AB%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_listen()%20%E9%96%A2%E6%95%B0%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%82%92%E3%83%AA%E3%83%83%E3%82%B9%E3%83%B3%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_accept()%20%E9%96%A2%E6%95%B0%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%82%92%E5%8F%97%E3%81%91%E5%85%A5%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E9%80%9A%E5%B8%B8%E3%80%81%E3%81%93%E3%81%AE%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%AF%E3%80%81%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%8C%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%BE%E3%81%A7%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_write()%20%E3%81%A8%20netconn_recv()%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FLI%3E%3CLI%3Enetconn_close()%E9%96%A2%E6%95%B0%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%82%92%E9%96%89%E3%81%98%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22pastedImage_1.png%22%20style%3D%22width%3A%20402px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F93885iBFC21FD0997331AE%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22pastedImage_1.png%22%20alt%3D%22pastedImage_1.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%83%9F%E3%83%89%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2%2Flwip%2Fcontrib%2Fappa%2Ftcpecho%2Ftcpecho.c%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%E3%83%9C%E3%82%A4%E3%83%89%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20background%3A%20%23D4D4D4%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Etcpecho_thread%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E(%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Evoid%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E*arg)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Estruct%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23005032%3B%22%3Enetconn%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E*conn%2C%20*newconn%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23005032%3B%22%3Eerr_t%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Eerr%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ELWIP_UNUSED_ARG(%E5%BC%95%E6%95%B0)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%96%B0%E3%81%97%E3%81%84%E6%8E%A5%E7%B6%9A%E8%AD%98%E5%88%A5%E5%AD%90%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%97%A2%E7%9F%A5%E3%81%AE%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%207%20%E3%81%B8%E3%81%AE%E6%8E%A5%E7%B6%9A%E3%82%92%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20background%3A%20%23E0E0E0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23if%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3ELWIP_IPV6%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3Econn%20%3D%20netconn_new(NETCONN_TCP_IPV6)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3Enetconn_bind(%E3%82%B3%E3%83%8D%E3%83%81%E3%82%AB%E3%83%83%E3%83%88%E5%B7%9E%E3%80%81IP6_ADDR_ANY%E3%80%817)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23else%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20LWIP_IPV6%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Econn%20%3D%20%3CSTRONG%3Enetconn_new%3C%2FSTRONG%3E(%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%230000c0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CEM%3ENETCONN_TCP%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%20%3CSTRONG%3Enetconn_bind%3C%2FSTRONG%3E(%E3%82%B3%E3%83%8D%E3%83%81%E3%82%AB%E3%83%83%E3%83%88%E5%B7%9E%E3%80%81IP_ADDR_ANY%E3%80%817)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23endif%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20LWIP_IPV6%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%20LWIP_ERROR(%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%232a00ff%3B%22%3E%22%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Etcpecho%3C%2FSPAN%3E%3A%20invalid%20%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Econn%3C%2FSPAN%3E%22%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%2C%20(conn%20!%3D%20NULL)%2C%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Ereturn%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%3B)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%8E%A5%E7%B6%9A%E3%81%AB%E3%83%AA%E3%82%B9%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E5%85%A5%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E6%8C%87%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%20%3CSTRONG%3Enetconn_listen%3C%2FSTRONG%3E(conn)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E(%3C%2FSTRONG%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E1)%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%96%B0%E3%81%97%E3%81%84%E6%8E%A5%E7%B6%9A%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20err%20%3D%20%3CSTRONG%3Enetconn_accept%3C%2FSTRONG%3E(conn%2C%20%26amp%3Bnewconn)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Eprintf%3C%2FSPAN%3E(%22%E6%96%B0%E3%81%97%E3%81%84%E6%8E%A5%E7%B6%9A%20%25p%5Cn%E3%82%92%E5%8F%97%E3%81%91%E5%85%A5%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%22%2C%20%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Enewconn%3C%2FSPAN%3E)%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%96%B0%E3%81%97%E3%81%84%E6%8E%A5%E7%B6%9A%E3%82%92%E5%87%A6%E7%90%86%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%20*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Eif%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E(err%20%3D%3D%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%230000c0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CEM%3EERR_OK%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E)%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%E6%A7%8B%E9%80%A0%E4%BD%93%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23005032%3B%22%3Enetbuf%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E*buf%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Evoid%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E*data%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%23005032%3B%22%3Eu16_t%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Elen%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Ewhile%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E((err%20%3D%20%3CSTRONG%3Enetconn_recv%3C%2FSTRONG%3E(Newconn%2C%20%26amp%3Bbuf))%20%3D%3D%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%230000c0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CEM%3EERR_OK%3C%2FEM%3E%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E)%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Eprintf%3C%2FSPAN%3E(%22%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E5%8F%97%E4%BF%A1%E6%B8%88%E3%81%BF%3C%2FSPAN%3E%5Cn%22)%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Edo%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Enetbuf_data(buf%2C%20%26amp%3Bdata%2C%20%26amp%3Blen)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Eerr%20%3D%20%3CSTRONG%3Enetconn_write%3C%2FSTRONG%3E(newconn%2C%20data%2C%20len%2C%20NETCONN_COPY)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20background%3A%20%23E0E0E0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23if%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E0%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20background%3A%20%23E0E0E0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3Eif%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E(err%20!%3D%20ERR_OK)%20%7B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E%20printf(%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%232a00ff%3B%20background%3A%20%23E0E0E0%3B%22%3E%22%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Etcpecho%3C%2FSPAN%3E%3A%20netconn_write%3A%20%E3%82%A8%E3%83%A9%E3%83%BC%20%5C%22%25s%5C%22%5Cn%22%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E%2C%20lwip_strerr(%E3%82%A8%E3%83%A9%E3%83%BC))%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%20background%3A%20%23E0E0E0%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20background%3A%20%23E0E0E0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23endif%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%20%7D%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3Ewhile%20(netbuf_next(buf)%20%26gt%3B%3D%200)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20netbuf_delete(buf)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3Eprintf%3C%2FSPAN%3E(%22EOF%20%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%83%AB%E3%83%BC%E3%83%97%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%5Cn%22)%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F*%20%E6%8E%A5%E7%B6%9A%E3%82%92%E9%96%89%E3%81%98%E3%80%81%E6%8E%A5%E7%B6%9A%E8%AD%98%E5%88%A5%E5%AD%90%E3%82%92%E7%A0%B4%E6%A3%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSTRONG%3Enetconn_close%3C%2FSTRONG%3E(%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B3%E3%83%B3)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%3CSTRONG%3Enetconn_delete%3C%2FSTRONG%3E(%E3%83%8B%E3%83%A5%E3%83%BC%E3%82%B3%E3%83%B3)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%20%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Etcpecho%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%81%8B%E3%82%89%E3%80%81%3C%2FP%3E%3CP%3E%E3%81%BE%E3%81%9A%E3%80%81API%20netconn_new%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%20%3CSPAN%20style%3D%22color%3A%20%230000c0%3B%20font-size%3A%2010.0pt%3B%22%3E%3CEM%3ENETCONN_TCP%3C%2FEM%3E%3C%2FSPAN%3E%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%201%20%E3%81%A4%E3%81%AE%E6%96%B0%E3%81%97%E3%81%84%20TCP%20%E6%8E%A5%E7%B6%9A%E3%81%8C%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23define%20netconn_new(t)%20netconn_new_with_proto_and_callback(t%2C%200%2C%20NULL)%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%E6%A7%8B%E9%80%A0%E4%BD%93%20netconn%20*%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Enetconn_new_with_proto_and_callback(%E5%88%97%E6%8C%99%E5%9E%8B%20netconn_type%20t%E3%80%81u8_t%20proto%E3%80%81netconn_callback%20%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF)%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%E6%A7%8B%E9%80%A0%E4%BD%93%20netconn%20*conn%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20API_MSG_VAR_DECLARE(msg)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20API_MSG_VAR_ALLOC_RETURN_NULL(msg)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Econn%20%3D%20netconn_alloc(t%2C%20%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Eif%20(conn%20!%3D%20NULL)%20%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20err_t%20err%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20API_MSG_VAR_REF(msg).msg.n.proto%20%3D%20proto%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20API_MSG_VAR_REF(msg).conn%20%3D%20conn%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20err%20%3D%20netconn_apimsg(lwip_netconn_do_newconn%2C%20%26amp%3BAPI_MSG_VAR_REF(msg))%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20if%20(err%20!%3D%20ERR_OK)%20%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT%20(%22pcb%20%E3%82%92%E8%A7%A3%E6%94%BE%E3%81%9B%E3%81%9A%E3%81%AB%20conn%20%E3%82%92%E8%A7%A3%E6%94%BE%22%2C%20conn-%26gt%3Bpcb.tcp%20%3D%3D%20NULL)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT(%22conn%20%E3%81%AB%E3%81%AF%20recvmbox%20%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%22%2C%20sys_mbox_valid(%26amp%3Bconn-%26gt%3Brecvmbox))%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23if%20LWIP_TCP%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT(%22conn-%26gt%3Bacceptmbox%20%E3%81%AF%E5%AD%98%E5%9C%A8%E3%81%99%E3%81%B9%E3%81%8D%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%22%2C%20!sys_mbox_valid(%26amp%3Bconn-%26gt%3Bacceptmbox))%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23endif%20%2F*%20LWIP_TCP%20*%2F%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23if%20!LWIP_NETCONN_SEM_PER_THREAD%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ASSERT%20(%22conn%20%E3%81%AB%E3%81%AFop_completed%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%22%2C%20sys_sem_valid(%26amp%3Bconn-%26gt%3Bop_completed))%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Esys_sem_free(%26amp%3Bconn-%26gt%3Bop_completed)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%23endif%20%2F*%20!LWIP_NETCONN_SEM_PER_THREAD%20*%2F%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3Esys_mbox_free(%26amp%3Bconn-%26gt%3Brecvmbox)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20memp_free(MEMP_NETCONN%2C%20conn)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20API_MSG_VAR_FREE(msg)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20NULL%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20API_MSG_VAR_FREE(msg)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20return%20conn%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E6%AC%A1%E3%81%AB%E3%80%81%E6%96%B0%E3%81%97%E3%81%8F%E4%BD%9C%E6%88%90%E3%81%95%E3%82%8C%E3%81%9F%E6%8E%A5%E7%B6%9A%E3%81%AF%E3%80%81API%20%E9%96%A2%E6%95%B0%20netconn_bind%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%93%E3%81%A8%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%83%9D%E3%83%BC%E3%83%88%207%20(%E3%82%A8%E3%82%B3%E3%83%BC%20%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB)%20%E3%81%AB%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E6%AC%A1%E3%81%AB%E3%80%81%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%20API%20%E9%96%A2%E6%95%B0%20netconn_listen%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%80%81%E6%8E%A5%E7%B6%9A%E3%81%AE%E3%83%AA%E3%83%83%E3%82%B9%E3%83%B3%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E7%84%A1%E9%99%90%E3%81%AE%20while(1)%20%E3%83%AB%E3%83%BC%E3%83%97%E3%81%A7%E3%81%AF%E3%80%81%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%20API%20%E9%96%A2%E6%95%B0%20netconn_accept%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E6%96%B0%E3%81%97%E3%81%84%E6%8E%A5%E7%B6%9A%E3%82%92%E5%BE%85%E3%81%A1%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%81%AE%20API%20%E3%81%AF%E3%80%81%E7%9D%80%E4%BF%A1%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AB%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%20%E3%82%BF%E3%82%B9%E3%82%AF%E3%82%92%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E5%8F%97%E4%BF%A1%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%20API%20%E9%96%A2%E6%95%B0%20netconn_recv%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%8F%97%E4%BF%A1%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E7%9D%80%E4%BF%A1%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%20netbuf%20%E3%81%A7%E5%8F%97%E4%BF%A1%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AF%E3%80%81netbuf%20API%20%E9%96%A2%E6%95%B0netbuf_data%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%93%E3%81%A8%E3%81%A7%E3%80%81%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3Eerr_t%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3Enetbuf_data(struct%20netbuf%20*buf%2C%20void%20**dataptr%2C%20u16_t%20*len)%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3ELWIP_ERROR%20(%22netbuf_data%3A%20%E7%84%A1%E5%8A%B9%E3%81%AA%20buf%22%2C%20(buf%20!%3D%20NULL)%2C%20return%20ERR_ARG%3B)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20LWIP_ERROR(%22netbuf_data%3A%20invalid%20dataptr%22%2C%20(dataptr%20!%3D%20NULL)%2C%20return%20ERR_ARG%3B)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20LWIP_ERROR(%22netbuf_data%3A%20invalid%20len%22%2C%20(len%20!%3D%20NULL)%2C%20return%20ERR_ARG%3B)%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3Eif%20(buf-%26gt%3Bptr%20%3D%3D%20NULL)%20%7B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%26nbsp%3B%26nbsp%3B%20return%20ERR_BUF%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E*dataptr%20%3D%20buf-%26gt%3Bptr-%26gt%3B%E3%83%9A%E3%82%A4%E3%83%AD%E3%83%BC%E3%83%89%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20*len%20%3D%20buf-%26gt%3Bptr-%26gt%3Blen%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%26nbsp%3B%20return%20ERR_OK%3B%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20black%3B%20font-size%3A%209.0pt%3B%22%3E%3CEM%3E%7D%3C%2FEM%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E5%8F%97%E4%BF%A1%E3%81%97%E3%81%9F%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E3%80%81API%20%E9%96%A2%E6%95%B0%20netconn_write%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%93%E3%81%A8%E3%81%AB%E3%82%88%E3%81%A3%E3%81%A6%E3%80%81%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%20TCP%20%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AB%E9%80%81%E3%82%8A%E8%BF%94%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%20(%E3%82%A8%E3%82%B3%E3%83%BC%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99)%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ENetconn_close%20%E3%81%A8%20netconn_delete%20%E3%81%AF%E3%80%81%E3%81%9D%E3%82%8C%E3%81%9E%E3%82%8C%20netconn%20%E6%8E%A5%E7%B6%9A%E3%82%92%E9%96%89%E3%81%98%E3%81%A6%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2012.0pt%3B%22%3E%3CSTRONG%3E4.%20LwIP%E3%81%AE%E8%A8%AD%E5%AE%9A%3C%2FSTRONG%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3Elwipopts.h%3C%2FSTRONG%3E%20%E3%81%AF%E3%80%81lwIP%20%E3%81%A8%E3%81%9D%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E5%AE%8C%E5%85%A8%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E3%81%99%E3%80%82lwIP%20%E3%81%8C%E6%8F%90%E4%BE%9B%E3%81%99%E3%82%8B%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%AE%9A%E7%BE%A9%E3%81%97%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E5%80%A4%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AElwipopts.hlwIP%20%E3%81%AE%E5%8B%95%E4%BD%9C%E3%81%AE%E5%A4%9A%E3%81%8F%E3%82%92%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%82%A4%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%8F%90%E4%BE%9B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%83%9E%E3%83%AB%E3%83%81%E3%83%98%E3%83%83%E3%83%89%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%81%AF%E3%80%81.0%20%E3%81%AB%20%23define%20NO_SYS%20%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3Eevkbimxrt1050_lwip_tcpecho_freertos%5Csource%5Clwipopts.h%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CP%3E%E2%80%A6%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23if%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3EUSE_RTOS%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F**%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20SYS_LIGHTWEIGHT_PROT%3D%3D1%3A%20%E7%89%B9%E5%AE%9A%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%20%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E9%96%93%3C%2FSPAN%3E%E4%BF%9D%E8%AD%B7%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E5%A0%B4%E5%90%88%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%E3%81%AE%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%80%81%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E8%A7%A3%E9%99%A4%E3%80%81%E3%81%8A%E3%82%88%E3%81%B3%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%AD%E3%81%AE%E9%87%8D%E8%A6%81%E3%81%AA%E9%A0%98%E5%9F%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%81%A8%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E8%A7%A3%E9%99%A4%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%26nbsp%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ESYS_LIGHTWEIGHT_PROT%201%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F**%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20NO_SYS%3D%3D0%3A%20RTOS%E3%82%92%E4%BD%BF%E7%94%A8%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%26nbsp%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ENO_SYS%200%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F**%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20LWIP_NETCONN%3D%3D1%3A%20%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3ENetconn%3C%2FSPAN%3E%20API%20%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%20(api_lib.c%20%E3%81%AE%E4%BD%BF%E7%94%A8%E3%81%8C%E5%BF%85%E8%A6%81)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%26nbsp%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ELWIP_NETCONN%201%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F**%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20LWIP_SOCKET%3D%3D1%3A%20%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88API%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B(sockets.c%E3%81%AE%E4%BD%BF%E7%94%A8%E3%81%8C%E5%BF%85%E8%A6%81)%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%26nbsp%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ELWIP_SOCKET%201%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%2F**%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E*%20LWIP_SO_RCVTIMEO%3D%3D1%3A%20%E3%82%BD%E3%82%B1%E3%83%83%E3%83%88%2F%3CSPAN%20style%3D%22text-decoration%3A%20underline%3B%22%3E%E3%83%8D%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%81%AE%E5%8F%97%E4%BF%A1%3C%2FSPAN%3E%20%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%97%E3%80%81%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%E2%80%BBSO_RCVTIMEO%E5%8A%A0%E5%B7%A5%E4%B8%AD%E3%81%A7%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20style%3D%22margin-bottom%3A%20.0001pt%3B%22%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20%233f7f5f%3B%22%3E%26nbsp%3B*%2F%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22color%3A%20%237f0055%3B%20font-size%3A%2010.0pt%3B%22%3E%3CSTRONG%3E%23define%3C%2FSTRONG%3E%3C%2FSPAN%3E%20%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3ELWIP_SO_RCVTIMEO%201%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%E2%80%A6%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20style%3D%22font-size%3A%2010.0pt%3B%20color%3A%20black%3B%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1098997%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20Sequential%20API%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9FLwIP%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E9%96%8B%E7%99%BA%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1098997%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%26lt%3Bmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text%2Fhtml%3B%20charset%3Dutf-8%22%20%2F%26gt%3B%0A%3CP%3EDaniel%2C%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3Enetif%20API%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%82%92%E8%A1%8C%E3%81%86%E5%89%8D%E3%81%AB%E3%80%81%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E6%8E%A5%E7%B6%9A%E3%81%8C%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%96%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%3Fnetif_dhcp_start()%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%A8%E3%81%8D%E3%81%AB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%20%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E3%81%8C%E6%8E%A5%E7%B6%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AB%E3%80%81%E5%BE%8C%E3%81%A7%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81dhcp%20%E7%8A%B6%E6%85%8B%E5%A4%89%E6%95%B0%E3%81%8C%20DHCP_STATE_BOUND%20%E3%81%AB%E3%81%AA%E3%82%8B%E3%81%AE%E3%81%8C%E8%A6%8B%E3%81%88%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%A0%E3%81%8B%E3%82%89%E3%80%81%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%8C%E3%82%A2%E3%83%83%E3%83%97%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%80%E3%82%A6%E3%83%B3%E3%81%97%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E7%9F%A5%E3%82%89%E3%81%9B%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E5%A4%89%E6%95%B0%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81MCUXpresso%20SDK%E3%81%BE%E3%81%9F%E3%81%AFLwIP%E3%81%A7%E3%81%9D%E3%82%8C%E3%82%92%E8%A6%8B%E3%81%A4%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%83%AA%E3%83%B3%E3%82%AF%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%A4%9C%E5%87%BA%E3%81%8A%E3%82%88%E3%81%B3%E5%A0%B1%E5%91%8A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3CP%3E%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E
評価なし
バージョン履歴
最終更新日:
‎11-09-2019 08:14 PM
更新者: