Files
vxWorks/h/wrn/udp_if.h
2025-08-20 18:25:46 +08:00

52 lines
1.9 KiB
C

/************************************************************************/
/* Copyright (C) 1999 RouterWare, Inc. */
/* Unpublished - rights reserved under the Copyright Laws of the */
/* United States. Use, duplication, or disclosure by the */
/* Government is subject to restrictions as set forth in */
/* subparagraph (c)(1)(ii) of the Rights in Technical Data and */
/* Computer Software clause at 252.227-7013. */
/* RouterWare, Inc., 3961 MacArthur Blvd. Suite 212, Newport Beach, CA */
/************************************************************************/
#if !defined (__UDP_IF_H__)
#define __UDP_IF_H__
typedef UINT LOWER_LAYER_IF_HANDLE;
typedef struct UDP_MESSAGE
{
IP_ADDRESS source_address;
IP_ADDRESS destination_address;
UINT type_of_service; /*ip parameter*/
UINT time_to_live; /*ip parameter*/
UINT sequence_identifier; /*ip parameter*/
UINT do_not_fragment_flag; /*ip parameter*/
UINT source_port_number;
UINT destination_port_number;
RW_PACKET_HANDLE payload;
} UDP_MESSAGE;
/****************************************************************************/
typedef struct UDP_CALLBACK_IF
{
bool (*fn_udp_callback_if_receive) (struct UDP_CALLBACK_IF* p_callback_if, UDP_MESSAGE* p_udp_message, LOWER_LAYER_IF_HANDLE lower_layer_if_handle);
} UDP_CALLBACK_IF;
/****************************************************************************/
typedef struct UDP_IF
{
bool (*fn_udp_if_open_port) (struct UDP_IF *p_udp_if, UDP_CALLBACK_IF *p_callback_if, UINT port_number);
bool (*fn_udp_if_close_port) (struct UDP_IF *p_udp_if, UDP_CALLBACK_IF *p_callback_if, UINT port_number);
bool (*fn_udp_if_send) (struct UDP_IF *p_udp_if, UDP_MESSAGE *p_udp_message, LOWER_LAYER_IF_HANDLE lower_layer_if_handle);
bool (*fn_udp_if_send_next_hop) (struct UDP_IF *p_udp_if, UDP_MESSAGE *p_udp_message, IP_ADDRESS *p_next_hop, LOWER_LAYER_IF_HANDLE lower_layer_if_handle);
}UDP_IF;
#endif /*__UDP_IF_H__*/