F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
DpWriterComponentAc.hpp
Go to the documentation of this file.
1// ======================================================================
2// \title DpWriterComponentAc.hpp
3// \author Generated by fpp-to-cpp
4// \brief hpp file for DpWriter component base class
5// ======================================================================
6
7#ifndef Svc_DpWriterComponentAc_HPP
8#define Svc_DpWriterComponentAc_HPP
9
10#include "FpConfig.hpp"
12#include "Fw/Cmd/CmdPortAc.hpp"
15#include "Fw/Cmd/CmdString.hpp"
17#include "Fw/Log/LogPortAc.hpp"
18#include "Fw/Log/LogString.hpp"
19#if FW_ENABLE_TEXT_LOGGING == 1
21#endif
25#include "Fw/Tlm/TlmPortAc.hpp"
26#include "Fw/Tlm/TlmString.hpp"
29
30namespace Svc {
31
38 {
39
40 // ----------------------------------------------------------------------
41 // Friend classes
42 // ----------------------------------------------------------------------
43
46
47 PROTECTED:
48
49 // ----------------------------------------------------------------------
50 // Constants
51 // ----------------------------------------------------------------------
52
54 enum {
56 };
57
59 enum {
62 };
63
65 enum {
72 };
73
75 enum {
79 };
80
82 enum {
84 };
85
87 enum {
96 };
97
99 enum {
107 };
108
110 enum {
116 };
117
118 public:
119
120 // ----------------------------------------------------------------------
121 // Component initialization
122 // ----------------------------------------------------------------------
123
125 void init(
126 FwSizeType queueDepth,
127 FwEnumStoreType instance = 0
128 );
129
130 public:
131
132 // ----------------------------------------------------------------------
133 // Getters for special input ports
134 // ----------------------------------------------------------------------
135
140 FwIndexType portNum
141 );
142
143 public:
144
145 // ----------------------------------------------------------------------
146 // Getters for typed input ports
147 // ----------------------------------------------------------------------
148
153 FwIndexType portNum
154 );
155
160 FwIndexType portNum
161 );
162
163 public:
164
165 // ----------------------------------------------------------------------
166 // Connect input ports to special output ports
167 // ----------------------------------------------------------------------
168
171 FwIndexType portNum,
173 );
174
177 FwIndexType portNum,
179 );
180
183 FwIndexType portNum,
184 Fw::InputLogPort* port
185 );
186
187#if FW_ENABLE_TEXT_LOGGING == 1
188
190 void set_textEventOut_OutputPort(
191 FwIndexType portNum,
193 );
194
195#endif
196
199 FwIndexType portNum,
200 Fw::InputTimePort* port
201 );
202
205 FwIndexType portNum,
206 Fw::InputTlmPort* port
207 );
208
209 public:
210
211 // ----------------------------------------------------------------------
212 // Connect typed input ports to typed output ports
213 // ----------------------------------------------------------------------
214
217 FwIndexType portNum,
219 );
220
223 FwIndexType portNum,
225 );
226
229 FwIndexType portNum,
231 );
232
233#if FW_PORT_SERIALIZATION
234
235 public:
236
237 // ----------------------------------------------------------------------
238 // Connect serial input ports to special output ports
239 // ----------------------------------------------------------------------
240
243 FwIndexType portNum,
244 Fw::InputSerializePort* port
245 );
246
249 FwIndexType portNum,
250 Fw::InputSerializePort* port
251 );
252
255 FwIndexType portNum,
256 Fw::InputSerializePort* port
257 );
258
259#if FW_ENABLE_TEXT_LOGGING == 1
260
262 void set_textEventOut_OutputPort(
263 FwIndexType portNum,
264 Fw::InputSerializePort* port
265 );
266
267#endif
268
271 FwIndexType portNum,
272 Fw::InputSerializePort* port
273 );
274
277 FwIndexType portNum,
278 Fw::InputSerializePort* port
279 );
280
281#endif
282
283#if FW_PORT_SERIALIZATION
284
285 public:
286
287 // ----------------------------------------------------------------------
288 // Connect serial input ports to typed output ports
289 // ----------------------------------------------------------------------
290
293 FwIndexType portNum,
294 Fw::InputSerializePort* port
295 );
296
299 FwIndexType portNum,
300 Fw::InputSerializePort* port
301 );
302
305 FwIndexType portNum,
306 Fw::InputSerializePort* port
307 );
308
309#endif
310
311 public:
312
313 // ----------------------------------------------------------------------
314 // Command registration
315 // ----------------------------------------------------------------------
316
320 void regCommands();
321
322 PROTECTED:
323
324 // ----------------------------------------------------------------------
325 // Component construction and destruction
326 // ----------------------------------------------------------------------
327
330 const char* compName = ""
331 );
332
334 virtual ~DpWriterComponentBase();
335
336 PROTECTED:
337
338 // ----------------------------------------------------------------------
339 // Getters for numbers of special input ports
340 // ----------------------------------------------------------------------
341
346
347 PROTECTED:
348
349 // ----------------------------------------------------------------------
350 // Getters for numbers of typed input ports
351 // ----------------------------------------------------------------------
352
357
362
363 PROTECTED:
364
365 // ----------------------------------------------------------------------
366 // Getters for numbers of special output ports
367 // ----------------------------------------------------------------------
368
373
378
383
384#if FW_ENABLE_TEXT_LOGGING == 1
385
389 FwIndexType getNum_textEventOut_OutputPorts() const;
390
391#endif
392
397
402
403 PROTECTED:
404
405 // ----------------------------------------------------------------------
406 // Getters for numbers of typed output ports
407 // ----------------------------------------------------------------------
408
413
418
423
424 PROTECTED:
425
426 // ----------------------------------------------------------------------
427 // Connection status queries for special output ports
428 // ----------------------------------------------------------------------
429
434 FwIndexType portNum
435 );
436
441 FwIndexType portNum
442 );
443
448 FwIndexType portNum
449 );
450
451#if FW_ENABLE_TEXT_LOGGING == 1
452
456 bool isConnected_textEventOut_OutputPort(
457 FwIndexType portNum
458 );
459
460#endif
461
466 FwIndexType portNum
467 );
468
473 FwIndexType portNum
474 );
475
476 PROTECTED:
477
478 // ----------------------------------------------------------------------
479 // Connection status queries for typed output ports
480 // ----------------------------------------------------------------------
481
486 FwIndexType portNum
487 );
488
493 FwIndexType portNum
494 );
495
500 FwIndexType portNum
501 );
502
503 PROTECTED:
504
505 // ----------------------------------------------------------------------
506 // Handlers to implement for typed input ports
507 // ----------------------------------------------------------------------
508
511 FwIndexType portNum,
512 Fw::Buffer& fwBuffer
513 ) = 0;
514
516 virtual void schedIn_handler(
517 FwIndexType portNum,
518 U32 context
519 ) = 0;
520
521 PROTECTED:
522
523 // ----------------------------------------------------------------------
524 // Port handler base-class functions for typed input ports
525 //
526 // Call these functions directly to bypass the corresponding ports
527 // ----------------------------------------------------------------------
528
531 FwIndexType portNum,
532 Fw::Buffer& fwBuffer
533 );
534
537 FwIndexType portNum,
538 U32 context
539 );
540
541 PROTECTED:
542
543 // ----------------------------------------------------------------------
544 // Pre-message hooks for typed async input ports
545 //
546 // Each of these functions is invoked just before processing a message
547 // on the corresponding port. By default, they do nothing. You can
548 // override them to provide specific pre-message behavior.
549 // ----------------------------------------------------------------------
550
552 virtual void bufferSendIn_preMsgHook(
553 FwIndexType portNum,
554 Fw::Buffer& fwBuffer
555 );
556
558 virtual void schedIn_preMsgHook(
559 FwIndexType portNum,
560 U32 context
561 );
562
563 PROTECTED:
564
565 // ----------------------------------------------------------------------
566 // Invocation functions for typed output ports
567 // ----------------------------------------------------------------------
568
571 FwIndexType portNum,
572 Fw::Buffer& fwBuffer
573 );
574
576 void dpWrittenOut_out(
577 FwIndexType portNum,
578 const Fw::StringBase& fileName,
579 FwDpPriorityType priority,
580 FwSizeType size
581 );
582
585 FwIndexType portNum,
586 Fw::Buffer& fwBuffer
587 );
588
589 PROTECTED:
590
591 // ----------------------------------------------------------------------
592 // Command response
593 // ----------------------------------------------------------------------
594
596 void cmdResponse_out(
597 FwOpcodeType opCode,
598 U32 cmdSeq,
599 Fw::CmdResponse response
600 );
601
602 PROTECTED:
603
604 // ----------------------------------------------------------------------
605 // Command handlers to implement
606 // ----------------------------------------------------------------------
607
612 FwOpcodeType opCode,
613 U32 cmdSeq
614 ) = 0;
615
616 PROTECTED:
617
618 // ----------------------------------------------------------------------
619 // Command handler base-class functions
620 //
621 // Call these functions directly to bypass the command input port
622 // ----------------------------------------------------------------------
623
628 FwOpcodeType opCode,
629 U32 cmdSeq,
630 Fw::CmdArgBuffer& args
631 );
632
633 PROTECTED:
634
635 // ----------------------------------------------------------------------
636 // Pre-message hooks for async commands
637 //
638 // Each of these functions is invoked just before processing the
639 // corresponding command. By default they do nothing. You can
640 // override them to provide specific pre-command behavior.
641 // ----------------------------------------------------------------------
642
645 FwOpcodeType opCode,
646 U32 cmdSeq
647 );
648
649 PROTECTED:
650
651 // ----------------------------------------------------------------------
652 // Event logging functions
653 // ----------------------------------------------------------------------
654
659
664 U32 bufferSize,
665 U32 minSize
666 );
667
672 U32 bufferSize,
673 U32 storedHash,
674 U32 computedHash
675 );
676
681 U32 bufferSize,
682 U32 errorCode
683 );
684
689 U32 bufferSize,
690 U32 minSize
691 );
692
697 U32 status,
698 const Fw::StringBase& file
699 );
700
705 U32 status,
706 U32 bytesWritten,
707 U32 bytesToWrite,
708 const Fw::StringBase& file
709 );
710
715 U32 bytes,
716 const Fw::StringBase& file
717 ) const;
718
719 PROTECTED:
720
721 // ----------------------------------------------------------------------
722 // Event throttle reset functions
723 // ----------------------------------------------------------------------
724
727
730
733
736
739
742
745
746 PROTECTED:
747
748 // ----------------------------------------------------------------------
749 // Telemetry write functions
750 // ----------------------------------------------------------------------
751
756 U32 arg,
757 Fw::Time _tlmTime = Fw::Time()
758 );
759
764 U64 arg,
765 Fw::Time _tlmTime = Fw::Time()
766 );
767
772 U32 arg,
773 Fw::Time _tlmTime = Fw::Time()
774 );
775
780 U32 arg,
781 Fw::Time _tlmTime = Fw::Time()
782 );
783
788 U32 arg,
789 Fw::Time _tlmTime = Fw::Time()
790 );
791
792 PROTECTED:
793
794 // ----------------------------------------------------------------------
795 // Time
796 // ----------------------------------------------------------------------
797
802
803 PRIVATE:
804
805 // ----------------------------------------------------------------------
806 // Message dispatch functions
807 // ----------------------------------------------------------------------
808
810 virtual MsgDispatchStatus doDispatch();
811
812 PRIVATE:
813
814 // ----------------------------------------------------------------------
815 // Calls for messages received on special input ports
816 // ----------------------------------------------------------------------
817
819 static void m_p_cmdIn_in(
820 Fw::PassiveComponentBase* callComp,
821 FwIndexType portNum,
822 FwOpcodeType opCode,
823 U32 cmdSeq,
824 Fw::CmdArgBuffer& args
825 );
826
827 PRIVATE:
828
829 // ----------------------------------------------------------------------
830 // Calls for messages received on typed input ports
831 // ----------------------------------------------------------------------
832
834 static void m_p_bufferSendIn_in(
835 Fw::PassiveComponentBase* callComp,
836 FwIndexType portNum,
837 Fw::Buffer& fwBuffer
838 );
839
841 static void m_p_schedIn_in(
842 Fw::PassiveComponentBase* callComp,
843 FwIndexType portNum,
844 U32 context
845 );
846
847 PRIVATE:
848
849 // ----------------------------------------------------------------------
850 // Special input ports
851 // ----------------------------------------------------------------------
852
854 Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
855
856 PRIVATE:
857
858 // ----------------------------------------------------------------------
859 // Typed input ports
860 // ----------------------------------------------------------------------
861
864
866 Svc::InputSchedPort m_schedIn_InputPort[NUM_SCHEDIN_INPUT_PORTS];
867
868 PRIVATE:
869
870 // ----------------------------------------------------------------------
871 // Special output ports
872 // ----------------------------------------------------------------------
873
875 Fw::OutputCmdRegPort m_cmdRegIn_OutputPort[NUM_CMDREGIN_OUTPUT_PORTS];
876
879
881 Fw::OutputLogPort m_eventOut_OutputPort[NUM_EVENTOUT_OUTPUT_PORTS];
882
883#if FW_ENABLE_TEXT_LOGGING == 1
884
886 Fw::OutputLogTextPort m_textEventOut_OutputPort[NUM_TEXTEVENTOUT_OUTPUT_PORTS];
887
888#endif
889
891 Fw::OutputTimePort m_timeGetOut_OutputPort[NUM_TIMEGETOUT_OUTPUT_PORTS];
892
894 Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
895
896 PRIVATE:
897
898 // ----------------------------------------------------------------------
899 // Typed output ports
900 // ----------------------------------------------------------------------
901
903 Fw::OutputBufferSendPort m_deallocBufferSendOut_OutputPort[NUM_DEALLOCBUFFERSENDOUT_OUTPUT_PORTS];
904
907
909 Fw::OutputBufferSendPort m_procBufferSendOut_OutputPort[NUM_PROCBUFFERSENDOUT_OUTPUT_PORTS];
910
911 PRIVATE:
912
913 // ----------------------------------------------------------------------
914 // Counter values for event throttling
915 // ----------------------------------------------------------------------
916
918 FwIndexType m_InvalidBufferThrottle;
919
921 FwIndexType m_BufferTooSmallForPacketThrottle;
922
924 FwIndexType m_InvalidHeaderHashThrottle;
925
927 FwIndexType m_InvalidHeaderThrottle;
928
930 FwIndexType m_BufferTooSmallForDataThrottle;
931
933 FwIndexType m_FileOpenErrorThrottle;
934
936 FwIndexType m_FileWriteErrorThrottle;
937
938 PRIVATE:
939
940 // ----------------------------------------------------------------------
941 // First update flags for telemetry channels
942 // ----------------------------------------------------------------------
943
945 bool m_first_update_NumBuffersReceived;
946
948 bool m_first_update_NumBytesWritten;
949
951 bool m_first_update_NumSuccessfulWrites;
952
954 bool m_first_update_NumFailedWrites;
955
957 bool m_first_update_NumErrors;
958
959 PRIVATE:
960
961 // ----------------------------------------------------------------------
962 // Last value storage for telemetry channels
963 // ----------------------------------------------------------------------
964
966 U32 m_last_NumBuffersReceived;
967
969 U64 m_last_NumBytesWritten;
970
972 U32 m_last_NumSuccessfulWrites;
973
975 U32 m_last_NumFailedWrites;
976
978 U32 m_last_NumErrors;
979
980 };
981
982}
983
984#endif
I32 FwEnumStoreType
Definition FpConfig.h:64
U32 FwDpPriorityType
Definition FpConfig.h:119
U32 FwOpcodeType
Definition FpConfig.h:91
PlatformSizeType FwSizeType
Definition FpConfig.h:35
PlatformIndexType FwIndexType
Definition FpConfig.h:25
C++-compatible configuration header for fprime configuration.
Enum representing a command response.
void init()
Object initializer.
Definition ObjBase.cpp:27
Auto-generated base for DpWriter component.
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum)
void deallocBufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port deallocBufferSendOut.
void log_WARNING_HI_BufferTooSmallForData(U32 bufferSize, U32 minSize)
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIndexType getNum_bufferSendIn_InputPorts() const
void log_ACTIVITY_LO_FileWritten(U32 bytes, const Fw::StringBase &file) const
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
void dpWrittenOut_out(FwIndexType portNum, const Fw::StringBase &fileName, FwDpPriorityType priority, FwSizeType size)
Invoke output port dpWrittenOut.
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
virtual void bufferSendIn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
void log_WARNING_HI_InvalidHeader_ThrottleClear()
Reset throttle value for InvalidHeader.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
friend class DpWriterComponentBaseFriend
Friend class for white-box testing.
void log_WARNING_HI_FileOpenError(U32 status, const Fw::StringBase &file)
void log_WARNING_HI_FileWriteError(U32 status, U32 bytesWritten, U32 bytesToWrite, const Fw::StringBase &file)
void log_WARNING_HI_InvalidBuffer_ThrottleClear()
Reset throttle value for InvalidBuffer.
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
bool isConnected_deallocBufferSendOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_deallocBufferSendOut_OutputPorts() const
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void tlmWrite_NumSuccessfulWrites(U32 arg, Fw::Time _tlmTime=Fw::Time())
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
bool isConnected_procBufferSendOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_BufferTooSmallForPacket_ThrottleClear()
Reset throttle value for BufferTooSmallForPacket.
FwIndexType getNum_cmdRegIn_OutputPorts() const
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
@ EVENTID_INVALIDHEADER
Error occurred when deserializing the packet header.
@ EVENTID_INVALIDBUFFER
Received buffer is invalid.
@ EVENTID_BUFFERTOOSMALLFORDATA
Received buffer is too small to hold the data specified in the header.
@ EVENTID_BUFFERTOOSMALLFORPACKET
Received buffer is too small to hold a data product packet.
@ EVENTID_INVALIDHEADERHASH
The received buffer has an invalid header hash.
@ EVENTID_FILEWRITEERROR
An error occurred when writing to a file.
@ EVENTID_FILEOPENERROR
An error occurred when opening a file.
void log_WARNING_HI_InvalidHeaderHash_ThrottleClear()
Reset throttle value for InvalidHeaderHash.
void log_WARNING_HI_FileWriteError_ThrottleClear()
Reset throttle value for FileWriteError.
FwIndexType getNum_tlmOut_OutputPorts() const
FwIndexType getNum_procBufferSendOut_OutputPorts() const
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
void tlmWrite_NumBuffersReceived(U32 arg, Fw::Time _tlmTime=Fw::Time())
@ CHANNELID_NUMBUFFERSRECEIVED
Channel ID for NumBuffersReceived.
@ CHANNELID_NUMBYTESWRITTEN
Channel ID for NumBytesWritten.
@ CHANNELID_NUMSUCCESSFULWRITES
Channel ID for NumSuccessfulWrites.
@ CHANNELID_NUMERRORS
Channel ID for NumErrors.
@ CHANNELID_NUMFAILEDWRITES
Channel ID for NumFailedWrites.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
void procBufferSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port procBufferSendOut.
void regCommands()
Register commands with the Command Dispatcher.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void set_deallocBufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to deallocBufferSendOut[portNum].
void tlmWrite_NumBytesWritten(U64 arg, Fw::Time _tlmTime=Fw::Time())
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void set_dpWrittenOut_OutputPort(FwIndexType portNum, Svc::InputDpWrittenPort *port)
Connect port to dpWrittenOut[portNum].
void set_procBufferSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to procBufferSendOut[portNum].
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
void log_WARNING_HI_BufferTooSmallForPacket(U32 bufferSize, U32 minSize)
void log_WARNING_HI_InvalidHeader(U32 bufferSize, U32 errorCode)
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
FwIndexType getNum_schedIn_InputPorts() const
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
@ EVENTID_INVALIDHEADER_THROTTLE
Throttle reset count for InvalidHeader.
@ EVENTID_INVALIDHEADERHASH_THROTTLE
Throttle reset count for InvalidHeaderHash.
@ EVENTID_FILEWRITEERROR_THROTTLE
Throttle reset count for FileWriteError.
@ EVENTID_BUFFERTOOSMALLFORDATA_THROTTLE
Throttle reset count for BufferTooSmallForData.
@ EVENTID_FILEOPENERROR_THROTTLE
Throttle reset count for FileOpenError.
@ EVENTID_INVALIDBUFFER_THROTTLE
Throttle reset count for InvalidBuffer.
@ EVENTID_BUFFERTOOSMALLFORPACKET_THROTTLE
Throttle reset count for BufferTooSmallForPacket.
FwIndexType getNum_timeGetOut_OutputPorts() const
bool isConnected_dpWrittenOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_dpWrittenOut_OutputPorts() const
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
void log_WARNING_HI_FileOpenError_ThrottleClear()
Reset throttle value for FileOpenError.
FwIndexType getNum_cmdIn_InputPorts() const
void tlmWrite_NumErrors(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
virtual ~DpWriterComponentBase()
Destroy DpWriterComponentBase object.
void tlmWrite_NumFailedWrites(U32 arg, Fw::Time _tlmTime=Fw::Time())
FwIndexType getNum_eventOut_OutputPorts() const
void log_WARNING_HI_BufferTooSmallForData_ThrottleClear()
Reset throttle value for BufferTooSmallForData.
@ OPCODE_CLEAR_EVENT_THROTTLE
Clear event throttling.
void log_WARNING_HI_InvalidHeaderHash(U32 bufferSize, U32 storedHash, U32 computedHash)
#define U64(C)
Definition sha.h:176