Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
EthInterface.h
00001 /* 00002 * Copyright (c) 2015 ARM Limited 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 /* @file EthInterface.h Common interface between Ethernet hardware */ 00018 /** \addtogroup netinterface */ 00019 /** @{*/ 00020 00021 #ifndef ETH_INTERFACE_H 00022 #define ETH_INTERFACE_H 00023 00024 #include "netsocket/NetworkInterface.h" 00025 00026 00027 /** Common interface between Ethernet hardware. 00028 */ 00029 class EthInterface : public virtual NetworkInterface { 00030 public: 00031 00032 /** @copydoc NetworkInterface::ethInterface 00033 */ 00034 virtual EthInterface *ethInterface () 00035 { 00036 return this; 00037 } 00038 00039 /** Get the default Ethernet interface. 00040 * 00041 * This is provided as a weak method so applications can override it. 00042 * Default behavior is to get the target's default interface, if 00043 * any. 00044 * 00045 * @return Pointer to interface, if one exists. 00046 */ 00047 static EthInterface *get_default_instance(); 00048 00049 #if !defined(DOXYGEN_ONLY) 00050 protected: 00051 00052 /** Get the target's default Ethernet interface. 00053 * 00054 * This is provided as a weak method so targets can override it. The 00055 * default implementation invokes EthernetInterface with the 00056 * default EMAC and default network stack, if DEVICE_EMAC is set. 00057 * 00058 * @return Pointer to interface, if one exists. 00059 */ 00060 static EthInterface *get_target_default_instance(); 00061 #endif //!defined(DOXYGEN_ONLY) 00062 }; 00063 00064 00065 #endif 00066 00067 /** @}*/
Generated on Tue Jul 12 2022 13:54:19 by
