MCUSW
Eth_VirtMac.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (C) 2024 Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
85 #ifndef ETH_VIRTMAC_H__
86 #define ETH_VIRTMAC_H__
87 
88 /* ========================================================================== */
89 /* Include Files */
90 /* ========================================================================== */
91 
92 #include "Eth_Types.h"
93 #include "Eth_Cfg.h"
94 
95 #ifdef __cplusplus
96 extern "C"
97 {
98 #endif
99 
100 /* ========================================================================== */
101 /* Macros & Typedefs */
102 /* ========================================================================== */
103 
104 /* None */
105 
106 /* ========================================================================== */
107 /* Function Declarations */
108 /* ========================================================================== */
109 
110 #if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
111 
147 FUNC(Std_ReturnType, ETH_CODE)
148 Eth_VirtMacRpcInit(P2CONST(Eth_ConfigType, AUTOMATIC, ETH_PBCFG) CfgPtr);
149 #endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
150 
151 #if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
152 
189 FUNC(Std_ReturnType, ETH_CODE)
190 Eth_DispatchVirtmacInit(uint8 CtrlIdx);
191 #endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
192 
193 #if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
194 
221 FUNC(Std_ReturnType, ETH_CODE)
222 Eth_DispatchVirtmacDeinit(uint8 CtrlIdx);
223 #endif /* (STD_ON == ETH_VIRTUALMAC_SUPPORT) */
224 
225 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_NOTIFYMSGRECEIVED_API))
226 
261 FUNC(Std_ReturnType, ETH_CODE)
262 Eth_NotifyVirtmacMsgReceived(uint8 CtrlIdx);
263 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_NOTIFYMSGRECEIVED_API)) */
264 
265 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEALLTRAFFIC_API))
266 
313 FUNC(Std_ReturnType, ETH_CODE)
314 Eth_DispatchVirtmacSubscribeAllTraffic(uint8 CtrlIdx);
315 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEALLTRAFFIC_API)) */
316 
317 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEALLTRAFFIC_API))
318 
368 FUNC(Std_ReturnType, ETH_CODE)
369 Eth_DispatchVirtmacUnsubscribeAllTraffic(uint8 CtrlIdx);
370 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEALLTRAFFIC_API)) */
371 
372 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEDSTMAC_API))
373 
428 FUNC(Std_ReturnType, ETH_CODE)
429 Eth_DispatchVirtmacSubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress);
430 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_SUBSCRIBEDSTMAC_API)) */
431 
432 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEDSTMAC_API))
433 
488 FUNC(Std_ReturnType, ETH_CODE)
489 Eth_DispatchVirtmacUnsubscribeDstMac(uint8 CtrlIdx, uint8 *macAddress);
490 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_UNSUBSCRIBEDSTMAC_API)) */
491 
492 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ASSOCIATEIPV4MACADDR_API))
493 
543 FUNC(Std_ReturnType, ETH_CODE)
544 Eth_DispatchVirtmacAssociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address, uint8 *macAddress);
545 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ASSOCIATEIPV4MACADDR_API)) */
546 
547 
548 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DISASSOCIATEIPV4MACADDR_API))
549 
596 FUNC(Std_ReturnType, ETH_CODE)
597 Eth_DispatchVirtmacDisassociateIPv4Macaddr(uint8 CtrlIdx, uint8 *ipv4Address);
598 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DISASSOCIATEIPV4MACADDR_API)) */
599 
600 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_MCAST_MACADDR_API))
601 
651 FUNC(Std_ReturnType, ETH_CODE)
652 Eth_DispatchVirtmacAddMcastAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId);
653 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_MCAST_MACADDR_API)) */
654 
655 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_MACADDR_API))
656 
702 FUNC(Std_ReturnType, ETH_CODE)
703 Eth_DispatchVirtmacDelAddr(uint8 CtrlIdx, uint8 *macAddress, uint32 vlanId);
704 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_MACADDR_API)) */
705 
706 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_VLAN_API))
707 
749 FUNC(Std_ReturnType, ETH_CODE)
750 Eth_DispatchVirtmacAddVlan(uint8 CtrlIdx, uint32 vlanId);
751 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_ADD_VLAN_API)) */
752 
753 #if ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_VLAN_API))
754 
794 FUNC(Std_ReturnType, ETH_CODE)
795 Eth_DispatchVirtmacDelVlan(uint8 CtrlIdx, uint32 vlanId);
796 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) && (STD_ON == ETH_VIRTUALMAC_DEL_VLAN_API)) */
797 
798 #if (STD_ON == ETH_VIRTUALMAC_SUPPORT)
799 
820 FUNC(void, ETH_CODE)
821 Eth_VirtMac_MainFunction(uint8 ctrlIdx);
822 #endif /* ((STD_ON == ETH_VIRTUALMAC_SUPPORT) */
823 
824 
825 #ifdef __cplusplus
826 }
827 #endif
828 
829 #endif
830 
Eth_ConfigType
Eth configuration type Configuration data of all controller.
Definition: Eth_Cfg.h:1024
macAddress
uint8 * macAddress
Definition: Eth_VirtMac.h:429
FUNC
FUNC(Std_ReturnType, ETH_CODE) Eth_VirtMacRpcInit(P2CONST(Eth_ConfigType
This function initializes Eth Virtual MAC driver's Remote Procedure Call.
vlanId
uint8 uint32 vlanId
Definition: Eth_VirtMac.h:652
Eth_Cfg.h
This file contains generated configuration for ETH MCAL driver.
P2CONST
P2CONST(void, AUTOMATIC, DIO_CONST) DioConfig_WKUP_GPIO0_B01_ChannelGroupRef[1]
Reference to channel group structure for WKUP_GPIO0_B01 created at config time.
ipv4Address
uint8 * ipv4Address
Definition: Eth_VirtMac.h:544
CfgPtr
ETH_PBCFG CfgPtr
Definition: Eth_VirtMac.h:148
AUTOMATIC
AUTOMATIC
Definition: Eth_VirtMac.h:148