mbed-os5 only for TYBLE16

Dependents:   TYBLE16_simple_data_logger TYBLE16_MP3_Air

Committer:
kenjiArai
Date:
Tue Dec 31 06:02:27 2019 +0000
Revision:
1:9db0e321a9f4
Parent:
0:5b88d5760320
updated based on mbed-os5.15.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 0:5b88d5760320 1
kenjiArai 0:5b88d5760320 2 /** \addtogroup netsocket */
kenjiArai 0:5b88d5760320 3 /** @{*/
kenjiArai 0:5b88d5760320 4 /* UDPSocket
kenjiArai 0:5b88d5760320 5 * Copyright (c) 2015 ARM Limited
kenjiArai 0:5b88d5760320 6 *
kenjiArai 0:5b88d5760320 7 * Licensed under the Apache License, Version 2.0 (the "License");
kenjiArai 0:5b88d5760320 8 * you may not use this file except in compliance with the License.
kenjiArai 0:5b88d5760320 9 * You may obtain a copy of the License at
kenjiArai 0:5b88d5760320 10 *
kenjiArai 0:5b88d5760320 11 * http://www.apache.org/licenses/LICENSE-2.0
kenjiArai 0:5b88d5760320 12 *
kenjiArai 0:5b88d5760320 13 * Unless required by applicable law or agreed to in writing, software
kenjiArai 0:5b88d5760320 14 * distributed under the License is distributed on an "AS IS" BASIS,
kenjiArai 0:5b88d5760320 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
kenjiArai 0:5b88d5760320 16 * See the License for the specific language governing permissions and
kenjiArai 0:5b88d5760320 17 * limitations under the License.
kenjiArai 0:5b88d5760320 18 */
kenjiArai 0:5b88d5760320 19
kenjiArai 0:5b88d5760320 20 #ifndef UDPSOCKET_H
kenjiArai 0:5b88d5760320 21 #define UDPSOCKET_H
kenjiArai 0:5b88d5760320 22
kenjiArai 0:5b88d5760320 23 #include "netsocket/InternetSocket.h"
kenjiArai 0:5b88d5760320 24 #include "netsocket/NetworkStack.h"
kenjiArai 0:5b88d5760320 25 #include "netsocket/NetworkInterface.h"
kenjiArai 1:9db0e321a9f4 26 #include "netsocket/InternetDatagramSocket.h"
kenjiArai 0:5b88d5760320 27 #include "rtos/EventFlags.h"
kenjiArai 1:9db0e321a9f4 28 #include "ICMPSocket.h"
kenjiArai 0:5b88d5760320 29
kenjiArai 0:5b88d5760320 30
kenjiArai 0:5b88d5760320 31 /** UDP socket implementation.
kenjiArai 0:5b88d5760320 32 */
kenjiArai 1:9db0e321a9f4 33 class UDPSocket : public InternetDatagramSocket {
kenjiArai 0:5b88d5760320 34 public:
kenjiArai 0:5b88d5760320 35 /** Create an uninitialized socket.
kenjiArai 0:5b88d5760320 36 *
kenjiArai 0:5b88d5760320 37 * @note Must call open to initialize the socket on a network stack.
kenjiArai 0:5b88d5760320 38 */
kenjiArai 0:5b88d5760320 39 UDPSocket();
kenjiArai 0:5b88d5760320 40
kenjiArai 0:5b88d5760320 41 /** Create and open a socket on the network stack of the given
kenjiArai 0:5b88d5760320 42 * network interface.
kenjiArai 0:5b88d5760320 43 *
kenjiArai 0:5b88d5760320 44 * @tparam S Type of the Network stack.
kenjiArai 0:5b88d5760320 45 * @param stack Network stack as target for socket.
kenjiArai 0:5b88d5760320 46 * @deprecated since mbed-os-5.11
kenjiArai 0:5b88d5760320 47 */
kenjiArai 0:5b88d5760320 48 template <typename S>
kenjiArai 0:5b88d5760320 49 MBED_DEPRECATED_SINCE("mbed-os-5.11",
kenjiArai 0:5b88d5760320 50 "The UDPSocket(S *stack) constructor is deprecated"
kenjiArai 0:5b88d5760320 51 "It discards the open() call return value."
kenjiArai 0:5b88d5760320 52 "Use another constructor and call open() explicitly, instead.")
kenjiArai 0:5b88d5760320 53 UDPSocket(S *stack)
kenjiArai 0:5b88d5760320 54 {
kenjiArai 0:5b88d5760320 55 open(stack);
kenjiArai 0:5b88d5760320 56 }
kenjiArai 0:5b88d5760320 57
kenjiArai 0:5b88d5760320 58 #if !defined(DOXYGEN_ONLY)
kenjiArai 0:5b88d5760320 59
kenjiArai 0:5b88d5760320 60 protected:
kenjiArai 0:5b88d5760320 61 virtual nsapi_protocol_t get_proto();
kenjiArai 0:5b88d5760320 62
kenjiArai 0:5b88d5760320 63 #endif //!defined(DOXYGEN_ONLY)
kenjiArai 1:9db0e321a9f4 64
kenjiArai 0:5b88d5760320 65 };
kenjiArai 0:5b88d5760320 66
kenjiArai 0:5b88d5760320 67
kenjiArai 0:5b88d5760320 68 #endif
kenjiArai 0:5b88d5760320 69
kenjiArai 0:5b88d5760320 70 /** @}*/