Init basesystem source codes.
[staging/basesystem.git] / video_in_hal / stub / diag_record / library_dummy_drec / include / stub / MM_DREC_API.h
1 /*
2  * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /////////////////////////////////////////////////////////////////////////////
18 /// \file MM_DREC_API.h
19 /////////////////////////////////////////////////////////////////////////////
20
21 /*****************************************************************************
22  * @file    MM_DREC_API.h
23  * @brief   MM diag recorder function API definition
24 *****************************************************************************/
25
26
27 /*****************************************************************************
28  * ---------------
29  * -  Die-Record Function API Operation  -
30  * ---------------
31  *
32  * $$ Notes on Creation and Release $$
33  *   - Submit and request the created headers and dummy libs (empty functions defined only for I/F)
34  *     from DiagService to BaseSystem and build them from BaseSystem.
35  *
36  *   - The created regular Lib (not dummy Lib) is built from DiagService.
37  *
38  *     -> Since this API is also used in BaseSystem, the API must be inserted
39  *        from the BaseSystem build to avoid errors in JointBuild.
40  *
41  * $$ Notes on change $$
42  *   - When modifying a header without changing the I/F, submit and request only the header to the BaseSystem.
43  *
44  *   - Submit header and source code for dummy Lib when the header is modified due to an I/F change.
45  *
46  *   - When the legitimate lib is changed without changing headers and I/F, no need to submit or request to BaseSystem.
47  *
48  *****************************************************************************/
49
50 #if !defined( __MM_DREC_API_H__ )
51 #define __MM_DREC_API_H__
52
53 #include <native_service/frameworkunified_framework_if.h>
54 #include <stub/PFDREC_API.h>
55
56 #ifdef __cplusplus
57 extern "C" {
58 #endif  // __cplusplus
59
60 /***********************************************************
61     Macro Functions
62 ***********************************************************/
63 #define ENDIAN16(val)   \
64   (((val << 8) & 0xFF00) | ((val >> 8) & 0x00FF))  //!< \~english ENDIAN conversion(16bit)
65
66 #define ENDIAN32(val)   \
67   ((val << 24) & 0xFF000000) | ((val << 8) & 0x00FF0000) | ((val >> 8) & 0x0000FF00) | ((val >> 24) & 0x000000FF)  //!< \~english ENDIAN conversion(32bit)
68
69 /***********************************************************
70     Data Frame/Size Definition
71 ***********************************************************/
72
73 /***********************************************************
74     Data Frame Related/Structure (Common)
75 ***********************************************************/
76 /**
77  * \~english ACC OFF information
78  */
79 typedef struct {
80   /*
81    *  Note.
82    *  This feature needs to be defined by the vendor.
83    */
84 } T_DREC_ACC;
85
86 /**
87  * \~english GPS time information
88  */
89 typedef struct {
90   /*
91    *  Note.
92    *  This feature needs to be defined by the vendor.
93    */
94 } T_DREC_GPS;
95
96 /**
97  * \~english Frame for searching recording stop and start
98  */
99 typedef struct {
100   /*
101    *  Note.
102    *  This feature needs to be defined by the vendor.
103    */
104 } T_DREC_REC;
105
106 /**
107  * \~english Common data frame
108  */
109 typedef struct {
110   /*
111    *  Note.
112    *  This feature needs to be defined by the vendor.
113    */
114 } T_DREC_COMMON_DATAFRAME;
115
116 /***********************************************************
117     Data Frame/Structure Definition
118 ***********************************************************/
119
120 /**
121  * \~english Power trace data frame
122  */
123 typedef struct {
124   /*
125    *  Note.
126    *  This feature needs to be defined by the vendor.
127    */
128 } T_DREC_TRCPWR;
129
130 /**
131  * \~english Power trace data frame_system time attached
132  */
133 typedef struct {
134   /*
135    *  Note.
136    *  This feature needs to be defined by the vendor.
137    */
138 } T_DREC_TRCPWR_WITHSYSTIME;
139
140 /**
141  * \~english Mode control/vehicle signal trace (mode control)
142  */
143 typedef struct {
144   /*
145    *  Note.
146    *  This feature needs to be defined by the vendor.
147    */
148 } T_DREC_TRCMODE;
149
150 /**
151  * \~english Mode control/vehicle signal trace (vehicle signal)
152  */
153 typedef struct {
154   /*
155    *  Note.
156    *  This feature needs to be defined by the vendor.
157    */
158 } T_DREC_TRCVEHICLESIGNAL;
159
160 /**
161  * \~english Key trace
162  */
163 typedef struct {
164   /*
165    *  Note.
166    *  This feature needs to be defined by the vendor.
167    */
168 } T_DREC_TRCKEY;
169
170 /**
171  * \~english Key trace (key information for 23byte)
172  */
173 typedef struct {
174   /*
175    *  Note.
176    *  This feature needs to be defined by the vendor.
177    */
178 } T_DREC_TRCKEY_EXP;
179
180 /**
181  * \~english Key trace(voice operation)
182  */
183 typedef struct _T_DREC_TRCKEY_VOICE {
184   /*
185    *  Note.
186    *  This feature needs to be defined by the vendor.
187    */
188 } T_DREC_TRCKEY_VOICE;
189
190 /**
191  * \~english Error trace
192  */
193 typedef struct {
194   /*
195    *  Note.
196    *  This feature needs to be defined by the vendor.
197    */
198 } T_DREC_TRCERR;
199
200 /**
201  * \~english CAN communication trace
202  */
203 typedef struct {
204   /*
205    *  Note.
206    *  This feature needs to be defined by the vendor.
207    */
208 } T_DREC_TRCCAN;
209
210 /**
211  * \~english AW Trace data (trace output of the own car position difference/ Monitoring trace log output of the distributed application PF/ Usage trace log output of the distributed application PF/ Trace output of DSRC/ETC communication)
212  */
213 typedef struct {
214   /*
215    *  Note.
216    *  This feature needs to be defined by the vendor.
217    */
218 } T_DREC_TRCAWDATA;
219
220 /**
221  * \~english Bluetooth trace
222  */
223 typedef struct {
224   /*
225    *  Note.
226    *  This feature needs to be defined by the vendor.
227    */
228 } T_DREC_TRCBTCONNECT;
229
230 /**
231  * \~english Bluetooth trace
232  */
233 typedef struct _T_DREC_TRCBTINTERNAL {
234   /*
235    *  Note.
236    *  This feature needs to be defined by the vendor.
237    */
238 } T_DREC_TRCBTINTERNAL;
239
240 /**
241  * \~english Bluetooth trace
242  */
243 typedef struct _T_DREC_TRCBT {
244   /*
245    *  Note.
246    *  This feature needs to be defined by the vendor.
247    */
248 } T_DREC_TRCBT;
249
250 /**
251  * \~english SSID information
252  */
253 typedef struct _T_DREC_TRCWIFI_SSID_INFO {
254   /*
255    *  Note.
256    *  This feature needs to be defined by the vendor.
257    */
258 } T_DREC_TRCWIFI_SSID_INFO;
259
260 /**
261  * \~english WiFi trace
262  */
263 typedef struct _T_DREC_TRCWIFI {
264   /*
265    *  Note.
266    *  This feature needs to be defined by the vendor.
267    */
268 } T_DREC_TRCWIFI;
269
270 /**
271  * \~english Trace data of the version information
272  */
273 typedef struct {
274   /*
275    *  Note.
276    *  This feature needs to be defined by the vendor.
277    */
278 } T_DREC_TRCVERSION;
279
280 /**
281  * \~english Trace of the radio wave receipt
282  */
283 typedef struct {
284   /*
285    *  Note.
286    *  This feature needs to be defined by the vendor.
287    */
288 } T_DREC_TRCWAVE;
289
290 /**
291  * \~english GPS information
292  */
293 typedef struct {
294   /*
295    *  Note.
296    *  This feature needs to be defined by the vendor.
297    */
298 } T_DREC_TRCGPS;
299
300 /**
301  * \~english ETC watch log trace
302  */
303 typedef struct _T_DREC_TRCETCWATCH {
304   /*
305    *  Note.
306    *  This feature needs to be defined by the vendor.
307    */
308 } T_DREC_TRCETCWATCH;
309
310 /**
311  * \~english ROB log trace
312  */
313 typedef struct _T_DREC_TRCROB {
314   /*
315    *  Note.
316    *  This feature needs to be defined by the vendor.
317    */
318 } T_DREC_TRCROB;
319
320 /**
321  * \~english Optical beacon down-link information trace
322  */
323 typedef struct _T_DREC_TRCOPTBEACON_DOWN_LINK {
324   /*
325    *  Note.
326    *  This feature needs to be defined by the vendor.
327    */
328 } T_DREC_TRCOPTBEACON_DOWN_LINK;
329
330 /**
331  * \~english Optical beacon up-link information trace
332  */
333 typedef struct _T_DREC_TRCOPTBEACON_UP_LINK {
334   /*
335    *  Note.
336    *  This feature needs to be defined by the vendor.
337    */
338 } T_DREC_TRCOPTBEACON_UP_LINK;
339
340 /***********************************************************
341     Enumeration definitions
342 ***********************************************************/
343
344 /**
345  * \~english Diag record API return value
346  */
347 typedef enum {
348   RET_DREC_NORMAL = 0,  //!< \~english Normal end
349   RET_DREC_ERROR,      //!< \~english Abnormal end
350   RET_DREC_ERR_ARGUMENTS,  //!< \~english Incorrect argument
351 } RET_DREC_API;
352
353 /**
354  * \~english Diag record ACC state
355  */
356 typedef enum {
357   E_DREC_ACC_OFF = 0,    //!< \~english ACC OFF
358   E_DREC_ACC_ON,      //!< \~english ACC ON
359 } E_DREC_ACC;
360
361 /**
362  * \~english Diag recording function state
363  */
364 typedef enum {
365   E_DREC_REC_OFF = 0,      //!< \~english Recording stop
366   E_DREC_REC_ON        //!< \~english Recording start
367 } E_DREC_REC;
368
369 /**
370  * \~english Maker peculiarity trace output state
371  */
372 typedef enum {
373   DREC_OUTPUT_STATE_START = 1,  //!< \~english Output start
374   DREC_OUTPUT_STATE_END,  //!< \~english Output end
375 } DREC_OUTPUT_STATE;
376
377 /**
378  * \~english Maker peculiarity trace output result
379  */
380 typedef enum {
381   DREC_OUTPUT_NOTIFY_OK = 0,  //!< \~english OK
382   DREC_OUTPUT_NOTIFY_NG,  //!< \~english NG
383 } DREC_OUTPUT_RESULT;
384
385 /**
386  * \~english Maker peculiarity trace function state
387  */
388 typedef enum {
389   DREC_OUTPUT_FUNC_ON = 0,  //!< \~english Function ON
390   DREC_OUTPUT_FUNC_OFF,  //!< \~english Function OFF
391 } DREC_OUTPUT_FUNC;
392
393 /**
394  * \~english Maker peculiarity trace notification restrict
395  */
396 typedef enum {
397   DREC_NOTIFY_RESTRICT_API,  //!< \~english restrict API
398   DREC_NOTIFY_RESTRICT_CAN,  //!< \~english restrict CAN
399   DREC_NOTIFY_RESTRICT_NONE,  //!< \~english non-restrict
400 } DREC_NOTIFY_RESTRICT;
401
402 /***********************************************************
403     Constant
404 ***********************************************************/
405 #define  DREC_COM_GPS_ID_CORD                0xF0  //!< \~english GPS time information identification code
406 #define DREC_COM_RECORD_STOP                0xF1  //!< \~english Recording stop
407 #define DREC_COM_RECORD_START                0xF2  //!< \~english Recording start
408
409 /***********************************************************
410     API
411 ***********************************************************/
412 /** @addtogroup ApplicationManagement
413  *  @{
414  */
415 /** @addtogroup Vehicle
416  *  @ingroup ApplicationManagement
417  *  @{
418  */
419 /** @addtogroup Diag
420  *  @ingroup Vehicle
421  *  @{
422  */
423 /** @addtogroup Diag_DrecOperate
424  *  @ingroup Diag
425  *  @{
426  */
427 /////////////////////////////////////////////////////////////////////////////////////
428 /// \ingroup DREC_ChangeRecording
429 /// \~english @par Brief
430 /// Instruct the record function start/stop and write the start/stop information.
431 /// \~english @param [in] state
432 ///   \ref E_DREC_REC - Function start/stop state
433 /// \~english @par
434 ///   - Set either in the following "Diag recording function states" for the argument (state) (Function start/stop state)
435 /// \~english @code
436 ///       Diag recording function states
437 ///       E_DREC_REC_OFF     : Recording stop
438 ///       E_DREC_REC_ON      : Recording start
439 ///            @endcode
440 /// \~english @retval RET_DREC_NORMAL Normal end
441 /// \~english @par Prerequisite
442 ///   - \ref PFDREC_OpenSession must be called prior to calling this API.
443 /// \~english @par Change of internal state
444 ///   - The internal state is not changed.
445 /// \~english @par Conditions of processing failure
446 ///   - None
447 /// \~english @par Classification
448 ///   Public
449 /// \~english @par Type
450 ///   Sync only(None communication)
451 /// \~english @par Detail
452 ///   The log output of Diag Record is output in the following format by calling this API.\n
453 /// \n
454 /// < Function ON >\n
455 /// Record "Recording start information" in each trace data. Notify the function start of the recording function to BaseSystem.\n
456 /// Register GPS time information from Diag service by \ref DREC_WriteTrcGPS.\n
457 /// \n
458 /// < Function OFF >\n
459 /// Record "Recording stop information" in each trace data. Notify the function stop of the recording function to BaseSystem.\n
460 /// \~english @par
461 /// - include MM_DREC_API.h
462 /// - Library libMM_DREC_API.so
463 /// \~english @see None
464 ////////////////////////////////////////////////////////////////////////////////////
465 extern RET_DREC_API DREC_ChangeRecording(E_DREC_REC state);
466
467 /////////////////////////////////////////////////////////////////////////////////////
468 /// \ingroup DREC_AccOffOn
469 /// \~english @par Brief
470 ///   Write ACCOFF time information to the memory at ACC OFF.
471 /// \~english @param [in] state
472 ///   \ref E_DREC_ACC - ACCOFFON (reset) state
473 /// \~english @par
474 ///   - Set either in the following "Diag record ACC state" for the argument (state) (ACCOFFON (reset) state)
475 /// \~english @code
476 ///       Diag record ACC state
477 ///       E_DREC_ACC_OFF    : ACC OFF
478 ///       E_DREC_ACC_ON     : ACC ON
479 ///            @endcode
480 /// \~english @retval RET_DREC_NORMAL Normal end
481 /// \~english @par Prerequisite
482 /// - This API must be called only when Availability of PFDRECThread is TRUE.
483 /// \~english @par Change of internal state
484 ///   - The internal state is not changed.
485 /// \~english @par Conditions of processing failure
486 ///   - None
487 /// \~english @par Classification
488 ///   Public
489 /// \~english @par Type
490 ///   Sync only(None communication)
491 /// \~english @par Detail
492 /// Wrapper executes the following processes by calling this API. \n
493 /// This API must be called when this Diag service detects FrameworkunifiedOnStop. (Called only by the service having Diag recorder function.) \n
494 /// Wrapper writes ACCOFF information in each trace file. \n
495 /// Wrapper writes #power OFF state by the power trace output based on the notification from SYS. \n
496 /// Wrapper writes GPS time at Function OFF and at ACCOFF (reset) in preparation for a case that GPS time information cannot be acquired at the start up. \n
497 /// Wrapper does not reaquire GPS time if valid GPS time cannot be acquired at the startup. \n
498 /// \~english @par
499 /// - include MM_DREC_API.h
500 /// - Library libMM_DREC_API.so
501 /// \~english @see None
502 ////////////////////////////////////////////////////////////////////////////////////
503 extern RET_DREC_API DREC_AccOffOn(E_DREC_ACC state);
504 /** @}*/  // end of Diag_DrecOperate
505 /** @addtogroup Diag_DrecWriteTrc
506  *  @ingroup Diag
507  *  @{
508  */
509 /////////////////////////////////////////////////////////////////////////////////////
510 /// \ingroup DREC_WriteTrcPwr
511 /// \~english @par Brief
512 ///     Write the power trace output information to the memory.
513 /// \~english @param [in] data
514 ///     \ref T_DREC_TRCPWR* - Pointer to the power trace data
515 /// \~english @param [in] num
516 ///     u_int32_t - Number of written frames (1 to 100)
517 /// \~english @retval RET_DREC_NORMAL Normal end
518 /// \~english @retval RET_DREC_ERROR Abnormal end
519 /// \~english @par Prerequisite
520 /// - This API must be called only when Availability of PFDRECThread is TRUE.
521 /// \~english @par Change of internal state
522 ///   - The internal state is not changed.
523 /// \~english @par Conditions of processing failure
524 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
525 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
526 /// \~english @par Classification
527 ///   Public
528 /// \~english @par Type
529 ///   Sync only(None communication)
530 /// \~english @par Detail
531 ///   Write the power trace output information to the memory.
532 /// \~english @par
533 /// - include MM_DREC_API.h
534 /// - Library libMM_DREC_API.so
535 /// \~english @see None
536 ////////////////////////////////////////////////////////////////////////////////////
537 extern RET_DREC_API DREC_WriteTrcPwr(T_DREC_TRCPWR* data, u_int32_t num);
538
539 /////////////////////////////////////////////////////////////////////////////////////
540 /// \ingroup DREC_WriteTrcPwr_Tick
541 /// \~english @par Brief
542 ///     Write the power trace output information to the memory (tick specification exists).
543 /// \~english @param [in] data
544 ///     \ref T_DREC_TRCPWR_WITHSYSTIME* - Pointer to the power trace data (with the system time)
545 /// \~english @param [in] num
546 ///     u_int32_t - Number of written frames (1 to 100)
547 /// \~english @param [in] tick
548 ///     u_int32_t - TICK value of the current SYS internal
549 /// \~english @retval RET_DREC_NORMAL Normal end
550 /// \~english @retval RET_DREC_ERROR Abnormal end
551 /// \~english @par Prerequisite
552 /// - This API must be called only when Availability of PFDRECThread is TRUE.
553 /// \~english @par Change of internal state
554 ///     - The internal state is not changed.
555 /// \~english @par Conditions of processing failure
556 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
557 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
558 /// \~english @par Classification
559 ///     Public
560 /// \~english @par Type
561 ///     Sync only(None communication)
562 /// \~english @par Detail
563 ///     Write the power trace output information to the memory (tick specification exists).
564 /// \~english @par
565 /// - include MM_DREC_API.h
566 /// - Library libMM_DREC_API.so
567 /// \~english @see None
568 ////////////////////////////////////////////////////////////////////////////////////
569 extern RET_DREC_API DREC_WriteTrcPwr_Tick(T_DREC_TRCPWR_WITHSYSTIME* data,
570                                           u_int32_t num, u_int32_t tick);
571
572 /////////////////////////////////////////////////////////////////////////////////////
573 /// \ingroup DREC_WriteTrcMode
574 /// \~english @par Brief
575 ///   Write the mode control parts of the mode control/vehicle signal trace output information to the memory.
576 /// \~english @param [in] data
577 ///   \ref T_DREC_TRCMODE* - The pointer to mode management trace data
578 /// \~english @param [in] num
579 ///   u_int32_t - Number of written frames (1 to 100)
580 /// \~english @retval RET_DREC_NORMAL Normal end
581 /// \~english @retval RET_DREC_ERROR Abnormal end
582 /// \~english @par Prerequisite
583 /// - This API must be called only when Availability of PFDRECThread is TRUE.
584 /// \~english @par Change of internal state
585 ///   - The internal state is not changed.
586 /// \~english @par Conditions of processing failure
587 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
588 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
589 /// \~english @par Classification
590 ///   Public
591 /// \~english @par Type
592 ///   Sync only(None communication)
593 /// \~english @par Detail
594 ///   Write the mode control parts of the mode control/vehicle signal trace output information to the memory.\n
595 ///   The system time is gotten by wrapper library and added.\n
596 ///   This API adds the vehicle signal state fixed at 0xFF.\n
597 /// \~english @par
598 /// - include MM_DREC_API.h
599 /// - Library libMM_DREC_API.so
600 /// \~english @see
601 ///   None
602 ////////////////////////////////////////////////////////////////////////////////////
603 extern RET_DREC_API DREC_WriteTrcMode(T_DREC_TRCMODE* data, u_int32_t num);
604
605 /////////////////////////////////////////////////////////////////////////////////////
606 /// \ingroup DREC_WriteTrcVehicleSignal
607 /// \~english @par Brief
608 ///   Write the vehicle signal parts of the mode control/vehicle signal trace output information to the memory.
609 /// \~english @param [in] data
610 /// \ref T_DREC_TRCVEHICLESIGNAL* - Pointer to the vehicle signal trace data
611 /// \~english @param [in] num
612 /// u_int32_t - Number of written frames (1 to 100)
613 /// \~english @retval RET_DREC_NORMAL Normal end
614 /// \~english @retval RET_DREC_ERROR Abnormal end
615 /// \~english @par Prerequisite
616 /// - This API must be called only when Availability of PFDRECThread is TRUE.
617 /// \~english @par Change of internal state
618 ///   - The internal state is not changed.
619 /// \~english @par Conditions of processing failure
620 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
621 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
622 /// \~english @par Classification
623 ///   Public
624 /// \~english @par Type
625 ///   Sync only(None communication)
626 /// \~english @par Detail
627 ///   Write the vehicle signal parts of the mode control/vehicle signal trace output information to the memory.\n
628 /// \~english @par
629 /// - include MM_DREC_API.h
630 /// - Library libMM_DREC_API.so
631 /// \~english @see None
632 ////////////////////////////////////////////////////////////////////////////////////
633 extern RET_DREC_API DREC_WriteTrcVehicleSignal(T_DREC_TRCVEHICLESIGNAL* data,
634                                                u_int32_t num);
635
636 /////////////////////////////////////////////////////////////////////////////////////
637 /// \ingroup DREC_WriteTrcKey
638 /// \~english @par Brief
639 ///   Write the key trace output information to the memory (for 11byte key information).
640 /// \~english @param [in] data
641 ///   \ref T_DREC_TRCKEY* - The pointer to key trace data (Key information for 11 bytes)
642 /// \~english @param [in] num
643 ///   u_int32_t - Number of written frames (1 to 100)
644 /// \~english @retval RET_DREC_NORMAL Normal end
645 /// \~english @retval RET_DREC_ERROR Abnormal end
646 /// \~english @par Prerequisite
647 /// - This API must be called only when Availability of PFDRECThread is TRUE.
648 /// \~english @par Change of internal state
649 ///   - The internal state is not changed.
650 /// \~english @par Conditions of processing failure
651 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
652 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
653 /// \~english @par Classification
654 ///   Public
655 /// \~english @par Type
656 ///   Sync only(None communication)
657 /// \~english @par Detail
658 ///   Write the key trace output information to the memory (for 11byte key information).\n
659 ///   (The caller uses only when size of the key information is 11 bytes. For data which it is 27 bytes, the caller uses \ref DREC_WriteTrcKey_Exp .)\n
660 /// \~english @par
661 /// - include MM_DREC_API.h
662 /// - Library libMM_DREC_API.so
663 /// \~english @see
664 ///   None
665 ////////////////////////////////////////////////////////////////////////////////////
666
667 /////////////////////////////////////////////////////////////////////////////////////
668 /// \ingroup DREC_WriteTrcKey_Exp
669 /// \~english @par Brief
670 ///   Write the key trace output information to the memory (for 23byte key information).
671 /// \~english @param [in] data
672 ///   \ref T_DREC_TRCKEY_EXP* - The pointer to key trace data (Key information for 23 bytes)
673 /// \~english @param [in] num
674 ///   u_int32_t - Number of written frames (1 to 50)
675 /// \~english @retval RET_DREC_NORMAL Normal end
676 /// \~english @retval RET_DREC_ERROR Abnormal end
677 /// \~english @par Prerequisite
678 /// - This API must be called only when Availability of PFDRECThread is TRUE.
679 /// \~english @par Change of internal state
680 ///   - The internal state is not changed.
681 /// \~english @par Conditions of processing failure
682 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
683 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
684 /// \~english @par Classification
685 ///   Public
686 /// \~english @par Type
687 ///   Sync only(None communication)
688 /// \~english @par Detail
689 ///   Write the key trace output information to the memory (for 23byte key information).\n
690 ///   (For data which key information is 11 bytes, the caller uses \ref DREC_WriteTrcKey .)\n
691 /// \~english @par
692 /// - include MM_DREC_API.h
693 /// - Library libMM_DREC_API.so
694 /// \~english @see
695 ///   None
696 ////////////////////////////////////////////////////////////////////////////////////
697 extern RET_DREC_API DREC_WriteTrcKey_Exp(T_DREC_TRCKEY_EXP* data,
698                                          u_int32_t num);
699
700
701 /////////////////////////////////////////////////////////////////////////////////////
702 /// \ingroup DREC_WriteTrcKey_Voice
703 /// \~english @par Brief
704 ///     Write the voice trace output information to the memory(for voice operation).
705 /// \~english @param[in] data
706 ///     T_DREC_TRCKEY_VOICE* - The pointer to key trace data()
707 /// \~english @param[in] num
708 ///     u_int32_t - Number of written frames
709 /// \~english @par
710 ///     Number of written frames (1 to 50)
711 /// \~english @retval RET_DREC_NORMAL Normal end
712 /// \~english @retval RET_DREC_ERROR Abnormal end
713 /// \~english @par Prerequisite
714 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
715 /// \~english @par Change of internal state
716 ///      - The internal state is not changed.
717 /// \~english @par Conditions of processing failure
718 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
719 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
720 /// \~english @par Classification
721 ///     Public
722 /// \~english @par Type
723 ///     Sync only(None communication)
724 /// \~english @par Detail
725 ///     Write the voice trace output information to the memory(for voice operation).
726 /// \~english @par
727 ///      - include MM_DREC_API.h
728 ///      - Library libMM_DREC_API.so
729 /// \~english @see
730 ///     None
731 /////////////////////////////////////////////////////////////////////////////////////
732 extern RET_DREC_API DREC_WriteTrcKey_Voice(T_DREC_TRCKEY_VOICE* data,
733                                            u_int32_t num);
734
735 /////////////////////////////////////////////////////////////////////////////////////
736 /// \ingroup DREC_WriteTrcErr
737 /// \~english @par Brief
738 ///   Write the error trace output information to the memory.
739 /// \~english @param [in] data
740 ///   \ref T_DREC_TRCERR* - The pointer to error trace data
741 /// \~english @param [in] num
742 ///   u_int32_t - Number of written frames (1 to 100)
743 /// \~english @retval RET_DREC_NORMAL Normal end
744 /// \~english @retval RET_DREC_ERROR Abnormal end
745 /// \~english @par Prerequisite
746 /// - This API must be called only when Availability of PFDRECThread is TRUE.
747 /// \~english @par Change of internal state
748 ///   - The internal state is not changed.
749 /// \~english @par Conditions of processing failure
750 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
751 ///   - Sending asynchronous data (McSend) failed. [RET_DIAG_API_DCCC_ERROR]
752 /// \~english @par Classification
753 ///   Public
754 /// \~english @par Type
755 ///   Sync only(None communication)
756 /// \~english @par Detail
757 ///   Write the error trace output information to the memory.
758 /// \~english @par
759 /// - include MM_DREC_API.h
760 /// - Library libMM_DREC_API.so
761 /// \~english @see
762 ///   None
763 ////////////////////////////////////////////////////////////////////////////////////
764 extern RET_DREC_API DREC_WriteTrcErr(T_DREC_TRCERR* data, u_int32_t num);
765
766
767 /////////////////////////////////////////////////////////////////////////////////////
768 /// \ingroup DREC_WriteTrcCan
769 /// \~english @par Brief
770 ///   Write CAN communication trace output information to the memory.
771 /// \~english @param [in] data
772 /// \ref T_DREC_TRCCAN* - Pointer to CAN communication trace data
773 /// \~english @param [in] num
774 /// u_int32_t - Number of written frames (1 to 100)
775 /// \~english @param [in] tick
776 /// u_int32_t - TICK value of the current SYS internal
777 /// \~english @retval RET_DREC_NORMAL Normal end
778 /// \~english @retval RET_DREC_ERROR Abnormal end
779 /// \~english @par Prerequisite
780 /// - This API must be called only when Availability of PFDRECThread is TRUE.
781 /// \~english @par Change of internal state
782 ///   - The internal state is not changed.
783 /// \~english @par Conditions of processing failure
784 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
785 ///   - Sending asynchronous data (McSend) failed. [RET_DIAG_API_DCCC_ERROR]
786 /// \~english @par Classification
787 ///   Public
788 /// \~english @par Type
789 ///   Sync only(None communication)
790 /// \~english @par Detail
791 ///   Write CAN communication trace output information to the memory.\n
792 /// \~english @par
793 /// - include MM_DREC_API.h
794 /// - Library libMM_DREC_API.so
795 /// \~english @see None
796 ////////////////////////////////////////////////////////////////////////////////////
797 extern RET_DREC_API DREC_WriteTrcCan(T_DREC_TRCCAN* data, u_int32_t num,
798                                      u_int32_t tick);
799
800 /////////////////////////////////////////////////////////////////////////////////////
801 /// \ingroup DREC_WriteTrcDeliveryPFWatchLog
802 /// \~english @par Brief
803 ///   Write the monitoring trace log output information of the distributed application PF to the memory.
804 /// \~english @param [in] data
805 ///   \ref T_DREC_TRCAWDATA* - The pointer to monitoring log data of the distribution application PF
806 /// \~english @retval RET_DREC_NORMAL Normal end
807 /// \~english @retval RET_DREC_ERROR Abnormal end
808 /// \~english @par Prerequisite
809 /// - This API must be called only when Availability of PFDRECThread is TRUE.
810 /// \~english @par Change of internal state
811 ///   - The internal state is not changed.
812 /// \~english @par Conditions of processing failure
813 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
814 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
815 /// \~english @par Classification
816 ///   Public
817 /// \~english @par Type
818 ///   Sync only(None communication)
819 /// \~english @par Detail
820 ///   Write the monitoring trace log output information of the distributed application PF to the memory.\n
821 ///   The library side adds the system time. The caller must call for each segment of data.\n
822 ///   The library side adds the system time to the beginning of the data and ALL 0 to from the head of the remaining data to 3 bytes.\n
823 ///   This API adds the system time to the beginning with a single call and regarding data exceeding one frame, divides and registers it.\n
824 ///   The caller must not call some headers and data record parts together. (Because system time can not be added for each section.)\n
825 /// \~english @par
826 /// - include MM_DREC_API.h
827 /// - Library libMM_DREC_API.so
828 /// \~english @see
829 ///   None
830 ////////////////////////////////////////////////////////////////////////////////////
831 extern RET_DREC_API DREC_WriteTrcDeliveryPFWatchLog(T_DREC_TRCAWDATA* data);
832
833
834 /////////////////////////////////////////////////////////////////////////////////////
835 /// \ingroup DREC_WriteTrcDeliveryPFUseLog
836 /// \~english @par Brief
837 ///   Write the usage trace log output information of the distributed application PF to the memory.
838 /// \~english @param [in] data
839 ///   \ref T_DREC_TRCAWDATA* - The pointer to usage log data of the distribution application PF
840 /// \~english @retval RET_DREC_NORMAL Normal end
841 /// \~english @retval RET_DREC_ERROR Abnormal end
842 /// \~english @par Prerequisite
843 /// - This API must be called only when Availability of PFDRECThread is TRUE.
844 /// \~english @par Change of internal state
845 ///   - The internal state is not changed.
846 /// \~english @par Conditions of processing failure
847 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
848 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
849 /// \~english @par Classification
850 ///   Public
851 /// \~english @par Type
852 ///   Sync only(None communication)
853 /// \~english @par Detail
854 ///   Write the usage trace log output information of the distributed application PF to the memory.\n
855 ///   The library side adds the system time. The caller must call for each segment of data.\n
856 ///   The library side adds the system time to the beginning of the data and ALL 0 to from the head of the remaining data to 3 bytes.\n
857 ///   This API adds the system time to the beginning with a single call and regarding data exceeding one frame, divides and registers it.\n
858 ///   The caller must not call some headers and data record parts together. (Because system time can not be added for each section.)\n
859 /// \~english @par
860 /// - include MM_DREC_API.h
861 /// - Library libMM_DREC_API.so
862 /// \~english @see
863 ///   None
864 ////////////////////////////////////////////////////////////////////////////////////
865 extern RET_DREC_API DREC_WriteTrcDeliveryPFUseLog(T_DREC_TRCAWDATA* data);
866
867 /////////////////////////////////////////////////////////////////////////////////////
868 /// \ingroup DREC_WriteTrcBT
869 /// \~english @par Brief
870 ///     Write the trace output information of Bluetooth to the memory.
871 /// \~english @param[in] data
872 ///     T_DREC_TRCBT* - The pointer to write data
873 /// \~english @param[in] num
874 ///     u_int32_t - Number of written frames
875 /// \~english @retval RET_DREC_NORMAL Normal end
876 /// \~english @retval RET_DREC_ERROR Abnormal end
877 /// \~english @par Prerequisite
878 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
879 /// \~english @par Change of internal state
880 ///      - The internal state is not changed.
881 /// \~english @par Conditions of processing failure
882 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
883 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
884 /// \~english @par Classification
885 ///     Public
886 /// \~english @par Type
887 ///     Sync only(None communication)
888 /// \~english @par Detail
889 ///     Write the trace output information of Bluetooth to the memory.
890 /// \~english @par
891 ///      - include MM_DREC_API.h
892 ///      - Library libMM_DREC_API.so
893 /// \~english @see
894 ///     None
895 /////////////////////////////////////////////////////////////////////////////////////
896 extern RET_DREC_API DREC_WriteTrcBT(T_DREC_TRCBT* data, u_int32_t num);
897
898 /////////////////////////////////////////////////////////////////////////////////////
899 /// \ingroup DREC_WriteTrcBTInternal
900 /// \~english @par Brief
901 ///   (Only in the specific Supplier) Write the trace output information of Bluetooth internal to the memory.
902 /// \~english @param [in] data
903 ///   u_int8_t* - The pointer to write data
904 /// \~english @param [in] size
905 ///   u_int32_t - Data size (1 to 1200bytes)
906 /// \~english @retval RET_DREC_NORMAL Normal end
907 /// \~english @retval RET_DREC_ERROR Abnormal end
908 /// \~english @par Prerequisite
909 /// - This API must be called only when Availability of PFDRECThread is TRUE.
910 /// \~english @par Change of internal state
911 ///   - The internal state is not changed.
912 /// \~english @par Conditions of processing failure
913 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
914 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
915 /// \~english @par Classification
916 ///   Public
917 /// \~english @par Type
918 ///   Sync only(None communication)
919 /// \~english @par Detail
920 ///   This API is API for specific supplier.(TECHWG-443)\n
921 ///   Write the trace output information of Bluetooth internal to the memory.\n
922 ///   The log output of Diag Record is output in the following format.\n
923 ///   This API registers system time from Byte1 to 3.\n
924 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
925 ///   so that it does not overlap with that data.\n
926 ///   This API registers specified data after Byte5.\n
927 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
928 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
929 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
930 ///   This API adds the system time to the beginning with a single call.\n
931 ///   Regarding data exceeding one frame, this API divides and registers it.\n
932 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
933 ///   (The format is optional for the manufacturer.)
934 /// \~english @par
935 /// - include MM_DREC_API.h
936 /// - Library libMM_DREC_API.so
937 /// \~english @see
938 ///   None
939 ////////////////////////////////////////////////////////////////////////////////////
940 extern RET_DREC_API DREC_WriteTrcBTInternal(u_int8_t* data,
941                                             u_int32_t size);
942
943 /////////////////////////////////////////////////////////////////////////////////////
944 /// \ingroup DREC_WriteTrcWiFi
945 /// \~english @par Brief
946 ///     Write the trace output information of WiFi to the memory.
947 /// \~english @param[in] data
948 ///     T_DREC_TRCWIFI* - The pointer to write data
949 /// \~english @param[in] num
950 ///     u_int32_t - Number of written frames
951 /// \~english @retval RET_DREC_NORMAL Normal end
952 /// \~english @retval RET_DREC_ERROR Abnormal end
953 /// \~english @par Prerequisite
954 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
955 /// \~english @par Change of internal state
956 ///      - The internal state is not changed.
957 /// \~english @par Conditions of processing failure
958 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
959 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
960 /// \~english @par Classification
961 ///     Public
962 /// \~english @par Type
963 ///     Sync only(None communication)
964 /// \~english @par Detail
965 ///     Write the trace output information of WiFi to the memory.\n
966 ///     \ref T_DREC_TRCWIFI Structure\n
967 ///     Data frame format are different by setting value of WiFi setting state.\n
968 ///     WiFi Setting state( \ref T_DREC_TRCWIFI.processing )\n
969 ///      - Connection(0x00), Auto connection(0x01) and Disconnection(0x02) data format definition \ref notinitialdata used.\n
970 ///      - Creation Mode(0x03) and Deletion Mode((0x04)) data format definition \ref modedata used.\n
971 ///      - Initial is activation(0x10) format definition \ref initialdata used.
972 /// \~english @par
973 ///      - include MM_DREC_API.h
974 ///      - Library libMM_DREC_API.so
975 /// \~english @see
976 ///     None
977 /////////////////////////////////////////////////////////////////////////////////////
978 extern RET_DREC_API DREC_WriteTrcWiFi(T_DREC_TRCWIFI* data, u_int32_t num);
979
980
981 /////////////////////////////////////////////////////////////////////////////////////
982 /// \ingroup DREC_WriteTrcWiFiInternal
983 /// \~english @par Brief
984 ///   (Only in the specific Supplier) Write the trace output information of WiFi internal to the memory.
985 /// \~english @param [in] data
986 ///   u_int8_t* - The pointer to write data
987 /// \~english @param [in] size
988 ///   u_int32_t - Data size (1 to 1200bytes)
989 /// \~english @retval RET_DREC_NORMAL Normal end
990 /// \~english @retval RET_DREC_ERROR Abnormal end
991 /// \~english @par Prerequisite
992 /// - This API must be called only when Availability of PFDRECThread is TRUE.
993 /// \~english @par Change of internal state
994 ///   - The internal state is not changed.
995 /// \~english @par Conditions of processing failure
996 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
997 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
998 /// \~english @par Classification
999 ///   Public
1000 /// \~english @par Type
1001 ///   Sync only(None communication)
1002 /// \~english @par Detail
1003 ///   This API is API for specific supplier.(TECHWG-443)\n
1004 ///   Write the trace output information of WiFi internal to the memory.\n
1005 ///   The log output of Diag Record is output in the following format.\n
1006 ///   This API registers system time from Byte1 to 3.\n
1007 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1008 ///   so that it does not overlap with that data.\n
1009 ///   This API registers specified data after Byte5.\n
1010 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1011 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1012 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1013 ///   This API adds the system time to the beginning with a single call.\n
1014 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1015 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1016 ///   (The format is optional for the manufacturer.)
1017 /// \~english @par
1018 /// - include MM_DREC_API.h
1019 /// - Library libMM_DREC_API.so
1020 /// \~english @see
1021 ///   None
1022 ////////////////////////////////////////////////////////////////////////////////////
1023 extern RET_DREC_API DREC_WriteTrcWiFiInternal(u_int8_t* data, u_int32_t size);
1024
1025 /////////////////////////////////////////////////////////////////////////////////////
1026 /// \ingroup DREC_WriteTrcCenter
1027 /// \~english @par Brief
1028 ///   Write the trace output information of the communication with the center to the memory.
1029 /// \~english @param [in] data
1030 ///   u_int8_t* - The pointer to write data
1031 /// \~english @param [in] size
1032 ///   u_int32_t - Data size (1 to 1200bytes)
1033 /// \~english @retval RET_DREC_NORMAL Normal end
1034 /// \~english @retval RET_DREC_ERROR Abnormal end
1035 /// \~english @par Prerequisite
1036 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1037 /// \~english @par Change of internal state
1038 ///   - The internal state is not changed.
1039 /// \~english @par Conditions of processing failure
1040 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1041 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1042 /// \~english @par Classification
1043 ///   Public
1044 /// \~english @par Type
1045 ///   Sync only(None communication)
1046 /// \~english @par Detail
1047 ///   Write the trace output information of the communication with the center to the memory.\n
1048 ///   The log output of Diag Record is output in the following format.\n
1049 ///   This API registers system time from Byte1 to 3.\n
1050 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1051 ///   so that it does not overlap with that data.\n
1052 ///   This API registers specified data after Byte5.\n
1053 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1054 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1055 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1056 ///   This API adds the system time to the beginning with a single call.\n
1057 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1058 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1059 ///   (The format is optional for the manufacturer.)
1060 /// \~english @par
1061 /// - include MM_DREC_API.h
1062 /// - Library libMM_DREC_API.so
1063 /// \~english @see
1064 ///   None
1065 ////////////////////////////////////////////////////////////////////////////////////
1066 extern RET_DREC_API DREC_WriteTrcCenter(u_int8_t* data, u_int32_t size);
1067
1068 /////////////////////////////////////////////////////////////////////////////////////
1069 /// \ingroup DREC_WriteTrcVersion
1070 /// \~english @par Brief
1071 ///   Write the trace output information of the version information to the memory.
1072 /// \~english @param [in] data
1073 /// \ref T_DREC_TRCVERSION* - Pointer to the Trace data of the version information
1074 /// \~english @param [in] num
1075 /// u_int32_t - Number of written frames (1 to 25)
1076 /// \~english @retval RET_DREC_NORMAL Normal end
1077 /// \~english @retval RET_DREC_ERROR Abnormal end
1078 /// \~english @par Prerequisite
1079 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1080 /// \~english @par Change of internal state
1081 ///   - The internal state is not changed.
1082 /// \~english @par Conditions of processing failure
1083 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1084 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1085 /// \~english @par Classification
1086 ///   Public
1087 /// \~english @par Type
1088 ///   Sync only(None communication)
1089 /// \~english @par Detail
1090 ///   Write the trace output information of the version information to the memory.\n
1091 /// \~english @par
1092 /// - include MM_DREC_API.h
1093 /// - Library libMM_DREC_API.so
1094 /// \~english @see None
1095 ////////////////////////////////////////////////////////////////////////////////////
1096 extern RET_DREC_API DREC_WriteTrcVersion(T_DREC_TRCVERSION* data,
1097                                          u_int32_t num);
1098
1099 /////////////////////////////////////////////////////////////////////////////////////
1100 /// \ingroup DREC_WriteTrcDCM
1101 /// \~english @par Brief
1102 ///   Write the trace output information of DCM communication to the memory.
1103 /// \~english @param [in] data
1104 ///   u_int8_t* - The pointer to write data
1105 /// \~english @param [in] size
1106 ///   u_int32_t - Data size (1 to 1200bytes)
1107 /// \~english @retval RET_DREC_NORMAL Normal end
1108 /// \~english @retval RET_DREC_ERROR Abnormal end
1109 /// \~english @par Prerequisite
1110 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1111 /// \~english @par Change of internal state
1112 ///   - The internal state is not changed.
1113 /// \~english @par Conditions of processing failure
1114 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1115 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1116 /// \~english @par Classification
1117 ///   Public
1118 /// \~english @par Type
1119 ///   Sync only(None communication)
1120 /// \~english @par Detail
1121 ///   Write the trace output information of DCM communication to the memory.\n
1122 ///   The log output of Diag Record is output in the following format.\n
1123 ///   This API registers system time from Byte1 to 3.\n
1124 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1125 ///   so that it does not overlap with that data.\n
1126 ///   This API registers specified data after Byte5.\n
1127 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1128 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1129 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1130 ///   This API adds the system time to the beginning with a single call.\n
1131 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1132 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1133 ///   (The format is optional for the manufacturer.)
1134 /// \~english @par
1135 /// - include MM_DREC_API.h
1136 /// - Library libMM_DREC_API.so
1137 /// \~english @see
1138 ///   None
1139 ////////////////////////////////////////////////////////////////////////////////////
1140 extern RET_DREC_API DREC_WriteTrcDCM(u_int8_t* data, u_int32_t size);
1141
1142 /////////////////////////////////////////////////////////////////////////////////////
1143 /// \ingroup DREC_WriteTrcDSRC
1144 /// \~english @par Brief
1145 ///   Write the trace output information of DSRC/ETC communication to the memory.
1146 /// \~english @param [in] data
1147 ///   \ref T_DREC_TRCAWDATA* - The pointer to DSRC/ETC communication trace data
1148 /// \~english @retval RET_DREC_NORMAL Normal end
1149 /// \~english @retval RET_DREC_ERROR Abnormal end
1150 /// \~english @par Prerequisite
1151 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1152 /// \~english @par Change of internal state
1153 ///   - The internal state is not changed.
1154 /// \~english @par Conditions of processing failure
1155 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1156 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1157 /// \~english @par Classification
1158 ///   Public
1159 /// \~english @par Type
1160 ///   Sync only(None communication)
1161 /// \~english @par Detail
1162 ///   Write the trace output information of DSRC/ETC communication to the memory.\n
1163 ///   The log output of Diag Record is output in the following format.\n
1164 ///   This API registers system time from Byte1 to 3.\n
1165 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1166 ///   so that it does not overlap with that data.\n
1167 ///   This API registers specified data after Byte5.\n
1168 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1169 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1170 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1171 ///   This API adds the system time to the beginning with a single call.\n
1172 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1173 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1174 ///   (The format is optional for the manufacturer.)
1175 /// \~english @par
1176 /// - include MM_DREC_API.h
1177 /// - Library libMM_DREC_API.so
1178 /// \~english @see
1179 ///   None
1180 ////////////////////////////////////////////////////////////////////////////////////
1181 extern RET_DREC_API DREC_WriteTrcDSRC(T_DREC_TRCAWDATA* data);
1182
1183 /////////////////////////////////////////////////////////////////////////////////////
1184 /// \ingroup DREC_WriteTrc_CWORD17_
1185 /// \~english @par Brief
1186 ///   Write the trace output information of _CWORD5_ communication to the memory.
1187 /// \~english @param [in] data
1188 /// \ref T_DREC_TRCCAN* - Pointer to the _CWORD5_ communication trace data
1189 /// \~english @param [in] num
1190 ///   u_int32_t - Number of written frames (1 to 100)
1191 /// \~english @param [in] tick
1192 /// u_int32_t - TICK value of the current SYS internal
1193 /// \~english @retval RET_DREC_NORMAL Normal end
1194 /// \~english @retval RET_DREC_ERROR Abnormal end
1195 /// \~english @par Prerequisite
1196 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1197 /// \~english @par Change of internal state
1198 ///   - The internal state is not changed.
1199 /// \~english @par Conditions of processing failure
1200 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1201 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1202 /// \~english @par Classification
1203 ///   Public
1204 /// \~english @par Type
1205 ///   Sync only(None communication)
1206 /// \~english @par Detail
1207 ///   Write the trace output information of _CWORD5_ communication to the memory.\n
1208 /// \~english @par
1209 /// - include MM_DREC_API.h
1210 /// - Library libMM_DREC_API.so
1211 /// \~english @see
1212 ///   None
1213 ////////////////////////////////////////////////////////////////////////////////////
1214 extern RET_DREC_API DREC_WriteTrc_CWORD17_(T_DREC_TRCCAN* data, u_int32_t num,
1215                                           u_int32_t tick);
1216
1217 /////////////////////////////////////////////////////////////////////////////////////
1218 /// \ingroup DREC_WriteTrcWave
1219 /// \~english @par Brief
1220 ///   Write the trace output information of the radio wave receipt to the memory.
1221 /// \~english @param [in] data
1222 ///   \ref T_DREC_TRCWAVE* - The pointer to trace data of the electric wave reception
1223 /// \~english @param [in] num
1224 ///   u_int32_t - Number of written frames (1 to 100)
1225 /// \~english @retval RET_DREC_NORMAL Normal end
1226 /// \~english @retval RET_DREC_ERROR Abnormal end
1227 /// \~english @par Prerequisite
1228 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1229 /// \~english @par Change of internal state
1230 ///   - The internal state is not changed.
1231 /// \~english @par Conditions of processing failure
1232 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1233 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1234 /// \~english @par Classification
1235 ///   Public
1236 /// \~english @par Type
1237 ///   Sync only(None communication)
1238 /// \~english @par Detail
1239 ///   Write the trace output information of the radio wave receipt to the memory.\n
1240 /// \~english @par
1241 /// - include MM_DREC_API.h
1242 /// - Library libMM_DREC_API.so
1243 /// \~english @see
1244 ///   None
1245 ////////////////////////////////////////////////////////////////////////////////////
1246 extern RET_DREC_API DREC_WriteTrcWave(T_DREC_TRCWAVE* data, u_int32_t num);
1247
1248 /////////////////////////////////////////////////////////////////////////////////////
1249 /// \ingroup DREC_WriteTrcUSB
1250 /// \~english @par Brief
1251 ///   Write the trace output information of USB I/F connected application internal to the memory.
1252 /// \~english @param [in] data
1253 ///   u_int8_t* - The pointer to wrire data
1254 /// \~english @param [in] size
1255 ///   u_int32_t - Data size (1 to 1200bytes)
1256 /// \~english @retval RET_DREC_NORMAL Normal end
1257 /// \~english @retval RET_DREC_ERROR Abnormal end
1258 /// \~english @par Prerequisite
1259 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1260 /// \~english @par Change of internal state
1261 ///   - The internal state is not changed.
1262 /// \~english @par Conditions of processing failure
1263 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1264 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1265 /// \~english @par Classification
1266 ///   Public
1267 /// \~english @par Type
1268 ///   Sync only(None communication)
1269 /// \~english @par Detail
1270 ///   Write the trace output information of USB I/F connected application internal to the memory.\n
1271 ///   The log output of Diag Record is output in the following format.\n
1272 ///   This API registers system time from Byte1 to 3.\n
1273 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1274 ///   so that it does not overlap with that data.\n
1275 ///   This API registers specified data after Byte5.\n
1276 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1277 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1278 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1279 ///   This API adds the system time to the beginning with a single call.\n
1280 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1281 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1282 ///   (The format is optional for the manufacturer.)
1283 /// \~english @par
1284 /// - include MM_DREC_API.h
1285 /// - Library libMM_DREC_API.so
1286 /// \~english @see
1287 ///   None
1288 ////////////////////////////////////////////////////////////////////////////////////
1289 extern RET_DREC_API DREC_WriteTrcUSB(u_int8_t* data, u_int32_t size);
1290
1291
1292 /** @}*/  // end of Diag_DrecWriteTrc
1293 /** @addtogroup Diag_DrecOperate
1294  *  @ingroup Diag
1295  *  @{
1296  */
1297
1298 /////////////////////////////////////////////////////////////////////////////////////
1299 /// \ingroup DREC_GetRecordSize
1300 /// \~english @par Brief
1301 ///   Acquire the number of Diag record registration whose type is specified.
1302 /// \~english @param [in] type
1303 /// \ref E_PFDREC_CATEGORY_TYPE - Type to acquire the record size
1304 /// \~english @param [out] num
1305 /// u_int32_t * - Pointer to the number of registered records.
1306 /// \~english @retval RET_DREC_NORMAL Normal end
1307 /// \~english @retval RET_DREC_ERROR Abnormal end
1308 /// \~english @par Prerequisite
1309 ///   - \ref PFDREC_OpenSession must be called prior to calling this API.
1310 /// \~english @par Change of internal state
1311 ///   - The internal state is not changed.
1312 /// \~english @par Conditions of processing failure
1313 /// - The argument (num) is NULL. [RET_DREC_ERROR]
1314 /// - The argument (type) is not the defined value. [RET_DREC_ERROR]
1315 /// - The caller is not calling \ref PFDREC_OpenSession in advance. [RET_DREC_ERROR]
1316 /// - Message synchronous communication (FrameworkunifiedInvokeSync) failed. [RET_DREC_ERROR]
1317 /// \~english @par Classification
1318 ///   Public
1319 /// \~english @par Type
1320 ///   Sync only(None communication)
1321 /// \~english @par Detail
1322 /// Acquire the number of record registration whose type is specified.\n
1323 /// In BaseSystem, returns the number of records of the specified type. \n
1324 /// The caller determines the total size with the number of records and each record length.\n
1325 /// \~english @par
1326 /// - include MM_DREC_API.h
1327 /// - Library libMM_DREC_API.so
1328 /// \~english @see
1329 ////////////////////////////////////////////////////////////////////////////////////
1330 extern RET_DREC_API DREC_GetRecordSize(E_PFDREC_CATEGORY_TYPE type,
1331                                        u_int32_t *num);
1332
1333 /////////////////////////////////////////////////////////////////////////////////////
1334 /// \ingroup DREC_GetRecordData
1335 /// \~english @par Brief
1336 ///   Acquire the registered Diag record whose type is specified.
1337 /// \~english @param [in] type
1338 /// \ref E_PFDREC_CATEGORY_TYPE - Type to acquire the record size (\ref E_PFDREC_CATEGORY_TRC_PWR - ref E_PFDREC_CATEGORY_TRC_TRAF )
1339 /// \~english @param [in] num
1340 /// u_int32_t - The number of records to acquire (1 to 100)
1341 /// \~english @param [in] record_ptr
1342 /// u_int32_t - The start point of the record to acquire
1343 /// \~english @param [out] data
1344 /// u_int8_t *- Pointer to the storage area for the record to acquire
1345 /// \~english @param [out] out_num
1346 /// u_int32_t *- Pointer to the size of the stored record
1347 /// \~english @retval RET_DREC_NORMAL Normal end
1348 /// \~english @retval RET_DREC_ERROR Abnormal end
1349 /// \~english @par Prerequisite
1350 ///   - \ref PFDREC_OpenSession must be called prior to calling this API.
1351 /// \~english @par Change of internal state
1352 ///   - The internal state is not changed.
1353 /// \~english @par Conditions of processing failure
1354 /// - The argument (data) is NULL [RET_DREC_ERROR]
1355 /// - The argument (out_num) is NULL [RET_DREC_ERROR]
1356 /// - The argument (type) is not the defined value [RET_DREC_ERROR]
1357 /// - The argument (num) is 0 or greater than 100. [RET_DREC_ERROR]
1358 /// - The caller is not calling \ref PFDREC_OpenSession in advance. [RET_DREC_ERROR]
1359 /// - Message synchronous communication (FrameworkunifiedInvokeSync) failed. [RET_DREC_ERROR]
1360 /// \~english @par Classification
1361 ///   Public
1362 /// \~english @par Type
1363 ///   Sync only(None communication)
1364 /// \~english @par Detail
1365 /// Acquire the record whose type is specified. \n
1366 /// In BaseSystem, acquire the records of the specified type and the specified number. In this case, the caller specifies from which number of record is acquired.\n
1367 /// The caller is supposed to acquire data in order from the beginning in several batches.\n
1368 /// When the number of record requested to acquire is more than that of registered records, acquire the registered number only and returns it. \n
1369 /// \~english @par
1370 /// - include MM_DREC_API.h
1371 /// - Library libMM_DREC_API.so
1372 /// \~english @see None
1373 ////////////////////////////////////////////////////////////////////////////////////
1374 extern RET_DREC_API DREC_GetRecordData(E_PFDREC_CATEGORY_TYPE type,
1375                                        u_int32_t num, u_int32_t record_ptr,
1376                                        u_int8_t *data, u_int32_t *out_num);
1377
1378 /////////////////////////////////////////////////////////////////////////////////////
1379 /// \ingroup DREC_GetRecordState
1380 /// \~english @par Brief
1381 ///   Acquire the start/stop state of the record function.
1382 /// \~english @param [out] state
1383 /// \ref E_DREC_REC* - Pointer to the start/stop state of the record function.
1384 /// \~english @retval RET_DREC_NORMAL Normal end
1385 /// \~english @retval RET_DREC_ERROR Abnormal end
1386 /// \~english @par Prerequisite
1387 /// - \ref PFDREC_OpenSession must be called prior to calling this API.
1388 /// \~english @par Change of internal state
1389 ///   - The internal state is not changed.
1390 /// \~english @par Conditions of processing failure
1391 /// - The argument (state) is NULL [RET_DREC_ERROR]
1392 /// - The caller is not calling \ref PFDREC_OpenSession in advance. [RET_DREC_ERROR]
1393 /// - Message synchronous communication (FrameworkunifiedInvokeSync) failed. [RET_DREC_ERROR]
1394 /// \~english @par Classification
1395 ///   Public
1396 /// \~english @par Type
1397 ///   Sync only(None communication)
1398 /// \~english @par Detail
1399 ///   Acquire the start/stop state of the record function.
1400 /// \~english @par
1401 /// - include MM_DREC_API.h
1402 /// - Library libMM_DREC_API.so
1403 /// \~english @see
1404 ////////////////////////////////////////////////////////////////////////////////////
1405 extern RET_DREC_API DREC_GetRecordState(E_DREC_REC* state);
1406 /** @}*/  // end of Diag_DrecOperate
1407 /** @addtogroup Diag_DrecOperate
1408  *  @ingroup Diag
1409  *  @{
1410  */
1411 /////////////////////////////////////////////////////////////////////////////////////
1412 /// \ingroup DREC_SetSysemTimeDifference
1413 /// \~english @par Brief
1414 ///   Set the system time difference.
1415 /// \~english @param [in] data
1416 ///   u_int32_t - System time difference
1417 /// \~english @retval RET_DREC_NORMAL Normal end
1418 /// \~english @par Prerequisite
1419 ///   - None
1420 /// \~english @par Change of internal state
1421 ///   - The internal state is not changed.
1422 /// \~english @par Conditions of processing failure
1423 ///   - None
1424 /// \~english @par Classification
1425 ///   Public
1426 /// \~english @par Type
1427 ///   Sync only(None communication)
1428 /// \~english @par Detail
1429 /// Store the system time difference in the shared memory.\n
1430 /// Reflect the stored value in the addition process of the system time.\n
1431 /// \~english @par
1432 /// - include MM_DREC_API.h
1433 /// - Library libMM_DREC_API.so
1434 /// \~english @see None
1435 ////////////////////////////////////////////////////////////////////////////////////
1436 extern RET_DREC_API DREC_SetSysemTimeDifference(u_int32_t data);
1437 /** @}*/  // end of Diag_DrecOperate
1438 /** @addtogroup Diag_DrecWriteTrc
1439  *  @ingroup Diag
1440  *  @{
1441  */
1442 /////////////////////////////////////////////////////////////////////////////////////
1443 /// \ingroup DREC_WriteTrcGPS
1444 /// \~english @par Brief
1445 ///   Set GPS time information to each trace data.
1446 /// \~english @param [in] data
1447 ///   \ref T_DREC_TRCGPS* - Pointer to the GPS information
1448 /// \~english @retval RET_DREC_NORMAL Normal end
1449 /// \~english @par Prerequisite
1450 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1451 /// \~english @par Change of internal state
1452 ///   - The internal state is not changed.
1453 /// \~english @par Conditions of processing failure
1454 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1455 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1456 /// \~english @par Classification
1457 ///   Public
1458 /// \~english @par Type
1459 ///   Sync only(None communication)
1460 /// \~english @par Detail
1461 /// Set the GPS time information \n
1462 /// The target is all trace outputs belonging to the unit in which this API is called. \n
1463 /// When registering the trace data in BaseSystem, regarding the key trace, GPS information is separately passed as the argument (The second argument of PFDREC_ComDataBuckup).\n
1464 /// After Function ON, when a valid GPS time can be acquired after ACCON, the Diag service must register it.\n
1465 /// During Function ON, when a valid GPS time cannot be acquired, retry must be performed until the acquired time is registered.\n
1466 /// \~english @par
1467 /// - include MM_DREC_API.h
1468 /// - Library libMM_DREC_API.so
1469 /// \~english @see None
1470 ////////////////////////////////////////////////////////////////////////////////////
1471 extern RET_DREC_API DREC_WriteTrcGPS(T_DREC_TRCGPS* data);
1472
1473 /////////////////////////////////////////////////////////////////////////////////////
1474 /// \ingroup DREC_WriteTrcUSBETC
1475 /// \~english @par Brief
1476 ///   Write USB log information of DSRC/ETC communication trace output into the memory.
1477 /// \~english @param [in] data
1478 ///   \ref T_DREC_TRCAWDATA* - The pointer to DSRC/ETC communication trace data
1479 /// \~english @retval RET_DREC_NORMAL Normal end
1480 /// \~english @retval RET_DREC_ERROR Abnormal end
1481 /// \~english @par Prerequisite
1482 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1483 /// \~english @par Change of internal state
1484 ///   - The internal state is not changed.
1485 /// \~english @par Conditions of processing failure
1486 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1487 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1488 /// \~english @par Classification
1489 ///   Public
1490 /// \~english @par Type
1491 ///   Sync only(None communication)
1492 /// \~english @par Detail
1493 ///   Write USB log information of DSRC/ETC communication trace output into the memory.\n
1494 ///   The log output of Diag Record is output in the following format.\n
1495 ///   This API registers system time from Byte1 to 3.\n
1496 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1497 ///   so that it does not overlap with that data.\n
1498 ///   This API registers specified data after Byte5.\n
1499 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1500 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1501 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1502 ///   This API adds the system time to the beginning with a single call.\n
1503 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1504 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1505 ///   (The format is optional for the manufacturer.)
1506 /// \~english @par
1507 /// - include MM_DREC_API.h
1508 /// - Library libMM_DREC_API.so
1509 /// \~english @see
1510 ///   None
1511 ////////////////////////////////////////////////////////////////////////////////////
1512 extern RET_DREC_API DREC_WriteTrcUSBETC(T_DREC_TRCAWDATA* data);
1513
1514 /////////////////////////////////////////////////////////////////////////////////////
1515 /// \ingroup DREC_WriteTrcUplink
1516 /// \~english @par Brief
1517 ///   Write the uplink log information of DSRC/ETC communication trace output into the memory.
1518 /// \~english @param [in] data
1519 ///   \ref T_DREC_TRCAWDATA* - The pointer to DSRC/ETC communication trace data
1520 /// \~english @retval RET_DREC_NORMAL Normal end
1521 /// \~english @retval RET_DREC_ERROR Abnormal end
1522 /// \~english @par Prerequisite
1523 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1524 /// \~english @par Change of internal state
1525 ///   - The internal state is not changed.
1526 /// \~english @par Conditions of processing failure
1527 ///   - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1528 ///   - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1529 /// \~english @par Classification
1530 ///   Public
1531 /// \~english @par Type
1532 ///   Sync only(None communication)
1533 /// \~english @par Detail
1534 ///   Write the uplink log information of DSRC/ETC communication trace output into the memory.\n
1535 ///   The log output of Diag Record is output in the following format.\n
1536 ///   This API registers system time from Byte1 to 3.\n
1537 ///   As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1538 ///   so that it does not overlap with that data.\n
1539 ///   This API registers specified data after Byte5.\n
1540 ///   Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1541 ///   Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1542 ///   It is filled with 0x00 if the data is less than 16 bytes.\n
1543 ///   This API adds the system time to the beginning with a single call.\n
1544 ///   Regarding data exceeding one frame, this API divides and registers it.\n
1545 ///   The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1546 ///   (The format is optional for the manufacturer.)
1547 /// \~english @par
1548 /// - include MM_DREC_API.h
1549 /// - Library libMM_DREC_API.so
1550 /// \~english @see
1551 ///   None
1552 ////////////////////////////////////////////////////////////////////////////////////
1553 extern RET_DREC_API DREC_WriteTrcUplink(T_DREC_TRCAWDATA* data);
1554
1555 /////////////////////////////////////////////////////////////////////////////////////
1556 /// \ingroup DREC_WriteTrcETCWatch
1557 /// \~english @par Brief
1558 ///     Write trace output of the ETC watch to the memory.
1559 /// \~english @param[in] data
1560 ///     T_DREC_TRCETCWATCH* - Pointer to  the trace data of the ETC watch.
1561 /// \~english @param[in] num
1562 ///     u_int32_t - Number of written frames
1563 /// \~english @retval RET_DREC_NORMAL Normal end
1564 /// \~english @retval RET_DREC_ERROR Abnormal end
1565 /// \~english @par Prerequisite
1566 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
1567 /// \~english @par Change of internal state
1568 ///      - The internal state is not changed.
1569 /// \~english @par Conditions of processing failure
1570 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1571 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1572 /// \~english @par Classification
1573 ///     Public
1574 /// \~english @par Type
1575 ///     Sync only(None communication)
1576 /// \~english @par Detail
1577 ///     Write the monitoring trace output information of the ETC to the memory.\n
1578 ///     \ref T_DREC_TRCETCWATCH structure\n
1579 ///     Data format is different by device type / frame type( \ref T_DREC_TRCETCWATCH.frameType )\n
1580 ///     0:ETC status notification log \n
1581 ///     1:ETC latest charge notification log \n
1582 ///     2:ETC operation response log \n
1583 ///     Use the \ref T_DREC_TRCETCWATCH.command format destination.\n
1584 ///     3:ETC communication log  \n
1585 ///     Use the \ref T_DREC_TRCETCWATCH.com_command format destination.\n
1586 ///     4:Diag Clear event log \n
1587 ///     5:Diagnosis detection event log \n
1588 ///     6:Diagnosis recovery event log \n
1589 ///     Use the \ref T_DREC_TRCETCWATCH.diag format destination.
1590 /// \~english @par
1591 ///      - include MM_DREC_API.h
1592 ///      - Library libMM_DREC_API.so
1593 /// \~english @see
1594 ///     None
1595 /////////////////////////////////////////////////////////////////////////////////////
1596 extern RET_DREC_API DREC_WriteTrcETCWatch(T_DREC_TRCETCWATCH* data,
1597                                           u_int32_t num);
1598
1599 /////////////////////////////////////////////////////////////////////////////////////
1600 /// \ingroup DREC_WriteTrcRoB
1601 /// \~english @par Brief
1602 ///     Write the trace output information of RoB log to the memory.
1603 /// \~english @param[in] data
1604 ///     T_DREC_TRCROB* - The pointer to write data
1605 /// \~english @param[in] num
1606 ///     u_int32_t - Number of written frames
1607 /// \~english @retval RET_DREC_NORMAL Normal end
1608 /// \~english @retval RET_DREC_ERROR Abnormal end
1609 /// \~english @par Prerequisite
1610 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
1611 /// \~english @par Change of internal state
1612 ///      - The internal state is not changed.
1613 /// \~english @par Conditions of processing failure
1614 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1615 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1616 /// \~english @par Classification
1617 ///     Public
1618 /// \~english @par Type
1619 ///     Sync only(None communication)
1620 /// \~english @par Detail
1621 ///     Write the trace output information of RoB log to the memory.
1622 /// \~english @par
1623 ///      - include MM_DREC_API.h
1624 ///      - Library libMM_DREC_API.so
1625 /// \~english @see
1626 ///     None
1627 /////////////////////////////////////////////////////////////////////////////////////
1628 extern RET_DREC_API DREC_WriteTrcRoB(T_DREC_TRCROB* data,
1629                                      u_int32_t num);
1630
1631 /////////////////////////////////////////////////////////////////////////////////////
1632 /// \ingroup DREC_WriteTrcEvaluation
1633 /// \~english @par Brief
1634 ///     Write the evaluation trace output information to the memory.
1635 /// \~english @param[in] data
1636 ///     u_int8_t* - The pointer to write data
1637 /// \~english @param[in] size
1638 ///     u_int32_t - Data size (1 to 1200bytes)
1639 /// \~english @retval RET_DREC_NORMAL Normal end
1640 /// \~english @retval RET_DREC_ERROR Abnormal end
1641 /// \~english @par Prerequisite
1642 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
1643 /// \~english @par Change of internal state
1644 ///      - The internal state is not changed.
1645 /// \~english @par Conditions of processing failure
1646 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1647 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1648 /// \~english @par Classification
1649 ///     Public
1650 /// \~english @par Type
1651 ///     Sync only(None communication)
1652 /// \~english @par Detail
1653 ///     Write the evaluation trace output information to the memory.\n
1654 ///     The log output of Diag Record is output in the following format.\n
1655 ///     This API registers system time from Byte1 to 3.\n
1656 ///     As there is data reserved for each format, this API registers the value defined in the wrapper layer at Byte4\n
1657 ///     so that it does not overlap with that data.\n
1658 ///     This API registers specified data after Byte5.\n
1659 ///     Regarding data exceeding 12 bytes at a time, this API divides records and registers it.\n
1660 ///     Regarding data after Byte13, this API registers 0x00 from Byte1 to 4 and registers the specified data after Byte5.\n
1661 ///     It is filled with 0x00 if the data is less than 16 bytes.\n
1662 ///     This API adds the system time to the beginning with a single call.\n
1663 ///     Regarding data exceeding one frame, this API divides and registers it.\n
1664 ///     The caller must not call some data by connecting them. (Because system time can not be added for each section.)\n
1665 ///     (The format is optional for the manufacturer.)
1666 /// \~english @par
1667 ///      - include MM_DREC_API.h
1668 ///      - Library libMM_DREC_API.so
1669 /// \~english @see
1670 ///     None
1671 /////////////////////////////////////////////////////////////////////////////////////
1672 extern RET_DREC_API DREC_WriteTrcEvaluation(u_int8_t* data,
1673                                             u_int32_t size);
1674
1675 /////////////////////////////////////////////////////////////////////////////////////
1676 /// \ingroup DREC_DeleteTrcDeliveryPFUseLog
1677 /// \~english @par Brief
1678 ///   Delete the trace of distribution application PF usage log.
1679 /// \~english @param None
1680 /// \~english @retval RET_DREC_NORMAL Normal end
1681 /// \~english @retval RET_DREC_ERROR Abnormal end
1682 /// \~english @par Prerequisite
1683 ///   - \ref PFDREC_OpenSession must be called prior to calling this API.
1684 /// \~english @par Change of internal state
1685 ///   - The internal state is not changed.
1686 /// \~english @par Conditions of processing failure
1687 /// - The argument (func) is NULL [RET_DREC_ERROR]
1688 /// - The caller is not calling \ref PFDREC_OpenSession in advance. [RET_DREC_ERROR]
1689 /// - Message synchronous communication (FrameworkunifiedInvokeSync) failed. [RET_DREC_ERROR]
1690 /// \~english @par Classification
1691 ///   Public
1692 /// \~english @par Type
1693 ///   Sync only(None communication)
1694 /// \~english @par Detail
1695 ///   Delete the trace of distribution application PF usage log.
1696 /// \~english @par
1697 /// - include MM_DREC_API.h
1698 /// - Library libMM_DREC_API.so
1699 /// \~english @see
1700 ////////////////////////////////////////////////////////////////////////////////////
1701 extern RET_DREC_API DREC_DeleteTrcDeliveryPFUseLog(void);
1702
1703 /////////////////////////////////////////////////////////////////////////////////////
1704 /// \ingroup DREC_DeleteTrcDeliveryPFUseLog_inSession
1705 /// \~english @par Brief
1706 ///      Delete the trace of distribution application PF usage log.
1707 ///      - Execute "Session start(\ref PFDREC_OpenSession)" before the deletion.
1708 ///      - Execute "Session termination(\ ref PFDREC_CloseSession)" after the deletion.
1709 /// \~english @param None
1710 /// \~english @retval RET_DREC_NORMAL Normal end
1711 /// \~english @retval RET_DREC_ERROR Abnormal end
1712 /// \~english @par Prerequisite
1713 /// - This API must be called only when Availability of PFDRECThread is TRUE.
1714 /// \~english @par Change of internal state
1715 ///      - The internal state is not changed.
1716 /// \~english @par Conditions of processing failure
1717 ///      - \ref PFDREC_OpenSession failed. [RET_DREC_ERROR]
1718 ///      - \ref PFDREC_CloseSession failed. [RET_DREC_ERROR]
1719 ///      - Message synchronous communication (FrameworkunifiedInvokeSync) failed. [RET_DREC_ERROR]
1720 /// \~english @par Classification
1721 ///      Public
1722 /// \~english @par Type
1723 ///      Sync only(None communication)
1724 /// \~english @par Detail
1725 ///      Execute "Session starti(\ref PFDREC_OpenSession)" before the deletion.\n
1726 ///      Delete the trace of distribution application PF usage log \n
1727 ///      Execute "Session termination(\ref PFDREC_CloseSession)" after the deletion. \n
1728 /// \~english @par
1729 ///      - include MM_DREC_API.h
1730 ///      - Library libMM_DREC_API.so
1731 /// \~english @see
1732 ///      None
1733 ////////////////////////////////////////////////////////////////////////////////////
1734 extern RET_DREC_API DREC_DeleteTrcDeliveryPFUseLog_inSession(HANDLE hThread);
1735
1736 /////////////////////////////////////////////////////////////////////////////////////
1737 /// \ingroup DREC_WriteTrcOptBeaconDownLink
1738 /// \~english @par Brief
1739 ///     Write Optical beacon down-link information trace to the memory.
1740 /// \~english @param[in] data
1741 ///     T_DREC_TRCOPTBEACON_DOWN_LINK* - Pointer to  the trace data of the Optical beacon down-link information.
1742 /// \~english @param[in] num
1743 ///     u_int32_t - Number of written frames
1744 /// \~english @retval RET_DREC_NORMAL Normal end
1745 /// \~english @retval RET_DREC_ERROR Abnormal end
1746 /// \~english @par Prerequisite
1747 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
1748 /// \~english @par Change of internal state
1749 ///      - The internal state is not changed.
1750 /// \~english @par Conditions of processing failure
1751 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1752 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1753 /// \~english @par Classification
1754 ///     Public
1755 /// \~english @par Type
1756 ///     Sync only(None communication)
1757 /// \~english @par Detail
1758 ///     Write the Optical beacon down-link information trace to the memory.\n
1759 ///     \ref T_DREC_TRCOPTBEACON_DOWN_LINK structure\n
1760 ///     Data format is different by rcv type( \ref T_DREC_TRCOPTBEACON_DOWN_LINK.rcvkind )\n
1761 ///     01h : Route signal information \n
1762 ///     Use the  \ref T_DREC_TRCOPTBEACON_DOWN_LINK.downlinkinfo format destination.\n
1763 ///     02h : Lack route signal information\n
1764 ///     03h : No route signal information  \n
1765 ///     Use the  \ref T_DREC_TRCOPTBEACON_DOWN_LINK.rcvgpspositioningdata format destination.\n
1766 /// \~english @par
1767 ///      - include MM_DREC_API.h
1768 ///      - Library libMM_DREC_API.so
1769 /// \~english @see
1770 ///     None
1771 /////////////////////////////////////////////////////////////////////////////////////
1772 extern RET_DREC_API DREC_WriteTrcOptBeaconDownLink(
1773     T_DREC_TRCOPTBEACON_DOWN_LINK* data, u_int32_t num);
1774
1775 /////////////////////////////////////////////////////////////////////////////////////
1776 /// \ingroup DREC_WriteTrcOptBeaconUpLink
1777 /// \~english @par Brief
1778 ///     Write Optical beacon up-link information trace to the memory.
1779 /// \~english @param[in] data
1780 ///     T_DREC_TRCOPTBEACON_UP_LINK* - Pointer to  the trace data of the  Optical beacon up-link information.
1781 /// \~english @param[in] num
1782 ///     u_int32_t - Number of written frames
1783 /// \~english @retval RET_DREC_NORMAL Normal end
1784 /// \~english @retval RET_DREC_ERROR Abnormal end
1785 /// \~english @par Prerequisite
1786 ///      - This API must be called only when Availability of PFDRECThread is TRUE.
1787 /// \~english @par Change of internal state
1788 ///      - The internal state is not changed.
1789 /// \~english @par Conditions of processing failure
1790 ///      - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1791 ///      - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1792 /// \~english @par Classification
1793 ///     Public
1794 /// \~english @par Type
1795 ///     Sync only(None communication)
1796 /// \~english @par Detail
1797 ///     Write the Optical beacon up-link information trace to the memory.
1798 /// \~english @par
1799 ///      - include MM_DREC_API.h
1800 ///      - Library libMM_DREC_API.so
1801 /// \~english @see
1802 ///     None
1803 /////////////////////////////////////////////////////////////////////////////////////
1804 extern RET_DREC_API DREC_WriteTrcOptBeaconUpLink(T_DREC_TRCOPTBEACON_UP_LINK* data,
1805                                                  u_int32_t num);
1806
1807 /** @}*/  // end of Diag_DrecWriteTrc
1808 /** @addtogroup Diag_Drec_MakerTrace
1809  *  @ingroup Diag
1810  *  @{
1811  */
1812 /////////////////////////////////////////////////////////////////////////////////////
1813 /// \ingroup DREC_MakerTrace_DeliveryEntry
1814 /// \~english @par Brief
1815 ///     Register the delivery destination application for Maker peculiarity trace
1816 /// \~english @param[in] hApp
1817 ///     HANDLE - The handle for the delivery source application
1818 /// \~english @param[in] notifyName
1819 ///     PCSTR - The thread name of the delivery source
1820 /// \~english @retval RET_DREC_NORMAL Normal end
1821 /// \~english @retval RET_DREC_ERROR Abnormal end
1822 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
1823 /// \~english @par Prerequisite
1824 ///     - This API must be called only when Availability of Diag Service is TRUE.
1825 /// \~english @par Change of internal state
1826 ///     - The internal state is not changed.
1827 /// \~english @par Conditions of processing failure
1828 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
1829 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1830 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1831 /// \~english @par Classification
1832 ///     Public
1833 /// \~english @par Type
1834 ///     Fire and Forget only
1835 /// \~english @par Detail
1836 ///     Registers the handle and thread name for the delivery destination application in the delivery registration table.\n
1837 ///     The client must call this API on a thread that needs to receive that are related to the Maker peculiarity trace in advance.
1838 /// \~english @par
1839 ///      - include MM_DREC_API.h
1840 ///      - Library libMM_DREC_API.so
1841 /// \~english @see
1842 ///     None
1843 /////////////////////////////////////////////////////////////////////////////////////
1844 extern RET_DREC_API DREC_MakerTrace_DeliveryEntry(HANDLE hApp,
1845                                                   PCSTR notifyName);
1846
1847 /////////////////////////////////////////////////////////////////////////////////////
1848 /// \ingroup DREC_MakerTrace_SizeRequest
1849 /// \~english @par Brief
1850 ///     Request to get record size of Maker peculiarity trace.
1851 /// \~english @param[in] hApp
1852 ///     HANDLE - The handle for the delivery source application
1853 /// \~english @param[in] notifyName
1854 ///     PCSTR - The thread name of the delivery source
1855 /// \~english @retval RET_DREC_NORMAL Normal end
1856 /// \~english @retval RET_DREC_ERROR Abnormal end
1857 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
1858 /// \~english @par Prerequisite
1859 ///     - None
1860 /// \~english @par Change of internal state
1861 ///     - The internal state is not changed.
1862 /// \~english @par Conditions of processing failure
1863 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
1864 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1865 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1866 /// \~english @par Classification
1867 ///     Private
1868 /// \~english @par Type
1869 ///     Fire and Forget only
1870 /// \~english @par Detail
1871 ///     Request to get record size of Maker peculiarity trace to the registered application for delivery.\n
1872 ///     Message ID sended by DiagService is as follows\n
1873 ///     MSGID_DREC_MAKERTRACE_SIZEREQUEST
1874 /// \~english @par
1875 ///      - include MM_DREC_API.h
1876 ///      - Library libMM_DREC_API.so
1877 /// \~english @see
1878 ///     None
1879 /////////////////////////////////////////////////////////////////////////////////////
1880 extern RET_DREC_API DREC_MakerTrace_SizeRequest(HANDLE hApp,
1881                                                 PCSTR notifyName);
1882
1883 /////////////////////////////////////////////////////////////////////////////////////
1884 /// \ingroup DREC_MakerTrace_SizeResponce
1885 /// \~english @par Brief
1886 ///     Send record size of Maker peculiarity trace to DiagService.
1887 /// \~english @param[in] hApp
1888 ///     HANDLE - The handle for the delivery source application
1889 /// \~english @param[in] notifyName
1890 ///     PCSTR - The thread name of the delivery source
1891 /// \~english @param[in] size
1892 ///     u_int32_t - Data size (Unit: Byte)
1893 /// \~english @retval RET_DREC_NORMAL Normal end
1894 /// \~english @retval RET_DREC_ERROR Abnormal end
1895 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
1896 /// \~english @par Prerequisite
1897 ///     - This API must be called only when Availability of Diag Service is TRUE.
1898 /// \~english @par Change of internal state
1899 ///     - The internal state is not changed.
1900 /// \~english @par Conditions of processing failure
1901 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
1902 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1903 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1904 /// \~english @par Classification
1905 ///     Public
1906 /// \~english @par Type
1907 ///     Fire and Forget only
1908 /// \~english @par Detail
1909 ///     Send record size of Maker peculiarity trace to DiagService.
1910 /// \~english @par
1911 ///      - include MM_DREC_API.h
1912 ///      - Library libMM_DREC_API.so
1913 /// \~english @see
1914 ///     None
1915 /////////////////////////////////////////////////////////////////////////////////////
1916 extern RET_DREC_API DREC_MakerTrace_SizeResponce(HANDLE hApp,
1917                                                  PCSTR notifyName,
1918                                                  u_int32_t size);
1919
1920 /////////////////////////////////////////////////////////////////////////////////////
1921 /// \ingroup DREC_MakerTrace_OutputRequest
1922 /// \~english @par Brief
1923 ///     Request to output of Maker peculiarity trace.
1924 /// \~english @param[in] hApp
1925 ///     HANDLE - The handle for the delivery source application
1926 /// \~english @param[in] notifyName
1927 ///     PCSTR - The thread name of the delivery source
1928 /// \~english @param[in] output
1929 ///     PCSTR - Output destination
1930 /// \~english @param[in] state
1931 ///     DREC_OUTPUT_STATE - Status (output start or output stop)
1932 /// \~english @retval RET_DREC_NORMAL Normal end
1933 /// \~english @retval RET_DREC_ERROR Abnormal end
1934 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
1935 /// \~english @par Prerequisite
1936 ///     - None
1937 /// \~english @par Change of internal state
1938 ///     - The internal state is not changed.
1939 /// \~english @par Conditions of processing failure
1940 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
1941 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1942 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1943 /// \~english @par Classification
1944 ///     Private
1945 /// \~english @par Type
1946 ///     Fire and Forget only
1947 /// \~english @par Detail
1948 ///     Request to output of Maker peculiarity trace to the registered application for delivery.\n
1949 ///     Message ID sended by DiagService is as follows\n
1950 ///     MSGID_DREC_MAKERTRACE_OUTPUTREQUEST
1951 /// \~english @par
1952 ///      - include MM_DREC_API.h
1953 ///      - Library libMM_DREC_API.so
1954 /// \~english @see
1955 ///     None
1956 /////////////////////////////////////////////////////////////////////////////////////
1957 extern RET_DREC_API DREC_MakerTrace_OutputRequest(HANDLE hApp,
1958                                                   PCSTR notifyName,
1959                                                   PCSTR output,
1960                                                   DREC_OUTPUT_STATE state);
1961
1962 /////////////////////////////////////////////////////////////////////////////////////
1963 /// \ingroup DREC_MakerTrace_OutputResponce
1964 /// \~english @par Brief
1965 ///     Send output status of Maker peculiarity trace to DiagService.
1966 /// \~english @param[in] hApp
1967 ///     HANDLE - The handle for the delivery source application
1968 /// \~english @param[in] notifyName
1969 ///     PCSTR - The thread name of the delivery source
1970 /// \~english @param[in] progress
1971 ///     u_int8_t - Progress rate (0 to 100)
1972 /// \~english @param[in] state
1973 ///     DREC_OUTPUT_RESULT - Status (OK or NG)
1974 /// \~english @retval RET_DREC_NORMAL Normal end
1975 /// \~english @retval RET_DREC_ERROR Abnormal end
1976 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
1977 /// \~english @par Prerequisite
1978 ///     - This API must be called only when Availability of Diag Service is TRUE.
1979 /// \~english @par Change of internal state
1980 ///     - The internal state is not changed.
1981 /// \~english @par Conditions of processing failure
1982 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
1983 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
1984 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
1985 /// \~english @par Classification
1986 ///     Public
1987 /// \~english @par Type
1988 ///     Fire and Forget only
1989 /// \~english @par Detail
1990 ///     Send output status of Maker peculiarity trace to DiagService.
1991 /// \~english @par
1992 ///      - include MM_DREC_API.h
1993 ///      - Library libMM_DREC_API.so
1994 /// \~english @see
1995 ///     None
1996 /////////////////////////////////////////////////////////////////////////////////////
1997 extern RET_DREC_API DREC_MakerTrace_OutputResponce(HANDLE hApp,
1998                                                    PCSTR notifyName,
1999                                                    u_int8_t progress,
2000                                                    DREC_OUTPUT_RESULT state);
2001
2002 /////////////////////////////////////////////////////////////////////////////////////
2003 /// \ingroup DREC_MakerTrace_DeleteRequest
2004 /// \~english @par Brief
2005 ///     Request to delete of Maker peculiarity trace.
2006 /// \~english @param[in] hApp
2007 ///     HANDLE - The handle for the delivery source application
2008 /// \~english @param[in] notifyName
2009 ///     PCSTR - The thread name of the delivery source
2010 /// \~english @retval RET_DREC_NORMAL Normal end
2011 /// \~english @retval RET_DREC_ERROR Abnormal end
2012 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
2013 /// \~english @par Prerequisite
2014 ///     - None
2015 /// \~english @par Change of internal state
2016 ///     - The internal state is not changed.
2017 /// \~english @par Conditions of processing failure
2018 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
2019 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
2020 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
2021 /// \~english @par Classification
2022 ///     Private
2023 /// \~english @par Type
2024 ///     Fire and Forget only
2025 /// \~english @par Detail
2026 ///     Request to delete of Maker peculiarity trace to the registered application for delivery.\n
2027 ///     Message ID sended by DiagService is as follows\n
2028 ///     MSGID_DREC_MAKERTRACE_DELETEREQUEST
2029 /// \~english @par
2030 ///      - include MM_DREC_API.h
2031 ///      - Library libMM_DREC_API.so
2032 /// \~english @see
2033 ///     None
2034 /////////////////////////////////////////////////////////////////////////////////////
2035 extern RET_DREC_API DREC_MakerTrace_DeleteRequest(HANDLE hApp,
2036                                                   PCSTR notifyName);
2037
2038 /////////////////////////////////////////////////////////////////////////////////////
2039 /// \ingroup DREC_MakerTrace_DeleteResponce
2040 /// \~english @par Brief
2041 ///     Send result of delete Maker peculiarity trace to DiagService.
2042 /// \~english @param[in] hApp
2043 ///     HANDLE - The handle for the delivery source application
2044 /// \~english @param[in] notifyName
2045 ///     PCSTR - The thread name of the delivery source
2046 /// \~english @param[in] state
2047 ///     DREC_OUTPUT_RESULT - Status (OK or NG)
2048 /// \~english @retval RET_DREC_NORMAL Normal end
2049 /// \~english @retval RET_DREC_ERROR Abnormal end
2050 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
2051 /// \~english @par Prerequisite
2052 ///     - This API must be called only when Availability of Diag Service is TRUE.
2053 /// \~english @par Change of internal state
2054 ///     - The internal state is not changed.
2055 /// \~english @par Conditions of processing failure
2056 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
2057 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
2058 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
2059 /// \~english @par Classification
2060 ///     Public
2061 /// \~english @par Type
2062 ///     Fire and Forget only
2063 /// \~english @par Detail
2064 ///     Send result of delete Maker peculiarity trace to DiagService.
2065 /// \~english @par
2066 ///      - include MM_DREC_API.h
2067 ///      - Library libMM_DREC_API.so
2068 /// \~english @see
2069 ///     None
2070 /////////////////////////////////////////////////////////////////////////////////////
2071 extern RET_DREC_API DREC_MakerTrace_DeleteResponce(HANDLE hApp,
2072                                                    PCSTR notifyName,
2073                                                    DREC_OUTPUT_RESULT state);
2074
2075 /////////////////////////////////////////////////////////////////////////////////////
2076 /// \ingroup DREC_MakerTrace_FuncStatusRequest
2077 /// \~english @par Brief
2078 ///     Request to change function status of Maker peculiarity trace.
2079 /// \~english @param[in] hApp
2080 ///     HANDLE - The handle for the delivery source application
2081 /// \~english @param[in] notifyName
2082 ///     PCSTR - The thread name of the delivery source
2083 /// \~english @param[in] func
2084 ///     DREC_OUTPUT_FUNC - Function status (function ON or ffunction OFF)
2085 /// \~english @retval RET_DREC_NORMAL Normal end
2086 /// \~english @retval RET_DREC_ERROR Abnormal end
2087 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
2088 /// \~english @par Prerequisite
2089 ///     - None
2090 /// \~english @par Change of internal state
2091 ///     - The internal state is not changed.
2092 /// \~english @par Conditions of processing failure
2093 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
2094 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
2095 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
2096 /// \~english @par Classification
2097 ///     Private
2098 /// \~english @par Type
2099 ///     Fire and Forget only
2100 /// \~english @par Detail
2101 ///     Request to change function status of Maker peculiarity trace to the registered application for delivery.\n
2102 ///     Message ID sended by DiagService is as follows\n
2103 ///     MSGID_DREC_MAKERTRACE_FUNCSTATUSREQUEST
2104 /// \~english @par
2105 ///      - include MM_DREC_API.h
2106 ///      - Library libMM_DREC_API.so
2107 /// \~english @see
2108 ///     None
2109 /////////////////////////////////////////////////////////////////////////////////////
2110 extern RET_DREC_API DREC_MakerTrace_FuncStatusRequest(HANDLE hApp,
2111                                                       PCSTR notifyName,
2112                                                       DREC_OUTPUT_FUNC func);
2113
2114 /////////////////////////////////////////////////////////////////////////////////////
2115 /// \ingroup DREC_MakerTrace_FuncStatusResponce
2116 /// \~english @par Brief
2117 ///     Send result of change function status of Maker peculiarity trace to DiagService.
2118 /// \~english @param[in] hApp
2119 ///     HANDLE - The handle for the delivery source application
2120 /// \~english @param[in] notifyName
2121 ///     PCSTR - The thread name of the delivery source
2122 /// \~english @param[in] state
2123 ///     DREC_OUTPUT_RESULT - Status (OK or NG)
2124 /// \~english @retval RET_DREC_NORMAL Normal end
2125 /// \~english @retval RET_DREC_ERROR Abnormal end
2126 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
2127 /// \~english @par Prerequisite
2128 ///     - This API must be called only when Availability of Diag Service is TRUE.
2129 /// \~english @par Change of internal state
2130 ///     - The internal state is not changed.
2131 /// \~english @par Conditions of processing failure
2132 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
2133 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
2134 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
2135 /// \~english @par Classification
2136 ///     Public
2137 /// \~english @par Type
2138 ///     Fire and Forget only
2139 /// \~english @par Detail
2140 ///     Send result of change function status of Maker peculiarity trace to DiagService.
2141 /// \~english @par
2142 ///      - include MM_DREC_API.h
2143 ///      - Library libMM_DREC_API.so
2144 /// \~english @see
2145 ///     None
2146 /////////////////////////////////////////////////////////////////////////////////////
2147 extern RET_DREC_API DREC_MakerTrace_FuncStatusResponce(HANDLE hApp,
2148                                                        PCSTR notifyName,
2149                                                        DREC_OUTPUT_RESULT state);
2150
2151 /////////////////////////////////////////////////////////////////////////////////////
2152 /// \ingroup DREC_MakerTrace_NotifyRestrict
2153 /// \~english @par Brief
2154 ///     Restrict notify of Maker peculiarity trace
2155 /// \~english @param[in] hApp
2156 ///     HANDLE - The handle for the delivery source application
2157 /// \~english @param[in] notifyName
2158 ///     PCSTR - The thread name of the delivery source
2159 /// \~english @param[in] notifyRestrict
2160 ///     DREC_NOTIFY_RESTRICT - Restrict kind of Maker peculiarity trace
2161 /// \~english @retval RET_DREC_NORMAL Normal end
2162 /// \~english @retval RET_DREC_ERROR Abnormal end
2163 /// \~english @retval RET_DREC_ERR_ARGUMENTS Incorrect argument
2164 /// \~english @par Prerequisite
2165 ///     - This API must be called only when Availability of Diag Service is TRUE.
2166 /// \~english @par Change of internal state
2167 ///     - The internal state is not changed.
2168 /// \~english @par Conditions of processing failure
2169 ///     - The argument (notifyName) is NULL. [RET_DREC_ERR_ARGUMENTS]
2170 ///     - Opening the sending message queue (McOpenSender) failed. [RET_DREC_ERROR]
2171 ///     - Sending asynchronous data (McSend) failed. [RET_DREC_ERROR]
2172 /// \~english @par Classification
2173 ///     Public
2174 /// \~english @par Type
2175 ///     Fire and Forget only
2176 /// \~english @par Detail
2177 ///     Restrict trace notifications triggered by the specified notifyRestrict.
2178 ///     Restrict notification(MessageID) are as follows.
2179 ///     - MSGID_DREC_MAKERTRACE_SIZEREQUEST
2180 ///     - MSGID_DREC_MAKERTRACE_OUTPUTREQUEST
2181 ///     - MSGID_DREC_MAKERTRACE_DELETEREQUEST
2182 ///     - MSGID_DREC_MAKERTRACE_FUNCSTATUSREQUEST
2183 ///     \n
2184 ///     if this API is not called, not restrict(Status is DREC_NOTIFY_RESTRICT_NONE).
2185 /// \~english @par
2186 ///      - include MM_DREC_API.h
2187 ///      - Library libMM_DREC_API.so
2188 /// \~english @see
2189 ///     DREC_MakerTrace_FuncStatusRequest, DREC_MakerTrace_DeleteRequest,
2190 ///     DREC_MakerTrace_OutputRequest, DREC_MakerTrace_SizeRequest
2191 /////////////////////////////////////////////////////////////////////////////////////
2192 extern RET_DREC_API DREC_MakerTrace_NotifyRestrict(HANDLE hApp,
2193                                                    PCSTR notifyName,
2194                                                    DREC_NOTIFY_RESTRICT notifyRestrict);
2195 #ifdef __cplusplus
2196 }
2197 #endif  // __cplusplus
2198 /** @}*/  // end of Diag_Drec_MakerTrace
2199 /** @}*/  // end of Diag
2200 /** @}*/  // end of Vehicle
2201 /** @}*/  // end of ApplicationManagement
2202 #endif  // __MM_DREC_API_H__
2203