@ -7,7 +7,45 @@ 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  sint8  err_t ;  
					 
					 
					 
					typedef  sint8  err_t ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  void  * espconn_handle ;  
					 
					 
					 
					typedef  void  * espconn_handle ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					/**
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ brief      Connect  callback .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             Callback  which  will  be  called  if  successful  listening  ( ESP8266  as  TCP  server )   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             or  connection  ( ESP8266  as  TCP  client )  callback ,  register  by  espconn_regist_connectcb .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ attention  The  pointer  " void *arg "  may  be  different  in  different  callbacks ,  please  don ' t   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             use  this  pointer  directly  to  distinguish  one  from  another  in  multiple  connections ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             use  remote_ip  and  remote_port  in  espconn  instead .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      void  * arg  :  pointer  corresponding  structure  espconn .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     null   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  void  ( *  espconn_connect_callback ) ( void  * arg ) ;  
					 
					 
					 
					typedef  void  ( *  espconn_connect_callback ) ( void  * arg ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					/**
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ brief      Reconnect  callback .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             Enter  this  callback  when  error  occurred ,  TCP  connection  broke .  This  callback  is   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             registered  by  espconn_regist_reconcb .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ attention  The  pointer  " void *arg "  may  be  different  in  different  callbacks ,  please  don ' t   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             use  this  pointer  directly  to  distinguish  one  from  another  in  multiple  connections ,   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             use  remote_ip  and  remote_port  in  espconn  instead .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      void  * arg  :  pointer  corresponding  structure  espconn .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      sint8  err  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESCONN_TIMEOUT     -  Timeout   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ABRT       -  TCP  connection  aborted   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_RST        -  TCP  connection  abort   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_CLSD       -  TCP  connection  closed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_CONN       -  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_HANDSHAKE  -  TCP  SSL  handshake  fail   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_PROTO_MSG  -  SSL  application  invalid   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return   null   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  void  ( *  espconn_reconnect_callback ) ( void  * arg ,  sint8  err ) ;  
					 
					 
					 
					typedef  void  ( *  espconn_reconnect_callback ) ( void  * arg ,  sint8  err ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/* Definitions for error constants. */  
					 
					 
					 
					/* Definitions for error constants. */  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -33,46 +71,44 @@ typedef void (* espconn_reconnect_callback)(void *arg, sint8 err); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/** Protocol family and type of the espconn */  
					 
					 
					 
					/** Protocol family and type of the espconn */  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					enum  espconn_type  {  
					 
					 
					 
					enum  espconn_type  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_INVALID     =  0 ,   
					 
					 
					 
						ESPCONN_INVALID  =  0 ,      /**< invalid type  */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						/* ESPCONN_TCP Group */   
					 
					 
					 
						ESPCONN_TCP      =  0x10 ,   /**< TCP           */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_TCP         =  0x10 ,   
					 
					 
					 
						ESPCONN_UDP      =  0x20 ,   /**< UDP           */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						/* ESPCONN_UDP Group */   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_UDP         =  0x20 ,   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/** Current state of the espconn. Non-TCP espconn are always in state ESPCONN_NONE!  */  
					 
					 
					 
					/** Current state of the espconn. */  
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					enum  espconn_state  {  
					 
					 
					 
					enum  espconn_state  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_NONE ,   
					 
					 
					 
						ESPCONN_NONE ,         /**< idle state, no connection */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_WAIT ,   
					 
					 
					 
						ESPCONN_WAIT ,         /**< ESP8266 is as TCP client, and waiting for connection */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_LISTEN ,   
					 
					 
					 
						ESPCONN_LISTEN ,       /**< ESP8266 is as TCP server, and waiting for connection */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_CONNECT ,   
					 
					 
					 
						ESPCONN_CONNECT ,      /**< connected         */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_WRITE ,   
					 
					 
					 
						ESPCONN_WRITE ,        /**< sending data      */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_READ ,   
					 
					 
					 
						ESPCONN_READ ,         /**< receiving data    */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_CLOSE   
					 
					 
					 
						ESPCONN_CLOSE         /**< connection closed */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  struct  _esp_tcp  {  
					 
					 
					 
					typedef  struct  _esp_tcp  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						int  remote_port ;   
					 
					 
					 
						int  remote_port ;       /**< remote port of TCP connection            */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						int  local_port ;   
					 
					 
					 
						int  local_port ;        /**< ESP8266's local port of TCP connection   */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  local_ip [ 4 ] ;   
					 
					 
					 
						uint8  local_ip [ 4 ] ;     /**< local IP of ESP8266                      */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  remote_ip [ 4 ] ;   
					 
					 
					 
						uint8  remote_ip [ 4 ] ;    /**< remote IP of TCP connection              */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_connect_callback  connect_callback ;   
					 
					 
					 
						espconn_connect_callback  connect_callback ;       /**< connected callback */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_reconnect_callback  reconnect_callback ;   
					 
					 
					 
						espconn_reconnect_callback  reconnect_callback ;   /**< as error handler, the TCP connection broke unexpectedly */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_connect_callback  disconnect_callback ;   
					 
					 
					 
						espconn_connect_callback  disconnect_callback ;    /**< disconnected callback */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_connect_callback  write_finish_fn ;   
					 
					 
					 
						espconn_connect_callback  write_finish_fn ;        /**< data send by espconn_send has wrote into buffer waiting for sending, or has sent successfully */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					}  esp_tcp ;  
					 
					 
					 
					}  esp_tcp ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  struct  _esp_udp  {  
					 
					 
					 
					typedef  struct  _esp_udp  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						int  remote_port ;   
					 
					 
					 
						int  remote_port ;     /**< remote port of UDP transmission            */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						int  local_port ;   
					 
					 
					 
						int  local_port ;      /**< ESP8266's local port for UDP transmission  */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  local_ip [ 4 ] ;   
					 
					 
					 
						uint8  local_ip [ 4 ] ;   /**< local IP of ESP8266                        */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  remote_ip [ 4 ] ;   
					 
					 
					 
						uint8  remote_ip [ 4 ] ;  /**< remote IP of UDP transmission              */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					}  esp_udp ;  
					 
					 
					 
					}  esp_udp ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					typedef  struct  _remot_info  {  
					 
					 
					 
					typedef  struct  _remot_info  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						enum  espconn_state  state ;   
					 
					 
					 
						enum  espconn_state  state ;    /**< state of espconn   */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						int  remote_port ;   
					 
					 
					 
						int  remote_port ;             /**< remote port        */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  remote_ip [ 4 ] ;   
					 
					 
					 
						uint8  remote_ip [ 4 ] ;          /**< remote IP address  */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					}  remot_info ;  
					 
					 
					 
					}  remot_info ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/** A callback prototype to inform about events for a espconn */  
					 
					 
					 
					/** A callback prototype to inform about events for a espconn */  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -81,34 +117,31 @@ typedef void (* espconn_sent_callback)(void *arg); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/** A espconn descriptor */  
					 
					 
					 
					/** A espconn descriptor */  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					struct  espconn  {  
					 
					 
					 
					struct  espconn  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						/** type of the espconn (TCP, UDP) */   
					 
					 
					 
						enum  espconn_type  type ;      /**< type of the espconn (TCP or UDP)   */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						enum  espconn_type  type ;   
					 
					 
					 
						enum  espconn_state  state ;    /**< current state of the espconn       */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						/** current state of the espconn */   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						enum  espconn_state  state ;   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
						union  {   
					 
					 
					 
						union  {   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							esp_tcp  * tcp ;   
					 
					 
					 
							esp_tcp  * tcp ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							esp_udp  * udp ;   
					 
					 
					 
							esp_udp  * udp ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						}  proto ;   
					 
					 
					 
						}  proto ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						/** A callback function that is informed about events for this espconn */   
					 
					 
					 
						espconn_recv_callback  recv_callback ;     /**< data received callback */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_recv_callback  recv_callback ;   
					 
					 
					 
						espconn_sent_callback  sent_callback ;     /**< data sent callback     */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						espconn_sent_callback  sent_callback ;   
					 
					 
					 
						uint8  link_cnt ;          /**< link count             */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						uint8  link_cnt ;   
					 
					 
					 
						void  * reserve ;           /**< reserved for user data */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						void  * reverse ;   
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					enum  espconn_option  {  
					 
					 
					 
					enum  espconn_option  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_START  =  0x00 ,   
					 
					 
					 
						ESPCONN_START       =  0x00 ,    /**< no option, start enum. */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_REUSEADDR  =  0x01 ,   
					 
					 
					 
						ESPCONN_REUSEADDR  =  0x01 ,    /**< free memory after TCP disconnection happen, need not wait 2 minutes. */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_NODELAY  =  0x02 ,   
					 
					 
					 
						ESPCONN_NODELAY     =  0x02 ,    /**< disable nagle algorithm during TCP data transmission, quicken the data transmission. */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_COPY  =  0x04 ,   
					 
					 
					 
						ESPCONN_COPY        =  0x04 ,    /**< enable espconn_regist_write_finish, enter write_finish_callback means that the data espconn_send sending was written into 2920 bytes write-buffer waiting for sending or already sent. */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_KEEPALIVE  =  0x08 ,   
					 
					 
					 
						ESPCONN_KEEPALIVE  =  0x08 ,    /**< enable TCP keep alive.    */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_END   
					 
					 
					 
						ESPCONN_END                  /**< no option, end enum.      */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					enum  espconn_level  {  
					 
					 
					 
					enum  espconn_level  {  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_KEEPIDLE ,   
					 
					 
					 
						ESPCONN_KEEPIDLE ,    /**< TCP keep-alive interval, unit : second.                */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_KEEPINTVL ,   
					 
					 
					 
						ESPCONN_KEEPINTVL ,   /**< packet interval during TCP keep-alive, unit : second.  */    
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
						ESPCONN_KEEPCNT   
					 
					 
					 
						ESPCONN_KEEPCNT      /**< maximum packet retry count of TCP keep-alive.          */    
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					enum  {  
					 
					 
					 
					enum  {  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -136,106 +169,168 @@ struct mdns_info { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						unsigned  long  ipAddr ;   
					 
					 
					 
						unsigned  long  ipAddr ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						char  * txt_data [ 10 ] ;   
					 
					 
					 
						char  * txt_data [ 10 ] ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					} ;  
					 
					 
					 
					} ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_connect   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  The  function  given  as  the  connect   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  listen  the  connection   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					/**
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ brief      Connect  to  a  TCP  server  ( ESP8266  acting  as  TCP  client ) .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ attention  If  espconn_connect  fail ,  returns  non - 0  value ,  there  is  no  connection ,  so  it   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             won ' t  enter  any  espconn  callback .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure ,   the  espconn  to   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *             listen  to  the  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_RTE     -  Routing  Problem   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ISCONN  -  Already  connected   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG     -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                         according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_connect ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_connect ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_disconnect   
					 
					 
					 
					  *  @ brief      Disconnect  a  TCP  connection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  disconnect  with  host   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  disconnect  the  connection   
					 
					 
					 
					  *  @ attention  Don ' t  call  this  API  in  any  espconn  callback .  If  needed ,  please  use  system   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *             task  to  trigger  espconn_disconnect .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_disconnect ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_disconnect ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_delete   
					 
					 
					 
					  *  @ brief      Delete  a  transmission .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  disconnect  with  host   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  disconnect  the  connection   
					 
					 
					 
					  *  @ attention  Corresponding  creation  API  :   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *     -   TCP :  espconn_accept ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *     -   UDP :  espconn_create   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  network  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_delete ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_delete ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_accept   
					 
					 
					 
					  *  @ brief   Creates  a  TCP  server  ( i . e .  accepts  connections ) .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  The  function  given  as  the  listen   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  listen  the  connection   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ISCONN  -  Already  connected   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG     -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                         according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_accept ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_accept ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_create   
					 
					 
					 
					  *  @ brief      Create  UDP  transmission .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  sent  data  for  client  or  server   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  the  data  transmission   
					 
					 
					 
					  *  @ attention  Parameter  remote_ip  and  remote_port  need  to  be  set ,  do  not  set  to  be  0.   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  result   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  UDP  control  block  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ISCONN  -  Already  connected   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG     -  illegal  argument ,  can ' t  find  the  corresponding  UDP  transmission   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                         according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_create ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_create ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_tcp_get_max_con   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  get  the  number  of  simulatenously  active  TCP  connections   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  none   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					/**
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ brief   Get  maximum  number  of  how  many  TCP  connections  are  allowed .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param   null   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return  Maximum  number  of  how  many  TCP  connections  are  allowed .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					uint8  espconn_tcp_get_max_con ( void ) ;  
					 
					 
					 
					uint8  espconn_tcp_get_max_con ( void ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_tcp_set_max_con   
					 
					 
					 
					  *  @ brief   Set  the  maximum  number  of  how  many  TCP  connection  is  allowed .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  set  the  number  of  simulatenously  active  TCP  connections   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  num  - -  total  number   
					 
					 
					 
					  *  @ param   uint8  num  :  Maximum  number  of  how  many  TCP  connection  is  allowed .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_tcp_set_max_con ( uint8  num ) ;  
					 
					 
					 
					sint8  espconn_tcp_set_max_con ( uint8  num ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_tcp_get_max_con_allow   
					 
					 
					 
					  *  @ brief   Get  the  maximum  number  of  TCP  clients  which  are  allowed  to  connect  to  ESP8266  TCP  server .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  get  the  count  of  simulatenously  active  connections  on  the  server   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  get  the  count   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  server  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  result   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_tcp_get_max_con_allow ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_tcp_get_max_con_allow ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_tcp_set_max_con_allow   
					 
					 
					 
					  *  @ brief   Set  the  maximum  number  of  TCP  clients  allowed  to  connect  to  ESP8266  TCP  server .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  set  the  count  of  simulatenously  active  connections  on  the  server   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  count   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  server  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  num  - -  support  the  connection  number   
					 
					 
					 
					  *  @ param   uint8  num  :  Maximum  number  of  TCP  clients  which  are  allowed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  result   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_tcp_set_max_con_allow ( struct  espconn  * espconn ,  uint8  num ) ;  
					 
					 
					 
					sint8  espconn_tcp_set_max_con_allow ( struct  espconn  * espconn ,  uint8  num ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_time   
					 
					 
					 
					  *  @ brief      Register  timeout  interval  of  ESP8266  TCP  server .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  time  that  should  be  called  when  don ' t  recv  data   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  the  connection   
					 
					 
					 
					  *  @ attention  1.  If  timeout  is  set  to  0 ,  timeout  will  be  disable  and  ESP8266  TCP  server  will   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  interval  - -  the  timer  when  don ' t  recv  data   
					 
					 
					 
					  *                not  disconnect  TCP  clients  has  stopped  communication .  This  usage  of  timeout = 0 ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *                is  deprecated .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ attention  2.  This  timeout  interval  is  not  very  precise ,  only  as  reference .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      uint32  interval  :  timeout  interval ,  unit :  second ,  maximum :  7200  seconds   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      uint8  type_flag  :  0 ,  set  for  all  connections ;  1 ,  set  for  a  specific  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   If  the  type_flag  set  to  be  0 ,  please  call  this  API  after  espconn_accept ,  before  listened   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *        a  TCP  connection .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   If  the  type_flag  set  to  be  1 ,  the  first  parameter  * espconn  is  the  specific  connection .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_time ( struct  espconn  * espconn ,  uint32  interval ,  uint8  type_flag ) ;  
					 
					 
					 
					sint8  espconn_regist_time ( struct  espconn  * espconn ,  uint32  interval ,  uint8  type_flag ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_get_connection_info   
					 
					 
					 
					  *  @ brief   Get  the  information  about  a  TCP  connection  or  UDP  transmission .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  function  that  should  be  called  when  disconnect   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  err  callback   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 discon_cb  - -  err  callback  function  to  call  when  err   
					 
					 
					 
					  *  @ param   remot_info  * * pcon_info  :  connect  to  client  info   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ param   uint8  typeflags  :  0 ,  regular  server ;  1 ,  ssl  server   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  transmission  according  to   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_get_connection_info ( struct  espconn  * pespconn ,  remot_info  * * pcon_info ,  uint8  typeflags ) ;  
					 
					 
					 
					sint8  espconn_get_connection_info ( struct  espconn  * pespconn ,  remot_info  * * pcon_info ,  uint8  typeflags ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -248,191 +343,269 @@ sint8 espconn_get_connection_info(struct espconn *pespconn, remot_info **pcon_in 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_get_packet_info ( struct  espconn  * espconn ,  struct  espconn_packet *  infoarg ) ;  
					 
					 
					 
					sint8  espconn_get_packet_info ( struct  espconn  * espconn ,  struct  espconn_packet *  infoarg ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_sentcb   
					 
					 
					 
					  *  @ brief   Register  data  sent  callback  which  will  be  called  back  when  data  are  successfully  sent .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  Used  to  specify  the  function  that  should  be  called  when  data   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 has  been  successfully  delivered  to  the  remote  host .   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  struct  espconn  * espconn  - -  espconn  to  set  the  sent  callback   
					 
					 
					 
					  *  @ param   espconn_sent_callback  sent_cb  :  registered  callback  function  which  will  be  called  if   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 espconn_sent_callback  sent_cb  - -  sent  callback  function  to   
					 
					 
					 
					  *                                          the  data  is  successfully  sent   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 call  for  this  espconn  when  data  is  successfully  sent   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  transmission  according   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_sentcb ( struct  espconn  * espconn ,  espconn_sent_callback  sent_cb ) ;  
					 
					 
					 
					sint8  espconn_regist_sentcb ( struct  espconn  * espconn ,  espconn_sent_callback  sent_cb ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_sentcb   
					 
					 
					 
					  *  @ brief   Register  a  callback  which  will  be  called  when  all  sending  TCP  data  is  completely   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  Used  to  specify  the  function  that  should  be  called  when  data   
					 
					 
					 
					  *          write  into  write - buffer  or  sent .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 has  been  successfully  delivered  to  the  remote  host .   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  sent  callback   
					 
					 
					 
					  *          Need  to  call  espconn_set_opt  to  enable  write - buffer  first .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 sent_cb  - -  sent  callback  function  to  call  for  this  espconn   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 when  data  is  successfully  sent   
					 
					 
					 
					  *  @ attention  1.  write - buffer  is  used  to  keep  TCP  data  that  waiting  to  be  sent ,  queue  number   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *                of  the  write - buffer  is  8  which  means  that  it  can  keep  8  packets  at  most .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *                The  size  of  write - buffer  is  2920  bytes .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ attention  2.  Users  can  enable  it  by  using  espconn_set_opt .   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ attention  3.  Users  can  call  espconn_send  to  send  the  next  packet  in  write_finish_callback   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                instead  of  using  espconn_sent_callback .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      espconn_connect_callback  write_finish_fn  :  registered  callback  function  which  will   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                                                        be  called  if  the  data  is  completely  write   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                                                        into  write  buffer  or  sent .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_write_finish ( struct  espconn  * espconn ,  espconn_connect_callback  write_finish_fn ) ;  
					 
					 
					 
					sint8  espconn_regist_write_finish ( struct  espconn  * espconn ,  espconn_connect_callback  write_finish_fn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_send   
					 
					 
					 
					  *  @ brief      Send  data  through  network .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  sent  data  for  client  or  server   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  for  client  or  server   
					 
					 
					 
					  *  @ attention  1.  Please  call  espconn_send  after  espconn_sent_callback  of  the  pre - packet .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 psent  - -  data  to  send   
					 
					 
					 
					  *  @ attention  2.  If  it  is  a  UDP  transmission ,  it  is  suggested  to  set  espconn - > proto . udp - > remote_ip   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 length  - -  length  of  data  to  send   
					 
					 
					 
					  *                and  remote_port  before  every  calling  of  espconn_send .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ param      uint8  * psent  :  pointer  of  data   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      uint16  length  :  data  length   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG     -  illegal  argument ,  can ' t  find  the  corresponding  network  transmission   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                         according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MAXNUM  -  buffer  of  sending  data  is  full   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_IF      -  send  UDP  data  fail   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_send ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
					 
					 
					 
					sint8  espconn_send ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_sent   
					 
					 
					 
					  *  @ brief      Send  data  through  network .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  sent  data  for  client  or  server   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  for  client  or  server   
					 
					 
					 
					  *             This  API  is  deprecated ,  please  use  espconn_send  instead .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 psent  - -  data  to  send   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 length  - -  length  of  data  to  send   
					 
					 
					 
					  *  @ attention  1.  Please  call  espconn_sent  after  espconn_sent_callback  of  the  pre - packet .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ attention  2.  If  it  is  a  UDP  transmission ,  it  is  suggested  to  set  espconn - > proto . udp - > remote_ip   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *                and  remote_port  before  every  calling  of  espconn_sent .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  network  connection  structure   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      uint8  * psent  :  pointer  of  data   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      uint16  length  :  data  length   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG     -  illegal  argument ,  can ' t  find  the  corresponding  network  transmission   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                         according  to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MAXNUM  -  buffer  of  sending  data  is  full   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_IF      -  send  UDP  data  fail   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_sent ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
					 
					 
					 
					sint8  espconn_sent ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_sendto   
					 
					 
					 
					  *  @ brief   Send  UDP  data .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  send  data  for  UDP   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  for  UDP   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  UDP  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 psent  - -  data  to  send   
					 
					 
					 
					  *  @ param   uint8  * psent  :  pointer  of  data   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 length  - -  length  of  data  to  send   
					 
					 
					 
					  *  @ param   uint16  length  :  data  length   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  error   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM     -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MAXNUM  -  buffer  of  sending  data  is  full   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_IF      -  send  UDP  data  fail   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint16  espconn_sendto ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
					 
					 
					 
					sint16  espconn_sendto ( struct  espconn  * espconn ,  uint8  * psent ,  uint16  length ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_connectcb   
					 
					 
					 
					  *  @ brief   Register  connection  function  which  will  be  called  back  under  successful  TCP  connection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  function  that  should  be  called  when   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 connects  to  host .   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  connect  callback   
					 
					 
					 
					  *  @ param   espconn_connect_callback  connect_cb  :  registered  callback  function   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 connect_cb  - -  connected  callback  function  to  call  when  connected   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_connectcb ( struct  espconn  * espconn ,  espconn_connect_callback  connect_cb ) ;  
					 
					 
					 
					sint8  espconn_regist_connectcb ( struct  espconn  * espconn ,  espconn_connect_callback  connect_cb ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_recvcb   
					 
					 
					 
					  *  @ brief   register  data  receive  function  which  will  be  called  back  when  data  are  received .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  function  that  should  be  called  when  recv   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 data  from  host .   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  network  transmission  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  recv  callback   
					 
					 
					 
					  *  @ param   espconn_recv_callback  recv_cb  :  registered  callback  function   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 recv_cb  - -  recv  callback  function  to  call  when  recv  data   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_recvcb ( struct  espconn  * espconn ,  espconn_recv_callback  recv_cb ) ;  
					 
					 
					 
					sint8  espconn_regist_recvcb ( struct  espconn  * espconn ,  espconn_recv_callback  recv_cb ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_reconcb   
					 
					 
					 
					  *  @ brief      Register  reconnect  callback .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  function  that  should  be  called  when  connection   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 because  of  err  disconnect .   
					 
					 
					 
					  *  @ attention  espconn_reconnect_callback  is  more  like  a  network - broken  error  handler ;  it  handles   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  err  callback   
					 
					 
					 
					  *             errors  that  occurs  in  any  phase  of  the  connection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 recon_cb  - -  err  callback  function  to  call  when  err   
					 
					 
					 
					  *             For  instance ,  if  espconn_send  fails ,  espconn_reconnect_callback  will  be  called   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *             because  the  network  is  broken .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param   espconn_reconnect_callback  recon_cb  :  registered  callback  function   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return   0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return   Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_reconcb ( struct  espconn  * espconn ,  espconn_reconnect_callback  recon_cb ) ;  
					 
					 
					 
					sint8  espconn_regist_reconcb ( struct  espconn  * espconn ,  espconn_reconnect_callback  recon_cb ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_regist_disconcb   
					 
					 
					 
					  *  @ brief   Register  disconnection  function  which  will  be  called  back  under  successful  TCP   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  used  to  specify  the  function  that  should  be  called  when  disconnect   
					 
					 
					 
					  *          disconnection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  set  the  err  callback   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 discon_cb  - -  err  callback  function  to  call  when  err   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ param   espconn_connect_callback  discon_cb  :  registered  callback  function   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_regist_disconcb ( struct  espconn  * espconn ,  espconn_connect_callback  discon_cb ) ;  
					 
					 
					 
					sint8  espconn_regist_disconcb ( struct  espconn  * espconn ,  espconn_connect_callback  discon_cb ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_port   
					 
					 
					 
					  *  @ brief   Get  an  available  port  for  network .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  access  port  value  for  client  so  that  we  don ' t  end  up  bouncing   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 all  connections  at  the  same  time  .   
					 
					 
					 
					  *  @ param   null   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  access  port  value   
					 
					 
					 
					  *  @ return  Port  number .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					uint32  espconn_port ( void ) ;  
					 
					 
					 
					uint32  espconn_port ( void ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_set_opt   
					 
					 
					 
					  *  @ brief      Set  option  of  TCP  connection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  access  port  value  for  client  so  that  we  don ' t  end  up  bouncing   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 all  connections  at  the  same  time  .   
					 
					 
					 
					  *  @ attention  In  general ,  we  need  not  call  this  API .  If  call  espconn_set_opt ,  please  call   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  none   
					 
					 
					 
					  *             it  in  espconn_connect_callback .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  access  port  value   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ param      uint8  opt  :  option  of  TCP  connection ,  refer  to  enum  espconn_option   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   bit  0 :  1 :  free  memory  after  TCP  disconnection  happen  need  not  wait  2  minutes ;   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   bit  1 :  1 :  disable  nagle  algorithm  during  TCP  data  transmission ,  quiken  the  data  transmission .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   bit  2 :  1 :  enable  espconn_regist_write_finish ,  enter  write  finish  callback  means   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                  the  data  espconn_send  sending  was  written  into  2920  bytes  write - buffer   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                  waiting  for  sending  or  already  sent .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   bit  3 :  1 :  enable  TCP  keep  alive   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_set_opt ( struct  espconn  * espconn ,  uint8  opt ) ;  
					 
					 
					 
					sint8  espconn_set_opt ( struct  espconn  * espconn ,  uint8  opt ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_clear_opt   
					 
					 
					 
					  *  @ brief   Clear  option  of  TCP  connection .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  clear  the  option  for  connections  so  that  we  don ' t  end  up  bouncing   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 all  connections  at  the  same  time  .   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  set  the  connection   
					 
					 
					 
					  *  @ param   uint8  opt  :  enum  espconn_option   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  opt  - -  the  option  for  clear   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  the  result   
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_clear_opt ( struct  espconn  * espconn ,  uint8  opt ) ;  
					 
					 
					 
					sint8  espconn_clear_opt ( struct  espconn  * espconn ,  uint8  opt ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_set_keepalive   
					 
					 
					 
					  *  @ brief      Set  configuration  of  TCP  keep  alive .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  access  level  value  for  connection  so  that  we  set  the  value  for   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  keep  alive   
					 
					 
					 
					  *  @ attention  In  general ,  we  need  not  call  this  API .  If  needed ,  please  call  it  in   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  set  the  connection   
					 
					 
					 
					  *             espconn_connect_callback  and  call  espconn_set_opt  to  enable  keep  alive  first .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  level  - -  the  connection ' s  level   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  value  - -  the  value  of  time ( s )   
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  access  port  value   
					 
					 
					 
					  *  @ param      uint8  level  :  To  do  TCP  keep - alive  detection  every  ESPCONN_KEEPIDLE .  If  there   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *                           is  no  response ,  retry  ESPCONN_KEEPCNT  times  every  ESPCONN_KEEPINTVL .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *                           If  still  no  response ,  considers  it  as  TCP  connection  broke ,  goes   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                           into  espconn_reconnect_callback .  Notice ,  keep  alive  interval  is  not   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                           precise ,  only  for  reference ,  it  depends  on  priority .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      void *  optarg  :  value  of  parameter   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_set_keepalive ( struct  espconn  * espconn ,  uint8  level ,  void  * optarg ) ;  
					 
					 
					 
					sint8  espconn_set_keepalive ( struct  espconn  * espconn ,  uint8  level ,  void  * optarg ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_get_keepalive   
					 
					 
					 
					  *  @ brief   Get  configuration  of  TCP  keep  alive .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  access  level  value  for  connection  so  that  we  get  the  value  for   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  keep  alive   
					 
					 
					 
					  *  @ param   struct  espconn  * espconn  :  the  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  the  espconn  used  to  get  the  connection   
					 
					 
					 
					  *  @ param   uint8  level  :  enum  espconn_level   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  level  - -  the  connection ' s  level   
					 
					 
					 
					  *  @ param   void *  optarg  :  value  of  parameter   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  access  keep  alive  value   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ return  0      :  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					  *  @ return  Non - 0  :  error  code   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection  according   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      to  structure  espconn   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_get_keepalive ( struct  espconn  * espconn ,  uint8  level ,  void  * optarg ) ;  
					 
					 
					 
					sint8  espconn_get_keepalive ( struct  espconn  * espconn ,  uint8  level ,  void  * optarg ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  TypedefName  :  dns_found_callback   
					 
					 
					 
					  *  @ brief   Callback  which  is  invoked  when  a  hostname  is  found .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description  :  Callback  which  is  invoked  when  a  hostname  is  found .   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters   :  name  - -  pointer  to  the  name  that  was  looked  up .   
					 
					 
					 
					  *  @ param   const  char  * name  :  hostname   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                ipaddr  - -  pointer  to  an  ip_addr_t  containing  the  IP  address  of   
					 
					 
					 
					  *  @ param   ip_addr_t  * ipaddr  :  IP  address  of  the  hostname ,  or  to  be  NULL  if  the  name  could   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                the  hostname ,  or  NULL  if  the  name  could  not  be  found  ( or  on  any   
					 
					 
					 
					  *                              not  be  found  ( or  on  any  other  error ) .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                other  error ) .   
					 
					 
					 
					  *  @ param   void  * callback_arg  :  callback  argument .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                callback_arg  - -  a  user - specified  callback  argument  passed  to   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                dns_gethostbyname   
					 
					 
					 
					  *  @ return  null   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					typedef  void  ( * dns_found_callback ) ( const  char  * name ,  ip_addr_t  * ipaddr ,  void  * callback_arg ) ;  
					 
					 
					 
					typedef  void  ( * dns_found_callback ) ( const  char  * name ,  ip_addr_t  * ipaddr ,  void  * callback_arg ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_gethostbyname   
					 
					 
					 
					  *  @ brief   DNS  function .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  Resolve  a  hostname  ( string )  into  an  IP  address .   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  pespconn  - -  espconn  to  resolve  a  hostname   
					 
					 
					 
					  *          Parse  a  hostname  ( string )  to  an  IP  address .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 hostname  - -  the  hostname  that  is  to  be  queried   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 addr  - -  pointer  to  a  ip_addr_t  where  to  store  the  address  if   
					 
					 
					 
					  *  @ param   struct  espconn  * pespconn  :  espconn  to  parse  a  hostname .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 it  is  already  cached  in  the  dns_table  ( only  valid  if  ESPCONN_OK   
					 
					 
					 
					  *  @ param   const  char  * hostname  :  the  hostname .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 is  returned ! )   
					 
					 
					 
					  *  @ param   ip_addr_t  * addr  :  IP  address .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 found  - -  a  callback  function  to  be  called  on  success ,  failure   
					 
					 
					 
					  *  @ param   dns_found_callback  found  :  callback  of  DNS   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 or  timeout  ( only  if  ERR_INPROGRESS  is  returned ! )   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  err_t  return  code   
					 
					 
					 
					  *  @ return  err_t  :   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 -  ESPCONN_OK  if  hostname  is  a  valid  IP  address  string  or  the  host   
					 
					 
					 
					  *     -   ESPCONN_OK  -  succeed   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                   name  is  already  in  the  local  names  table .   
					 
					 
					 
					  *     -   ESPCONN_INPROGRESS  -  error  code  :  already  connected   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 -  ESPCONN_INPROGRESS  enqueue  a  request  to  be  sent  to  the  DNS  server   
					 
					 
					 
					  *     -   ESPCONN_ARG  -  error  code  :  illegal  argument ,  can ' t  find  network  transmission   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                   for  resolution  if  no  errors  are  present .   
					 
					 
					 
					  *                      according  to  structure  espconn   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 -  ESPCONN_ARG :  dns  client  not  initialized  or  invalid  hostname   
					 
					 
					 
					  */   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					err_t  espconn_gethostbyname ( struct  espconn  * pespconn ,  const  char  * hostname ,  ip_addr_t  * addr ,  dns_found_callback  found ) ;  
					 
					 
					 
					err_t  espconn_gethostbyname ( struct  espconn  * pespconn ,  const  char  * hostname ,  ip_addr_t  * addr ,  dns_found_callback  found ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -590,38 +763,61 @@ sint8 espconn_secure_accept(struct espconn *espconn); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_secure_delete ( struct  espconn  * espconn ) ;  
					 
					 
					 
					sint8  espconn_secure_delete ( struct  espconn  * espconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_igmp_join   
					 
					 
					 
					  *  @ brief      Join  a  multicast  group .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  join  a  multicast  group   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  host_ip  - -  the  ip  address  of  udp  server   
					 
					 
					 
					  *  @ attention  This  API  can  only  be  called  after  the  ESP8266  station  connects  to  a  router .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  multicast_ip  - -  multicast  ip  given  by  user   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ param      ip_addr_t  * host_ip  :   IP  of  UDP  host   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      ip_addr_t  * multicast_ip  :   IP  of  multicast  group   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM  -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_igmp_join ( ip_addr_t  * host_ip ,  ip_addr_t  * multicast_ip ) ;  
					 
					 
					 
					sint8  espconn_igmp_join ( ip_addr_t  * host_ip ,  ip_addr_t  * multicast_ip ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_igmp_leave   
					 
					 
					 
					  *  @ brief      Leave  a  multicast  group .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  leave  a  multicast  group   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  host_ip  - -  the  ip  address  of  udp  server   
					 
					 
					 
					  *  @ attention  This  API  can  only  be  called  after  the  ESP8266  station  connects  to  a  router .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  multicast_ip  - -  multicast  ip  given  by  user   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *  @ param      ip_addr_t  * host_ip  :   IP  of  UDP  host   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      ip_addr_t  * multicast_ip  :   IP  of  multicast  group   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_MEM  -  Out  of  memory   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_igmp_leave ( ip_addr_t  * host_ip ,  ip_addr_t  * multicast_ip ) ;  
					 
					 
					 
					sint8  espconn_igmp_leave ( ip_addr_t  * host_ip ,  ip_addr_t  * multicast_ip ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_recv_hold   
					 
					 
					 
					  *  @ brief      Puts  in  a  request  to  block  the  TCP  receive  function .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  hold  tcp  receive   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  hold   
					 
					 
					 
					  *  @ attention  The  function  does  not  act  immediately ;  we  recommend  calling  it  while   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *             reserving  5 * 1460  bytes  of  memory .  This  API  can  be  called  more  than  once .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  corresponding  TCP  connection  structure   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      according  to  structure  espconn .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_recv_hold ( struct  espconn  * pespconn ) ;  
					 
					 
					 
					sint8  espconn_recv_hold ( struct  espconn  * pespconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_recv_unhold   
					 
					 
					 
					  *  @ brief      Unblock  TCP  receiving  data  ( i . e .  undo  espconn_recv_hold ) .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  unhold  tcp  receive   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  espconn  - -  espconn  to  unhold   
					 
					 
					 
					  *  @ attention  This  API  takes  effect  immediately .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      struct  espconn  * espconn  :  corresponding  TCP  connection  structure   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     0      :  succeed   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     Non - 0  :  error  code   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *     -   ESPCONN_ARG  -  illegal  argument ,  can ' t  find  the  corresponding  TCP  connection   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *                      according  to  structure  espconn .   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					sint8  espconn_recv_unhold ( struct  espconn  * pespconn ) ;  
					 
					 
					 
					sint8  espconn_recv_unhold ( struct  espconn  * pespconn ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -631,16 +827,16 @@ sint8 espconn_recv_unhold(struct espconn *pespconn); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *                 hostname  - -  the  hostname  of  device   
					 
					 
					 
					 *                 hostname  - -  the  hostname  of  device   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 *  Returns       :  none   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  espconn_mdns_init ( struct  mdns_info  * info ) ;  
					 
					 
					 
					void  espconn_mdns_init ( struct  mdns_info  * info ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_close   
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_close   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  close  a  device  with  mdns   
					 
					 
					 
					 *  Description   :  close  a  device  with  mdns   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  a   
					 
					 
					 
					 *  Parameters    :  a   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 *  Returns       :  none   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  espconn_mdns_close ( void ) ;  
					 
					 
					 
					void  espconn_mdns_close ( void ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_server_register   
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_server_register   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  register  a  device  with  mdns   
					 
					 
					 
					 *  Description   :  register  a  device  with  mdns   
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					 
					@ -662,9 +858,9 @@ void espconn_mdns_server_unregister(void); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  get  server  name  of  device  with  mdns   
					 
					 
					 
					 *  Description   :  get  server  name  of  device  with  mdns   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  a   
					 
					 
					 
					 *  Parameters    :  a   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 *  Returns       :  none   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					char *  espconn_mdns_get_servername ( void ) ;  
					 
					 
					 
					char *  espconn_mdns_get_servername ( void ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					/******************************************************************************
  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_set_servername   
					 
					 
					 
					 *  FunctionName  :  espconn_mdns_set_servername   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  set  server  name  of  device  with  mdns   
					 
					 
					 
					 *  Description   :  set  server  name  of  device  with  mdns   
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -704,14 +900,18 @@ void espconn_mdns_disable(void); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Returns       :  none   
					 
					 
					 
					 *  Returns       :  none   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  espconn_mdns_enable ( void ) ;  
					 
					 
					 
					void  espconn_mdns_enable ( void ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					/******************************************************************************
  
					 
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  FunctionName  :  espconn_dns_setserver   
					 
					 
					 
					/**
  
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Description   :  Initialize  one  of  the  DNS  servers .   
					 
					 
					 
					  *  @ brief      Set  default  DNS  server .  Two  DNS  server  is  allowed  to  be  set .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  Parameters    :  numdns  - -  the  index  of  the  DNS  server  to  set  must   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  				  be  <  DNS_MAX_SERVERS  =  2   
					 
					 
					 
					  *  @ attention  Only  if  ESP8266  DHCP  client  is  disabled  ( wifi_station_dhcpc_stop ) ,   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *  			      dnsserver  - -  IP  address  of  the  DNS  server  to  set   
					 
					 
					 
					  *             this  API  can  be  used .   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					 *   Returns      :  none   
					 
					 
					 
					  *   
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
					* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */  
					 
					 
					 
					  *  @ param      char  numdns  :  DNS  server  ID ,  0  or  1   
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ param      ip_addr_t  * dnsserver  :  DNS  server  IP   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  *  @ return     null   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					  */   
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					void  espconn_dns_setserver ( char  numdns ,  ip_addr_t  * dnsserver ) ;  
					 
					 
					 
					void  espconn_dns_setserver ( char  numdns ,  ip_addr_t  * dnsserver ) ;  
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					# endif  
					 
					 
					 
					# endif