1
10
13
14
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
...
...
...
#define NX_SOURCE_CODE
#include "nx_api.h"
#include "nx_ipv6.h"
#ifdef FEATURE_NX_IPV6...
...
UINT _nxd_ipv6_raw_packet_send_internal(NX_IP *ip_ptr, NX_PACKET *packet_ptr,
NXD_ADDRESS *destination_ip,
ULONG protocol)
{
#ifdef TX_ENABLE_EVENT_TRACE
ULONG ip_address_lsw;
#endif
#ifdef TX_ENABLE_EVENT_TRACE
ip_address_lsw = destination_ip -> nxd_ip_address.v6[3];
NX_TRACE_IN_LINE_INSERT(NXD_TRACE_IPV6_RAW_PACKET_SEND, ip_ptr, ip_address_lsw, protocol, packet_ptr, NX_TRACE_IP_EVENTS, 0, 0);/* ... */
#endif
NX_ASSERT(packet_ptr -> nx_packet_address.nx_packet_ipv6_address_ptr != NX_NULL);
packet_ptr -> nx_packet_ip_version = NX_IP_VERSION_V6;
tx_mutex_get(&(ip_ptr -> nx_ip_protection), TX_WAIT_FOREVER);
_nx_ipv6_packet_send(ip_ptr, packet_ptr, protocol, packet_ptr -> nx_packet_length, ip_ptr -> nx_ipv6_hop_limit,
packet_ptr -> nx_packet_address.nx_packet_ipv6_address_ptr -> nxd_ipv6_address,
destination_ip -> nxd_ip_address.v6);
tx_mutex_put(&(ip_ptr -> nx_ip_protection));
return(NX_SUCCESS);
}_nxd_ipv6_raw_packet_send_internal (NX_IP *ip_ptr, NX_PACKET *packet_ptr, NXD_ADDRESS *destination_ip, ULONG protocol) { ... }
/* ... */#endif