⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mn_callback.c

📁 本程序是基于C语言开发的
💻 C
字号:
//-----------------------------------------------------------------------------
// mn_callback.c
//-----------------------------------------------------------------------------
// Copyright 2006 Silicon Laboratories, Inc.
//
// Description:
// 	This file callback functions from the TCP/IP stack.
//  These functions may be edited by the user.
//
//  Callback functions include:
//  1. callback_app_process_packet
//  2. callback_app_server_idle
//  3. callback_app_recv_idle
//  4. callback_app_server_process_packet
//  5. callback_socket_closed (only when TCP is included in the stack)
//  6. callback_socket_empty (only when TCP is included in the stack)
//
// Generated by TCP/IP Configuration Wizard Version 3.1.
//

#include "mn_userconst.h"                      // TCP/IP Library Constants
#include "mn_stackconst.h"                     // TCP/IP Library Constants
#include "mn_errs.h"                           // Library Error Codes
#include "mn_defs.h"                           // Library Type definitions
#include "mn_funcs.h"                          // Library Function Prototypes
#include "VFILE_DIR\index.h"
#include <c8051F340.h>                         // Device-specific SFR Definitions


//------------------------------------------------------------------------------
// Callback Functions
//------------------------------------------------------------------------------

//------------------------------------------------------------------------------
// callback_app_process_packet
//------------------------------------------------------------------------------
//
// This function is called after any TCP or UDP packet is received.
//
// Parameters:
//    socket_ptr - pointer to the socket that contains the data.
//// Return Values:
//    NEED_IGNORE_PACKET <-94> - The library will not ACK the TCP packet.
//
//    Any other value - The library will ACK the TCP packet.
//
// Note: The return value is ignored if a UDP packet was received.
//
SCHAR callback_app_process_packet(PSOCKET_INFO socket_ptr)
{
   socket_ptr = socket_ptr;   // This statment prevents compiler warning.
   return (1);
}

//------------------------------------------------------------------------------
// callback_app_server_idle
//------------------------------------------------------------------------------
//
// This function is called periodically and when both the receive and transmit
// buffers are empty. This function should only be used for low priority tasks.
// Any high priority tasks should be placed in an interrupt service routine.
//
// Parameters:
//    psocket_ptr - pointer to a socket that can be filled with data.
//
// Return Values:
//    NEED_TO_SEND <-114> - The library will immediately send the data stored in
//    the socket.
//
//    NEED_TO_EXIT <-102> - The mn_server() routine will exit immediately, returning
//    control to the main() routine.
//
//    FALSE <0> - The mn_server() routine will continue to function normally.
//
// Note: The socket pointer may be re-assigned to a different socket.
// (e.g. *psocket_ptr = new_socket_ptr; )
//
SCHAR callback_app_server_idle(PSOCKET_INFO *psocket_ptr)
{

   // Put your code here.

   // If the link goes invalid, exit mn_server().
   if(link_lost)
      return (NEED_TO_EXIT);

   psocket_ptr = psocket_ptr; // This statment prevents compiler warning.
   return (0);
}

//------------------------------------------------------------------------------
// callback_app_recv_idle
//------------------------------------------------------------------------------
//
// This function is called repeatedly while the server is waiting for data.
// This function should only be used for low priority tasks.  Any high priority
// tasks should be placed in an interrupt service routine.
//
// Parameters:
//    none
//
// Return Values:
//    NEED_TO_EXIT <-102> - The server will immedialtely stop waiting for data and
//    will advance to the next state.
//
//    Any other value - The server will continue to wait for data.
//
SCHAR callback_app_recv_idle(void)
{
   // Put your code here.
   return (0);
}

//------------------------------------------------------------------------------
// callback_app_server_process_packet
//------------------------------------------------------------------------------
//
// This function is called after any TCP or UDP packet that is not HTTP or FTP
// received.  HTTP and FTP packets are automatically handled by the server.
//
// Parameters:
//    socket_ptr - pointer to the socket that contains the data.
//
// Return Values:
//    NEED_TO_EXIT <-102> - The mn_server() routine will exit immediately, returning
//    control to the main() routine.
//
//    Any other value - The server will discard the packet.
//
SCHAR callback_app_server_process_packet(PSOCKET_INFO socket_ptr)
{
   socket_ptr = socket_ptr;   // This statment prevents compiler warning.

   return (0);
}


//------------------------------------------------------------------------------
// callback_socket_closed
//------------------------------------------------------------------------------
//
// This function is called after a TCP socket is closed.
//
// Parameters:
//    socket_no - number of the socket that was closed.
//
// Return Values:
//
//    N/A
//
void callback_socket_closed(SCHAR socket_no)
{
	socket_no = socket_no;
}

//------------------------------------------------------------------------------
// callback_socket_empty
//------------------------------------------------------------------------------
//
// This function is called after all data in a TCP socket is sent.
//
// Parameters:
//    socket_ptr - pointer to the socket that is empty.
//
// Return Values:
//
//    N/A
//
void callback_socket_empty(PSOCKET_INFO socket_ptr)
{
	socket_ptr = socket_ptr;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -