[Epic-ID: ODUHIGH-576][Task-ID: ODUHIGH-579] | Databse Creation
[o-du/l2.git] / src / 5gnrmac / lwr_mac_nfapi.h
diff --git a/src/5gnrmac/lwr_mac_nfapi.h b/src/5gnrmac/lwr_mac_nfapi.h
new file mode 100644 (file)
index 0000000..199f5bb
--- /dev/null
@@ -0,0 +1,85 @@
+ /*******************************************************************************
+ ################################################################################
+ #   Copyright (c) [2017-2019] [Radisys]                                        #
+ #                                                                              #
+ #   Licensed under the Apache License, Version 2.0 (the "License");            #
+ #   you may not use this file except in compliance with the License.           #
+ #   You may obtain a copy of the License at                                    #
+ #                                                                              #
+ #       http://www.apache.org/licenses/LICENSE-2.0                             #
+ #                                                                              #
+ #   Unless required by applicable law or agreed to in writing, software        #
+ #   distributed under the License is distributed on an "AS IS" BASIS,          #
+ #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
+ #   See the License for the specific language governing permissions and        #
+ #   limitations under the License.                                             #
+ ################################################################################
+ *******************************************************************************/
+
+ #ifndef _LWR_MAC_NFAPI_H_
+ #define _LWR_MAC_NFAPI_H_
+
+#include "nfapi_interface.h"
+
+typedef struct nfapiTransportInfo
+{
+   uint32_t         assocId;
+   uint8_t          srcIpv4Address[4];   /*Src :: PNF Address Details*/
+   uint16_t         srcIpv4Port;          
+   uint8_t          destIpv4Address[4];  /*Dest :: VNF Address Details*/
+   uint16_t         destIpv4Port;
+   CmInetFd         sockFd;           /* Socket file descriptor */
+   CmInetNetAddrLst addrLst;      /* Refers to the destinaiton Addr Lst in CmInetNetAddrLst format */
+   CmInetNetAddr    ipNetAddr;    /* Refers to the destination Addr in CmInetNet Addr format */
+   
+   /*TODO: later also add the IPV6 support*/
+
+}NfapiTransportInfo;
+
+typedef struct nfapiTimingInfo
+{
+   uint32_t  dl_tti_offset;
+   uint32_t  ul_tti_offset;
+   uint32_t  ul_dci_offset;
+   uint32_t  tx_data_offset;
+   uint16_t  timingWindow;
+   uint8_t   timingInfoMode;
+
+}NfapiTimingInfo;
+
+typedef struct nfapiPnfConfig
+{
+   nFapi_pnf_state  pnfState;
+   uint16_t         max_phys;
+   NfapiTimingInfo  vnfTimingCfg;
+}NfapiPnfConfig;
+
+typedef struct nfapiSyncInfo
+{
+    uint8_t   phyId;
+    uint8_t   inSync;
+    uint32_t  prev_t1;
+    uint32_t  prev_t2;
+    uint32_t  prev_t3;
+    uint8_t       sfn;
+    uint8_t       slot;
+    NfapiSyncInfo *next;
+}NfapiSyncInfo;
+
+typedef struct nfapiP7VnfInfo
+{
+   uint32_t      sfnStartTime;
+   uint32_t      slotStartTime;
+   NfapiSyncInfo *p7SyncInfo;
+}NfapiP7VnfInfo;
+
+typedef struct nfapiVnfDb
+{
+   NfapiTransportInfo  p5TransInfo;
+   NfapiTransportInfo  p7TransInfo;
+   NfapiPnfConfig      pnfConfig;
+   NfapiSyncInfo       vnfSynchInfo;
+   NfapiP7VnfInfo      vnfP7Info;   
+}NfapiVnfDb;
+
+ #endif