RDK-B
mta_hal.h
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's LICENSE 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  Copyright [2014] [Cisco Systems, Inc.]
22 
23  Licensed under the Apache License, Version 2.0 (the "License");
24  you may not use this file except in compliance with the License.
25  You may obtain a copy of the License at
26 
27  http://www.apache.org/licenses/LICENSE-2.0
28 
29  Unless required by applicable law or agreed to in writing, software
30  distributed under the License is distributed on an "AS IS" BASIS,
31  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32  See the License for the specific language governing permissions and
33  limitations under the License.
34 **********************************************************************/
35 
36 /**
37 * @file mta_hal.h
38 * @author cisco
39 * @brief For CCSP Component: CcspMtaAgent
40 *
41 *@description This header file gives the function call prototypes and
42 structure definitions used for the RDK-Broadband
43 hardware abstraction layer for Cable Modem
44 */
45 /**********************************************************************
46 
47  module: mta_hal.h
48 
49  For CCSP Component: CcspMtaAgent
50 
51  ---------------------------------------------------------------
52 
53  description:
54 
55  This header file gives the function call prototypes and
56  structure definitions used for the RDK-Broadband
57  hardware abstraction layer for Cable Modem
58 
59  ---------------------------------------------------------------
60 
61  environment:
62 
63  This HAL layer is intended to support cable modem drivers
64  through an open API.
65  Changes may be needed to support different hardware enviornments.
66 
67  ---------------------------------------------------------------
68 
69  author:
70 
71  Cisco
72 
73 **********************************************************************/
74 
75 
76 #ifndef __MTA_HAL_H__
77 #define __MTA_HAL_H__
78 
79 #include <stdint.h>
80 #include <netinet/in.h>
81 
82 /**********************************************************************
83  CONSTANT DEFINITIONS
84 **********************************************************************/
85 /**
86 * @defgroup mta_hal MTA HAL
87 *
88 * This module provides the function call prototypes and structure definitions used for the MTA hardware abstraction layer.
89 *
90 * @defgroup MTA_HAL_TYPES MTA HAL Data Types
91 * @ingroup mta_hal
92 *
93 * @defgroup MTA_HAL_APIS MTA HAL APIs
94 * @ingroup mta_hal
95 *
96 **/
97 
98 
99 /**
100  * @addtogroup MTA_HAL_TYPES
101  * @{
102  */
103 
104 #ifndef ULONG
105 #define ULONG unsigned long
106 #endif
107 
108 #ifndef CHAR
109 #define CHAR char
110 #endif
111 
112 #ifndef UCHAR
113 #define UCHAR unsigned char
114 #endif
115 
116 #ifndef BOOLEAN
117 #define BOOLEAN UCHAR
118 #endif
119 
120 #ifndef INT
121 #define INT int
122 #endif
123 
124 #ifndef TRUE
125 #define TRUE 1
126 #endif
127 
128 #ifndef FALSE
129 #define FALSE 0
130 #endif
131 
132 #ifndef ENABLE
133 #define ENABLE 1
134 #endif
135 
136 #ifndef RETURN_OK
137 #define RETURN_OK 0
138 #endif
139 
140 #ifndef RETURN_ERR
141 #define RETURN_ERR -1
142 #endif
143 
144 #ifndef IPV4_ADDRESS_SIZE
145 #define IPV4_ADDRESS_SIZE 4
146 #endif
147 
148 #ifndef MTA_HAL_SHORT_VALUE_LEN
149 #define MTA_HAL_SHORT_VALUE_LEN 16
150 #endif
151 
152 #ifndef MTA_HAL_LONG_VALUE_LEN
153 #define MTA_HAL_LONG_VALUE_LEN 64
154 #endif
155 
156 #ifndef ANSC_IPV4_ADDRESS
157 /*
158  * While we're trying really hard to smooth the procedure of switch-over from IPv4 to IPv4, there
159  * are many places where using the IP address as an integer for comparision and calculation is much
160  * easier than array-based operation.
161  */
162 #define ANSC_IPV4_ADDRESS \
163  union \
164  { \
165  unsigned char Dot[IPV4_ADDRESS_SIZE]; \
166  uint32_t Value; \
167  }
168 #endif
169 
170 /* dect */
171 /*
172  * DH This is not the right place to place platform/HAL
173  * implementation specific definitions here.
174  * This kind of definitions belongs to hal.c, or another
175  * header file which is included by hal.c
176  *
177  * Fix the other RDK-B vendor's code!!!
178  *
179 typedef enum
180 {
181  SNMPA_REQ_USER_HANDLER,
182  SNMPA_REQ_GET_VAL_BY_OID,
183  SNMPA_REQ_GETNEXT_VAL_BY_OID,
184  SNMPA_REQ_SET_STRING_BY_OID,
185  SNMPA_REQ_SET_BYTE_BY_OID,
186  SNMPA_REQ_SET_OID_BY_OID,
187  SNMPA_REQ_SET_INT_BY_OID,
188  SNMPA_REQ_SET_UINT_BY_OID,
189  SNMPA_REQ_SET_SHORT_BY_OID,
190  SNMPA_REQ_SET_USHORT_BY_OID,
191  SNMPA_REQ_SET_IP_BY_OID,
192  SNMPA_REQ_ENGINE_GET_MY_ID,
193  SNMPA_REQ_ENGINE_GET_MY_BOOTS,
194  SNMPA_REQ_ENGINE_GET_MY_TIME,
195  SNMPA_REQ_TLV11_CONF,
196  SNMPA_REQ_TLV64_CONF,
197  SNMPA_REQ_SET_MY_ENGINE_INFO,
198 } SnmpaIfRequest_e;
199  */
200 
201 /*
202  * DH This is also questionable why we have to define this kind of
203  * platform specific capacility in the hal header file
204  */
205 #define DECT_MAX_HANDSETS 5
206 
207 /**********************************************************************
208  STRUCTURE DEFINITIONS
209 **********************************************************************/
210 
211 typedef struct
213 {
214  ULONG RegisterDectHandset;
215  ULONG DeregisterDectHandset;
216  char HardwareVersion[64];
217  char RFPI[64];
218  char SoftwareVersion[64];
219  char PIN[64];
220 }
222 
223 typedef struct
225 {
228  char LastActiveTime[64];
229  char HandsetName[64];
230  char HandsetFirmware[64];
231  char OperatingTN[64];
232  char SupportedTN[64];
233 }
235 
236 typedef struct
238 {
239  ANSC_IPV4_ADDRESS IPAddress;
240  CHAR BootFileName[64];
241  CHAR FQDN[64];
242  ANSC_IPV4_ADDRESS SubnetMask;
243  ANSC_IPV4_ADDRESS Gateway;
245  CHAR RebindTimeRemaining[64];
246  CHAR RenewTimeRemaining[64];
247  ANSC_IPV4_ADDRESS PrimaryDNS;
248  ANSC_IPV4_ADDRESS SecondaryDNS;
249  CHAR DHCPOption3[64];
250  CHAR DHCPOption6[64];
251  CHAR DHCPOption7[64];
252  CHAR DHCPOption8[64];
253  CHAR PCVersion[64];
254  CHAR MACAddress[64];
255  ANSC_IPV4_ADDRESS PrimaryDHCPServer;
256  ANSC_IPV4_ADDRESS SecondaryDHCPServer;
257 }
259 
260 typedef struct
262 {
263  CHAR IPV6Address[INET6_ADDRSTRLEN];
264  CHAR BootFileName[64];
265  CHAR FQDN[64];
266  CHAR Prefix[INET6_ADDRSTRLEN];
267  CHAR Gateway[INET6_ADDRSTRLEN];
269  CHAR RebindTimeRemaining[64];
270  CHAR RenewTimeRemaining[64];
271  CHAR PrimaryDNS[INET6_ADDRSTRLEN];
272  CHAR SecondaryDNS[INET6_ADDRSTRLEN];
273  CHAR DHCPOption3[64];
274  CHAR DHCPOption6[64];
275  CHAR DHCPOption7[64];
276  CHAR DHCPOption8[64];
277  CHAR PCVersion[64];
278  CHAR MACAddress[64];
279  CHAR PrimaryDHCPv6Server[INET6_ADDRSTRLEN];
280  CHAR SecondaryDHCPv6Server[INET6_ADDRSTRLEN];
281 }
283 
284 typedef struct
286 {
287  ULONG SFID; /* Id */
288  CHAR ServiceClassName[256];
289  CHAR Direction[16]; /* Upstream, Downstream */
300  CHAR TrafficType[64]; /* SIP, RTP */
301  ULONG NumberOfPackets; /* packet count */
302 }
304 
305 typedef struct
307 {
308  CHAR Codec[64]; /* local side codec used for the call */
309  CHAR RemoteCodec[64]; /* remote side codec used for the call */
310  CHAR CallStartTime[64]; /* start time of a call */
311  CHAR CallEndTime[64]; /* end time of a call */
312  CHAR CWErrorRate[MTA_HAL_SHORT_VALUE_LEN]; /* ratio of useful signal to background noise */
313  CHAR PktLossConcealment[MTA_HAL_SHORT_VALUE_LEN]; /* ratio of pkt lost to total expected */
314  BOOLEAN JitterBufferAdaptive; /* JBA used or not */
315  BOOLEAN Originator; /* originating side of the call or not */
316  ANSC_IPV4_ADDRESS RemoteIPAddress; /* remote IP */
317  ULONG CallDuration; /* length of the call in minutes */
318  CHAR CWErrors[MTA_HAL_SHORT_VALUE_LEN]; /* code word errors on this channel */
319  CHAR SNR[MTA_HAL_SHORT_VALUE_LEN]; /* signal to noise ratio * 256 */
320  CHAR MicroReflections[MTA_HAL_SHORT_VALUE_LEN]; /* return loss measurement */
321  CHAR DownstreamPower[MTA_HAL_SHORT_VALUE_LEN]; /* downstream power in dbmv */
322  CHAR UpstreamPower[MTA_HAL_SHORT_VALUE_LEN]; /* upstream power in dbmv */
323  CHAR EQIAverage[MTA_HAL_SHORT_VALUE_LEN]; /* EQI average */
324  CHAR EQIMinimum[MTA_HAL_SHORT_VALUE_LEN]; /* EQI minimum */
325  CHAR EQIMaximum[MTA_HAL_SHORT_VALUE_LEN]; /* EQI maximum */
326  CHAR EQIInstantaneous[MTA_HAL_SHORT_VALUE_LEN]; /* EQI instantaneous */
327  CHAR MOS_LQ[MTA_HAL_SHORT_VALUE_LEN]; /* mean opinion score of listening quality, 10-50 */
328  CHAR MOS_CQ[MTA_HAL_SHORT_VALUE_LEN]; /* mean opinion score of conversational quality, 10-50 */
329  CHAR EchoReturnLoss[MTA_HAL_SHORT_VALUE_LEN]; /* residual echo return loss, in db */
330  CHAR SignalLevel[MTA_HAL_SHORT_VALUE_LEN]; /* voice signal relative level, in db */
331  CHAR NoiseLevel[MTA_HAL_SHORT_VALUE_LEN]; /* noise relative level, in db */
332  CHAR LossRate[MTA_HAL_SHORT_VALUE_LEN]; /* fraction of RTP data packet loss * 256 */
333  CHAR DiscardRate[MTA_HAL_SHORT_VALUE_LEN]; /* fraction of RTP data packet discarded * 256 */
334  CHAR BurstDensity[MTA_HAL_SHORT_VALUE_LEN]; /* fraction of bursting data packet * 256 */
335  CHAR GapDensity[MTA_HAL_SHORT_VALUE_LEN]; /* fraction of packets within inter-burst gap * 256 */
336  CHAR BurstDuration[MTA_HAL_SHORT_VALUE_LEN]; /* mean duration of bursts, in milliseconds */
337  CHAR GapDuration[MTA_HAL_SHORT_VALUE_LEN]; /* mean duration of gaps, in milliseconds */
338  CHAR RoundTripDelay[MTA_HAL_SHORT_VALUE_LEN]; /* most recent measured RTD, in milliseconds */
339  CHAR Gmin[MTA_HAL_SHORT_VALUE_LEN]; /* local gap threshold */
340  CHAR RFactor[MTA_HAL_SHORT_VALUE_LEN]; /* voice quality evaluation for this RTP session */
341  CHAR ExternalRFactor[MTA_HAL_SHORT_VALUE_LEN]; /* voice quality evaluation for segment on network external to this RTP session */
342  CHAR JitterBufRate[MTA_HAL_SHORT_VALUE_LEN]; /* adjustment rate of jitter buffer, in milliseconds */
343  CHAR JBNominalDelay[MTA_HAL_SHORT_VALUE_LEN]; /* nominal jitter buffer length, in milliseconds */
344  CHAR JBMaxDelay[MTA_HAL_SHORT_VALUE_LEN]; /* maximum jitter buffer length, in milliseconds */
345  CHAR JBAbsMaxDelay[MTA_HAL_SHORT_VALUE_LEN]; /* absolute maximum delay, in milliseconds */
346  CHAR TxPackets[MTA_HAL_SHORT_VALUE_LEN]; /* count of transmitted packets */
347  CHAR TxOctets[MTA_HAL_SHORT_VALUE_LEN]; /* count of transmitted octet packets */
348  CHAR RxPackets[MTA_HAL_SHORT_VALUE_LEN]; /* count of received packets */
349  CHAR RxOctets[MTA_HAL_SHORT_VALUE_LEN]; /* count of received octet packets */
350  CHAR PacketLoss[MTA_HAL_SHORT_VALUE_LEN]; /* count of lost packets */
351  CHAR IntervalJitter[MTA_HAL_SHORT_VALUE_LEN]; /* stat variance of packet interarrival time, in milliseconds */
352  CHAR RemoteIntervalJitter[MTA_HAL_SHORT_VALUE_LEN]; /* remote sie IntervalJitter (see local side) */
353  CHAR RemoteMOS_LQ[MTA_HAL_SHORT_VALUE_LEN]; /* remote side MOS_LQ (see local side) */
354  CHAR RemoteMOS_CQ[MTA_HAL_SHORT_VALUE_LEN]; /* remote side MOS_CQ (see local side) */
355  CHAR RemoteEchoReturnLoss[MTA_HAL_SHORT_VALUE_LEN]; /* remote side EchoReturnLoss (see local side) */
356  CHAR RemoteSignalLevel[MTA_HAL_SHORT_VALUE_LEN]; /* remote side SignalLevel (see local side) */
357  CHAR RemoteNoiseLevel[MTA_HAL_SHORT_VALUE_LEN]; /* remote side NoiseLevel (see local side) */
358  CHAR RemoteLossRate[MTA_HAL_SHORT_VALUE_LEN]; /* remote side LossRate (see local side) */
359  CHAR RemotePktLossConcealment[MTA_HAL_SHORT_VALUE_LEN]; /* remote side PktLossConcealment (see local side) */
360  CHAR RemoteDiscardRate[MTA_HAL_SHORT_VALUE_LEN]; /* remote side DiscardRate (see local side) */
361  CHAR RemoteBurstDensity[MTA_HAL_SHORT_VALUE_LEN]; /* remote side BurstDensity (see local side) */
362  CHAR RemoteGapDensity[MTA_HAL_SHORT_VALUE_LEN]; /* remote side GapDensity (see local side) */
363  CHAR RemoteBurstDuration[MTA_HAL_SHORT_VALUE_LEN]; /* remote side BurstDuration (see local side) */
364  CHAR RemoteGapDuration[MTA_HAL_SHORT_VALUE_LEN]; /* remote side GapDuration (see local side) */
365  CHAR RemoteRoundTripDelay[MTA_HAL_SHORT_VALUE_LEN]; /* remote side RoundTripDelay (see local side) */
366  CHAR RemoteGmin[MTA_HAL_SHORT_VALUE_LEN]; /* remote side Gmin (see local side) */
367  CHAR RemoteRFactor[MTA_HAL_SHORT_VALUE_LEN]; /* remote side RFactore (see local side) */
368  CHAR RemoteExternalRFactor[MTA_HAL_SHORT_VALUE_LEN]; /* remote side ExternalRFactor (see local side) */
369  BOOLEAN RemoteJitterBufferAdaptive; /* remote side JitterBufferAdaptive (see local side) */
370  CHAR RemoteJitterBufRate[MTA_HAL_SHORT_VALUE_LEN]; /* remote side JitterBufRate (see local side) */
371  CHAR RemoteJBNominalDelay[MTA_HAL_SHORT_VALUE_LEN]; /* remote side JBNominalDelay (see local side) */
372  CHAR RemoteJBMaxDelay[MTA_HAL_SHORT_VALUE_LEN]; /* remote side JBMaxDelay (see local side) */
373  CHAR RemoteJBAbsMaxDelay[MTA_HAL_SHORT_VALUE_LEN]; /* remote side JBAbsMaxDelay (see local side) */
374 }
376 
377 typedef struct
379 {
382  ULONG Status; /* 1 = OnHook; 2 = OffHook */
383  CHAR HazardousPotential[128]; /* HEMF Test Passed, Not Started */
384  CHAR ForeignEMF[128]; /* FEMF Test Passed, Not Started */
385  CHAR ResistiveFaults[128]; /* Not Started */
386  CHAR ReceiverOffHook[128]; /* Not Started */
387  CHAR RingerEquivalency[64]; /* Not Started */
388  CHAR CAName[64];
394  ULONG OverCurrentFault; /* 1 = Normal,2 = Fault */
395 }
397 
398 typedef struct
400 {
401  CHAR LCState[64]; /* In Use, Idle, Out of Service */
402  CHAR CallPState[64]; /* In Service, OOS */
403  CHAR LoopCurrent[64]; /* Boosted */
404 }
406 
407 typedef struct
409 {
410  CHAR Time[64];
411  CHAR Description[128];
414 }
416 
417 typedef struct
419 {
422  CHAR EventLevel[64];
423  CHAR Time[64];
425 }
427 
428 typedef struct
430 {
431  CHAR ModelNumber[32];
432  CHAR SerialNumber[32];
433  CHAR PartNumber[32];
434  CHAR ChargerFirmwareRevision[32];
435 }
437 
438 #define MTA_LINENUMBER 8
439 typedef enum {
446 
447 typedef enum{
451 /**
452  * @}
453  */
454 
455 /**
456  * @addtogroup MTA_HAL_APIS
457  * @{
458  */
459 
460 
461 /**********************************************************************************
462  *
463  * MTA Subsystem level function prototypes
464  *
465 **********************************************************************************/
466 
467 /* mta_hal_InitDB : */
468 /**
469 * @description Retrieves the global information for all shared DBs and makes them accessible locally.
470 * @param None
471 *
472 * @return The status of the operation.
473 * @retval RETURN_OK if successful.
474 * @retval RETURN_ERR if any error is detected
475 *
476 * @execution Synchronous.
477 * @sideeffect None.
478 
479 *
480 * @note This function must not suspend and must not invoke any blocking system
481 * calls. It should probably just send a message to a driver event handler task.
482 *
483 */
484 INT mta_hal_InitDB(void);
485 
486 /* mta_hal_GetDHCPInfo : */
487 /**
488 * @description Retrieve all the relevant DHCP info for MTA.
489 * @param PMTAMGMT_MTA_DHCP_INFO pInfo - all DHCP info for MTA, to be returned
490 *
491 * @return The status of the operation.
492 * @retval RETURN_OK if successful.
493 * @retval RETURN_ERR if any error is detected
494 *
495 * @execution Synchronous.
496 * @sideeffect None.
497 *
498 * @note This function must not suspend and must not invoke any blocking system
499 * calls. It should probably just send a message to a driver event handler task.
500 *
501 */
503 
505 
506 /* mta_hal_LineTableGetNumberOfEntries : */
507 /**
508 * @description Get number of entries in the line table.
509 * @param None
510 *
511 * @return ULONG - number of entries
512 * @retval RETURN_OK if successful.
513 * @retval RETURN_ERR if any error is detected
514 *
515 * @execution Synchronous.
516 * @sideeffect None.
517 *
518 * @note This function must not suspend and must not invoke any blocking system
519 * calls. It should probably just send a message to a driver event handler task.
520 *
521 */
523 
524 /* mta_hal_LineTableGetEntry : */
525 /**
526 * @description Get entry of the line table at the given index
527 * @param INT Index - index to the table entry
528 * @param PMTAMGMT_MTA_LINETABLE_INFO pEntry - entry info, to be returned
529 *
530 * @return The status of the operation
531 * @retval RETURN_OK if successful.
532 * @retval RETURN_ERR if any error is detected
533 *
534 * @execution Synchronous.
535 * @sideeffect None.
536 *
537 * @note This function must not suspend and must not invoke any blocking system
538 * calls. It should probably just send a message to a driver event handler task.
539 *
540 */
542 
543 /* mta_hal_TriggerDiagnostics : */
544 /**
545 * @description Trigger GR909 Diagnostics
546 * @param INT Index - line number to perform the GR909 diagnostics on
547 *
548 * @return The status of the operation.
549 * @retval RETURN_OK if successful.
550 * @retval RETURN_ERR if any error is detected
551 *
552 * @execution Synchronous.
553 * @sideeffect None.
554 *
555 * @note This function must not suspend and must not invoke any blocking system
556 * calls. It should probably just send a message to a driver event handler task.
557 *
558 */
560 
561 /* mta_hal_GetServiceFlow : */
562 /**
563 * @description Get all the service flow info
564 * @param ULONG* Count - number of service flow entries, to be returned
565 * @param PMTAMGMT_MTA_SERVICE_FLOW *ppCfg - service flow info, to be returned
566 *
567 * @return The status of the operation.
568 * @retval RETURN_OK if successful.
569 * @retval RETURN_ERR if any error is detected
570 *
571 * @execution Synchronous.
572 * @sideeffect None.
573 *
574 * @note This function must not suspend and must not invoke any blocking system
575 * calls. It should probably just send a message to a driver event handler task.
576 *
577 */
579 
580 /* mta_hal_DectGetEnable : */
581 /**
582 * @description Get info on if Dect is enabled
583 * @param BOOLEAN* pBool - boolean value for enabled or not, to be returned
584 *
585 * @return The status of the operation.
586 * @retval RETURN_OK if successful.
587 * @retval RETURN_ERR if any error is detected
588 *
589 * @execution Synchronous.
590 * @sideeffect None.
591 *
592 * @note This function must not suspend and must not invoke any blocking system
593 * calls. It should probably just send a message to a driver event handler task.
594 *
595 */
597 
598 /* mta_hal_DectSetEnable: */
599 /**
600 * @description Set Dect to boolean value passed in
601 * @param BOOLEAN* bBool - boolean value for enabled or not, to be returned
602 *
603 * @return The status of the operation.
604 * @retval RETURN_OK if successful.
605 * @retval RETURN_ERR if any error is detected
606 *
607 * @execution Synchronous.
608 * @sideeffect None.
609 *
610 * @note This function must not suspend and must not invoke any blocking system
611 * calls. It should probably just send a message to a driver event handler task.
612 *
613 */
615 
616 /* mta_hal_DectGetRegistrationMode: */
617 /**
618 * @description Set Dect to boolean value passed in
619 * @param BOOLEAN* bBool - boolean value for enabled or not, to be returned
620 *
621 * @return The status of the operation.
622 * @retval RETURN_OK if successful.
623 * @retval RETURN_ERR if any error is detected
624 *
625 * @execution Synchronous.
626 * @sideeffect None.
627 *
628 * @note This function must not suspend and must not invoke any blocking system
629 * calls. It should probably just send a message to a driver event handler task.
630 *
631 */
633 
634 /* mta_hal_DectSetRegistrationMode: */
635 /**
636 * @description Set Dect registration mode
637 * @param BOOLEAN* bBool - boolean value for enabled or not, to be returned
638 *
639 * @return The status of the operation.
640 * @retval RETURN_OK if successful.
641 * @retval RETURN_ERR if any error is detected
642 *
643 * @execution Synchronous.
644 * @sideeffect None.
645 *
646 * @note This function must not suspend and must not invoke any blocking system
647 * calls. It should probably just send a message to a driver event handler task.
648 *
649 */
651 
652 /* mta_hal_DectDeregisterDectHandset: */
653 /**
654 * @description Deregister Dect Handset
655 * @param ULONG* uValue - unsigned long value for
656 *
657 * @return The status of the operation.
658 * @retval RETURN_OK if successful.
659 * @retval RETURN_ERR if any error is detected
660 *
661 * @execution Synchronous.
662 * @sideeffect None.
663 *
664 * @note This function must not suspend and must not invoke any blocking system
665 * calls. It should probably just send a message to a driver event handler task.
666 *
667 */
669 
670 /* mta_hal_GetDect: */
671 /**
672 * @description Get Dect info
673 * @param PMTAMGMT_MTA_DECT* pDect - info of Dect
674 *
675 * @return The status of the operation.
676 * @retval RETURN_OK if successful.
677 * @retval RETURN_ERR if any error is detected
678 *
679 * @execution Synchronous.
680 * @sideeffect None.
681 *
682 * @note This function must not suspend and must not invoke any blocking system
683 * calls. It should probably just send a message to a driver event handler task.
684 *
685 */
687 
688 /* mta_hal_GetDectPIN: */
689 /**
690 * @description get Decr PIN
691 * @param char* pPINString - PIN value
692 *
693 * @return The status of the operation.
694 * @retval RETURN_OK if successful.
695 * @retval RETURN_ERR if any error is detected
696 *
697 * @execution Synchronous.
698 * @sideeffect None.
699 *
700 * @note This function must not suspend and must not invoke any blocking system
701 * calls. It should probably just send a message to a driver event handler task.
702 *
703 */
704 INT mta_hal_GetDectPIN(char* pPINString);
705 
706 /* mta_hal_SetDectPIN: */
707 /**
708 * @description Set Dect PIN
709 * @param char* pPINString - PIN value
710 *
711 * @return The status of the operation.
712 * @retval RETURN_OK if successful.
713 * @retval RETURN_ERR if any error is detected
714 *
715 * @execution Synchronous.
716 * @sideeffect None.
717 *
718 * @note This function must not suspend and must not invoke any blocking system
719 * calls. It should probably just send a message to a driver event handler task.
720 *
721 */
722 INT mta_hal_SetDectPIN(char* pPINString);
723 
724 /* mta_hal_GetHandsets: */
725 /**
726 * @description Get MTA handset info
727 * @param ULONG* pulCount - handset number
728 * @param PMTAMGMT_MTA_HANDSETS_INFO* ppHandsets - Info of MTA handset
729 *
730 * @return The status of the operation.
731 * @retval RETURN_OK if successful.
732 * @retval RETURN_ERR if any error is detected
733 *
734 * @execution Synchronous.
735 * @sideeffect None.
736 *
737 * @note This function must not suspend and must not invoke any blocking system
738 * calls. It should probably just send a message to a driver event handler task.
739 *
740 */
742 
743 /* mta_hal_GetCalls : */
744 /**
745 * @description Retrieve all call info for the given instance number of LineTable
746 * @param ULONG InstanceNumber - LineTable's instance number
747 * @param ULONG *Count - number of entries(calls) for the call info array, to be returned
748 * @param PMTAMGMT_MTA_CALLS *ppCfg - Array of call info, to be returned
749 *
750 * @return The status of the operation.
751 * @retval RETURN_OK if successful.
752 * @retval RETURN_ERR if any error is detected
753 *
754 * @execution Synchronous.
755 * @sideeffect None.
756 *
757 * @note This function must not suspend and must not invoke any blocking system
758 * calls. It should probably just send a message to a driver event handler task.
759 *
760 */
761 INT mta_hal_GetCalls(ULONG InstanceNumber, ULONG *Count, PMTAMGMT_MTA_CALLS *ppCfg);
762 
763 /* mta_hal_GetCALLP : */
764 /**
765 * @description Retrieve the CALLP status info for the line number
766 * @param ULONG LineNumber - Line number for which to retrieve info on
767 * @param PMTAMGMT_MTA_CALLP pCallp - CallP info, to be returned
768 *
769 * @return The status of the operation.
770 * @retval RETURN_OK if successful.
771 * @retval RETURN_ERR if any error is detected
772 *
773 * @execution Synchronous.
774 * @sideeffect None.
775 *
776 * @note This function must not suspend and must not invoke any blocking system
777 * calls. It should probably just send a message to a driver event handler task.
778 *
779 */
780 INT mta_hal_GetCALLP(ULONG LineNumber, PMTAMGMT_MTA_CALLP pCallp);
781 
782 /* mta_hal_GetDSXLogs : */
783 /**
784 * @description Retrieve all DSX log entries
785 * @param ULONG *Count - number of entries in the log, to be returned
786 * @param PMTAMGMT_MTA_DSXLOG *ppDSXLog - array of log entries, to be returned
787 *
788 * @return The status of the operation.
789 * @retval RETURN_OK if successful.
790 * @retval RETURN_ERR if any error is detected
791 *
792 * @execution Synchronous.
793 * @sideeffect None.
794 *
795 * @note This function must not suspend and must not invoke any blocking system
796 * calls. It should probably just send a message to a driver event handler task.
797 *
798 */
800 
801 /* mta_hal_GetDSXLogEnable : */
802 /**
803 * @description Get the value of if DSX log is enabled
804 * @param BOOLEAN * pBool - boolean value of enable, to be returned
805 *
806 * @return The status of the operation.
807 * @retval RETURN_OK if successful.
808 * @retval RETURN_ERR if any error is detected
809 *
810 * @execution Synchronous.
811 * @sideeffect None.
812 *
813 * @note This function must not suspend and must not invoke any blocking system
814 * calls. It should probably just send a message to a driver event handler task.
815 *
816 */
818 
819 /* mta_hal_SetDSXLogEnable : */
820 /**
821 * @description Set value of DSX enable to the value
822 * @param BOOLEAN Bool - value to set DSX log enable to
823 *
824 * @return The status of the operation.
825 * @retval RETURN_OK if successful.
826 * @retval RETURN_ERR if any error is detected
827 *
828 * @execution Synchronous.
829 * @sideeffect None.
830 *
831 * @note This function must not suspend and must not invoke any blocking system
832 * calls. It should probably just send a message to a driver event handler task.
833 *
834 */
836 
837 
838 /* mta_hal_ClearCallSignallingLog : */
839 /**
840 * @description Set value of ClearDSXLog to the value
841 * @param BOOLEAN Bool - value to set to clear DSX log.
842 *
843 * @return The status of the operation.
844 * @retval RETURN_OK if successful.
845 * @retval RETURN_ERR if any error is detected
846 *
847 * @execution Synchronous.
848 * @sideeffect None.
849 *
850 * @note This function must not suspend and must not invoke any blocking system
851 * calls. It should probably just send a message to a driver event handler task.
852 *
853 */
855 
856 /* mta_hal_GetCallSignallingLogEnable : */
857 /**
858 * @description Get the value of if CallSignalling log is enabled
859 * @param BOOLEAN * pBool - boolean value of enable, to be returned
860 *
861 * @return The status of the operation.
862 * @retval RETURN_OK if successful.
863 * @retval RETURN_ERR if any error is detected
864 *
865 * @execution Synchronous.
866 * @sideeffect None.
867 *
868 * @note This function must not suspend and must not invoke any blocking system
869 * calls. It should probably just send a message to a driver event handler task.
870 *
871 */
872 
874 
875 /* mta_hal_SetCallSignallingLogEnable : */
876 /**
877 * @description Set value of CallSignalling enable to the value
878 * @param BOOLEAN Bool - value to set CallSignalling log enable to
879 *
880 * @return The status of the operation.
881 * @retval RETURN_OK if successful.
882 * @retval RETURN_ERR if any error is detected
883 *
884 * @execution Synchronous.
885 * @sideeffect None.
886 *
887 * @note This function must not suspend and must not invoke any blocking system
888 * calls. It should probably just send a message to a driver event handler task.
889 *
890 */
891 
893 
894 
895 /* mta_hal_ClearCallSignallingLog : */
896 /**
897 * @description Set value of CallSignalling enable to the value
898 * @param BOOLEAN Bool - value to set to clear CallSignalling log.
899 *
900 * @return The status of the operation.
901 * @retval RETURN_OK if successful.
902 * @retval RETURN_ERR if any error is detected
903 *
904 * @execution Synchronous.
905 * @sideeffect None.
906 *
907 * @note This function must not suspend and must not invoke any blocking system
908 * calls. It should probably just send a message to a driver event handler task.
909 *
910 */
911 
913 
914 /* mta_hal_GetMtaLog : */
915 /**
916 * @description Get all log entries from the MTA Log
917 * @param ULONG *Count - number of entries in the log, to be returned
918 * @param PMTAMGMT_MTA_MTALOG_FULL *ppCfg - array of log entries, to be returned
919 *
920 * @return The status of the operation.
921 * @retval RETURN_OK if successful.
922 * @retval RETURN_ERR if any error is detected
923 *
924 * @execution Synchronous.
925 * @sideeffect None.
926 *
927 * @note This function must not suspend and must not invoke any blocking system
928 * calls. It should probably just send a message to a driver event handler task.
929 *
930 */
932 
933 /* mta_hal_BatteryGetInstalled : */
934 /**
935 * @description Check to see if the battery is installed
936 * @param BOOLEAN* Val - TRUE/FALSE, value to be returned
937 *
938 * @return The status of the operation.
939 * @retval RETURN_OK if successful.
940 * @retval RETURN_ERR if any error is detected
941 *
942 * @execution Synchronous.
943 * @sideeffect None.
944 *
945 * @note This function must not suspend and must not invoke any blocking system
946 * calls. It should probably just send a message to a driver event handler task.
947 *
948 */
950 
951 /* mta_hal_BatteryGetTotalCapacity : */
952 /**
953 * @description Get the total capacity of the battery
954 * @param INT* Val - capacity in mAVHour, to be returned
955 *
956 * @return The status of the operation.
957 * @retval RETURN_OK if successful.
958 * @retval RETURN_ERR if any error is detected
959 *
960 * @execution Synchronous.
961 * @sideeffect None.
962 *
963 * @note This function must not suspend and must not invoke any blocking system
964 * calls. It should probably just send a message to a driver event handler task.
965 *
966 */
968 
969 /* mta_hal_BatteryGetActualCapacity : */
970 /**
971 * @description Retrieve the actual capacity of the battery
972 * @param INT* Val - capacity in mAVHour, to be returned
973 *
974 * @return The status of the operation.
975 * @retval RETURN_OK if successful.
976 * @retval RETURN_ERR if any error is detected
977 *
978 * @execution Synchronous.
979 * @sideeffect None.
980 *
981 * @note This function must not suspend and must not invoke any blocking system
982 * calls. It should probably just send a message to a driver event handler task.
983 *
984 */
986 
987 /* mta_hal_BatteryGetRemainingCharge : */
988 /**
989 * @description Retrieve the current charge remain in the battery
990 * @param INT* Val - capacity in mAVHour, to be returned
991 *
992 * @return The status of the operation.
993 * @retval RETURN_OK if successful.
994 * @retval RETURN_ERR if any error is detected
995 *
996 * @execution Synchronous.
997 * @sideeffect None.
998 *
999 * @note This function must not suspend and must not invoke any blocking system
1000 * calls. It should probably just send a message to a driver event handler task.
1001 *
1002 */
1004 
1005 /* mta_hal_BatteryGetRemainingTime : */
1006 /**
1007 * @description Get estimated battery remaining time if current usage continues
1008 * @param INT* Val - Remaining time in minutes, to be returned
1009 *
1010 * @return The status of the operation.
1011 * @retval RETURN_OK if successful.
1012 * @retval RETURN_ERR if any error is detected
1013 *
1014 * @execution Synchronous.
1015 * @sideeffect None.
1016 *
1017 * @note This function must not suspend and must not invoke any blocking system
1018 * calls. It should probably just send a message to a driver event handler task.
1019 *
1020 */
1022 
1023 /* mta_hal_BatteryGetNumberofCycles : */
1024 /**
1025 * @description Get max number of cycles the battery can be charge cycled
1026 * @param INT* Val - Max number of cycles, to be returned
1027 *
1028 * @return The status of the operation.
1029 * @retval RETURN_OK if successful.
1030 * @retval RETURN_ERR if any error is detected
1031 *
1032 * @execution Synchronous.
1033 * @sideeffect None.
1034 *
1035 * @note This function must not suspend and must not invoke any blocking system
1036 * calls. It should probably just send a message to a driver event handler task.
1037 *
1038 */
1040 
1041 /* mta_hal_BatteryGetPowerStatus : */
1042 /**
1043 * @description Get power status of MTA
1044 * @param CHAR* Val - Status of "AC", "Battery", or "Unknown", to be returned
1045 * @param ULONG *len - string length, to be returned
1046 *
1047 * @return The status of the operation.
1048 * @retval RETURN_OK if successful.
1049 * @retval RETURN_ERR if any error is detected
1050 *
1051 * @execution Synchronous.
1052 * @sideeffect None.
1053 *
1054 * @note This function must not suspend and must not invoke any blocking system
1055 * calls. It should probably just send a message to a driver event handler task.
1056 *
1057 */
1059 
1060 /* mta_hal_BatteryGetCondition: */
1061 /**
1062 * @description Get the battery condition
1063 * @param CHAR* Val - Status of "Good" or "Bad", to be returned
1064 * @param ULONG *len - string length, to be returned
1065 *
1066 * @return The status of the operation.
1067 * @retval RETURN_OK if successful.
1068 * @retval RETURN_ERR if any error is detected
1069 *
1070 * @execution Synchronous.
1071 * @sideeffect None.
1072 *
1073 * @note This function must not suspend and must not invoke any blocking system
1074 * calls. It should probably just send a message to a driver event handler task.
1075 *
1076 */
1078 
1079 /* mta_hal_BatteryGetStatus: */
1080 /**
1081 * @description Get the battery status
1082 * @param CHAR* Val - Status of "Missing", "Idle", "Charging",
1083 * "Discharging", or "Unknown", to be returned
1084 * @param ULONG *len - string length, to be returned
1085 *
1086 * @return The status of the operation.
1087 * @retval RETURN_OK if successful.
1088 * @retval RETURN_ERR if any error is detected
1089 *
1090 * @execution Synchronous.
1091 * @sideeffect None.
1092 *
1093 * @note This function must not suspend and must not invoke any blocking system
1094 * calls. It should probably just send a message to a driver event handler task.
1095 *
1096 */
1098 
1099 /* mta_hal_BatteryGetLife: */
1100 /**
1101 * @description Get the battery life status
1102 * @param CHAR* Val - Values of "Need Replacement", or "Good", to be returned
1103 * @param ULONG *len - string length, to be returned
1104 *
1105 * @return The status of the operation.
1106 * @retval RETURN_OK if successful.
1107 * @retval RETURN_ERR if any error is detected
1108 *
1109 * @execution Synchronous.
1110 * @sideeffect None.
1111 *
1112 * @note This function must not suspend and must not invoke any blocking system
1113 * calls. It should probably just send a message to a driver event handler task.
1114 *
1115 */
1116 INT mta_hal_BatteryGetLife(CHAR* Val, ULONG *len);
1117 
1118 
1119 /* mta_hal_BatteryGetInfo: */
1120 /**
1121 * @description Get the battery info
1122 * @param PMTAMGMT_MTA_BATTERY_INFO pInfo - battery info, to be returned
1123 *
1124 * @return The status of the operation.
1125 * @retval RETURN_OK if successful.
1126 * @retval RETURN_ERR if any error is detected
1127 *
1128 * @execution Synchronous.
1129 * @sideeffect None.
1130 *
1131 * @note This function must not suspend and must not invoke any blocking system
1132 * calls. It should probably just send a message to a driver event handler task.
1133 *
1134 */
1136 
1137 /* mta_hal_BatteryGetPowerSavingModeStatus: */
1138 /**
1139 * @description Get the battery Power Saving Mode Status
1140 * @param ULONG *pValue- Values of 1 for Enabled, 2 for Disabled
1141 *
1142 * @return The status of the operation.
1143 * @retval RETURN_OK if successful.
1144 * @retval RETURN_ERR if any error is detected
1145 *
1146 * @execution Synchronous.
1147 * @sideeffect None.
1148 *
1149 * @note This function must not suspend and must not invoke any blocking system
1150 * calls. It should probably just send a message to a driver event handler task.
1151 *
1152 */
1154 
1155 /* mta_hal_Get_MTAResetCount: */
1156 /**
1157 * @description Get the reset count of MTA
1158 * @param ULONG *pValue- count
1159 *
1160 * @return The status of the operation.
1161 * @retval RETURN_OK if successful.
1162 * @retval RETURN_ERR if any error is detected
1163 *
1164 * @execution Synchronous.
1165 * @sideeffect None.
1166 *
1167 * @note This function must not suspend and must not invoke any blocking system
1168 * calls. It should probably just send a message to a driver event handler task.
1169 *
1170 */
1171 
1173 
1174 /* mta_hal_Get_MTAResetCount: */
1175 /**
1176 * @description Get the reset count of MTA Lines
1177 * @param ULONG *pValue- count
1178 *
1179 * @return The status of the operation.
1180 * @retval RETURN_OK if successful.
1181 * @retval RETURN_ERR if any error is detected
1182 *
1183 * @execution Synchronous.
1184 * @sideeffect None.
1185 *
1186 * @note This function must not suspend and must not invoke any blocking system
1187 * calls. It should probably just send a message to a driver event handler task.
1188 *
1189 */
1190 
1192 
1193 /**
1194 * @description clear the VQM stats per line
1195 * @param ULONG InstanceNumber - instance number
1196 *
1197 * @return The status of the operation.
1198 * @retval RETURN_OK if successful.
1199 * @retval RETURN_ERR if any error is detected
1200 *
1201 * @execution Synchronous.
1202 * @sideeffect None.
1203 *
1204 * @note This function must not suspend and must not invoke any blocking system
1205 * calls. It should probably just send a message to a driver event handler task.
1206 *
1207 */
1208 INT mta_hal_ClearCalls(ULONG InstanceNumber);
1209 
1210 /* mta_hal_getDhcpStatus: */
1211 /**
1212 * @description Get the DHCP status for MTA
1213 * @param MTAMGMT_MTA_STATUS *output_pIpv4status - ipv4 dhcp status
1214 * @param MTAMGMT_MTA_STATUS *output_pIpv6status - ipv6 dhcp status
1215 *
1216 * @return The status of the operation.
1217 * @retval RETURN_OK if successful.
1218 * @retval RETURN_ERR if any error is detected
1219 *
1220 * @execution Synchronous.
1221 * @sideeffect None.
1222 *
1223 * @note This function must not suspend and must not invoke any blocking system
1224 * calls. It should probably just send a message to a driver event handler task.
1225 *
1226 */
1227 INT mta_hal_getDhcpStatus(MTAMGMT_MTA_STATUS *output_pIpv4status, MTAMGMT_MTA_STATUS *output_pIpv6status);
1228 
1229 /* mta_hal_getConfigFileStatus: */
1230 /**
1231 * @description Get the MTA config file status
1232 * @param MTAMGMT_MTA_STATUS *poutput_status - config file status
1233 *
1234 * @return The status of the operation.
1235 * @retval RETURN_OK if successful.
1236 * @retval RETURN_ERR if any error is detected
1237 *
1238 * @execution Synchronous.
1239 * @sideeffect None.
1240 *
1241 * @note This function must not suspend and must not invoke any blocking system
1242 * calls. It should probably just send a message to a driver event handler task.
1243 *
1244 */
1246 
1247 /* mta_hal_getLineRegisterStatus: */
1248 /**
1249 * @description Get the register status for all lines
1250 * @param MTAMGMT_MTA_STATUS *output_status_array - return array buffer for all line register status
1251 * @param int array_size - buffer size (total line number)
1252 *
1253 * @return The status of the operation.
1254 * @retval RETURN_OK if successful.
1255 * @retval RETURN_ERR if any error is detected
1256 *
1257 * @execution Synchronous.
1258 * @sideeffect None.
1259 *
1260 * @note This function must not suspend and must not invoke any blocking system
1261 * calls. It should probably just send a message to a driver event handler task.
1262 *
1263 */
1264 INT mta_hal_getLineRegisterStatus(MTAMGMT_MTA_STATUS *output_status_array, int array_size);
1265 
1266 /* mta_hal_devResetNow: */
1267 /**
1268 * @description Set boolean value passed to reset MTA device
1269 * @param BOOLEAN bResetValue - boolean value to reset the device
1270 *
1271 * @return The status of the operation.
1272 * @retval RETURN_OK if successful.
1273 * @retval RETURN_ERR if any error is detected
1274 *
1275 * @execution Synchronous.
1276 * @sideeffect None.
1277 *
1278 * @note This function must not suspend and must not invoke any blocking system
1279 * calls. It should probably just send a message to a driver event handler task.
1280 *
1281 */
1282 INT mta_hal_devResetNow(BOOLEAN bResetValue);
1283 
1284 /* mta_hal_getMtaOperationalStatus: */
1285 /**
1286 * @description Get the operational status of MTA
1287 * @param MTAMGMT_MTA_STATUS *operationalStatus - return buffer for operational status
1288 *
1289 * @return The status of the operation.
1290 * @retval RETURN_OK if successful.
1291 * @retval RETURN_ERR if any error is detected
1292 *
1293 * @execution Synchronous.
1294 * @sideeffect None.
1295 *
1296 * @note This function must not suspend and must not invoke any blocking system
1297 * calls. It should probably just send a message to a driver event handler task.
1298 *
1299 */
1301 
1302 /* mta_hal_getMtaProvisioningStatus: */
1303 /**
1304 * @description Get the provisional status of MTA
1305 * @param MTAMGMT_MTA_PROVISION_STATUS *provisionStatus - return buffer for provision status
1306 *
1307 * @return The status of the operation.
1308 * @retval RETURN_OK if successful.
1309 * @retval RETURN_ERR if any error is detected
1310 *
1311 * @execution Synchronous.
1312 * @sideeffect None.
1313 *
1314 * @note This function must not suspend and must not invoke any blocking system
1315 * calls. It should probably just send a message to a driver event handler task.
1316 *
1317 */
1319 
1320 #define MTA_DHCPOPTION122SUBOPTION1_MAX 4
1321 #define MTA_DHCPOPTION122SUBOPTION2_MAX 4
1322 #define MTA_DHCPOPTION122CCCV6DSSID1_MAX 32
1323 #define MTA_DHCPOPTION122CCCV6DSSID2_MAX 32
1324 
1325 
1326 typedef enum {
1330 } MTAMGMT_MTA_PROV_IP_MODE; // MTAMGMT_PROVISIONING_PARAMS.MtaIPMode
1331 
1332 
1334 {
1335 
1337 INT DhcpOption2171CccV6DssID1Len; // Length of DhcpOption2171CccV6DssID1
1338 INT DhcpOption2171CccV6DssID2Len; // Length of DhcpOption2171CccV6DssID2
1339 CHAR DhcpOption122Suboption1[MTA_DHCPOPTION122SUBOPTION1_MAX+1]; // 4 byte hex value ie. FFFFFFFF = "255.255.255.255". IPv4 addresses MUST be encoded as 4 binary octets in network byte-order (high order byte first).
1340 CHAR DhcpOption122Suboption2[MTA_DHCPOPTION122SUBOPTION2_MAX+1]; // 4 byte hex value ie. FFFFFFFF = "255.255.255.255"
1343 }
1345 
1346 
1347 /* mta_hal_start_provisioning: */
1348 /**
1349 * @description This API call will start IP provisioning for all the lines for IPv4/IPv6 , or dual mode
1350 * @param PMTAMGMT_MTA_PROVISIONING pParameters - IP provisioning for all line register status
1351 *
1352 * @return The status of the operation.
1353 * @retval RETURN_OK if successful.
1354 * @retval RETURN_ERR if any error is detected
1355 *
1356 * @execution Synchronous.
1357 * @sideeffect None.
1358 *
1359 * @note This function must not suspend and must not invoke any blocking system
1360 * calls. It should probably just send a message to a driver event handler task.
1361 *
1362 */
1363 INT mta_hal_start_provisioning(PMTAMGMT_MTA_PROVISIONING_PARAMS pParameters); // This API call will start IP provisioning for all the lines for IPv4/IPv6 , or dual mode
1364 
1365 /* mta_hal_getLineRegisterStatus_callback: */
1366 /**
1367 * @description This call back will be invoked to returing MTA line
1368 * @param MTAMGMT_MTA_STATUS *output_status_array - return array buffer for all line register status
1369 * @param int array_size - buffer size (total line number)
1370 *
1371 * @return The status of the operation.
1372 * @retval RETURN_OK if successful.
1373 * @retval RETURN_ERR if any error is detected
1374 *
1375 * @execution Asynchronous.
1376 * @sideeffect None.
1377 *
1378 * @note This function must not suspend and must not invoke any blocking system
1379 * calls. It should probably just send a message to a driver event handler task.
1380 *
1381 */
1382 typedef INT ( * mta_hal_getLineRegisterStatus_callback)(MTAMGMT_MTA_STATUS *output_status_array, int array_size); //This call back will be invoked to returing MTA line provisionoing status
1383 
1384 /* mta_hal_LineRegisterStatus_callback_register: */
1385 /**
1386 * @description This call back will be invoked to returing MTA line
1387 * @param mta_hal_getLineRegisterStatus_callback callback_proc - Callback registration function.
1388 *
1389 * @return The status of the operation.
1390 * @retval RETURN_OK if successful.
1391 * @retval RETURN_ERR if any error is detected
1392 *
1393 * @execution Synchronous.
1394 * @sideeffect None.
1395 *
1396 * @note This function must not suspend and must not invoke any blocking system
1397 * calls. It should probably just send a message to a driver event handler task.
1398 *
1399 */
1400 
1401 void mta_hal_LineRegisterStatus_callback_register(mta_hal_getLineRegisterStatus_callback callback_proc); //Callback registration function.
1402 
1403 #endif /* __MTA_HAL_H__ */
1404 /**
1405  * @}
1406  */
1407 
1408 
_MTAMGMT_MTA_DHCP_INFO
Definition: mta_hal.h:236
_MTAMGMT_MTA_LINETABLE_INFO
Definition: mta_hal.h:377
mta_hal_BatteryGetTotalCapacity
int mta_hal_BatteryGetTotalCapacity(unsigned long *Val)
_MTAMGMT_MTA_MTALOG_FULL::Index
unsigned long Index
Definition: mta_hal.h:420
mta_hal_GetHandsets
int mta_hal_GetHandsets(unsigned long *pulCount, PMTAMGMT_MTA_HANDSETS_INFO *ppHandsets)
MTA_COMPLETE
@ MTA_COMPLETE
Definition: mta_hal.h:442
_MTAMGMT_MTA_DHCP_INFO::LeaseTimeRemaining
unsigned long LeaseTimeRemaining
Definition: mta_hal.h:244
CHAR
#define CHAR
Definition: mta_hal.h:109
_MTAMGMT_MTA_SERVICE_FLOW::NomGrantInterval
unsigned long NomGrantInterval
Definition: mta_hal.h:292
_MTAMGMT_PROVISIONING_PARAMS::MtaIPMode
int MtaIPMode
Definition: mta_hal.h:1336
mta_hal_getLineRegisterStatus_callback
int(* mta_hal_getLineRegisterStatus_callback)(MTAMGMT_MTA_STATUS *output_status_array, int array_size)
Definition: mta_hal.h:1382
PMTAMGMT_MTA_DSXLOG
struct _MTAMGMT_MTA_DSXLOG * PMTAMGMT_MTA_DSXLOG
_MTAMGMT_MTA_LINETABLE_INFO::MWD
unsigned long MWD
Definition: mta_hal.h:390
_MTAMGMT_MTA_DSXLOG::ID
unsigned long ID
Definition: mta_hal.h:412
_MTAMGMT_MTA_MTALOG_FULL::EventID
unsigned long EventID
Definition: mta_hal.h:421
mta_hal_getLineRegisterStatus
int mta_hal_getLineRegisterStatus(MTAMGMT_MTA_STATUS *output_status_array, int array_size)
mta_hal_devResetNow
int mta_hal_devResetNow(unsigned char bResetValue)
mta_hal_BatteryGetInfo
int mta_hal_BatteryGetInfo(PMTAMGMT_MTA_BATTERY_INFO pInfo)
MTA_START
@ MTA_START
Definition: mta_hal.h:441
PMTAMGMT_MTA_SERVICE_FLOW
struct _MTAMGMT_MTA_SERVICE_FLOW * PMTAMGMT_MTA_SERVICE_FLOW
MTAMGMT_MTA_PROVISION_STATUS
MTAMGMT_MTA_PROVISION_STATUS
Definition: mta_hal.h:447
mta_hal_BatteryGetNumberofCycles
int mta_hal_BatteryGetNumberofCycles(unsigned long *Val)
mta_hal_GetDHCPInfo
int mta_hal_GetDHCPInfo(PMTAMGMT_MTA_DHCP_INFO pInfo)
mta_hal_getConfigFileStatus
int mta_hal_getConfigFileStatus(MTAMGMT_MTA_STATUS *poutput_status)
MTA_PROVISIONED
@ MTA_PROVISIONED
Definition: mta_hal.h:448
mta_hal_GetCalls
int mta_hal_GetCalls(unsigned long InstanceNumber, unsigned long *Count, PMTAMGMT_MTA_CALLS *ppCfg)
_MTAMGMT_MTA_HANDSETS_INFO
Definition: mta_hal.h:223
PMTAMGMT_MTA_CALLS
struct _MTAMGMT_MTA_CALLS * PMTAMGMT_MTA_CALLS
_MTAMGMT_MTA_SERVICE_FLOW::NomPollInterval
unsigned long NomPollInterval
Definition: mta_hal.h:295
_MTAMGMT_MTA_CALLS
Definition: mta_hal.h:305
mta_hal_SetCallSignallingLogEnable
int mta_hal_SetCallSignallingLogEnable(unsigned char Bool)
mta_hal_GetDect
int mta_hal_GetDect(PMTAMGMT_MTA_DECT pDect)
_MTAMGMT_MTA_DSXLOG::Level
unsigned long Level
Definition: mta_hal.h:413
_MTAMGMT_MTA_CALLP
Definition: mta_hal.h:398
MTA_DHCPOPTION122CCCV6DSSID2_MAX
#define MTA_DHCPOPTION122CCCV6DSSID2_MAX
Definition: mta_hal.h:1323
_MTAMGMT_MTA_CALLS::JitterBufferAdaptive
unsigned char JitterBufferAdaptive
Definition: mta_hal.h:314
MTAMGMT_PROVISIONING_PARAMS
struct _MTAMGMT_PROVISIONING_PARAMS MTAMGMT_PROVISIONING_PARAMS
MTAMGMT_MTA_DHCP_INFO
struct _MTAMGMT_MTA_DHCP_INFO MTAMGMT_MTA_DHCP_INFO
_MTAMGMT_MTA_SERVICE_FLOW::MaxTrafficRate
unsigned long MaxTrafficRate
Definition: mta_hal.h:297
MTA_INIT
@ MTA_INIT
Definition: mta_hal.h:440
MTA_HAL_SHORT_VALUE_LEN
#define MTA_HAL_SHORT_VALUE_LEN
Definition: mta_hal.h:149
_MTAMGMT_MTA_SERVICE_FLOW::DefaultFlow
unsigned char DefaultFlow
Definition: mta_hal.h:291
_MTAMGMT_MTA_SERVICE_FLOW::MinReservedPkt
unsigned long MinReservedPkt
Definition: mta_hal.h:296
_MTAMGMT_MTA_DECT
Definition: mta_hal.h:211
MTA_IPV4
@ MTA_IPV4
Definition: mta_hal.h:1327
MTA_DUAL_STACK
@ MTA_DUAL_STACK
Definition: mta_hal.h:1329
_MTAMGMT_MTA_MTALOG_FULL
Definition: mta_hal.h:417
mta_hal_InitDB
int mta_hal_InitDB(void)
ULONG
#define ULONG
Definition: mta_hal.h:105
MTAMGMT_MTA_MTALOG_FULL
struct _MTAMGMT_MTA_MTALOG_FULL MTAMGMT_MTA_MTALOG_FULL
mta_hal_GetDSXLogEnable
int mta_hal_GetDSXLogEnable(unsigned char *pBool)
PMTAMGMT_MTA_DHCPv6_INFO
struct _MTAMGMT_MTA_DHCPv6_INFO * PMTAMGMT_MTA_DHCPv6_INFO
mta_hal_BatteryGetInstalled
int mta_hal_BatteryGetInstalled(unsigned char *Val)
mta_hal_BatteryGetRemainingCharge
int mta_hal_BatteryGetRemainingCharge(unsigned long *Val)
_MTAMGMT_MTA_LINETABLE_INFO::Status
unsigned long Status
Definition: mta_hal.h:382
_MTAMGMT_MTA_SERVICE_FLOW::MinReservedRate
unsigned long MinReservedRate
Definition: mta_hal.h:298
MTAMGMT_MTA_STATUS
MTAMGMT_MTA_STATUS
Definition: mta_hal.h:439
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption2171CccV6DssID1
char DhcpOption2171CccV6DssID1[32+1]
Definition: mta_hal.h:1341
MTAMGMT_MTA_DECT
struct _MTAMGMT_MTA_DECT MTAMGMT_MTA_DECT
_MTAMGMT_MTA_CALLS::Originator
unsigned char Originator
Definition: mta_hal.h:315
_MTAMGMT_MTA_DHCPv6_INFO::LeaseTimeRemaining
unsigned long LeaseTimeRemaining
Definition: mta_hal.h:268
MTA_REJECTED
@ MTA_REJECTED
Definition: mta_hal.h:444
mta_hal_GetDHCPV6Info
int mta_hal_GetDHCPV6Info(PMTAMGMT_MTA_DHCPv6_INFO pInfo)
PMTAMGMT_MTA_BATTERY_INFO
struct _MTAMGMT_MTA_BATTERY_INFO * PMTAMGMT_MTA_BATTERY_INFO
mta_hal_SetDSXLogEnable
int mta_hal_SetDSXLogEnable(unsigned char Bool)
mta_hal_BatteryGetRemainingTime
int mta_hal_BatteryGetRemainingTime(unsigned long *Val)
_MTAMGMT_MTA_SERVICE_FLOW::UnsolicitGrantSize
unsigned long UnsolicitGrantSize
Definition: mta_hal.h:293
_MTAMGMT_MTA_LINETABLE_INFO::CallsUpdateTime
unsigned long CallsUpdateTime
Definition: mta_hal.h:393
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption122Suboption1
char DhcpOption122Suboption1[4+1]
Definition: mta_hal.h:1339
mta_hal_BatteryGetCondition
int mta_hal_BatteryGetCondition(char *Val, unsigned long *len)
_MTAMGMT_MTA_SERVICE_FLOW::SFID
unsigned long SFID
Definition: mta_hal.h:287
MTAMGMT_MTA_CALLS
struct _MTAMGMT_MTA_CALLS MTAMGMT_MTA_CALLS
BOOLEAN
#define BOOLEAN
Definition: mta_hal.h:117
mta_hal_GetMtaLog
int mta_hal_GetMtaLog(unsigned long *Count, PMTAMGMT_MTA_MTALOG_FULL *ppCfg)
mta_hal_BatteryGetActualCapacity
int mta_hal_BatteryGetActualCapacity(unsigned long *Val)
_MTAMGMT_MTA_CALLS::CallDuration
unsigned long CallDuration
Definition: mta_hal.h:317
mta_hal_getMtaProvisioningStatus
int mta_hal_getMtaProvisioningStatus(MTAMGMT_MTA_PROVISION_STATUS *provisionStatus)
mta_hal_GetCALLP
int mta_hal_GetCALLP(unsigned long LineNumber, PMTAMGMT_MTA_CALLP pCallp)
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption2171CccV6DssID2Len
int DhcpOption2171CccV6DssID2Len
Definition: mta_hal.h:1338
_MTAMGMT_MTA_LINETABLE_INFO::OverCurrentFault
unsigned long OverCurrentFault
Definition: mta_hal.h:394
MTA_NON_PROVISIONED
@ MTA_NON_PROVISIONED
Definition: mta_hal.h:449
_MTAMGMT_MTA_LINETABLE_INFO::LineNumber
unsigned long LineNumber
Definition: mta_hal.h:381
MTAMGMT_MTA_DSXLOG
struct _MTAMGMT_MTA_DSXLOG MTAMGMT_MTA_DSXLOG
_MTAMGMT_MTA_HANDSETS_INFO::InstanceNumber
unsigned long InstanceNumber
Definition: mta_hal.h:226
PMTAMGMT_MTA_HANDSETS_INFO
struct _MTAMGMT_MTA_HANDSETS_INFO * PMTAMGMT_MTA_HANDSETS_INFO
MTA_ERROR
@ MTA_ERROR
Definition: mta_hal.h:443
mta_hal_GetDectPIN
int mta_hal_GetDectPIN(char *pPINString)
_MTAMGMT_MTA_DSXLOG
Definition: mta_hal.h:407
PMTAMGMT_MTA_LINETABLE_INFO
struct _MTAMGMT_MTA_LINETABLE_INFO * PMTAMGMT_MTA_LINETABLE_INFO
PMTAMGMT_MTA_CALLP
struct _MTAMGMT_MTA_CALLP * PMTAMGMT_MTA_CALLP
_MTAMGMT_MTA_SERVICE_FLOW::MaxTrafficBurst
unsigned long MaxTrafficBurst
Definition: mta_hal.h:299
MTAMGMT_MTA_PROV_IP_MODE
MTAMGMT_MTA_PROV_IP_MODE
Definition: mta_hal.h:1326
_MTAMGMT_MTA_BATTERY_INFO
Definition: mta_hal.h:428
mta_hal_DectGetRegistrationMode
int mta_hal_DectGetRegistrationMode(unsigned char *pBool)
_MTAMGMT_MTA_MTALOG_FULL::pDescription
char * pDescription
Definition: mta_hal.h:424
_MTAMGMT_MTA_LINETABLE_INFO::InstanceNumber
unsigned long InstanceNumber
Definition: mta_hal.h:380
MTA_DHCPOPTION122CCCV6DSSID1_MAX
#define MTA_DHCPOPTION122CCCV6DSSID1_MAX
Definition: mta_hal.h:1322
mta_hal_start_provisioning
int mta_hal_start_provisioning(PMTAMGMT_MTA_PROVISIONING_PARAMS pParameters)
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption2171CccV6DssID1Len
int DhcpOption2171CccV6DssID1Len
Definition: mta_hal.h:1337
MTAMGMT_MTA_BATTERY_INFO
struct _MTAMGMT_MTA_BATTERY_INFO MTAMGMT_MTA_BATTERY_INFO
MTAMGMT_MTA_SERVICE_FLOW
struct _MTAMGMT_MTA_SERVICE_FLOW MTAMGMT_MTA_SERVICE_FLOW
MTA_IPV6
@ MTA_IPV6
Definition: mta_hal.h:1328
MTA_DHCPOPTION122SUBOPTION2_MAX
#define MTA_DHCPOPTION122SUBOPTION2_MAX
Definition: mta_hal.h:1321
PMTAMGMT_MTA_DHCP_INFO
struct _MTAMGMT_MTA_DHCP_INFO * PMTAMGMT_MTA_DHCP_INFO
mta_hal_DectSetRegistrationMode
int mta_hal_DectSetRegistrationMode(unsigned char bBool)
MTAMGMT_MTA_LINETABLE_INFO
struct _MTAMGMT_MTA_LINETABLE_INFO MTAMGMT_MTA_LINETABLE_INFO
_MTAMGMT_MTA_SERVICE_FLOW::ScheduleType
unsigned long ScheduleType
Definition: mta_hal.h:290
MTAMGMT_MTA_CALLP
struct _MTAMGMT_MTA_CALLP MTAMGMT_MTA_CALLP
mta_hal_Get_MTAResetCount
int mta_hal_Get_MTAResetCount(unsigned long *resetcnt)
mta_hal_LineTableGetNumberOfEntries
unsigned long mta_hal_LineTableGetNumberOfEntries(void)
_MTAMGMT_MTA_LINETABLE_INFO::pCalls
PMTAMGMT_MTA_CALLS pCalls
Definition: mta_hal.h:392
MTA_DHCPOPTION122SUBOPTION1_MAX
#define MTA_DHCPOPTION122SUBOPTION1_MAX
Definition: mta_hal.h:1320
_MTAMGMT_MTA_CALLS::RemoteJitterBufferAdaptive
unsigned char RemoteJitterBufferAdaptive
Definition: mta_hal.h:369
mta_hal_BatteryGetPowerStatus
int mta_hal_BatteryGetPowerStatus(char *Val, unsigned long *len)
mta_hal_DectGetEnable
int mta_hal_DectGetEnable(unsigned char *pBool)
_MTAMGMT_MTA_SERVICE_FLOW
Definition: mta_hal.h:284
_MTAMGMT_MTA_LINETABLE_INFO::CAPort
unsigned long CAPort
Definition: mta_hal.h:389
INT
#define INT
Definition: mta_hal.h:121
_MTAMGMT_MTA_HANDSETS_INFO::Status
unsigned char Status
Definition: mta_hal.h:227
mta_hal_GetCallSignallingLogEnable
int mta_hal_GetCallSignallingLogEnable(unsigned char *pBool)
mta_hal_GetServiceFlow
int mta_hal_GetServiceFlow(unsigned long *Count, PMTAMGMT_MTA_SERVICE_FLOW *ppCfg)
PMTAMGMT_MTA_DECT
struct _MTAMGMT_MTA_DECT * PMTAMGMT_MTA_DECT
mta_hal_getDhcpStatus
int mta_hal_getDhcpStatus(MTAMGMT_MTA_STATUS *output_pIpv4status, MTAMGMT_MTA_STATUS *output_pIpv6status)
ANSC_IPV4_ADDRESS
#define ANSC_IPV4_ADDRESS
Definition: mta_hal.h:162
mta_hal_DectSetEnable
int mta_hal_DectSetEnable(unsigned char bBool)
mta_hal_TriggerDiagnostics
int mta_hal_TriggerDiagnostics(unsigned long Index)
mta_hal_getMtaOperationalStatus
int mta_hal_getMtaOperationalStatus(MTAMGMT_MTA_STATUS *operationalStatus)
mta_hal_SetDectPIN
int mta_hal_SetDectPIN(char *pPINString)
MTAMGMT_MTA_DHCPv6_INFO
struct _MTAMGMT_MTA_DHCPv6_INFO MTAMGMT_MTA_DHCPv6_INFO
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption2171CccV6DssID2
char DhcpOption2171CccV6DssID2[32+1]
Definition: mta_hal.h:1342
mta_hal_BatteryGetLife
int mta_hal_BatteryGetLife(char *Val, unsigned long *len)
_MTAMGMT_MTA_LINETABLE_INFO::CallsNumber
unsigned long CallsNumber
Definition: mta_hal.h:391
mta_hal_GetDSXLogs
int mta_hal_GetDSXLogs(unsigned long *Count, PMTAMGMT_MTA_DSXLOG *ppDSXLog)
mta_hal_DectDeregisterDectHandset
int mta_hal_DectDeregisterDectHandset(unsigned long uValue)
_MTAMGMT_MTA_SERVICE_FLOW::TolGrantJitter
unsigned long TolGrantJitter
Definition: mta_hal.h:294
mta_hal_BatteryGetStatus
int mta_hal_BatteryGetStatus(char *Val, unsigned long *len)
mta_hal_Get_LineResetCount
int mta_hal_Get_LineResetCount(unsigned long *resetcnt)
_MTAMGMT_PROVISIONING_PARAMS::DhcpOption122Suboption2
char DhcpOption122Suboption2[4+1]
Definition: mta_hal.h:1340
mta_hal_ClearDSXLog
int mta_hal_ClearDSXLog(unsigned char Bool)
_MTAMGMT_MTA_DHCPv6_INFO
Definition: mta_hal.h:260
_MTAMGMT_MTA_SERVICE_FLOW::NumberOfPackets
unsigned long NumberOfPackets
Definition: mta_hal.h:301
mta_hal_LineRegisterStatus_callback_register
void mta_hal_LineRegisterStatus_callback_register(mta_hal_getLineRegisterStatus_callback callback_proc)
_MTAMGMT_PROVISIONING_PARAMS
Definition: mta_hal.h:1333
mta_hal_ClearCallSignallingLog
int mta_hal_ClearCallSignallingLog(unsigned char Bool)
PMTAMGMT_MTA_MTALOG_FULL
struct _MTAMGMT_MTA_MTALOG_FULL * PMTAMGMT_MTA_MTALOG_FULL
MTAMGMT_MTA_HANDSETS_INFO
struct _MTAMGMT_MTA_HANDSETS_INFO MTAMGMT_MTA_HANDSETS_INFO
mta_hal_ClearCalls
int mta_hal_ClearCalls(unsigned long InstanceNumber)
mta_hal_LineTableGetEntry
int mta_hal_LineTableGetEntry(unsigned long Index, PMTAMGMT_MTA_LINETABLE_INFO pEntry)
mta_hal_BatteryGetPowerSavingModeStatus
int mta_hal_BatteryGetPowerSavingModeStatus(unsigned long *pValue)
PMTAMGMT_MTA_PROVISIONING_PARAMS
struct _MTAMGMT_PROVISIONING_PARAMS * PMTAMGMT_MTA_PROVISIONING_PARAMS