RDK Documentation (Open Sourced RDK Components)
Device_IP_Diagnostics_UDPEchoConfig.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file Device_IP_Diagnostics_UDPEchoConfig.h
22  * @brief The header file provides TR069 device IP diagnostics UDPEcho config APIs.
23  */
24 
25 /**
26  *
27  * @defgroup TR69_HOSTIF_DEVICE_IP_UDPECHOCONFIG_API TR-069 Object (Device.IP.Diagnostics.UDPEChoConfig) Public APIs
28  * Describe the details about TR-069 Device IP Diagnostics UDPEChoConfig APIs specifications.
29  * @ingroup TR69_HOSTIF_DEVICE_IP
30  */
31 
32 
33 
34 /**
35 * @defgroup tr69hostif
36 * @{
37 * @defgroup hostif
38 * @{
39 **/
40 
41 
42 #ifndef DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_H_
43 #define DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_H_
44 
45 /*****************************************************************************
46  * TR069-SPECIFIC INCLUDE FILES
47  *****************************************************************************/
48 
49 #include "paramaccess.h"
50 #include "parameter.h"
51 
52 #ifdef __cplusplus
53 extern "C"
54 {
55 #endif
56 
57  /** @defgroup TR_069_DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_API TR-069 Device.IP.Diagnostics.UDPEchoConfig object API.
58  * @ingroup TR_069_DEVICE_IP_DIAGNOSTICS_API
59  *
60  * The Device.IP.Diagnostics.UDPEchoConfig object allows the CPE to be configured to
61  * perform the UDP Echo and Echo Plus Services.
62  *
63  */
64 
65  /** @addtogroup TR_069_DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_SETTER_API TR-069 Device.IP.Diagnostics.UDPEchoConfig Setter API.
66  * @ingroup TR_069_DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_API
67  *
68  * \section dev_ip_diag_udpechoconfig_setter TR-069 Device.IP.Diagnostics.UDPEchoConfig object Setter API
69  *
70  * This is the setter group of API for the <b>Device.IP.Diagnostics.UDPEchoConfig</b> object.
71  *
72  * The interface for all functions is identical and is described here.
73  *
74  * @param[in] *name This is the complete path name of the parameter extracted from
75  * soap message, e.g. ::set_Device_IP_Diagnostics_UDPEchoConfig_Interface.
76  * In this case, the path is "Device.IP.Diagnostics.UDPEchoConfig.Interface".
77  * @param[in] *type Data type of parameter defined for TR-069. This is same as the
78  * data type used in the Xi3 data-model.xml file.
79  * (see parameter.h)
80  * @param[in] *value This is the value to which the parameter requested by the ACS
81  * must be set.
82  * (see paramaccess.h)
83  *
84  * @return The status of the operation.
85  * @retval OK If parameter requested was successfully fetched. (Same as <b>NO_ERROR</b>).
86  * @retval NO_ERROR If parameter requested was successfully fetched. (Same as <b>OK</b>).
87  * @retval DIAG_ERROR Diagnostic error.
88  * @retval ERR_??? Appropriate error value otherwise (see dimark_globals.h).
89  *
90  * @todo Clarify description of DIAG_ERROR.
91  *
92  * @{
93  */
94 
95 /**
96  * @brief Set the enable flag for UDP Echo.
97  *
98  * This function sets the enable flag for UDP Echo.
99  *
100  * @note MUST be enabled to receive UDP echo. When enabled from a disabled state
101  * all related timestamps, statistics and UDP Echo Plus counters are cleared.
102  *
103  * @param[in] const char Source IP address.
104  * @param[in] ParameterType Type of the valid interface.
105  * @param[in] ParameterValue Valid interface name or empty string.
106  *
107  * @return Returns an Integer value.
108  * @retval 0 If successfully set the source IP address of the interface.
109  * @retval -1 If Not able to set the source IP address of the interface.
110  * @retval -2 If Not handle setting the source IP address of the interface.
111  * @ingroup TR69_HOSTIF_DEVICE_IP_UDPECHOCONFIG_API
112  */
113 
114  int set_Device_IP_Diagnostics_UDPEchoConfig_Enable(const char *, ParameterType, ParameterValue *);
115 
116 /**
117  * @brief This function sets the the path name of IP-layer interface over which the CPE
118  * MUST listen for and receive UDP echo requests.
119  *
120  * @note The value of this parameter MUST be either a valid interface or
121  * an empty string. An attempt to set this parameter to a different value MUST be rejected as an
122  * invalid parameter value.
123  * If an empty string is specified, the CPE MUST listen and receive UDP echo requests
124  * on all interfaces. Interfaces behind a NAT MAY require port forwarding rules
125  * configured in the Gateway to enable receiving the UDP packets.
126  *
127  * @param[in] const char Source IP address.
128  * @param[in] ParameterType Type of the valid interface.
129  * @param[in] ParameterValue Valid interface name or empty string.
130  *
131  * @return Returns an Integer value.
132  * @retval 0 If successfully set the path over which the test is to be performed.
133  * @retval -1 If Not able to set the path over which the test is to be performed.
134  * @retval -2 If Not handle setting the path over which the test is to be performed.
135  * @ingroup TR69_HOSTIF_DEVICE_IP_UDPECHOCONFIG_API
136  */
137 
138  int set_Device_IP_Diagnostics_UDPEchoConfig_Interface(const char *, ParameterType, ParameterValue *);
139 
140 /**
141  * @brief This function sets the UDP port on which the UDP server MUST listen and respond to
142  * UDP echo requests.
143  *
144  * @param[in] const char Source IP address.
145  * @param[in] ParameterType Type of the valid interface.
146  * @param[in] ParameterValue Valid interface name or empty string.
147  *
148  * @return Returns an Integer value.
149  * @retval 0 If successfully set the UDP Echo port.
150  * @retval -1 If Not able to set the UDP Echo port.
151  * @retval -2 If Not handle setting the UDP Echo port.
152  * @ingroup TR69_HOSTIF_DEVICE_IP_UDPECHOCONFIG_API
153  */
154 
155  int set_Device_IP_Diagnostics_UDPEchoConfig_UDPPort(const char *, ParameterType, ParameterValue *);
156 
157  /* End of TR_069_DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_SETTER_API doxygen group */
158  /**
159  * @}
160  */
161 
162 #ifdef __cplusplus
163 }
164 #endif
165 
166 #endif /* DEVICE_IP_DIAGNOSTICS_UDPECHOCONFIG_H_ */
167 
168 
169 /** @} */
170 /** @} */
set_Device_IP_Diagnostics_UDPEchoConfig_Enable
int set_Device_IP_Diagnostics_UDPEchoConfig_Enable(const char *, ParameterType, ParameterValue *)
Set the enable flag for UDP Echo.
set_Device_IP_Diagnostics_UDPEchoConfig_UDPPort
int set_Device_IP_Diagnostics_UDPEchoConfig_UDPPort(const char *, ParameterType, ParameterValue *)
This function sets the UDP port on which the UDP server MUST listen and respond to UDP echo requests.
set_Device_IP_Diagnostics_UDPEchoConfig_Interface
int set_Device_IP_Diagnostics_UDPEchoConfig_Interface(const char *, ParameterType, ParameterValue *)
This function sets the the path name of IP-layer interface over which the CPE MUST listen for and rec...