summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xMPL.txt748
-rwxr-xr-xReleaseNotes.txt874
-rwxr-xr-xinclude/dlt/dlt.h94
-rwxr-xr-xinclude/dlt/dlt_client.h286
-rw-r--r--include/dlt/dlt_common_api.h434
-rwxr-xr-xinclude/dlt/dlt_protocol.h372
-rwxr-xr-xinclude/dlt/dlt_types.h80
-rwxr-xr-xsrc/daemon/dlt-daemon.h414
-rwxr-xr-xsrc/daemon/dlt-daemon_cfg.h226
-rw-r--r--src/daemon/dlt_daemon_common.h756
-rwxr-xr-xsrc/daemon/dlt_daemon_common_cfg.h238
-rwxr-xr-xsrc/examples/dlt-example-non-verbose-1.xml998
-rwxr-xr-xsrc/examples/dlt-example-non-verbose.xml850
-rwxr-xr-xsrc/lib/dlt_client_cfg.h156
-rw-r--r--src/lib/dlt_filetransfer.c2
-rwxr-xr-xsrc/lib/dlt_user_cfg.h298
-rwxr-xr-xsrc/shared/dlt_common_cfg.h222
-rwxr-xr-xsrc/shared/dlt_user_shared.h458
-rwxr-xr-xsrc/shared/dlt_user_shared_cfg.h206
-rwxr-xr-xsystemd/dlt-dbus.service.cmake64
-rwxr-xr-xsystemd/dlt-system.service.cmake64
21 files changed, 3920 insertions, 3920 deletions
diff --git a/MPL.txt b/MPL.txt
index bac71fc..52d1351 100755
--- a/MPL.txt
+++ b/MPL.txt
@@ -1,374 +1,374 @@
-Mozilla Public License Version 2.0
-==================================
-
-1. Definitions
---------------
-
-1.1. "Contributor"
- means each individual or legal entity that creates, contributes to
- the creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
- means the combination of the Contributions of others (if any) used
- by a Contributor and that particular Contributor's Contribution.
-
-1.3. "Contribution"
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
- means Source Code Form to which the initial Contributor has attached
- the notice in Exhibit A, the Executable Form of such Source Code
- Form, and Modifications of such Source Code Form, in each case
- including portions thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- (a) that the initial Contributor has attached the notice described
- in Exhibit B to the Covered Software; or
-
- (b) that the Covered Software was made available under the terms of
- version 1.1 or earlier of the License, but not also under the
- terms of a Secondary License.
-
-1.6. "Executable Form"
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
- means a work that combines Covered Software with other material, in
- a separate file or files, that is not Covered Software.
-
-1.8. "License"
- means this document.
-
-1.9. "Licensable"
- means having the right to grant, to the maximum extent possible,
- whether at the time of the initial grant or subsequently, any and
- all of the rights conveyed by this License.
-
-1.10. "Modifications"
- means any of the following:
-
- (a) any file in Source Code Form that results from an addition to,
- deletion from, or modification of the contents of Covered
- Software; or
-
- (b) any new file in Source Code Form that contains any Covered
- Software.
-
-1.11. "Patent Claims" of a Contributor
- means any patent claim(s), including without limitation, method,
- process, and apparatus claims, in any patent Licensable by such
- Contributor that would be infringed, but for the grant of the
- License, by the making, using, selling, offering for sale, having
- made, import, or transfer of either its Contributions or its
- Contributor Version.
-
-1.12. "Secondary License"
- means either the GNU General Public License, Version 2.0, the GNU
- Lesser General Public License, Version 2.1, the GNU Affero General
- Public License, Version 3.0, or any later versions of those
- licenses.
-
-1.13. "Source Code Form"
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that
- controls, is controlled by, or is under common control with You. For
- purposes of this definition, "control" means (a) the power, direct
- or indirect, to cause the direction or management of such entity,
- whether by contract or otherwise, or (b) ownership of more than
- fifty percent (50%) of the outstanding shares or beneficial
- ownership of such entity.
-
-2. License Grants and Conditions
---------------------------------
-
-2.1. Grants
-
-Each Contributor hereby grants You a world-wide, royalty-free,
-non-exclusive license:
-
-(a) under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or
- as part of a Larger Work; and
-
-(b) under Patent Claims of such Contributor to make, use, sell, offer
- for sale, have made, import, and otherwise transfer either its
- Contributions or its Contributor Version.
-
-2.2. Effective Date
-
-The licenses granted in Section 2.1 with respect to any Contribution
-become effective for each Contribution on the date the Contributor first
-distributes such Contribution.
-
-2.3. Limitations on Grant Scope
-
-The licenses granted in this Section 2 are the only rights granted under
-this License. No additional rights or licenses will be implied from the
-distribution or licensing of Covered Software under this License.
-Notwithstanding Section 2.1(b) above, no patent license is granted by a
-Contributor:
-
-(a) for any code that a Contributor has removed from Covered Software;
- or
-
-(b) for infringements caused by: (i) Your and any other third party's
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
-(c) under Patent Claims infringed by Covered Software in the absence of
- its Contributions.
-
-This License does not grant any rights in the trademarks, service marks,
-or logos of any Contributor (except as may be necessary to comply with
-the notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
-No Contributor makes additional grants as a result of Your choice to
-distribute the Covered Software under a subsequent version of this
-License (see Section 10.2) or under the terms of a Secondary License (if
-permitted under the terms of Section 3.3).
-
-2.5. Representation
-
-Each Contributor represents that the Contributor believes its
-Contributions are its original creation(s) or it has sufficient rights
-to grant the rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
-This License is not intended to limit any rights You have under
-applicable copyright doctrines of fair use, fair dealing, or other
-equivalents.
-
-2.7. Conditions
-
-Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
-in Section 2.1.
-
-3. Responsibilities
--------------------
-
-3.1. Distribution of Source Form
-
-All distribution of Covered Software in Source Code Form, including any
-Modifications that You create or to which You contribute, must be under
-the terms of this License. You must inform recipients that the Source
-Code Form of the Covered Software is governed by the terms of this
-License, and how they can obtain a copy of this License. You may not
-attempt to alter or restrict the recipients' rights in the Source Code
-Form.
-
-3.2. Distribution of Executable Form
-
-If You distribute Covered Software in Executable Form then:
-
-(a) such Covered Software must also be made available in Source Code
- Form, as described in Section 3.1, and You must inform recipients of
- the Executable Form how they can obtain a copy of such Source Code
- Form by reasonable means in a timely manner, at a charge no more
- than the cost of distribution to the recipient; and
-
-(b) You may distribute such Executable Form under the terms of this
- License, or sublicense it under different terms, provided that the
- license for the Executable Form does not attempt to limit or alter
- the recipients' rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
-You may create and distribute a Larger Work under terms of Your choice,
-provided that You also comply with the requirements of this License for
-the Covered Software. If the Larger Work is a combination of Covered
-Software with a work governed by one or more Secondary Licenses, and the
-Covered Software is not Incompatible With Secondary Licenses, this
-License permits You to additionally distribute such Covered Software
-under the terms of such Secondary License(s), so that the recipient of
-the Larger Work may, at their option, further distribute the Covered
-Software under the terms of either this License or such Secondary
-License(s).
-
-3.4. Notices
-
-You may not remove or alter the substance of any license notices
-(including copyright notices, patent notices, disclaimers of warranty,
-or limitations of liability) contained within the Source Code Form of
-the Covered Software, except that You may alter any license notices to
-the extent required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
-You may choose to offer, and to charge a fee for, warranty, support,
-indemnity or liability obligations to one or more recipients of Covered
-Software. However, You may do so only on Your own behalf, and not on
-behalf of any Contributor. You must make it absolutely clear that any
-such warranty, support, indemnity, or liability obligation is offered by
-You alone, and You hereby agree to indemnify every Contributor for any
-liability incurred by such Contributor as a result of warranty, support,
-indemnity or liability terms You offer. You may include additional
-disclaimers of warranty and limitations of liability specific to any
-jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
----------------------------------------------------
-
-If it is impossible for You to comply with any of the terms of this
-License with respect to some or all of the Covered Software due to
-statute, judicial order, or regulation then You must: (a) comply with
-the terms of this License to the maximum extent possible; and (b)
-describe the limitations and the code they affect. Such description must
-be placed in a text file included with all distributions of the Covered
-Software under this License. Except to the extent prohibited by statute
-or regulation, such description must be sufficiently detailed for a
-recipient of ordinary skill to be able to understand it.
-
-5. Termination
---------------
-
-5.1. The rights granted under this License will terminate automatically
-if You fail to comply with any of its terms. However, if You become
-compliant, then the rights granted under this License from a particular
-Contributor are reinstated (a) provisionally, unless and until such
-Contributor explicitly and finally terminates Your grants, and (b) on an
-ongoing basis, if such Contributor fails to notify You of the
-non-compliance by some reasonable means prior to 60 days after You have
-come back into compliance. Moreover, Your grants from a particular
-Contributor are reinstated on an ongoing basis if such Contributor
-notifies You of the non-compliance by some reasonable means, this is the
-first time You have received notice of non-compliance with this License
-from such Contributor, and You become compliant prior to 30 days after
-Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
-infringement claim (excluding declaratory judgment actions,
-counter-claims, and cross-claims) alleging that a Contributor Version
-directly or indirectly infringes any patent, then the rights granted to
-You by any and all Contributors for the Covered Software under Section
-2.1 of this License shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all
-end user license agreements (excluding distributors and resellers) which
-have been validly granted by You or Your distributors under this License
-prior to termination shall survive termination.
-
-************************************************************************
-* *
-* 6. Disclaimer of Warranty *
-* ------------------------- *
-* *
-* Covered Software is provided under this License on an "as is" *
-* basis, without warranty of any kind, either expressed, implied, or *
-* statutory, including, without limitation, warranties that the *
-* Covered Software is free of defects, merchantable, fit for a *
-* particular purpose or non-infringing. The entire risk as to the *
-* quality and performance of the Covered Software is with You. *
-* Should any Covered Software prove defective in any respect, You *
-* (not any Contributor) assume the cost of any necessary servicing, *
-* repair, or correction. This disclaimer of warranty constitutes an *
-* essential part of this License. No use of any Covered Software is *
-* authorized under this License except under this disclaimer. *
-* *
-************************************************************************
-
-************************************************************************
-* *
-* 7. Limitation of Liability *
-* -------------------------- *
-* *
-* Under no circumstances and under no legal theory, whether tort *
-* (including negligence), contract, or otherwise, shall any *
-* Contributor, or anyone who distributes Covered Software as *
-* permitted above, be liable to You for any direct, indirect, *
-* special, incidental, or consequential damages of any character *
-* including, without limitation, damages for lost profits, loss of *
-* goodwill, work stoppage, computer failure or malfunction, or any *
-* and all other commercial damages or losses, even if such party *
-* shall have been informed of the possibility of such damages. This *
-* limitation of liability shall not apply to liability for death or *
-* personal injury resulting from such party's negligence to the *
-* extent applicable law prohibits such limitation. Some *
-* jurisdictions do not allow the exclusion or limitation of *
-* incidental or consequential damages, so this exclusion and *
-* limitation may not apply to You. *
-* *
-************************************************************************
-
-8. Litigation
--------------
-
-Any litigation relating to this License may be brought only in the
-courts of a jurisdiction where the defendant maintains its principal
-place of business and such litigation shall be governed by laws of that
-jurisdiction, without reference to its conflict-of-law provisions.
-Nothing in this Section shall prevent a party's ability to bring
-cross-claims or counter-claims.
-
-9. Miscellaneous
-----------------
-
-This License represents the complete agreement concerning the subject
-matter hereof. If any provision of this License is held to be
-unenforceable, such provision shall be reformed only to the extent
-necessary to make it enforceable. Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-shall not be used to construe this License against a Contributor.
-
-10. Versions of the License
----------------------------
-
-10.1. New Versions
-
-Mozilla Foundation is the license steward. Except as provided in Section
-10.3, no one other than the license steward has the right to modify or
-publish new versions of this License. Each version will be given a
-distinguishing version number.
-
-10.2. Effect of New Versions
-
-You may distribute the Covered Software under the terms of the version
-of the License under which You originally received the Covered Software,
-or under the terms of any subsequent version published by the license
-steward.
-
-10.3. Modified Versions
-
-If you create software not governed by this License, and you want to
-create a new license for such software, you may create and use a
-modified version of this License if you rename the license and remove
-any references to the name of the license steward (except to note that
-such modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary
-Licenses
-
-If You choose to distribute Source Code Form that is Incompatible With
-Secondary Licenses under the terms of this version of the License, the
-notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
--------------------------------------------
-
- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular
-file, then You may include the notice in a location (such as a LICENSE
-file in a relevant directory) where a recipient would be likely to look
-for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
----------------------------------------------------------
-
- This Source Code Form is "Incompatible With Secondary Licenses", as
- defined by the Mozilla Public License, v. 2.0.
-
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
+
diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt
index dd5bade..4319eac 100755
--- a/ReleaseNotes.txt
+++ b/ReleaseNotes.txt
@@ -1,437 +1,437 @@
-Diagnostic Log and Trace - Release Notes
-=========================================
-Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
-
-Version
--------
-2.11.0 STABLE
-
-Changes
--------
-
-2.11.0
- * New macros for Format of Hex and Binary.
- * Enable dbus trace when adaptor starts up.
- * Added configuration of dbus filter.
- * Fixed segmented messages arguments to standard.
- * First implementation of DLT DBus adapter.
- * DLT_CSTRING implementation non verbose mode.
- * Added new examples which can be manually build against DLt library.
- * Send ECU Id if enabled and added library API to change.
- * Send timestamp can be disabled by new API.
- * Send session/process id by default and add configuration API.
- * Send extended header in non verbose mode by default and add new API to change setting.
- * Make daemon buffer size configurable
-
-2.10.0
-
- * Bug 184 - /tmp/dltpipes directory does not exist before dlt-daemon is started, logging disabled
- * Updated authors information.
- * Fixed missing variable declaration when systemd not enabled.
- * Fixed: all possible malloc, sprintf and strcpy problems
- * Fixed: Creation of dltpipes directory is too late.
- * Cygwin port: cygwin patch, signal handling patch and cppcheck and install lib dll to correct location on Windows.
- * Fixed compiler warnings with 32Bit gcc compiler.
- * Fixed: Fixed offline trace and new send functions issues
- * Fixed: Bug 172 - DLT system crashes because of wrong journald adaptor implementation
- * DLT Common API Wrapper.
- * Removed dlt_free from example and test applications, already called from exit handler.
- * Fixed missing dlt_receiver_remove in dlt_daemon_process_user_xxx functions.
- * Use LIB_SUFFIX as lib installation path.
- * Fixed serial port not working anymore.
- * Added log output of created socket/port In init phase 2 - socket creation
- * Defined return value for dlt_message_read().
- * Cleanup of send return values.Further cleanup of send restructure.
- * Moved daemon client functions to new source file.
- * Centralised send function to client.Introduced connection state to dlt daemon.
- * Removed check of double registration of contexts in user library, already checked by daemon.
- * When using DLT in console mode on a 64-bit machine, timestamps are corrupted due to an address of a 32-bit value being cast to a 64-bit pointer.
- * Bug 3 - Cmake does not check for zlib for dlt-daemon compilation.
- * Added new control message timezone.
- * Fixed deadlock after wrong merge..
- * Fix potential buffer overflow in offline trace.
- * Fix deadlock in dlt_user_log_reattach_to_daemon(void).
- * Fixed possible crash when runtime configurations files are corrupted.
- * Environement variables added to configure internal logging in library.
- * Reduce Timeout between filetransfer packets.
- * Close socket when send fails.
- * Replace threads by timing fds for ecu version, timing packets and watchdog.
- * Added conntection info and unregister context control messages.
- * Configurable Timeout on send.
- * Added further checks to dlt_buffer.
- * atexit handler fix.
- * Add threadnames to libdlt threads.
- * Security fix on DLT pipes.
- * Reduce usage of SEM_LOCK in application library and reset pointers.
- * Fix: Systemd Journal Adapter provides corrupted output.
- * Fix: Install Example service file only when example enabled
-
-2.9.1
-
- * Implementation of command line tool dlt-control.
- * Fix file transfer bug.
- * Bug 44 - Don't print "Buffer full" message from DLT daemon for each trace.
- * Yocto fix in build builds.
- * Fixed: security issue in dlt-system-shell regarding strncpy.
- * Fixed: Security Issue by Command Injection in DLT System.
- * systemd/CMakeLists: Remove SYSTEMD_CONFIGURATIONS_FILES_DIR existance check.
- * Bug 85 - Include of dlt.h leads to compiler warning.
- * Bug 84 - Adding utf8 support to dlt-daemon, dlt-viewer. Modified patch, originally provided by Stefan Vacek.
- * systemd journal support added.
- * spec file does not package man files when cmake is run with -DWITH_DOC=OFF
- * added length check for paths of files to be transferred
- * Semaphores and Pointer passing insteasd by value and otehr coverity issue fixes
- * Fixed several issues in DLT filetransfer.
- * added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
- * modified filetransfer to be more robust in restarting transfers
- * Remove dangling DLT_SEM_FREE from dlt_user_queue_resend
- * Unifed ECU version sending functions
- * Refinements due to problems reported by static code analysis
- * Spec file does no more package man files when cmake is run with -DWITH_DOC=OFF
- * Made the APID strings in dlt-test-multi-process counting from 00-99
- * Added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
- * File Transfer: improved robustness in case of restarted ECU/dlt-system with interrupted transfers
-
-2.9.0
-
- * Changed documentation and man pages into asciidoc format.
- * Increased buffer sizes for DLT user library and DLT daemon
- * [GDLT-120]: truncated and Segmented network tracing
- * [GDLT-137]: Automatically try resending of user buffer after FIFO full
- * [GSWD-85]: Added authors file
-
-2.8.0
-
- * [GDLT-115]: Encapsulate user macros
- * Fix register app and register context was not stored in buffer when FIFO is full. Other controll messages still not saved in buffer.
- * Create new fifo only when same application registers with different pid.'
- * Do not register appliction again, if already registered.
- * Fixed filetransfer not checking buffer fill level.
-
-2.7.0
-
- * [GDLT-24] Fixing compiler warnings
- * [GDLT-94] Optional sending periodic software version messages. See man pages for more informations
- * [GENDLT-26] Check for description length sanity
- * [GENDLT-24] Crash on invalid injection message fixed
- * [GDLT-93] Add -Wextra flags for compilation Fixed all the warnings that
- * [GDLT-90] Optional: systemd watchdog concept in dlt-system and dlt-daemon
- * [GDLT-67] Re-implemented dlt-system. Read full commit message for more information
-
-2.6.2
-
- * [GDLT-89] Fixed daemon doesn't sent the persistent log level
- * [GDLT-88] Fixed wrong initalization order using offline trace function
-
-2.6.1
-
- * Add _GNU_SOURCE Definition to be able to use O_CLOEXEC
- * Added important SEM_FREE in the daemon and closing fd in the filetransfer
- * [GDLT-3] Fixed missing semaphore around dlt_buffer_push3
- * [GDLT-86] Fixed dlt_free uses absolute file path /tmp and not DLT_USER_DEFINE define
- * [D4099] Check for duplicate file handles, and clean them up if found
- * [GDLT-85] Pipes opened multiple times for the same application pid fixed
- * [GDLT-82] Child process inherits file descriptors openend by their parent fixed
- * [GDLT-84] Instead of calling the injection callback, store a pointer to it and the required parameter data fixed
- * [GDLT-70] Check for malloc failures and return errors where applicable
- * [GDLT-47] Avoid discarding old contexts if no new memory can be allocate
- * [GDLT-69] Fixed bug in dlt-test-multi-process shares context between threads
-
-2.6.0
-
- * [GDLT-75] Use old style directory check on startup
- * [GENDLT-21] Move mcnt from DltContextData to DltContext
- * [GENDLT-15] Fixes to previous integrations from review
- * [GENDLT-15] Safe re-allocations for databuffer
- * [GENDLT-15] use the correct TEXTBUFSIZE
- * [GENDLT-15] Optimize usege of strlen. Improved log level handling
- * [GENDLT-15] Avoid buffer overrun with snprintf()
- * [GENDLT-15] Check return value of dlt_user_log_write_start(_id) correctly
- * [GENDLT-15] Reduce the number of applications if allocation fails
- * [GENDLT-15] Make dlt_user_log_write_start inline
- * [GENDLT-15] Improve errore checking in dlt_user_log_write_start_id
- * [GENDLT-15] Use databussersize to avoid reallocations
- * [GENDLT-15] Rename buffer size constant to avoid confusion
- * [GENDLT-15] Better error handling when writing to FIFO
- * [GENDLT-15] Remove duplicate msg initialization.
- * [GENDLT-15] Optimize away multiple uses of strlen for one check
- * [GDLT-4] Improve queue handling, allow for other messages while transferring a large file
- * [GDLT-4] Limit maximum file queue to 256 files
- * [GDLT-4] First working version of inotify for file transfer
- * [GDLT-2] First test for filetransfer change
- * [GDLT-2] Change to gzip wrapper format. Change file signature creation to account for file size, as inode number maybe duplicate when deleting and creating new files
- * [GDLT-2] Fix bug while reading the options
- * [GDLT-2] Allow for enabling/disabling compression for the separate directories
- * [GDLT-2] Check if the file is already compressed
- * [GDLT-2] Link with libz, fix a typo
- * [GDLT-2] zlib based compression for dlt-system
- * Cleaned some warnings generated from removing stale old code
-
-2.5.2
-
- * Change to Mozilla Public License Version 2.0
-
-2.5.1
-
- * Fixed bug with comparinson between signed and unsigned integer and protection for a buffer overflow.
- * Modified library for new test cases to corrupt data - related to the bug fix for testing signed and unsigned integer
- * [GENDLT-20] Fixed bug to use old cmake version for copy file
- * Replaced dlt-test-filetransfer-image.png with an own created image
- * [GENDLT-21] Fixed bug: Message Counter (MCNT) should be increased but is always 0
-
-2.5.0
-
- * [GDLT-53] Man pages installation included
- * .cproject and .project file for Eclipse included
- * Update of doxygen documentation and generation
- * Rework of root CMake project file, e.g. structure and compile options
- * [GENDLT-16] Create variable in dlt-system.conf to configure the timeout of the filetransfer
- * [GDLT-37] Extend automated test tools for parallel process/threads tests
- * [GSW-138] API Extension to resend the log messages in the user buffer
- * [GDLT-36] Prefixing of dlt_version.h fixed
- * [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version fixed
- * [GDLT-35] Compile warnings fixed
- * [GSW-137] Wrong include gives error on compailing against dlt fixed
-
-2.4.2
-
- * Added dynamic increasable ringbuffers to user lib and daemon.
- * dlt-system filetransfer now recovers when file is deleted during filetransfer.
- * Added check of file size when starting and deleting files during filetransfer
- * Added chekc of shm buffer availability when push to shm
- * Create abstraction of shm buffer management.
- * Fixed buffer overflow problem in buffer library.
- * Disabled share memory by default - disabled completely shared memory if not enabled.
-
-2.4.1
-
- * Added dynamic increasable ringbuffers to user lib and dlt-daemon.
- * Created abstraction of shm buffer management.
- * dlt-system filetransfer now recovers when file is deleted during filetransfer.
- * Added check of file size when starting and deleting files during filetransfer.
- * Added check of shm buffer availability when push to shm.
-
-2.4.1
-
- * Added internal logging facility to stdout, syslog or local file, configurable in configuration file.
- * Added deamonise and signal handlers to dlt-system.
- * Added manual pages.
- * Added new API dlt_check_library_version() function.
- * Fifo or SHM mode can be changed by compiler switch.
- * Replaced SHM implementation.
- * Fixed shared memory problem in DLT library during startup, if application is started before daemon.
- * Fixed syslog adapter in dlt-system.
- * Reverted API changes in dlt_register_app() function.
- * DLT user library does not set the stack size of the receiver thread anymore.
-
-2.4.0
-
- * New config files /etc/dlt.conf and /etc/dlt-system.conf must be adapted to the needs
- * New DLT user lib API dlt_get_log_state() to get DLT client state
- * New DLT user lib API to manage flow control (needed for bulk data logging)
- * New DLT user lib API dlt_set_log_mode() to enable/disable internal/external trace
- * New application dlt-system (filtransfer, proc file system logger,syslog udp adapter included)
- * [GSW-66] File transfer over DLT.
- * [GSW-43] Performance improvement for bulk data over DLT.
- * [GSW-61] Replace command line parameter by configuration file
- * [GSW-13] Support for keep-alive messages as configuration parameter
- * [GSW-60] Extended offline DLT Trace memory handling.
- * Removed filter implementation
-
-2.3.0
-
- * [GSW-16] Systemd configuration for syslog to DLT dapater
- * [GSW-62] DLT Library version check
- * [GSW-28] Directory where persistent data is stored is not configurable
- * [GSW-59] Statically allocated large array
- * Added init script for Ubuntu
- * Optional adding of gprof compile flags
- * sprintf with float64 fails on ARM platform; disabled this function on QRM platform.
-
-2.2.0
-
- * Moved build process completely to cmake
- * Added commandline parameter -u to set ring buffer size
- * Reduced cpu consumption needed by applications using DLT library
- * Increased default ringbuffer size to 10024 bytes
- * Changed delay in receiver routine to 100ms
-
-2.1.0
-
- * DLT Viewer (QT)
- * New dlt viewer (QT-based) implementated
- * Moved to seperate project, see extra Release Notes for DLT Viewer (QT)
- * DLT Viewer (WX) - Deprecated
- * Old dlt viewer (WX) is removed now from package generation
- * Moved to seperate project
- * Removed filtering of messages during writing to a file
- * DLT library:
- * Functions dlt_file_read_raw() and dlt_file_read_header_raw() added
- * Added support for raw messages in nonverbose mode
- * Injection tables are now dynamically allocated
- * Contexts are now dynamically allocated
- * Added seperate file for platform float types (dlt_float_types.h)
- and used this types.
- Attention: This file must be adapted to each target platform.
- * Removed signal handlers from dlt_user.c; SIGPIPE signal is ignored; atexit() handler still exists
- * Function dlt_forward_msg() added
- * DLT daemon:
- * Small optimization in get_log_info() for one searched application with one searched context,
- which is existing in the context table of the dlt daemon
- * Optional syncing to serial header added
- * Support for keep-alive messages, realized as seperate thread
- * General:
- * Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress
- * Extended dlt-test-client
- * Added stress test3 to dlt-test-stress
- * Added help to dlt-test-stress, printed if no test was selected
- * Added dlt-test-internal
- * Removed plugin support from dlt_receive and dlt_convert
- * Extended documentation
- * dlt viewer (wx): Fixed minor bug, it's possible now to compile the dlt viewer (wx) again under mingw under Windows
- * DLT test programs: Fixed minor bug in dlt-test-user, test3f: Wrong counter was used
- * Removed DLT_LOG calls in injection functions due to problems (application hangs)
-
-2.0.5
-
- * DLT viewer:
- * The default log level is now shown, if already known
- * Renamed Filter->New.. to Filter->Delete all filter
- * Enhanced performance
- * DLT library:
- * On crash or termination of application using the DLT library,
- the registered context and application IDs are removed properly
- (and are deregistered from DLT daemon)
- * dlt_register_context_ll_ts() and Macro therefore added
- * dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED
- * dlt_message_header_flags() added
- * DLT daemon:
- * Support for dlt_register_context_ll_ts() added
- * Enhanced support for get_log_info (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)
- * Added -r option, for automatic sending context information to dlt client; if no client connection is available,
- this information is stored in history buffer in dlt daemon
- * Several internal performance optimizations:
- * dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)
- * Several functions optimized
- * Unnecessary functions removed
- * General:
- * Moved definition of struct DltUser from dlt_user_private.h to dlt_user.h
- * dlt.h includes now dlt_common.h
- * Extended dlt-test-user and dlt-test-client applications
- * DLT daemon/DLT library: Fixed bug in Filter Delete
- * DLT daemon: Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending
- new log level to context of this (now not running) application.
- * DLT daemon: Fixed bug in unregister application
- * DLT daemon: Fixed bug in reattach to daemon
- * DLT library: Fixed bug in send function
- * DLT viewer: Fixed bug in set default log level
-
-2.0.4
-
- * License has changed from ADRLPD to ADRLRM
- * DLT viewer:
- * Support for non-verbose mode (as FIBEX plugin)
- * DLT library:
- * Support for non-verbose mode (as FIBEX plugin)
- * dlt_message_print_* functions added
- * Semaphore calls added to enable multi-threading
- * Changed injection interface from direct usage to callback
- * Requested log level and trace status is set immediately
- in dlt_set_application_ll_ts_limit()
- * Implemented receiver thread in DLT library
- (used for setting of log level/trace status and for injection handling)
- * Added signal-handler and atexit-handler for cleanup (calls dlt_free())
- * General:
- * Added implementation of clientlib and testclient for Windows
- * Both adaptors sends now log messages with log level DLT_LOG_INFO
- * Multi-threading example in src/tests/dlt-test-user-multi added
- * DLT viewer: Right mouse button for loading plugin descriptions (MOST-/Fibex-XML File)
- is now working (also in Windows)
- * DLT library: Fixed bug in dlt_print_mixed_string()
- * DLT library: Fixed bug in dlt_daemon_contexts_get_next_con_id()
- * DLT daemon: dlt_daemon_process_user_message_unregister_application() also removes now
- all corresponding contexts
- * DLT daemon: Added security check to dlt_daemon_control_get_log_info() in order to avoid crash
- which occured under special circumstances
- * DLT daemon: Register app now opens the connection to the DLT library,
- unregister app closes the connection (was before in register context)
- * Added -lrt to package config file
- * Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public
-
-2.0.3
-
- * DLT viewer:
- * Reduced load if idle
- * Modified behaviour of settings in dlt-viewer
- * Always open tmpfile in dlt-viewer if nothing other is specified
- * File->Clear added
- * DLT daemon:
- * Added several checks within code
- * DLT library:
- * Added several checks within code
- * Enhanced local print modes:
- a environment variable now can be used to control local print mode:
- Variable: DLT_LOCAL_PRINT_MODE
- Values : "AUTOMATIC" (local print only, if dlt-daemon connection is not
- available at startup of program using DLT library)
- "FORCE_ON" (always do local print)
- "FORCE_OFF" (never do local print)
- * A client library for writing console client applications (Linux) is now available.
- dlt-receiver and dlt-test-client uses this new library code
- * General:
- * Added seperate file for DltMostMessageHeader type
- * Added seperate file for DLT protocol values
- * Relaxed checks for passing trace messages to plugin handler
- * Tested and improved MOST plugin
- * Support for float (32 Bit) and double (64 Bit) values
- * Code fragments for winclientlib and wintestclient added
- * DLT library: Fixed bug in DLT_IMPORT_CONTEXT
- * DLT library: Fixed bug in dlt_plugin_print() and dlt_most_payload()
- * DLT daemon and library: Fixed bug in handling of description strings
- * DLT viewer: Fixed bug in RMB Click for loading plugin description
- * General: Fixed parsing and printing of MOST messages
- * Several small bugs fixed
-
-2.0.2
-
- * DLT viewer:
- * Showing timestamp
- * Compiles now with MS Visual C++
- * Support for loading multiple descriptions
- of plugins is now possible (*)
- * Plugin description can be loaded individually
- by Right-mouse-button (*)
- * DLT daemon:
- * Overflow message is now stored in history buffer,
- if necessary
- * DLT library:
- * Ring-buffer for injection messages implemented
- * History Buffer for Startup + Overflow implemented
- * Setting of maximum logged log level/trace status for
- application triggered by application is now possible
- * Optional local output of Log message is now possible
- * General:
- * Support for ARTIS Box implemented (all, without GUI)
- * Support for timestamp in standardheader extras added
- * Support for ECU ID in standardheader extras added;
- this value can be overwritten by the DLT daemon
- * DLT viewer:
- * Store and load application and context description fixed
- * Fixed crash on termination of Windows version
- * DLT console utilities:
- * Fixed printing of filter ids
- * General:
- * Big Endian/Little Endian support tested and fixed
- * Fixed writing and reading of locally created dlt files
- * Several smaller bugs fixed
-
-2.0.1
-
- * Full support for serial connection between DLT daemon and DLT Viewer
- * Several small bugs fixed in DLT Viewer
-
-2.0.0
-
- * Initial Release of new DLT daemon Version 2 including the new DLT Client DLT Viewer
- * Initial Release
-
+Diagnostic Log and Trace - Release Notes
+=========================================
+Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
+
+Version
+-------
+2.11.0 STABLE
+
+Changes
+-------
+
+2.11.0
+ * New macros for Format of Hex and Binary.
+ * Enable dbus trace when adaptor starts up.
+ * Added configuration of dbus filter.
+ * Fixed segmented messages arguments to standard.
+ * First implementation of DLT DBus adapter.
+ * DLT_CSTRING implementation non verbose mode.
+ * Added new examples which can be manually build against DLt library.
+ * Send ECU Id if enabled and added library API to change.
+ * Send timestamp can be disabled by new API.
+ * Send session/process id by default and add configuration API.
+ * Send extended header in non verbose mode by default and add new API to change setting.
+ * Make daemon buffer size configurable
+
+2.10.0
+
+ * Bug 184 - /tmp/dltpipes directory does not exist before dlt-daemon is started, logging disabled
+ * Updated authors information.
+ * Fixed missing variable declaration when systemd not enabled.
+ * Fixed: all possible malloc, sprintf and strcpy problems
+ * Fixed: Creation of dltpipes directory is too late.
+ * Cygwin port: cygwin patch, signal handling patch and cppcheck and install lib dll to correct location on Windows.
+ * Fixed compiler warnings with 32Bit gcc compiler.
+ * Fixed: Fixed offline trace and new send functions issues
+ * Fixed: Bug 172 - DLT system crashes because of wrong journald adaptor implementation
+ * DLT Common API Wrapper.
+ * Removed dlt_free from example and test applications, already called from exit handler.
+ * Fixed missing dlt_receiver_remove in dlt_daemon_process_user_xxx functions.
+ * Use LIB_SUFFIX as lib installation path.
+ * Fixed serial port not working anymore.
+ * Added log output of created socket/port In init phase 2 - socket creation
+ * Defined return value for dlt_message_read().
+ * Cleanup of send return values.Further cleanup of send restructure.
+ * Moved daemon client functions to new source file.
+ * Centralised send function to client.Introduced connection state to dlt daemon.
+ * Removed check of double registration of contexts in user library, already checked by daemon.
+ * When using DLT in console mode on a 64-bit machine, timestamps are corrupted due to an address of a 32-bit value being cast to a 64-bit pointer.
+ * Bug 3 - Cmake does not check for zlib for dlt-daemon compilation.
+ * Added new control message timezone.
+ * Fixed deadlock after wrong merge..
+ * Fix potential buffer overflow in offline trace.
+ * Fix deadlock in dlt_user_log_reattach_to_daemon(void).
+ * Fixed possible crash when runtime configurations files are corrupted.
+ * Environement variables added to configure internal logging in library.
+ * Reduce Timeout between filetransfer packets.
+ * Close socket when send fails.
+ * Replace threads by timing fds for ecu version, timing packets and watchdog.
+ * Added conntection info and unregister context control messages.
+ * Configurable Timeout on send.
+ * Added further checks to dlt_buffer.
+ * atexit handler fix.
+ * Add threadnames to libdlt threads.
+ * Security fix on DLT pipes.
+ * Reduce usage of SEM_LOCK in application library and reset pointers.
+ * Fix: Systemd Journal Adapter provides corrupted output.
+ * Fix: Install Example service file only when example enabled
+
+2.9.1
+
+ * Implementation of command line tool dlt-control.
+ * Fix file transfer bug.
+ * Bug 44 - Don't print "Buffer full" message from DLT daemon for each trace.
+ * Yocto fix in build builds.
+ * Fixed: security issue in dlt-system-shell regarding strncpy.
+ * Fixed: Security Issue by Command Injection in DLT System.
+ * systemd/CMakeLists: Remove SYSTEMD_CONFIGURATIONS_FILES_DIR existance check.
+ * Bug 85 - Include of dlt.h leads to compiler warning.
+ * Bug 84 - Adding utf8 support to dlt-daemon, dlt-viewer. Modified patch, originally provided by Stefan Vacek.
+ * systemd journal support added.
+ * spec file does not package man files when cmake is run with -DWITH_DOC=OFF
+ * added length check for paths of files to be transferred
+ * Semaphores and Pointer passing insteasd by value and otehr coverity issue fixes
+ * Fixed several issues in DLT filetransfer.
+ * added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
+ * modified filetransfer to be more robust in restarting transfers
+ * Remove dangling DLT_SEM_FREE from dlt_user_queue_resend
+ * Unifed ECU version sending functions
+ * Refinements due to problems reported by static code analysis
+ * Spec file does no more package man files when cmake is run with -DWITH_DOC=OFF
+ * Made the APID strings in dlt-test-multi-process counting from 00-99
+ * Added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber
+ * File Transfer: improved robustness in case of restarted ECU/dlt-system with interrupted transfers
+
+2.9.0
+
+ * Changed documentation and man pages into asciidoc format.
+ * Increased buffer sizes for DLT user library and DLT daemon
+ * [GDLT-120]: truncated and Segmented network tracing
+ * [GDLT-137]: Automatically try resending of user buffer after FIFO full
+ * [GSWD-85]: Added authors file
+
+2.8.0
+
+ * [GDLT-115]: Encapsulate user macros
+ * Fix register app and register context was not stored in buffer when FIFO is full. Other controll messages still not saved in buffer.
+ * Create new fifo only when same application registers with different pid.'
+ * Do not register appliction again, if already registered.
+ * Fixed filetransfer not checking buffer fill level.
+
+2.7.0
+
+ * [GDLT-24] Fixing compiler warnings
+ * [GDLT-94] Optional sending periodic software version messages. See man pages for more informations
+ * [GENDLT-26] Check for description length sanity
+ * [GENDLT-24] Crash on invalid injection message fixed
+ * [GDLT-93] Add -Wextra flags for compilation Fixed all the warnings that
+ * [GDLT-90] Optional: systemd watchdog concept in dlt-system and dlt-daemon
+ * [GDLT-67] Re-implemented dlt-system. Read full commit message for more information
+
+2.6.2
+
+ * [GDLT-89] Fixed daemon doesn't sent the persistent log level
+ * [GDLT-88] Fixed wrong initalization order using offline trace function
+
+2.6.1
+
+ * Add _GNU_SOURCE Definition to be able to use O_CLOEXEC
+ * Added important SEM_FREE in the daemon and closing fd in the filetransfer
+ * [GDLT-3] Fixed missing semaphore around dlt_buffer_push3
+ * [GDLT-86] Fixed dlt_free uses absolute file path /tmp and not DLT_USER_DEFINE define
+ * [D4099] Check for duplicate file handles, and clean them up if found
+ * [GDLT-85] Pipes opened multiple times for the same application pid fixed
+ * [GDLT-82] Child process inherits file descriptors openend by their parent fixed
+ * [GDLT-84] Instead of calling the injection callback, store a pointer to it and the required parameter data fixed
+ * [GDLT-70] Check for malloc failures and return errors where applicable
+ * [GDLT-47] Avoid discarding old contexts if no new memory can be allocate
+ * [GDLT-69] Fixed bug in dlt-test-multi-process shares context between threads
+
+2.6.0
+
+ * [GDLT-75] Use old style directory check on startup
+ * [GENDLT-21] Move mcnt from DltContextData to DltContext
+ * [GENDLT-15] Fixes to previous integrations from review
+ * [GENDLT-15] Safe re-allocations for databuffer
+ * [GENDLT-15] use the correct TEXTBUFSIZE
+ * [GENDLT-15] Optimize usege of strlen. Improved log level handling
+ * [GENDLT-15] Avoid buffer overrun with snprintf()
+ * [GENDLT-15] Check return value of dlt_user_log_write_start(_id) correctly
+ * [GENDLT-15] Reduce the number of applications if allocation fails
+ * [GENDLT-15] Make dlt_user_log_write_start inline
+ * [GENDLT-15] Improve errore checking in dlt_user_log_write_start_id
+ * [GENDLT-15] Use databussersize to avoid reallocations
+ * [GENDLT-15] Rename buffer size constant to avoid confusion
+ * [GENDLT-15] Better error handling when writing to FIFO
+ * [GENDLT-15] Remove duplicate msg initialization.
+ * [GENDLT-15] Optimize away multiple uses of strlen for one check
+ * [GDLT-4] Improve queue handling, allow for other messages while transferring a large file
+ * [GDLT-4] Limit maximum file queue to 256 files
+ * [GDLT-4] First working version of inotify for file transfer
+ * [GDLT-2] First test for filetransfer change
+ * [GDLT-2] Change to gzip wrapper format. Change file signature creation to account for file size, as inode number maybe duplicate when deleting and creating new files
+ * [GDLT-2] Fix bug while reading the options
+ * [GDLT-2] Allow for enabling/disabling compression for the separate directories
+ * [GDLT-2] Check if the file is already compressed
+ * [GDLT-2] Link with libz, fix a typo
+ * [GDLT-2] zlib based compression for dlt-system
+ * Cleaned some warnings generated from removing stale old code
+
+2.5.2
+
+ * Change to Mozilla Public License Version 2.0
+
+2.5.1
+
+ * Fixed bug with comparinson between signed and unsigned integer and protection for a buffer overflow.
+ * Modified library for new test cases to corrupt data - related to the bug fix for testing signed and unsigned integer
+ * [GENDLT-20] Fixed bug to use old cmake version for copy file
+ * Replaced dlt-test-filetransfer-image.png with an own created image
+ * [GENDLT-21] Fixed bug: Message Counter (MCNT) should be increased but is always 0
+
+2.5.0
+
+ * [GDLT-53] Man pages installation included
+ * .cproject and .project file for Eclipse included
+ * Update of doxygen documentation and generation
+ * Rework of root CMake project file, e.g. structure and compile options
+ * [GENDLT-16] Create variable in dlt-system.conf to configure the timeout of the filetransfer
+ * [GDLT-37] Extend automated test tools for parallel process/threads tests
+ * [GSW-138] API Extension to resend the log messages in the user buffer
+ * [GDLT-36] Prefixing of dlt_version.h fixed
+ * [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version fixed
+ * [GDLT-35] Compile warnings fixed
+ * [GSW-137] Wrong include gives error on compailing against dlt fixed
+
+2.4.2
+
+ * Added dynamic increasable ringbuffers to user lib and daemon.
+ * dlt-system filetransfer now recovers when file is deleted during filetransfer.
+ * Added check of file size when starting and deleting files during filetransfer
+ * Added chekc of shm buffer availability when push to shm
+ * Create abstraction of shm buffer management.
+ * Fixed buffer overflow problem in buffer library.
+ * Disabled share memory by default - disabled completely shared memory if not enabled.
+
+2.4.1
+
+ * Added dynamic increasable ringbuffers to user lib and dlt-daemon.
+ * Created abstraction of shm buffer management.
+ * dlt-system filetransfer now recovers when file is deleted during filetransfer.
+ * Added check of file size when starting and deleting files during filetransfer.
+ * Added check of shm buffer availability when push to shm.
+
+2.4.1
+
+ * Added internal logging facility to stdout, syslog or local file, configurable in configuration file.
+ * Added deamonise and signal handlers to dlt-system.
+ * Added manual pages.
+ * Added new API dlt_check_library_version() function.
+ * Fifo or SHM mode can be changed by compiler switch.
+ * Replaced SHM implementation.
+ * Fixed shared memory problem in DLT library during startup, if application is started before daemon.
+ * Fixed syslog adapter in dlt-system.
+ * Reverted API changes in dlt_register_app() function.
+ * DLT user library does not set the stack size of the receiver thread anymore.
+
+2.4.0
+
+ * New config files /etc/dlt.conf and /etc/dlt-system.conf must be adapted to the needs
+ * New DLT user lib API dlt_get_log_state() to get DLT client state
+ * New DLT user lib API to manage flow control (needed for bulk data logging)
+ * New DLT user lib API dlt_set_log_mode() to enable/disable internal/external trace
+ * New application dlt-system (filtransfer, proc file system logger,syslog udp adapter included)
+ * [GSW-66] File transfer over DLT.
+ * [GSW-43] Performance improvement for bulk data over DLT.
+ * [GSW-61] Replace command line parameter by configuration file
+ * [GSW-13] Support for keep-alive messages as configuration parameter
+ * [GSW-60] Extended offline DLT Trace memory handling.
+ * Removed filter implementation
+
+2.3.0
+
+ * [GSW-16] Systemd configuration for syslog to DLT dapater
+ * [GSW-62] DLT Library version check
+ * [GSW-28] Directory where persistent data is stored is not configurable
+ * [GSW-59] Statically allocated large array
+ * Added init script for Ubuntu
+ * Optional adding of gprof compile flags
+ * sprintf with float64 fails on ARM platform; disabled this function on QRM platform.
+
+2.2.0
+
+ * Moved build process completely to cmake
+ * Added commandline parameter -u to set ring buffer size
+ * Reduced cpu consumption needed by applications using DLT library
+ * Increased default ringbuffer size to 10024 bytes
+ * Changed delay in receiver routine to 100ms
+
+2.1.0
+
+ * DLT Viewer (QT)
+ * New dlt viewer (QT-based) implementated
+ * Moved to seperate project, see extra Release Notes for DLT Viewer (QT)
+ * DLT Viewer (WX) - Deprecated
+ * Old dlt viewer (WX) is removed now from package generation
+ * Moved to seperate project
+ * Removed filtering of messages during writing to a file
+ * DLT library:
+ * Functions dlt_file_read_raw() and dlt_file_read_header_raw() added
+ * Added support for raw messages in nonverbose mode
+ * Injection tables are now dynamically allocated
+ * Contexts are now dynamically allocated
+ * Added seperate file for platform float types (dlt_float_types.h)
+ and used this types.
+ Attention: This file must be adapted to each target platform.
+ * Removed signal handlers from dlt_user.c; SIGPIPE signal is ignored; atexit() handler still exists
+ * Function dlt_forward_msg() added
+ * DLT daemon:
+ * Small optimization in get_log_info() for one searched application with one searched context,
+ which is existing in the context table of the dlt daemon
+ * Optional syncing to serial header added
+ * Support for keep-alive messages, realized as seperate thread
+ * General:
+ * Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress
+ * Extended dlt-test-client
+ * Added stress test3 to dlt-test-stress
+ * Added help to dlt-test-stress, printed if no test was selected
+ * Added dlt-test-internal
+ * Removed plugin support from dlt_receive and dlt_convert
+ * Extended documentation
+ * dlt viewer (wx): Fixed minor bug, it's possible now to compile the dlt viewer (wx) again under mingw under Windows
+ * DLT test programs: Fixed minor bug in dlt-test-user, test3f: Wrong counter was used
+ * Removed DLT_LOG calls in injection functions due to problems (application hangs)
+
+2.0.5
+
+ * DLT viewer:
+ * The default log level is now shown, if already known
+ * Renamed Filter->New.. to Filter->Delete all filter
+ * Enhanced performance
+ * DLT library:
+ * On crash or termination of application using the DLT library,
+ the registered context and application IDs are removed properly
+ (and are deregistered from DLT daemon)
+ * dlt_register_context_ll_ts() and Macro therefore added
+ * dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED
+ * dlt_message_header_flags() added
+ * DLT daemon:
+ * Support for dlt_register_context_ll_ts() added
+ * Enhanced support for get_log_info (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)
+ * Added -r option, for automatic sending context information to dlt client; if no client connection is available,
+ this information is stored in history buffer in dlt daemon
+ * Several internal performance optimizations:
+ * dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)
+ * Several functions optimized
+ * Unnecessary functions removed
+ * General:
+ * Moved definition of struct DltUser from dlt_user_private.h to dlt_user.h
+ * dlt.h includes now dlt_common.h
+ * Extended dlt-test-user and dlt-test-client applications
+ * DLT daemon/DLT library: Fixed bug in Filter Delete
+ * DLT daemon: Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending
+ new log level to context of this (now not running) application.
+ * DLT daemon: Fixed bug in unregister application
+ * DLT daemon: Fixed bug in reattach to daemon
+ * DLT library: Fixed bug in send function
+ * DLT viewer: Fixed bug in set default log level
+
+2.0.4
+
+ * License has changed from ADRLPD to ADRLRM
+ * DLT viewer:
+ * Support for non-verbose mode (as FIBEX plugin)
+ * DLT library:
+ * Support for non-verbose mode (as FIBEX plugin)
+ * dlt_message_print_* functions added
+ * Semaphore calls added to enable multi-threading
+ * Changed injection interface from direct usage to callback
+ * Requested log level and trace status is set immediately
+ in dlt_set_application_ll_ts_limit()
+ * Implemented receiver thread in DLT library
+ (used for setting of log level/trace status and for injection handling)
+ * Added signal-handler and atexit-handler for cleanup (calls dlt_free())
+ * General:
+ * Added implementation of clientlib and testclient for Windows
+ * Both adaptors sends now log messages with log level DLT_LOG_INFO
+ * Multi-threading example in src/tests/dlt-test-user-multi added
+ * DLT viewer: Right mouse button for loading plugin descriptions (MOST-/Fibex-XML File)
+ is now working (also in Windows)
+ * DLT library: Fixed bug in dlt_print_mixed_string()
+ * DLT library: Fixed bug in dlt_daemon_contexts_get_next_con_id()
+ * DLT daemon: dlt_daemon_process_user_message_unregister_application() also removes now
+ all corresponding contexts
+ * DLT daemon: Added security check to dlt_daemon_control_get_log_info() in order to avoid crash
+ which occured under special circumstances
+ * DLT daemon: Register app now opens the connection to the DLT library,
+ unregister app closes the connection (was before in register context)
+ * Added -lrt to package config file
+ * Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public
+
+2.0.3
+
+ * DLT viewer:
+ * Reduced load if idle
+ * Modified behaviour of settings in dlt-viewer
+ * Always open tmpfile in dlt-viewer if nothing other is specified
+ * File->Clear added
+ * DLT daemon:
+ * Added several checks within code
+ * DLT library:
+ * Added several checks within code
+ * Enhanced local print modes:
+ a environment variable now can be used to control local print mode:
+ Variable: DLT_LOCAL_PRINT_MODE
+ Values : "AUTOMATIC" (local print only, if dlt-daemon connection is not
+ available at startup of program using DLT library)
+ "FORCE_ON" (always do local print)
+ "FORCE_OFF" (never do local print)
+ * A client library for writing console client applications (Linux) is now available.
+ dlt-receiver and dlt-test-client uses this new library code
+ * General:
+ * Added seperate file for DltMostMessageHeader type
+ * Added seperate file for DLT protocol values
+ * Relaxed checks for passing trace messages to plugin handler
+ * Tested and improved MOST plugin
+ * Support for float (32 Bit) and double (64 Bit) values
+ * Code fragments for winclientlib and wintestclient added
+ * DLT library: Fixed bug in DLT_IMPORT_CONTEXT
+ * DLT library: Fixed bug in dlt_plugin_print() and dlt_most_payload()
+ * DLT daemon and library: Fixed bug in handling of description strings
+ * DLT viewer: Fixed bug in RMB Click for loading plugin description
+ * General: Fixed parsing and printing of MOST messages
+ * Several small bugs fixed
+
+2.0.2
+
+ * DLT viewer:
+ * Showing timestamp
+ * Compiles now with MS Visual C++
+ * Support for loading multiple descriptions
+ of plugins is now possible (*)
+ * Plugin description can be loaded individually
+ by Right-mouse-button (*)
+ * DLT daemon:
+ * Overflow message is now stored in history buffer,
+ if necessary
+ * DLT library:
+ * Ring-buffer for injection messages implemented
+ * History Buffer for Startup + Overflow implemented
+ * Setting of maximum logged log level/trace status for
+ application triggered by application is now possible
+ * Optional local output of Log message is now possible
+ * General:
+ * Support for ARTIS Box implemented (all, without GUI)
+ * Support for timestamp in standardheader extras added
+ * Support for ECU ID in standardheader extras added;
+ this value can be overwritten by the DLT daemon
+ * DLT viewer:
+ * Store and load application and context description fixed
+ * Fixed crash on termination of Windows version
+ * DLT console utilities:
+ * Fixed printing of filter ids
+ * General:
+ * Big Endian/Little Endian support tested and fixed
+ * Fixed writing and reading of locally created dlt files
+ * Several smaller bugs fixed
+
+2.0.1
+
+ * Full support for serial connection between DLT daemon and DLT Viewer
+ * Several small bugs fixed in DLT Viewer
+
+2.0.0
+
+ * Initial Release of new DLT daemon Version 2 including the new DLT Client DLT Viewer
+ * Initial Release
+
diff --git a/include/dlt/dlt.h b/include/dlt/dlt.h
index 5c2d118..e4bc367 100755
--- a/include/dlt/dlt.h
+++ b/include/dlt/dlt.h
@@ -1,29 +1,29 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt.h **
-** **
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt.h **
+** **
** TARGET : linux **
** **
** PROJECT : DLT **
@@ -49,25 +49,25 @@
** -------- ------------------------- ---------------------------------- **
** aw Alexander Wenzel BMW **
** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Revision Control History **
-*******************************************************************************/
-
-/*
- * $LastChangedRevision: 1670 $
- * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
- * $LastChangedBy$
- Initials Date Comment
- aw 13.01.2010 initial
- */
-
-#ifndef DLT_H
-#define DLT_H
+*******************************************************************************/
+
+/*******************************************************************************
+** Revision Control History **
+*******************************************************************************/
+
+/*
+ * $LastChangedRevision: 1670 $
+ * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
+ * $LastChangedBy$
+ Initials Date Comment
+ aw 13.01.2010 initial
+ */
+
+#ifndef DLT_H
+#define DLT_H
+
+#include "dlt_common.h"
+#include "dlt_user.h"
+
+#endif /* DLT_H */
-#include "dlt_common.h"
-#include "dlt_user.h"
-
-#endif /* DLT_H */
-
diff --git a/include/dlt/dlt_client.h b/include/dlt/dlt_client.h
index ac9d61e..29c7c1b 100755
--- a/include/dlt/dlt_client.h
+++ b/include/dlt/dlt_client.h
@@ -1,30 +1,30 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_client.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_client.h **
-** **
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_client.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_client.h **
+** **
** TARGET : linux **
** **
** PROJECT : DLT **
@@ -50,44 +50,44 @@
** -------- ------------------------- ---------------------------------- **
** aw Alexander Wenzel BMW **
** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Revision Control History **
-*******************************************************************************/
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-#ifndef DLT_CLIENT_H
-#define DLT_CLIENT_H
-
-/**
- \defgroup clientapi DLT Client API
- \addtogroup clientapi
- \{
-*/
-
-#include "dlt_types.h"
-#include "dlt_common.h"
-
-typedef struct
-{
- DltReceiver receiver; /**< receiver pointer to dlt receiver structure */
- int sock; /**< sock Connection handle/socket */
- char *servIP; /**< servIP IP adress/Hostname of TCP/IP interface */
- char *serialDevice; /**< serialDevice Devicename of serial device */
- speed_t baudrate; /**< baudrate Baudrate of serial interface, as speed_t */
- int serial_mode; /**< serial_mode Serial mode enabled =1, disabled =0 */
-} DltClient;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+*******************************************************************************/
+
+/*******************************************************************************
+** Revision Control History **
+*******************************************************************************/
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+#ifndef DLT_CLIENT_H
+#define DLT_CLIENT_H
+
+/**
+ \defgroup clientapi DLT Client API
+ \addtogroup clientapi
+ \{
+*/
+
+#include "dlt_types.h"
+#include "dlt_common.h"
+
+typedef struct
+{
+ DltReceiver receiver; /**< receiver pointer to dlt receiver structure */
+ int sock; /**< sock Connection handle/socket */
+ char *servIP; /**< servIP IP adress/Hostname of TCP/IP interface */
+ char *serialDevice; /**< serialDevice Devicename of serial device */
+ speed_t baudrate; /**< baudrate Baudrate of serial interface, as speed_t */
+ int serial_mode; /**< serial_mode Serial mode enabled =1, disabled =0 */
+} DltClient;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
void dlt_client_register_message_callback(int (*registerd_callback) (DltMessage *message, void *data));
/**
@@ -95,21 +95,21 @@ void dlt_client_register_message_callback(int (*registerd_callback) (DltMessage
* @param client pointer to dlt client structure
* @param verbose if set to true verbose information is printed out.
* @return negative value if there was an error
- */
+ */
int dlt_client_init(DltClient *client, int verbose);
/**
* Connect to dlt daemon using the information from the dlt client structure
* @param client pointer to dlt client structure
* @param verbose if set to true verbose information is printed out.
* @return negative value if there was an error
- */
+ */
int dlt_client_connect(DltClient *client, int verbose);
/**
* Cleanup dlt client structure
* @param client pointer to dlt client structure
* @param verbose if set to true verbose information is printed out.
* @return negative value if there was an error
- */
+ */
int dlt_client_cleanup(DltClient *client, int verbose);
/**
* Main Loop of dlt client application
@@ -117,18 +117,18 @@ int dlt_client_cleanup(DltClient *client, int verbose);
* @param data pointer to data to be provided to the main loop
* @param verbose if set to true verbose information is printed out.
* @return negative value if there was an error
- */
+ */
int dlt_client_main_loop(DltClient *client, void *data, int verbose);
-/**
- * Send ancontrol message to the dlt daemon
- * @param client pointer to dlt client structure
- * @param apid application id
- * @param ctid context id
- * @param payload Buffer filled with control message data
- * @param size Size of control message data
- * @return negative value if there was an error
- */
-int dlt_client_send_ctrl_msg(DltClient *client, char *apid, char *ctid, uint8_t *payload, uint32_t size);
+/**
+ * Send ancontrol message to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param apid application id
+ * @param ctid context id
+ * @param payload Buffer filled with control message data
+ * @param size Size of control message data
+ * @return negative value if there was an error
+ */
+int dlt_client_send_ctrl_msg(DltClient *client, char *apid, char *ctid, uint8_t *payload, uint32_t size);
/**
* Send an injection message to the dlt daemon
* @param client pointer to dlt client structure
@@ -138,74 +138,74 @@ int dlt_client_send_ctrl_msg(DltClient *client, char *apid, char *ctid, uint8_t
* @param buffer Buffer filled with injection message data
* @param size Size of injection data within buffer
* @return negative value if there was an error
- */
+ */
int dlt_client_send_inject_msg(DltClient *client, char *apid, char *ctid, uint32_t serviceID, uint8_t *buffer, uint32_t size);
-/**
- * Send an set log level message to the dlt daemon
- * @param client pointer to dlt client structure
- * @param apid application id
- * @param ctid context id
- * @param SendLogLevel Log Level
- * @return negative value if there was an error
- */
-int dlt_client_send_log_level(DltClient *client, char *apid, char *ctid, uint8_t logLevel);
-/**
- * Send a set trace status message to the dlt daemon
- * @param client pointer to dlt client structure
- * @param apid application id
- * @param ctid context id
- * @param defaultTraceStatus Default Trace Status
- * @return negative value if there was an error
- */
-int dlt_client_send_trace_status(DltClient *client, char *apid, char *ctid, uint8_t traceStatus);
-/**
- * Send the default log level to the dlt daemon
- * @param client pointer to dlt client structure
- * @param defaultLogLevel Default Log Level
- * @return negative value if there was an error
- */
-int dlt_client_send_default_log_level(DltClient *client, uint8_t defaultLogLevel);
-/**
- * Send the default trace status to the dlt daemon
- * @param client pointer to dlt client structure
- * @param defaultTraceStatus Default Trace Status
- * @return negative value if there was an error
- */
-int dlt_client_send_default_trace_status(DltClient *client, uint8_t defaultTraceStatus);
-/**
- * Send the timing pakets status to the dlt daemon
- * @param client pointer to dlt client structure
- * @param timingPakets Timing pakets enabled
- * @return negative value if there was an error
- */
-int dlt_client_send_timing_pakets(DltClient *client, uint8_t timingPakets);
-/**
- * Send the store config command to the dlt daemon
- * @param client pointer to dlt client structure
- * @return negative value if there was an error
- */
-int dlt_client_send_store_config(DltClient *client);
-/**
- * Send the reset to factory default command to the dlt daemon
- * @param client pointer to dlt client structure
- * @return negative value if there was an error
- */
-int dlt_client_send_reset_to_factory_default(DltClient *client);
-
+/**
+ * Send an set log level message to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param apid application id
+ * @param ctid context id
+ * @param SendLogLevel Log Level
+ * @return negative value if there was an error
+ */
+int dlt_client_send_log_level(DltClient *client, char *apid, char *ctid, uint8_t logLevel);
+/**
+ * Send a set trace status message to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param apid application id
+ * @param ctid context id
+ * @param defaultTraceStatus Default Trace Status
+ * @return negative value if there was an error
+ */
+int dlt_client_send_trace_status(DltClient *client, char *apid, char *ctid, uint8_t traceStatus);
+/**
+ * Send the default log level to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param defaultLogLevel Default Log Level
+ * @return negative value if there was an error
+ */
+int dlt_client_send_default_log_level(DltClient *client, uint8_t defaultLogLevel);
+/**
+ * Send the default trace status to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param defaultTraceStatus Default Trace Status
+ * @return negative value if there was an error
+ */
+int dlt_client_send_default_trace_status(DltClient *client, uint8_t defaultTraceStatus);
+/**
+ * Send the timing pakets status to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @param timingPakets Timing pakets enabled
+ * @return negative value if there was an error
+ */
+int dlt_client_send_timing_pakets(DltClient *client, uint8_t timingPakets);
+/**
+ * Send the store config command to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @return negative value if there was an error
+ */
+int dlt_client_send_store_config(DltClient *client);
+/**
+ * Send the reset to factory default command to the dlt daemon
+ * @param client pointer to dlt client structure
+ * @return negative value if there was an error
+ */
+int dlt_client_send_reset_to_factory_default(DltClient *client);
+
/**
* Set baudrate within dlt client structure
* @param client pointer to dlt client structure
* @param baudrate Baudrate
* @return negative value if there was an error
*/
-int dlt_client_setbaudrate(DltClient *client, int baudrate);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**
- \}
-*/
-
-#endif /* DLT_CLIENT_H */
+int dlt_client_setbaudrate(DltClient *client, int baudrate);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ \}
+*/
+
+#endif /* DLT_CLIENT_H */
diff --git a/include/dlt/dlt_common_api.h b/include/dlt/dlt_common_api.h
index f849567..c6670b5 100644
--- a/include/dlt/dlt_common_api.h
+++ b/include/dlt/dlt_common_api.h
@@ -1,29 +1,29 @@
-/**
- * @licence app begin@
- * Copyright (C) 2014 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_common_api.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_commpn_api.h **
-** **
+/**
+ * @licence app begin@
+ * Copyright (C) 2014 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_common_api.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_commpn_api.h **
+** **
** TARGET : linux **
** **
** PROJECT : DLT **
@@ -47,195 +47,195 @@
** Initials Name Company **
** -------- ------------------------- ---------------------------------- **
** aw Alexander Wenzel BMW **
-*******************************************************************************/
-
-#ifndef DLT_COMMON_API_H
-#define DLT_COMMON_API_H
+*******************************************************************************/
+
+#ifndef DLT_COMMON_API_H
+#define DLT_COMMON_API_H
+
+#include "dlt.h"
+
+/**
+ * Create an object for a new context.
+ * Common API with DLT Embedded
+ * This macro has to be called first for every.
+ * @param CONTEXT object containing information about one special logging context
+ */
+/* #define DLT_DECLARE_CONTEXT(CONTEXT) */
+/* UNCHANGED */
+
+/**
+ * Use an object of a new context created in another module.
+ * Common API with DLT Embedded
+ * This macro has to be called first for every.
+ * @param CONTEXT object containing information about one special logging context
+ */
+/* #define DLT_IMPORT_CONTEXT(CONTEXT) */
+/* UNCHANGED */
+
+/**
+ * Register application.
+ * Common API with DLT Embedded
+ * @param APPID application id with maximal four characters
+ * @param DESCRIPTION ASCII string containing description
+ */
+/* #define DLT_REGISTER_APP(APPID,DESCRIPTION) */
+/* UNCHANGED */
+
+/**
+ * Register context including application (with default log level and default trace status)
+ * Common API with DLT Embedded
+ * @param CONTEXT object containing information about one special logging context
+ * @param CONTEXTID context id with maximal four characters
+ * @param APPID context id with maximal four characters
+ * @param DESCRIPTION ASCII string containing description
+ */
+#define DLT_REGISTER_CONTEXT_APP(CONTEXT,CONTEXTID,APPID,DESCRIPTION) \
+ DLT_REGISTER_CONTEXT(CONTEXT,CONTEXTID,DESCRIPTION)
+
+/**
+ * Send log message with variable list of messages (intended for verbose mode)
+ * Common API with DLT Embedded
+ * @param CONTEXT object containing information about one special logging context
+ * @param LOGLEVEL the log level of the log message
+ * @param ARGS variable list of arguments
+ */
+/*****************************************/
+#define DLT_LOG0(CONTEXT,LOGLEVEL) \
+ DLT_LOG(CONTEXT, LOGLEVEL )
+/*****************************************/
+#define DLT_LOG1(CONTEXT,LOGLEVEL, ARGS1) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1)
+/*****************************************/
+#define DLT_LOG2(CONTEXT,LOGLEVEL, ARGS1, ARGS2) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2)
+/*****************************************/
+#define DLT_LOG3(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3)
+/*****************************************/
+#define DLT_LOG4(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4)
+/*****************************************/
+#define DLT_LOG5(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
+/*****************************************/
+#define DLT_LOG6(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
+/*****************************************/
+#define DLT_LOG7(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
+/*****************************************/
+#define DLT_LOG8(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
+/*****************************************/
+#define DLT_LOG9(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
+/*****************************************/
+#define DLT_LOG10(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
+/*****************************************/
+#define DLT_LOG11(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
+/*****************************************/
+#define DLT_LOG12(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
+/*****************************************/
+#define DLT_LOG13(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
+/*****************************************/
+#define DLT_LOG14(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
+/*****************************************/
+#define DLT_LOG15(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
+/*****************************************/
+#define DLT_LOG16(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
+ DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
+
+/**
+ * Send log message with variable list of messages (intended for non-verbose mode)
+ * Common API with DLT Embedded
+ * @param CONTEXT object containing information about one special logging context
+ * @param LOGLEVEL the log level of the log message
+ * @param MSGID the message id of log message
+ * @param ARGS variable list of arguments:
+ calls to DLT_STRING(), DLT_BOOL(), DLT_FLOAT32(), DLT_FLOAT64(),
+ DLT_INT(), DLT_UINT(), DLT_RAW()
+ */
+/*****************************************/
+#define DLT_LOG_ID0(CONTEXT,LOGLEVEL,MSGID) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID )
+/*****************************************/
+#define DLT_LOG_ID1(CONTEXT,LOGLEVEL,MSGID, ARGS1) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1)
+/*****************************************/
+#define DLT_LOG_ID2(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2)
+/*****************************************/
+#define DLT_LOG_ID3(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3)
+/*****************************************/
+#define DLT_LOG_ID4(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4)
+/*****************************************/
+#define DLT_LOG_ID5(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
+/*****************************************/
+#define DLT_LOG_ID6(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
+/*****************************************/
+#define DLT_LOG_ID7(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
+/*****************************************/
+#define DLT_LOG_ID8(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
+/*****************************************/
+#define DLT_LOG_ID9(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
+/*****************************************/
+#define DLT_LOG_ID10(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
+/*****************************************/
+#define DLT_LOG_ID11(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
+/*****************************************/
+#define DLT_LOG_ID12(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
+/*****************************************/
+#define DLT_LOG_ID13(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
+/*****************************************/
+#define DLT_LOG_ID14(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
+/*****************************************/
+#define DLT_LOG_ID15(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
+/*****************************************/
+#define DLT_LOG_ID16(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
+ DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
+
+/**
+ * Unregister context.
+ * Common API with DLT Embedded
+ * @param CONTEXT object containing information about one special logging context
+ */
+/* #define DLT_UNREGISTER_CONTEXT(CONTEXT) */
+/* UNCHANGED */
+
+/**
+ * Unregister application.
+ * Common API with DLT Embedded
+ */
+/* #define DLT_UNREGISTER_APP() */
+/* UNCHANGED */
+
+/**
+ * Add string parameter to the log messsage.
+ * Common API with DLT Embedded
+ * In the future in none verbose mode the string will not be sent via DLT message.
+ * @param TEXT ASCII string
+ */
+/* #define DLT_CSTRING(TEXT) */
+/* UNCHANGED */
+
+#endif /* DLT_COMMON_API_H */
-#include "dlt.h"
-
-/**
- * Create an object for a new context.
- * Common API with DLT Embedded
- * This macro has to be called first for every.
- * @param CONTEXT object containing information about one special logging context
- */
-/* #define DLT_DECLARE_CONTEXT(CONTEXT) */
-/* UNCHANGED */
-
-/**
- * Use an object of a new context created in another module.
- * Common API with DLT Embedded
- * This macro has to be called first for every.
- * @param CONTEXT object containing information about one special logging context
- */
-/* #define DLT_IMPORT_CONTEXT(CONTEXT) */
-/* UNCHANGED */
-
-/**
- * Register application.
- * Common API with DLT Embedded
- * @param APPID application id with maximal four characters
- * @param DESCRIPTION ASCII string containing description
- */
-/* #define DLT_REGISTER_APP(APPID,DESCRIPTION) */
-/* UNCHANGED */
-
-/**
- * Register context including application (with default log level and default trace status)
- * Common API with DLT Embedded
- * @param CONTEXT object containing information about one special logging context
- * @param CONTEXTID context id with maximal four characters
- * @param APPID context id with maximal four characters
- * @param DESCRIPTION ASCII string containing description
- */
-#define DLT_REGISTER_CONTEXT_APP(CONTEXT,CONTEXTID,APPID,DESCRIPTION) \
- DLT_REGISTER_CONTEXT(CONTEXT,CONTEXTID,DESCRIPTION)
-
-/**
- * Send log message with variable list of messages (intended for verbose mode)
- * Common API with DLT Embedded
- * @param CONTEXT object containing information about one special logging context
- * @param LOGLEVEL the log level of the log message
- * @param ARGS variable list of arguments
- */
-/*****************************************/
-#define DLT_LOG0(CONTEXT,LOGLEVEL) \
- DLT_LOG(CONTEXT, LOGLEVEL )
-/*****************************************/
-#define DLT_LOG1(CONTEXT,LOGLEVEL, ARGS1) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1)
-/*****************************************/
-#define DLT_LOG2(CONTEXT,LOGLEVEL, ARGS1, ARGS2) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2)
-/*****************************************/
-#define DLT_LOG3(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3)
-/*****************************************/
-#define DLT_LOG4(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4)
-/*****************************************/
-#define DLT_LOG5(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
-/*****************************************/
-#define DLT_LOG6(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
-/*****************************************/
-#define DLT_LOG7(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
-/*****************************************/
-#define DLT_LOG8(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
-/*****************************************/
-#define DLT_LOG9(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
-/*****************************************/
-#define DLT_LOG10(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
-/*****************************************/
-#define DLT_LOG11(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
-/*****************************************/
-#define DLT_LOG12(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
-/*****************************************/
-#define DLT_LOG13(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
-/*****************************************/
-#define DLT_LOG14(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
-/*****************************************/
-#define DLT_LOG15(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
-/*****************************************/
-#define DLT_LOG16(CONTEXT,LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
- DLT_LOG(CONTEXT, LOGLEVEL, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
-
-/**
- * Send log message with variable list of messages (intended for non-verbose mode)
- * Common API with DLT Embedded
- * @param CONTEXT object containing information about one special logging context
- * @param LOGLEVEL the log level of the log message
- * @param MSGID the message id of log message
- * @param ARGS variable list of arguments:
- calls to DLT_STRING(), DLT_BOOL(), DLT_FLOAT32(), DLT_FLOAT64(),
- DLT_INT(), DLT_UINT(), DLT_RAW()
- */
-/*****************************************/
-#define DLT_LOG_ID0(CONTEXT,LOGLEVEL,MSGID) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID )
-/*****************************************/
-#define DLT_LOG_ID1(CONTEXT,LOGLEVEL,MSGID, ARGS1) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1)
-/*****************************************/
-#define DLT_LOG_ID2(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2)
-/*****************************************/
-#define DLT_LOG_ID3(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3)
-/*****************************************/
-#define DLT_LOG_ID4(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4)
-/*****************************************/
-#define DLT_LOG_ID5(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5)
-/*****************************************/
-#define DLT_LOG_ID6(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6)
-/*****************************************/
-#define DLT_LOG_ID7(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7)
-/*****************************************/
-#define DLT_LOG_ID8(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8)
-/*****************************************/
-#define DLT_LOG_ID9(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9)
-/*****************************************/
-#define DLT_LOG_ID10(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10)
-/*****************************************/
-#define DLT_LOG_ID11(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11)
-/*****************************************/
-#define DLT_LOG_ID12(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12)
-/*****************************************/
-#define DLT_LOG_ID13(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13)
-/*****************************************/
-#define DLT_LOG_ID14(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14)
-/*****************************************/
-#define DLT_LOG_ID15(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15)
-/*****************************************/
-#define DLT_LOG_ID16(CONTEXT,LOGLEVEL,MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16) \
- DLT_LOG_ID(CONTEXT, LOGLEVEL, MSGID, ARGS1, ARGS2, ARGS3, ARGS4, ARGS5, ARGS6, ARGS7, ARGS8, ARGS9, ARGS10, ARGS11, ARGS12, ARGS13, ARGS14, ARGS15, ARGS16)
-
-/**
- * Unregister context.
- * Common API with DLT Embedded
- * @param CONTEXT object containing information about one special logging context
- */
-/* #define DLT_UNREGISTER_CONTEXT(CONTEXT) */
-/* UNCHANGED */
-
-/**
- * Unregister application.
- * Common API with DLT Embedded
- */
-/* #define DLT_UNREGISTER_APP() */
-/* UNCHANGED */
-
-/**
- * Add string parameter to the log messsage.
- * Common API with DLT Embedded
- * In the future in none verbose mode the string will not be sent via DLT message.
- * @param TEXT ASCII string
- */
-/* #define DLT_CSTRING(TEXT) */
-/* UNCHANGED */
-
-#endif /* DLT_COMMON_API_H */
-
diff --git a/include/dlt/dlt_protocol.h b/include/dlt/dlt_protocol.h
index 7bf8b1c..df5a33d 100755
--- a/include/dlt/dlt_protocol.h
+++ b/include/dlt/dlt_protocol.h
@@ -1,30 +1,30 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_protocal.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_protocol.h **
-** **
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_protocal.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_protocol.h **
+** **
** TARGET : linux **
** **
** PROJECT : DLT **
@@ -50,167 +50,167 @@
** -------- ------------------------- ---------------------------------- **
** aw Alexander Wenzel BMW **
** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Revision Control History **
-*******************************************************************************/
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- Initials Date Comment
- aw 13.01.2010 initial
- */
-#ifndef DLT_PROTOCOL_H
-#define DLT_PROTOCOL_H
-
-/**
- \defgroup protocolapi DLT Protocol API
- \addtogroup protocolapi
- \{
-*/
-
-/*
- * Definitions of the htyp parameter in standard header.
- */
-#define DLT_HTYP_UEH 0x01 /**< use extended header */
-#define DLT_HTYP_MSBF 0x02 /**< MSB first */
-#define DLT_HTYP_WEID 0x04 /**< with ECU ID */
-#define DLT_HTYP_WSID 0x08 /**< with session ID */
-#define DLT_HTYP_WTMS 0x10 /**< with timestamp */
-#define DLT_HTYP_VERS 0xe0 /**< version number, 0x1 */
-
-#define DLT_IS_HTYP_UEH(htyp) ((htyp) & DLT_HTYP_UEH)
-#define DLT_IS_HTYP_MSBF(htyp) ((htyp) & DLT_HTYP_MSBF)
-#define DLT_IS_HTYP_WEID(htyp) ((htyp) & DLT_HTYP_WEID)
-#define DLT_IS_HTYP_WSID(htyp) ((htyp) & DLT_HTYP_WSID)
-#define DLT_IS_HTYP_WTMS(htyp) ((htyp) & DLT_HTYP_WTMS)
-
-#define DLT_HTYP_PROTOCOL_VERSION1 (1<<5)
-
-/*
- * Definitions of msin parameter in extended header.
- */
-#define DLT_MSIN_VERB 0x01 /**< verbose */
-#define DLT_MSIN_MSTP 0x0e /**< message type */
-#define DLT_MSIN_MTIN 0xf0 /**< message type info */
-
-#define DLT_MSIN_MSTP_SHIFT 1 /**< shift right offset to get mstp value */
-#define DLT_MSIN_MTIN_SHIFT 4 /**< shift right offset to get mtin value */
-
-#define DLT_IS_MSIN_VERB(msin) ((msin) & DLT_MSIN_VERB)
-#define DLT_GET_MSIN_MSTP(msin) (((msin) & DLT_MSIN_MSTP) >> DLT_MSIN_MSTP_SHIFT)
-#define DLT_GET_MSIN_MTIN(msin) (((msin) & DLT_MSIN_MTIN) >> DLT_MSIN_MTIN_SHIFT)
-
-/*
- * Definitions of mstp parameter in extended header.
- */
-#define DLT_TYPE_LOG 0x00 /**< Log message type */
-#define DLT_TYPE_APP_TRACE 0x01 /**< Application trace message type */
-#define DLT_TYPE_NW_TRACE 0x02 /**< Network trace message type */
-#define DLT_TYPE_CONTROL 0x03 /**< Control message type */
-
-/*
- * Definitions of msti parameter in extended header.
- */
-#define DLT_TRACE_VARIABLE 0x01 /**< tracing of a variable */
-#define DLT_TRACE_FUNCTION_IN 0x02 /**< tracing of function calls */
-#define DLT_TRACE_FUNCTION_OUT 0x03 /**< tracing of function return values */
-#define DLT_TRACE_STATE 0x04 /**< tracing of states of a state machine */
-#define DLT_TRACE_VFB 0x05 /**< tracing of virtual function bus */
-
-/*
- * Definitions of msbi parameter in extended header.
+*******************************************************************************/
+
+/*******************************************************************************
+** Revision Control History **
+*******************************************************************************/
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ Initials Date Comment
+ aw 13.01.2010 initial
+ */
+#ifndef DLT_PROTOCOL_H
+#define DLT_PROTOCOL_H
+
+/**
+ \defgroup protocolapi DLT Protocol API
+ \addtogroup protocolapi
+ \{
+*/
+
+/*
+ * Definitions of the htyp parameter in standard header.
+ */
+#define DLT_HTYP_UEH 0x01 /**< use extended header */
+#define DLT_HTYP_MSBF 0x02 /**< MSB first */
+#define DLT_HTYP_WEID 0x04 /**< with ECU ID */
+#define DLT_HTYP_WSID 0x08 /**< with session ID */
+#define DLT_HTYP_WTMS 0x10 /**< with timestamp */
+#define DLT_HTYP_VERS 0xe0 /**< version number, 0x1 */
+
+#define DLT_IS_HTYP_UEH(htyp) ((htyp) & DLT_HTYP_UEH)
+#define DLT_IS_HTYP_MSBF(htyp) ((htyp) & DLT_HTYP_MSBF)
+#define DLT_IS_HTYP_WEID(htyp) ((htyp) & DLT_HTYP_WEID)
+#define DLT_IS_HTYP_WSID(htyp) ((htyp) & DLT_HTYP_WSID)
+#define DLT_IS_HTYP_WTMS(htyp) ((htyp) & DLT_HTYP_WTMS)
+
+#define DLT_HTYP_PROTOCOL_VERSION1 (1<<5)
+
+/*
+ * Definitions of msin parameter in extended header.
+ */
+#define DLT_MSIN_VERB 0x01 /**< verbose */
+#define DLT_MSIN_MSTP 0x0e /**< message type */
+#define DLT_MSIN_MTIN 0xf0 /**< message type info */
+
+#define DLT_MSIN_MSTP_SHIFT 1 /**< shift right offset to get mstp value */
+#define DLT_MSIN_MTIN_SHIFT 4 /**< shift right offset to get mtin value */
+
+#define DLT_IS_MSIN_VERB(msin) ((msin) & DLT_MSIN_VERB)
+#define DLT_GET_MSIN_MSTP(msin) (((msin) & DLT_MSIN_MSTP) >> DLT_MSIN_MSTP_SHIFT)
+#define DLT_GET_MSIN_MTIN(msin) (((msin) & DLT_MSIN_MTIN) >> DLT_MSIN_MTIN_SHIFT)
+
+/*
+ * Definitions of mstp parameter in extended header.
+ */
+#define DLT_TYPE_LOG 0x00 /**< Log message type */
+#define DLT_TYPE_APP_TRACE 0x01 /**< Application trace message type */
+#define DLT_TYPE_NW_TRACE 0x02 /**< Network trace message type */
+#define DLT_TYPE_CONTROL 0x03 /**< Control message type */
+
+/*
+ * Definitions of msti parameter in extended header.
+ */
+#define DLT_TRACE_VARIABLE 0x01 /**< tracing of a variable */
+#define DLT_TRACE_FUNCTION_IN 0x02 /**< tracing of function calls */
+#define DLT_TRACE_FUNCTION_OUT 0x03 /**< tracing of function return values */
+#define DLT_TRACE_STATE 0x04 /**< tracing of states of a state machine */
+#define DLT_TRACE_VFB 0x05 /**< tracing of virtual function bus */
+
+/*
+ * Definitions of msbi parameter in extended header.
*/
/* see file dlt_user.h */
-
-/*
- * Definitions of msci parameter in extended header.
- */
-#define DLT_CONTROL_REQUEST 0x01 /**< Request message */
-#define DLT_CONTROL_RESPONSE 0x02 /**< Response to request message */
-#define DLT_CONTROL_TIME 0x03 /**< keep-alive message */
-
-#define DLT_MSIN_CONTROL_REQUEST ((DLT_TYPE_CONTROL << DLT_MSIN_MSTP_SHIFT) | (DLT_CONTROL_REQUEST << DLT_MSIN_MTIN_SHIFT))
+
+/*
+ * Definitions of msci parameter in extended header.
+ */
+#define DLT_CONTROL_REQUEST 0x01 /**< Request message */
+#define DLT_CONTROL_RESPONSE 0x02 /**< Response to request message */
+#define DLT_CONTROL_TIME 0x03 /**< keep-alive message */
+
+#define DLT_MSIN_CONTROL_REQUEST ((DLT_TYPE_CONTROL << DLT_MSIN_MSTP_SHIFT) | (DLT_CONTROL_REQUEST << DLT_MSIN_MTIN_SHIFT))
#define DLT_MSIN_CONTROL_RESPONSE ((DLT_TYPE_CONTROL << DLT_MSIN_MSTP_SHIFT) | (DLT_CONTROL_RESPONSE << DLT_MSIN_MTIN_SHIFT))
-#define DLT_MSIN_CONTROL_TIME ((DLT_TYPE_CONTROL << DLT_MSIN_MSTP_SHIFT) | (DLT_CONTROL_TIME << DLT_MSIN_MTIN_SHIFT))
-
-/*
- * Definitions of types of arguments in payload.
- */
-#define DLT_TYPE_INFO_TYLE 0x0000000f /**< Length of standard data: 1 = 8bit, 2 = 16bit, 3 = 32 bit, 4 = 64 bit, 5 = 128 bit */
-#define DLT_TYPE_INFO_BOOL 0x00000010 /**< Boolean data */
-#define DLT_TYPE_INFO_SINT 0x00000020 /**< Signed integer data */
-#define DLT_TYPE_INFO_UINT 0x00000040 /**< Unsigned integer data */
-#define DLT_TYPE_INFO_FLOA 0x00000080 /**< Float data */
-#define DLT_TYPE_INFO_ARAY 0x00000100 /**< Array of standard types */
-#define DLT_TYPE_INFO_STRG 0x00000200 /**< String */
-#define DLT_TYPE_INFO_RAWD 0x00000400 /**< Raw data */
-#define DLT_TYPE_INFO_VARI 0x00000800 /**< Set, if additional information to a variable is available */
-#define DLT_TYPE_INFO_FIXP 0x00001000 /**< Set, if quantization and offset are added */
-#define DLT_TYPE_INFO_TRAI 0x00002000 /**< Set, if additional trace information is added */
-#define DLT_TYPE_INFO_STRU 0x00004000 /**< Struct */
-#define DLT_TYPE_INFO_SCOD 0x00038000 /**< coding of the type string: 0 = ASCII, 1 = UTF-8 */
-
-#define DLT_TYLE_8BIT 0x00000001
-#define DLT_TYLE_16BIT 0x00000002
-#define DLT_TYLE_32BIT 0x00000003
-#define DLT_TYLE_64BIT 0x00000004
-#define DLT_TYLE_128BIT 0x00000005
-
-#define DLT_SCOD_ASCII 0x00000000
-#define DLT_SCOD_UTF8 0x00008000
-#define DLT_SCOD_HEX 0x00010000
-#define DLT_SCOD_BIN 0x00018000
-
-/*
- * Definitions of DLT services.
- */
-#define DLT_SERVICE_ID_SET_LOG_LEVEL 0x01 /**< Service ID: Set log level */
-#define DLT_SERVICE_ID_SET_TRACE_STATUS 0x02 /**< Service ID: Set trace status */
-#define DLT_SERVICE_ID_GET_LOG_INFO 0x03 /**< Service ID: Get log info */
-#define DLT_SERVICE_ID_GET_DEFAULT_LOG_LEVEL 0x04 /**< Service ID: Get dafault log level */
-#define DLT_SERVICE_ID_STORE_CONFIG 0x05 /**< Service ID: Store configuration */
-#define DLT_SERVICE_ID_RESET_TO_FACTORY_DEFAULT 0x06 /**< Service ID: Reset to factory defaults */
-#define DLT_SERVICE_ID_SET_COM_INTERFACE_STATUS 0x07 /**< Service ID: Set communication interface status */
-#define DLT_SERVICE_ID_SET_COM_INTERFACE_MAX_BANDWIDTH 0x08 /**< Service ID: Set communication interface maximum bandwidth */
-#define DLT_SERVICE_ID_SET_VERBOSE_MODE 0x09 /**< Service ID: Set verbose mode */
-#define DLT_SERVICE_ID_SET_MESSAGE_FILTERING 0x0A /**< Service ID: Set message filtering */
-#define DLT_SERVICE_ID_SET_TIMING_PACKETS 0x0B /**< Service ID: Set timing packets */
-#define DLT_SERVICE_ID_GET_LOCAL_TIME 0x0C /**< Service ID: Get local time */
-#define DLT_SERVICE_ID_USE_ECU_ID 0x0D /**< Service ID: Use ECU id */
-#define DLT_SERVICE_ID_USE_SESSION_ID 0x0E /**< Service ID: Use session id */
-#define DLT_SERVICE_ID_USE_TIMESTAMP 0x0F /**< Service ID: Use timestamp */
-#define DLT_SERVICE_ID_USE_EXTENDED_HEADER 0x10 /**< Service ID: Use extended header */
-#define DLT_SERVICE_ID_SET_DEFAULT_LOG_LEVEL 0x11 /**< Service ID: Set default log level */
-#define DLT_SERVICE_ID_SET_DEFAULT_TRACE_STATUS 0x12 /**< Service ID: Set default trace status */
-#define DLT_SERVICE_ID_GET_SOFTWARE_VERSION 0x13 /**< Service ID: Get software version */
-#define DLT_SERVICE_ID_MESSAGE_BUFFER_OVERFLOW 0x14 /**< Service ID: Message buffer overflow */
+#define DLT_MSIN_CONTROL_TIME ((DLT_TYPE_CONTROL << DLT_MSIN_MSTP_SHIFT) | (DLT_CONTROL_TIME << DLT_MSIN_MTIN_SHIFT))
+
+/*
+ * Definitions of types of arguments in payload.
+ */
+#define DLT_TYPE_INFO_TYLE 0x0000000f /**< Length of standard data: 1 = 8bit, 2 = 16bit, 3 = 32 bit, 4 = 64 bit, 5 = 128 bit */
+#define DLT_TYPE_INFO_BOOL 0x00000010 /**< Boolean data */
+#define DLT_TYPE_INFO_SINT 0x00000020 /**< Signed integer data */
+#define DLT_TYPE_INFO_UINT 0x00000040 /**< Unsigned integer data */
+#define DLT_TYPE_INFO_FLOA 0x00000080 /**< Float data */
+#define DLT_TYPE_INFO_ARAY 0x00000100 /**< Array of standard types */
+#define DLT_TYPE_INFO_STRG 0x00000200 /**< String */
+#define DLT_TYPE_INFO_RAWD 0x00000400 /**< Raw data */
+#define DLT_TYPE_INFO_VARI 0x00000800 /**< Set, if additional information to a variable is available */
+#define DLT_TYPE_INFO_FIXP 0x00001000 /**< Set, if quantization and offset are added */
+#define DLT_TYPE_INFO_TRAI 0x00002000 /**< Set, if additional trace information is added */
+#define DLT_TYPE_INFO_STRU 0x00004000 /**< Struct */
+#define DLT_TYPE_INFO_SCOD 0x00038000 /**< coding of the type string: 0 = ASCII, 1 = UTF-8 */
+
+#define DLT_TYLE_8BIT 0x00000001
+#define DLT_TYLE_16BIT 0x00000002
+#define DLT_TYLE_32BIT 0x00000003
+#define DLT_TYLE_64BIT 0x00000004
+#define DLT_TYLE_128BIT 0x00000005
+
+#define DLT_SCOD_ASCII 0x00000000
+#define DLT_SCOD_UTF8 0x00008000
+#define DLT_SCOD_HEX 0x00010000
+#define DLT_SCOD_BIN 0x00018000
+
+/*
+ * Definitions of DLT services.
+ */
+#define DLT_SERVICE_ID_SET_LOG_LEVEL 0x01 /**< Service ID: Set log level */
+#define DLT_SERVICE_ID_SET_TRACE_STATUS 0x02 /**< Service ID: Set trace status */
+#define DLT_SERVICE_ID_GET_LOG_INFO 0x03 /**< Service ID: Get log info */
+#define DLT_SERVICE_ID_GET_DEFAULT_LOG_LEVEL 0x04 /**< Service ID: Get dafault log level */
+#define DLT_SERVICE_ID_STORE_CONFIG 0x05 /**< Service ID: Store configuration */
+#define DLT_SERVICE_ID_RESET_TO_FACTORY_DEFAULT 0x06 /**< Service ID: Reset to factory defaults */
+#define DLT_SERVICE_ID_SET_COM_INTERFACE_STATUS 0x07 /**< Service ID: Set communication interface status */
+#define DLT_SERVICE_ID_SET_COM_INTERFACE_MAX_BANDWIDTH 0x08 /**< Service ID: Set communication interface maximum bandwidth */
+#define DLT_SERVICE_ID_SET_VERBOSE_MODE 0x09 /**< Service ID: Set verbose mode */
+#define DLT_SERVICE_ID_SET_MESSAGE_FILTERING 0x0A /**< Service ID: Set message filtering */
+#define DLT_SERVICE_ID_SET_TIMING_PACKETS 0x0B /**< Service ID: Set timing packets */
+#define DLT_SERVICE_ID_GET_LOCAL_TIME 0x0C /**< Service ID: Get local time */
+#define DLT_SERVICE_ID_USE_ECU_ID 0x0D /**< Service ID: Use ECU id */
+#define DLT_SERVICE_ID_USE_SESSION_ID 0x0E /**< Service ID: Use session id */
+#define DLT_SERVICE_ID_USE_TIMESTAMP 0x0F /**< Service ID: Use timestamp */
+#define DLT_SERVICE_ID_USE_EXTENDED_HEADER 0x10 /**< Service ID: Use extended header */
+#define DLT_SERVICE_ID_SET_DEFAULT_LOG_LEVEL 0x11 /**< Service ID: Set default log level */
+#define DLT_SERVICE_ID_SET_DEFAULT_TRACE_STATUS 0x12 /**< Service ID: Set default trace status */
+#define DLT_SERVICE_ID_GET_SOFTWARE_VERSION 0x13 /**< Service ID: Get software version */
+#define DLT_SERVICE_ID_MESSAGE_BUFFER_OVERFLOW 0x14 /**< Service ID: Message buffer overflow */
#define DLT_SERVICE_ID_LAST_ENTRY 0x15 /**< Service ID: Last entry to avoid any further modifications in dependent code */
-#define DLT_SERVICE_ID_UNREGISTER_CONTEXT 0xf01 /**< Service ID: Message unregister context */
-#define DLT_SERVICE_ID_CONNECTION_INFO 0xf02 /**< Service ID: Message connection info */
-#define DLT_SERVICE_ID_TIMEZONE 0xf03 /**< Service ID: Timezone */
-#define DLT_SERVICE_ID_MARKER 0xf04 /**< Service ID: Marker */
-#define DLT_SERVICE_ID_CALLSW_CINJECTION 0xFFF /**< Service ID: Message Injection (minimal ID) */
-
-/*
- * Definitions of DLT service response status
- */
-#define DLT_SERVICE_RESPONSE_OK 0x00 /**< Control message response: OK */
-#define DLT_SERVICE_RESPONSE_NOT_SUPPORTED 0x01 /**< Control message response: Not supported */
-#define DLT_SERVICE_RESPONSE_ERROR 0x02 /**< Control message response: Error */
-
-/*
- * Definitions of DLT service connection state
- */
-#define DLT_CONNECTION_STATUS_DISCONNECTED 0x01 /**< Client is disconnected */
-#define DLT_CONNECTION_STATUS_CONNECTED 0x02 /**< Client is connected */
-
-/**
- \}
-*/
-
-#endif /* DLT_PROTOCOL_H */
+#define DLT_SERVICE_ID_UNREGISTER_CONTEXT 0xf01 /**< Service ID: Message unregister context */
+#define DLT_SERVICE_ID_CONNECTION_INFO 0xf02 /**< Service ID: Message connection info */
+#define DLT_SERVICE_ID_TIMEZONE 0xf03 /**< Service ID: Timezone */
+#define DLT_SERVICE_ID_MARKER 0xf04 /**< Service ID: Marker */
+#define DLT_SERVICE_ID_CALLSW_CINJECTION 0xFFF /**< Service ID: Message Injection (minimal ID) */
+
+/*
+ * Definitions of DLT service response status
+ */
+#define DLT_SERVICE_RESPONSE_OK 0x00 /**< Control message response: OK */
+#define DLT_SERVICE_RESPONSE_NOT_SUPPORTED 0x01 /**< Control message response: Not supported */
+#define DLT_SERVICE_RESPONSE_ERROR 0x02 /**< Control message response: Error */
+
+/*
+ * Definitions of DLT service connection state
+ */
+#define DLT_CONNECTION_STATUS_DISCONNECTED 0x01 /**< Client is disconnected */
+#define DLT_CONNECTION_STATUS_CONNECTED 0x02 /**< Client is connected */
+
+/**
+ \}
+*/
+
+#endif /* DLT_PROTOCOL_H */
diff --git a/include/dlt/dlt_types.h b/include/dlt/dlt_types.h
index fd67fbc..b66e518 100755
--- a/include/dlt/dlt_types.h
+++ b/include/dlt/dlt_types.h
@@ -1,30 +1,30 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_types.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_types.h **
-** **
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_types.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_types.h **
+** **
** TARGET : linux **
** **
** PROJECT : DLT **
@@ -55,19 +55,19 @@
#ifndef DLT_TYPES_H
#define DLT_TYPES_H
-#ifdef _MSC_VER
- typedef __int64 int64_t;
- typedef __int32 int32_t;
- typedef __int16 int16_t;
- typedef __int8 int8_t;
-
- typedef unsigned __int64 uint64_t;
- typedef unsigned __int32 uint32_t;
- typedef unsigned __int16 uint16_t;
- typedef unsigned __int8 uint8_t;
-
- typedef int pid_t;
- typedef unsigned int speed_t;
+#ifdef _MSC_VER
+ typedef __int64 int64_t;
+ typedef __int32 int32_t;
+ typedef __int16 int16_t;
+ typedef __int8 int8_t;
+
+ typedef unsigned __int64 uint64_t;
+ typedef unsigned __int32 uint32_t;
+ typedef unsigned __int16 uint16_t;
+ typedef unsigned __int8 uint8_t;
+
+ typedef int pid_t;
+ typedef unsigned int speed_t;
#define UINT16_MAX 0xFFFF
diff --git a/src/daemon/dlt-daemon.h b/src/daemon/dlt-daemon.h
index 022387a..d6cb91f 100755
--- a/src/daemon/dlt-daemon.h
+++ b/src/daemon/dlt-daemon.h
@@ -1,207 +1,207 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt-daemon.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt-daemon.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_H
-#define DLT_DAEMON_H
-
-#include <limits.h> /* for NAME_MAX */
-
-#include "dlt_daemon_common.h"
-#include "dlt_user_shared.h"
-#include "dlt_user_shared_cfg.h"
-
-
-#include <dlt_offline_trace.h>
-#include <sys/time.h>
-
-
-/**
- * The flags of a dlt daemon.
- */
-typedef struct
-{
- int aflag; /**< (Boolean) Print DLT messages; payload as ASCII */
- int sflag; /**< (Boolean) Print DLT messages; payload as hex */
- int xflag; /**< (Boolean) Print DLT messages; only headers */
- int vflag; /**< (Boolean) Verbose mode */
- int dflag; /**< (Boolean) Daemonize */
- int lflag; /**< (Boolean) Send DLT messages with serial header */
- int rflag; /**< (Boolean) Send automatic get log info response during context registration */
- int mflag; /**< (Boolean) Sync to serial header on serial connection */
- int nflag; /**< (Boolean) Sync to serial header on all TCP connections */
- char evalue[NAME_MAX + 1]; /**< (String: ECU ID) Set ECU ID (Default: ECU1) */
- char bvalue[NAME_MAX + 1]; /**< (String: Baudrate) Serial device baudrate (Default: 115200) */
- char yvalue[NAME_MAX + 1]; /**< (String: Devicename) Additional support for serial device */
- char ivalue[NAME_MAX + 1]; /**< (String: Directory) Directory where to store the persistant configuration (Default: /tmp) */
- char cvalue[NAME_MAX + 1]; /**< (String: Directory) Filename of DLT configuration file (Default: /etc/dlt.conf) */
- int sharedMemorySize; /**< (int) Size of shared memory (Default: 100000) */
- int sendMessageTime; /**< (Boolean) Send periodic Message Time if client is connected (Default: 0) */
- char offlineTraceDirectory[256]; /**< (String: Directory) Store DLT messages to local directory (Default: /etc/dlt.conf) */
- int offlineTraceFileSize; /**< (int) Maximum size in bytes of one trace file (Default: 1000000) */
- int offlineTraceMaxSize; /**< (int) Maximum size of all trace files (Default: 4000000) */
- int loggingMode; /**< (int) The logging console for internal logging of dlt-daemon (Default: 0) */
- int loggingLevel; /**< (int) The logging level for internal logging of dlt-daemon (Default: 6) */
- char loggingFilename[256]; /**< (String: Filename) The logging filename if internal logging mode is log to file (Default: /tmp/log) */
- int sendECUSoftwareVersion; /**< (Boolean) Send ECU software version perdiodically */
- char pathToECUSoftwareVersion[256]; /**< (String: Filename) The file from which to read the ECU version from. */
- int sendTimezone; /**< (Boolean) Send Timezone perdiodically */
-} DltDaemonFlags;
-
-/**
- * The global parameters of a dlt daemon.
- */
-typedef struct
-{
- DltDaemonFlags flags; /**< flags of the daemon */
- int fp; /**< handle for own fifo */
- int sock; /**< handle for tcp connection to client */
- int fdserial; /**< handle for serial connection */
- int fdmax; /**< highest number of used handles */
- fd_set master; /**< master set of handles */
- fd_set read_fds; /**< read set of handles */
- DltFile file; /**< struct for file access */
- //int ohandle; /**< handle to output file */
- DltMessage msg; /**< one dlt message */
- DltReceiver receiver; /**< receiver for fifo connection */
- DltReceiver receiverSock; /**< receiver for socket connection */
- DltReceiver receiverSerial; /**< receiver for serial connection */
- int client_connections; /**< counter for nr. of client connections */
- size_t baudrate; /**< Baudrate of serial connection */
-#ifdef DLT_SHM_ENABLE
- DltShm dlt_shm; /**< Shared memory handling */
-#endif
- DltOfflineTrace offlineTrace; /**< Offline trace handling */
-#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
- int timer_wd; /** file descriptor for watchdog timer */
-#endif
- int timeoutOnSend;
- unsigned long RingbufferMinSize;
- unsigned long RingbufferMaxSize;
- unsigned long RingbufferStepSize;
- int timer_one_s;
- int timer_sixty_s;
-} DltDaemonLocal;
-
-typedef struct
-{
- int timer_fd;
- unsigned long long wakeups_missed;
-} DltDaemonPeriodicData;
-
-typedef struct
-{
- DltDaemon *daemon;
- DltDaemonLocal *daemon_local;
-} DltDaemonTimingPacketThreadData;
-
-typedef DltDaemonTimingPacketThreadData DltDaemonECUVersionThreadData;
-
-#define DLT_DAEMON_ERROR_OK 0
-#define DLT_DAEMON_ERROR_UNKNOWN -1
-#define DLT_DAEMON_ERROR_BUFFER_FULL -2
-#define DLT_DAEMON_ERROR_SEND_FAILED -3
-#define DLT_DAEMON_ERROR_WRITE_FAILED -4
-
-/* Function prototypes */
-void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-void dlt_daemon_daemonize(int verbose);
-void dlt_daemon_signal_handler(int sig);
-
-int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_send_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-#ifdef DLT_SHM_ENABLE
-int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-#endif
-int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_log_mode(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-int dlt_daemon_process_user_message_marker(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-int dlt_daemon_send_ringbuffer_to_client(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-void dlt_daemon_timingpacket_thread(void *ptr);
-void dlt_daemon_ecu_version_thread(void *ptr);
-#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
- void dlt_daemon_systemd_watchdog_thread(void *ptr);
-#endif
-
-int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in, int* fd, const char* timer_name);
-
-int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
-
-#endif /* DLT_DAEMON_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt-daemon.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt-daemon.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_H
+#define DLT_DAEMON_H
+
+#include <limits.h> /* for NAME_MAX */
+
+#include "dlt_daemon_common.h"
+#include "dlt_user_shared.h"
+#include "dlt_user_shared_cfg.h"
+
+
+#include <dlt_offline_trace.h>
+#include <sys/time.h>
+
+
+/**
+ * The flags of a dlt daemon.
+ */
+typedef struct
+{
+ int aflag; /**< (Boolean) Print DLT messages; payload as ASCII */
+ int sflag; /**< (Boolean) Print DLT messages; payload as hex */
+ int xflag; /**< (Boolean) Print DLT messages; only headers */
+ int vflag; /**< (Boolean) Verbose mode */
+ int dflag; /**< (Boolean) Daemonize */
+ int lflag; /**< (Boolean) Send DLT messages with serial header */
+ int rflag; /**< (Boolean) Send automatic get log info response during context registration */
+ int mflag; /**< (Boolean) Sync to serial header on serial connection */
+ int nflag; /**< (Boolean) Sync to serial header on all TCP connections */
+ char evalue[NAME_MAX + 1]; /**< (String: ECU ID) Set ECU ID (Default: ECU1) */
+ char bvalue[NAME_MAX + 1]; /**< (String: Baudrate) Serial device baudrate (Default: 115200) */
+ char yvalue[NAME_MAX + 1]; /**< (String: Devicename) Additional support for serial device */
+ char ivalue[NAME_MAX + 1]; /**< (String: Directory) Directory where to store the persistant configuration (Default: /tmp) */
+ char cvalue[NAME_MAX + 1]; /**< (String: Directory) Filename of DLT configuration file (Default: /etc/dlt.conf) */
+ int sharedMemorySize; /**< (int) Size of shared memory (Default: 100000) */
+ int sendMessageTime; /**< (Boolean) Send periodic Message Time if client is connected (Default: 0) */
+ char offlineTraceDirectory[256]; /**< (String: Directory) Store DLT messages to local directory (Default: /etc/dlt.conf) */
+ int offlineTraceFileSize; /**< (int) Maximum size in bytes of one trace file (Default: 1000000) */
+ int offlineTraceMaxSize; /**< (int) Maximum size of all trace files (Default: 4000000) */
+ int loggingMode; /**< (int) The logging console for internal logging of dlt-daemon (Default: 0) */
+ int loggingLevel; /**< (int) The logging level for internal logging of dlt-daemon (Default: 6) */
+ char loggingFilename[256]; /**< (String: Filename) The logging filename if internal logging mode is log to file (Default: /tmp/log) */
+ int sendECUSoftwareVersion; /**< (Boolean) Send ECU software version perdiodically */
+ char pathToECUSoftwareVersion[256]; /**< (String: Filename) The file from which to read the ECU version from. */
+ int sendTimezone; /**< (Boolean) Send Timezone perdiodically */
+} DltDaemonFlags;
+
+/**
+ * The global parameters of a dlt daemon.
+ */
+typedef struct
+{
+ DltDaemonFlags flags; /**< flags of the daemon */
+ int fp; /**< handle for own fifo */
+ int sock; /**< handle for tcp connection to client */
+ int fdserial; /**< handle for serial connection */
+ int fdmax; /**< highest number of used handles */
+ fd_set master; /**< master set of handles */
+ fd_set read_fds; /**< read set of handles */
+ DltFile file; /**< struct for file access */
+ //int ohandle; /**< handle to output file */
+ DltMessage msg; /**< one dlt message */
+ DltReceiver receiver; /**< receiver for fifo connection */
+ DltReceiver receiverSock; /**< receiver for socket connection */
+ DltReceiver receiverSerial; /**< receiver for serial connection */
+ int client_connections; /**< counter for nr. of client connections */
+ size_t baudrate; /**< Baudrate of serial connection */
+#ifdef DLT_SHM_ENABLE
+ DltShm dlt_shm; /**< Shared memory handling */
+#endif
+ DltOfflineTrace offlineTrace; /**< Offline trace handling */
+#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
+ int timer_wd; /** file descriptor for watchdog timer */
+#endif
+ int timeoutOnSend;
+ unsigned long RingbufferMinSize;
+ unsigned long RingbufferMaxSize;
+ unsigned long RingbufferStepSize;
+ int timer_one_s;
+ int timer_sixty_s;
+} DltDaemonLocal;
+
+typedef struct
+{
+ int timer_fd;
+ unsigned long long wakeups_missed;
+} DltDaemonPeriodicData;
+
+typedef struct
+{
+ DltDaemon *daemon;
+ DltDaemonLocal *daemon_local;
+} DltDaemonTimingPacketThreadData;
+
+typedef DltDaemonTimingPacketThreadData DltDaemonECUVersionThreadData;
+
+#define DLT_DAEMON_ERROR_OK 0
+#define DLT_DAEMON_ERROR_UNKNOWN -1
+#define DLT_DAEMON_ERROR_BUFFER_FULL -2
+#define DLT_DAEMON_ERROR_SEND_FAILED -3
+#define DLT_DAEMON_ERROR_WRITE_FAILED -4
+
+/* Function prototypes */
+void dlt_daemon_local_cleanup(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_init_p1(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_connection_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_local_ecu_version_init(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+void dlt_daemon_daemonize(int verbose);
+void dlt_daemon_signal_handler(int sig);
+
+int dlt_daemon_process_client_connect(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_client_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_client_messages_serial(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_messages(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+int dlt_daemon_process_user_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_send_message_overflow(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_register_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_unregister_application(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_register_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_unregister_context(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_log(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+#ifdef DLT_SHM_ENABLE
+int dlt_daemon_process_user_message_log_shm(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+#endif
+int dlt_daemon_process_user_message_set_app_ll_ts(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_log_mode(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+int dlt_daemon_process_user_message_marker(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+int dlt_daemon_send_ringbuffer_to_client(DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+void dlt_daemon_timingpacket_thread(void *ptr);
+void dlt_daemon_ecu_version_thread(void *ptr);
+#if defined(DLT_SYSTEMD_WATCHDOG_ENABLE)
+ void dlt_daemon_systemd_watchdog_thread(void *ptr);
+#endif
+
+int create_timer_fd(DltDaemonLocal *daemon_local, int period_sec, int starts_in, int* fd, const char* timer_name);
+
+int dlt_daemon_close_socket(int sock, DltDaemon *daemon, DltDaemonLocal *daemon_local, int verbose);
+
+#endif /* DLT_DAEMON_H */
+
diff --git a/src/daemon/dlt-daemon_cfg.h b/src/daemon/dlt-daemon_cfg.h
index 24ad20e..07e68c7 100755
--- a/src/daemon/dlt-daemon_cfg.h
+++ b/src/daemon/dlt-daemon_cfg.h
@@ -1,113 +1,113 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt-daemon_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt-daemon-cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_CFG_H
-#define DLT_DAEMON_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Stack size of timing packet thread */
-#define DLT_DAEMON_TIMINGPACKET_THREAD_STACKSIZE 100000
-
-/* Stack size of ecu version thread */
-#define DLT_DAEMON_ECU_VERSION_THREAD_STACKSIZE 100000
-
-/* Size of receive buffer for fifo connection (from user application) */
-#define DLT_DAEMON_RCVBUFSIZE 10024
-/* Size of receive buffer for socket connection (from dlt client) */
-#define DLT_DAEMON_RCVBUFSIZESOCK 10024
-/* Size of receive buffer for serial connection (from dlt client) */
-#define DLT_DAEMON_RCVBUFSIZESERIAL 10024
-
-/* Size of buffer for text output */
-#define DLT_DAEMON_TEXTSIZE 10024
-
-/* Size of buffer */
-#define DLT_DAEMON_TEXTBUFSIZE 512
-
-/* Maximum length of a description */
-#define DLT_DAEMON_DESCSIZE 256
-
-/* Name of daemon lock file, contain process id of dlt daemon instance */
-#define DLT_DAEMON_LOCK_FILE "dltd.lock"
-
-/* Umask of daemon, creates files with permission 750 */
-#define DLT_DAEMON_UMASK 027
-/* Permissions of daemon lock file */
-#define DLT_DAEMON_LOCK_FILE_PERM 0640
-
-/* Default ECU ID, used in storage header and transmitted to client*/
-#define DLT_DAEMON_ECU_ID "ECU1"
-
-/* Default baudrate for serial interface */
-#define DLT_DAEMON_SERIAL_DEFAULT_BAUDRATE 115200
-
-/************************/
-/* Don't change please! */
-/************************/
-
-#endif /* DLT_DAEMON_CFG_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt-daemon_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt-daemon-cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_CFG_H
+#define DLT_DAEMON_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Stack size of timing packet thread */
+#define DLT_DAEMON_TIMINGPACKET_THREAD_STACKSIZE 100000
+
+/* Stack size of ecu version thread */
+#define DLT_DAEMON_ECU_VERSION_THREAD_STACKSIZE 100000
+
+/* Size of receive buffer for fifo connection (from user application) */
+#define DLT_DAEMON_RCVBUFSIZE 10024
+/* Size of receive buffer for socket connection (from dlt client) */
+#define DLT_DAEMON_RCVBUFSIZESOCK 10024
+/* Size of receive buffer for serial connection (from dlt client) */
+#define DLT_DAEMON_RCVBUFSIZESERIAL 10024
+
+/* Size of buffer for text output */
+#define DLT_DAEMON_TEXTSIZE 10024
+
+/* Size of buffer */
+#define DLT_DAEMON_TEXTBUFSIZE 512
+
+/* Maximum length of a description */
+#define DLT_DAEMON_DESCSIZE 256
+
+/* Name of daemon lock file, contain process id of dlt daemon instance */
+#define DLT_DAEMON_LOCK_FILE "dltd.lock"
+
+/* Umask of daemon, creates files with permission 750 */
+#define DLT_DAEMON_UMASK 027
+/* Permissions of daemon lock file */
+#define DLT_DAEMON_LOCK_FILE_PERM 0640
+
+/* Default ECU ID, used in storage header and transmitted to client*/
+#define DLT_DAEMON_ECU_ID "ECU1"
+
+/* Default baudrate for serial interface */
+#define DLT_DAEMON_SERIAL_DEFAULT_BAUDRATE 115200
+
+/************************/
+/* Don't change please! */
+/************************/
+
+#endif /* DLT_DAEMON_CFG_H */
+
diff --git a/src/daemon/dlt_daemon_common.h b/src/daemon/dlt_daemon_common.h
index db1bc0b..4807407 100644
--- a/src/daemon/dlt_daemon_common.h
+++ b/src/daemon/dlt_daemon_common.h
@@ -1,378 +1,378 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_daemon_common.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_daemon_common.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Revision Control History **
-*******************************************************************************/
-
-/*
- * $LastChangedRevision: 1670 $
- * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
- * $LastChangedBy$
- Initials Date Comment
- aw 15.02.2010 initial
- */
-
-#ifndef DLT_DAEMON_COMMON_H
-#define DLT_DAEMON_COMMON_H
-
-/**
- \defgroup daemonapi DLT Daemon API
- \addtogroup daemonapi
- \{
-*/
-
-#include <limits.h>
-#include <semaphore.h>
-#include "dlt_common.h"
-#include "dlt_user.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DLT_DAEMON_RINGBUFFER_MIN_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
-#define DLT_DAEMON_RINGBUFFER_MAX_SIZE 10000000 /**< Ring buffer size for storing log messages while no client is connected */
-#define DLT_DAEMON_RINGBUFFER_STEP_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
-
-#define DLT_DAEMON_SEND_TO_ALL -3 /**< Constant value to identify the command "send to all" */
-#define DLT_DAEMON_SEND_FORCE -4 /**< Constant value to identify the command "send force to all" */
-
-/* Use a semaphore or mutex from your OS to prevent concurrent access to the DLT buffer. */
-
-#define DLT_DAEMON_SEM_LOCK() { sem_wait(&dlt_daemon_mutex); }
-#define DLT_DAEMON_SEM_FREE() { sem_post(&dlt_daemon_mutex); }
-extern sem_t dlt_daemon_mutex;
-
-/**
- * Definitions of DLT daemon logging states
- */
-typedef enum
-{
- DLT_DAEMON_STATE_INIT = 0, /**< Initial state */
- DLT_DAEMON_STATE_BUFFER = 1, /**< logging is buffered until external logger is connected or internal logging is activated */
- DLT_DAEMON_STATE_BUFFER_FULL = 2, /**< then internal buffer is full, wait for connect from client */
- DLT_DAEMON_STATE_SEND_BUFFER = 3, /**< external logger is connected, but buffer is still not empty or external logger queue is full */
- DLT_DAEMON_STATE_SEND_DIRECT = 4 /**< External logger is connected or internal logging is active, and buffer is empty */
-} DltDaemonState;
-
-/**
- * The parameters of a daemon application.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- pid_t pid; /**< process id of user application */
- int user_handle; /**< connection handle for connection to user application */
- char *application_description; /**< context description */
- int num_contexts; /**< number of contexts for this application */
-} DltDaemonApplication;
-
-/**
- * The parameters of a daemon context.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- char ctid[DLT_ID_SIZE]; /**< context id */
- int8_t log_level; /**< the current log level of the context */
- int8_t trace_status; /**< the current trace status of the context */
- int log_level_pos; /**< offset of context in context field on user application */
- int user_handle; /**< connection handle for connection to user application */
- char *context_description; /**< context description */
-} DltDaemonContext;
-
-/**
- * The parameters of a daemon.
- */
-typedef struct
-{
- int num_contexts; /**< Total number of all contexts in all applications */
- DltDaemonContext *contexts; /**< Pointer to contexts */
- int num_applications; /**< Number of available application */
- DltDaemonApplication *applications; /**< Pointer to applications */
- int8_t default_log_level; /**< Default log level (of daemon) */
- int8_t default_trace_status; /**< Default trace status (of daemon) */
- unsigned int overflow_counter; /**< counts the number of lost messages. */
- int runtime_context_cfg_loaded; /**< Set to one, if runtime context configuration has been loaded, zero otherwise */
- char ecuid[DLT_ID_SIZE]; /**< ECU ID of daemon */
- int sendserialheader; /**< 1: send serial header; 0 don't send serial header */
- int timingpackets; /**< 1: send continous timing packets; 0 don't send continous timing packets */
- DltBuffer client_ringbuffer; /**< Ring-buffer for storing received logs while no client connection is available */
- char runtime_application_cfg[PATH_MAX + 1]; /**< Path and filename of persistent application configuration. Set to path max, as it specifies a full path*/
- char runtime_context_cfg[PATH_MAX + 1]; /**< Path and filename of persistent context configuration */
- char runtime_configuration[PATH_MAX + 1]; /**< Path and filename of persistent configuration */
- DltUserLogMode mode; /**< Mode used for tracing: off, external, internal, both */
- char connectionState; /**< state for tracing: 0 = no client connected, 1 = client connected */
- char *ECUVersionString; /**< Version string to send to client. Loaded from a file at startup. May be null. */
- DltDaemonState state; /**< the current logging state of dlt daemon. */
-} DltDaemon;
-
-/**
- * Initialise the dlt daemon structure
- * This function must be called before using further dlt daemon structure
- * @param daemon pointer to dlt daemon structure
- * @param RingbufferMinSize ringbuffer size
- * @param RingbufferMaxSize ringbuffer size
- * @param RingbufferStepSize ringbuffer size
- * @param runtime_directory Directory of persistent configuration
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory,int verbose);
-/**
- * De-Initialise the dlt daemon structure
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_free(DltDaemon *daemon,int verbose);
-
-/**
- * Add (new) application to internal application management
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param pid process id of user application
- * @param description description of application
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to added context, null pointer on error
- */
-DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pid_t pid,char *description, int verbose);
-/**
- * Delete application from internal application management
- * @param daemon pointer to dlt daemon structure
- * @param application pointer to application to be deleted
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *application, int verbose);
-/**
- * Find application with specific application id
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to application, null pointer on error or not found
- */
-DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon,char *apid,int verbose);
-/**
- * Load applications from file to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save applications from internal context management to file
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Invalidate all applications fd, if fd is reused
- * @param daemon pointer to dlt daemon structure
- * @param fd file descriptor
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
-/**
- * Clear all applications in internal application management
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_applications_clear(DltDaemon *daemon,int verbose);
-
-/**
- * Add (new) context to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param ctid pointer to context id
- * @param log_level log level of context
- * @param trace_status trace status of context
- * @param log_level_pos offset of context in context field on user application
- * @param user_handle connection handle for connection to user application
- * @param description description of context
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to added context, null pointer on error
- */
-DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid,int8_t log_level,int8_t trace_status,int log_level_pos, int user_handle,char *description,int verbose);
-/**
- * Delete context from internal context management
- * @param daemon pointer to dlt daemon structure
- * @param context pointer to context to be deleted
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int verbose);
-/**
- * Find context with specific application id and context id
- * @param daemon pointer to dlt daemon structure
- * @param apid pointer to application id
- * @param ctid pointer to context id
- * @param verbose if set to true verbose information is printed out.
- * @return Pointer to context, null pointer on error or not found
- */
-DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *ctid,int verbose);
-/**
- * Invalidate all contexts fd, if fd is reused
- * @param daemon pointer to dlt daemon structure
- * @param fd file descriptor
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
-/**
- * Clear all contexts in internal context management
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose);
-/**
- * Load contexts from file to internal context management
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save contexts from internal context management to file
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Load persistant configuration
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for loading
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int verbose);
-/**
- * Save configuration persistantly
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file to be used for saving
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_configuration_save(DltDaemon *daemon,const char *filename, int verbose);
-
-
-/**
- * Send user message DLT_USER_MESSAGE_LOG_LEVEL to user application
- * @param daemon pointer to dlt daemon structure
- * @param context pointer to context for response
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context, int verbose);
-
-/**
- * Send user message DLT_USER_MESSAGE_LOG_STATE to user application
- * @param daemon pointer to dlt daemon structure
- * @param app pointer to application for response
- * @param verbose if set to true verbose information is printed out.
- * @return negative value if there was an error
- */
-int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,int verbose);
-
-/**
- * Send user messages to all user applications using default context, or trace status
- * to update those values
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose);
-
-/**
- * Send user messages to all user applications the log status
- * everytime the client is connected or disconnected.
- * @param daemon pointer to dlt daemon structure
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_user_send_all_log_state(DltDaemon *daemon, int verbose);
-
-/**
- * Process reset to factory default control message
- * @param daemon pointer to dlt daemon structure
- * @param filename name of file containing the runtime defaults for applications
- * @param filename1 name of file containing the runtime defaults for contexts
- * @param verbose if set to true verbose information is printed out.
- */
-void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *filename, const char *filename1, int verbose);
-
-/**
- * Change the logging state of dlt daemon
- * @param daemon pointer to dlt daemon structure
- * @param newState the requested new state
- */
-void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState);
-
-#ifdef __cplusplus
-}
-#endif
-
-/**
- \}
-*/
-
-#endif /* DLT_DAEMON_COMMON_H */
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_daemon_common.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_daemon_common.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Revision Control History **
+*******************************************************************************/
+
+/*
+ * $LastChangedRevision: 1670 $
+ * $LastChangedDate: 2011-04-08 15:12:06 +0200 (Fr, 08. Apr 2011) $
+ * $LastChangedBy$
+ Initials Date Comment
+ aw 15.02.2010 initial
+ */
+
+#ifndef DLT_DAEMON_COMMON_H
+#define DLT_DAEMON_COMMON_H
+
+/**
+ \defgroup daemonapi DLT Daemon API
+ \addtogroup daemonapi
+ \{
+*/
+
+#include <limits.h>
+#include <semaphore.h>
+#include "dlt_common.h"
+#include "dlt_user.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define DLT_DAEMON_RINGBUFFER_MIN_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
+#define DLT_DAEMON_RINGBUFFER_MAX_SIZE 10000000 /**< Ring buffer size for storing log messages while no client is connected */
+#define DLT_DAEMON_RINGBUFFER_STEP_SIZE 500000 /**< Ring buffer size for storing log messages while no client is connected */
+
+#define DLT_DAEMON_SEND_TO_ALL -3 /**< Constant value to identify the command "send to all" */
+#define DLT_DAEMON_SEND_FORCE -4 /**< Constant value to identify the command "send force to all" */
+
+/* Use a semaphore or mutex from your OS to prevent concurrent access to the DLT buffer. */
+
+#define DLT_DAEMON_SEM_LOCK() { sem_wait(&dlt_daemon_mutex); }
+#define DLT_DAEMON_SEM_FREE() { sem_post(&dlt_daemon_mutex); }
+extern sem_t dlt_daemon_mutex;
+
+/**
+ * Definitions of DLT daemon logging states
+ */
+typedef enum
+{
+ DLT_DAEMON_STATE_INIT = 0, /**< Initial state */
+ DLT_DAEMON_STATE_BUFFER = 1, /**< logging is buffered until external logger is connected or internal logging is activated */
+ DLT_DAEMON_STATE_BUFFER_FULL = 2, /**< then internal buffer is full, wait for connect from client */
+ DLT_DAEMON_STATE_SEND_BUFFER = 3, /**< external logger is connected, but buffer is still not empty or external logger queue is full */
+ DLT_DAEMON_STATE_SEND_DIRECT = 4 /**< External logger is connected or internal logging is active, and buffer is empty */
+} DltDaemonState;
+
+/**
+ * The parameters of a daemon application.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ pid_t pid; /**< process id of user application */
+ int user_handle; /**< connection handle for connection to user application */
+ char *application_description; /**< context description */
+ int num_contexts; /**< number of contexts for this application */
+} DltDaemonApplication;
+
+/**
+ * The parameters of a daemon context.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ char ctid[DLT_ID_SIZE]; /**< context id */
+ int8_t log_level; /**< the current log level of the context */
+ int8_t trace_status; /**< the current trace status of the context */
+ int log_level_pos; /**< offset of context in context field on user application */
+ int user_handle; /**< connection handle for connection to user application */
+ char *context_description; /**< context description */
+} DltDaemonContext;
+
+/**
+ * The parameters of a daemon.
+ */
+typedef struct
+{
+ int num_contexts; /**< Total number of all contexts in all applications */
+ DltDaemonContext *contexts; /**< Pointer to contexts */
+ int num_applications; /**< Number of available application */
+ DltDaemonApplication *applications; /**< Pointer to applications */
+ int8_t default_log_level; /**< Default log level (of daemon) */
+ int8_t default_trace_status; /**< Default trace status (of daemon) */
+ unsigned int overflow_counter; /**< counts the number of lost messages. */
+ int runtime_context_cfg_loaded; /**< Set to one, if runtime context configuration has been loaded, zero otherwise */
+ char ecuid[DLT_ID_SIZE]; /**< ECU ID of daemon */
+ int sendserialheader; /**< 1: send serial header; 0 don't send serial header */
+ int timingpackets; /**< 1: send continous timing packets; 0 don't send continous timing packets */
+ DltBuffer client_ringbuffer; /**< Ring-buffer for storing received logs while no client connection is available */
+ char runtime_application_cfg[PATH_MAX + 1]; /**< Path and filename of persistent application configuration. Set to path max, as it specifies a full path*/
+ char runtime_context_cfg[PATH_MAX + 1]; /**< Path and filename of persistent context configuration */
+ char runtime_configuration[PATH_MAX + 1]; /**< Path and filename of persistent configuration */
+ DltUserLogMode mode; /**< Mode used for tracing: off, external, internal, both */
+ char connectionState; /**< state for tracing: 0 = no client connected, 1 = client connected */
+ char *ECUVersionString; /**< Version string to send to client. Loaded from a file at startup. May be null. */
+ DltDaemonState state; /**< the current logging state of dlt daemon. */
+} DltDaemon;
+
+/**
+ * Initialise the dlt daemon structure
+ * This function must be called before using further dlt daemon structure
+ * @param daemon pointer to dlt daemon structure
+ * @param RingbufferMinSize ringbuffer size
+ * @param RingbufferMaxSize ringbuffer size
+ * @param RingbufferStepSize ringbuffer size
+ * @param runtime_directory Directory of persistent configuration
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_init(DltDaemon *daemon,unsigned long RingbufferMinSize,unsigned long RingbufferMaxSize,unsigned long RingbufferStepSize,const char *runtime_directory,int verbose);
+/**
+ * De-Initialise the dlt daemon structure
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_free(DltDaemon *daemon,int verbose);
+
+/**
+ * Add (new) application to internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param pid process id of user application
+ * @param description description of application
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to added context, null pointer on error
+ */
+DltDaemonApplication* dlt_daemon_application_add(DltDaemon *daemon,char *apid,pid_t pid,char *description, int verbose);
+/**
+ * Delete application from internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param application pointer to application to be deleted
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_application_del(DltDaemon *daemon, DltDaemonApplication *application, int verbose);
+/**
+ * Find application with specific application id
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to application, null pointer on error or not found
+ */
+DltDaemonApplication* dlt_daemon_application_find(DltDaemon *daemon,char *apid,int verbose);
+/**
+ * Load applications from file to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save applications from internal context management to file
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_save(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Invalidate all applications fd, if fd is reused
+ * @param daemon pointer to dlt daemon structure
+ * @param fd file descriptor
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
+/**
+ * Clear all applications in internal application management
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_applications_clear(DltDaemon *daemon,int verbose);
+
+/**
+ * Add (new) context to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param ctid pointer to context id
+ * @param log_level log level of context
+ * @param trace_status trace status of context
+ * @param log_level_pos offset of context in context field on user application
+ * @param user_handle connection handle for connection to user application
+ * @param description description of context
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to added context, null pointer on error
+ */
+DltDaemonContext* dlt_daemon_context_add(DltDaemon *daemon,char *apid,char *ctid,int8_t log_level,int8_t trace_status,int log_level_pos, int user_handle,char *description,int verbose);
+/**
+ * Delete context from internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param context pointer to context to be deleted
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_context_del(DltDaemon *daemon, DltDaemonContext* context, int verbose);
+/**
+ * Find context with specific application id and context id
+ * @param daemon pointer to dlt daemon structure
+ * @param apid pointer to application id
+ * @param ctid pointer to context id
+ * @param verbose if set to true verbose information is printed out.
+ * @return Pointer to context, null pointer on error or not found
+ */
+DltDaemonContext* dlt_daemon_context_find(DltDaemon *daemon,char *apid,char *ctid,int verbose);
+/**
+ * Invalidate all contexts fd, if fd is reused
+ * @param daemon pointer to dlt daemon structure
+ * @param fd file descriptor
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_invalidate_fd(DltDaemon *daemon,int fd,int verbose);
+/**
+ * Clear all contexts in internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_clear(DltDaemon *daemon,int verbose);
+/**
+ * Load contexts from file to internal context management
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save contexts from internal context management to file
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_contexts_save(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Load persistant configuration
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for loading
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_configuration_load(DltDaemon *daemon,const char *filename, int verbose);
+/**
+ * Save configuration persistantly
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file to be used for saving
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_configuration_save(DltDaemon *daemon,const char *filename, int verbose);
+
+
+/**
+ * Send user message DLT_USER_MESSAGE_LOG_LEVEL to user application
+ * @param daemon pointer to dlt daemon structure
+ * @param context pointer to context for response
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_user_send_log_level(DltDaemon *daemon,DltDaemonContext *context, int verbose);
+
+/**
+ * Send user message DLT_USER_MESSAGE_LOG_STATE to user application
+ * @param daemon pointer to dlt daemon structure
+ * @param app pointer to application for response
+ * @param verbose if set to true verbose information is printed out.
+ * @return negative value if there was an error
+ */
+int dlt_daemon_user_send_log_state(DltDaemon *daemon,DltDaemonApplication *app,int verbose);
+
+/**
+ * Send user messages to all user applications using default context, or trace status
+ * to update those values
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_user_send_default_update(DltDaemon *daemon, int verbose);
+
+/**
+ * Send user messages to all user applications the log status
+ * everytime the client is connected or disconnected.
+ * @param daemon pointer to dlt daemon structure
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_user_send_all_log_state(DltDaemon *daemon, int verbose);
+
+/**
+ * Process reset to factory default control message
+ * @param daemon pointer to dlt daemon structure
+ * @param filename name of file containing the runtime defaults for applications
+ * @param filename1 name of file containing the runtime defaults for contexts
+ * @param verbose if set to true verbose information is printed out.
+ */
+void dlt_daemon_control_reset_to_factory_default(DltDaemon *daemon,const char *filename, const char *filename1, int verbose);
+
+/**
+ * Change the logging state of dlt daemon
+ * @param daemon pointer to dlt daemon structure
+ * @param newState the requested new state
+ */
+void dlt_daemon_change_state(DltDaemon *daemon, DltDaemonState newState);
+
+#ifdef __cplusplus
+}
+#endif
+
+/**
+ \}
+*/
+
+#endif /* DLT_DAEMON_COMMON_H */
diff --git a/src/daemon/dlt_daemon_common_cfg.h b/src/daemon/dlt_daemon_common_cfg.h
index ba28f24..914767a 100755
--- a/src/daemon/dlt_daemon_common_cfg.h
+++ b/src/daemon/dlt_daemon_common_cfg.h
@@ -1,119 +1,119 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_daemon_common_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_daemon_common_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_DAEMON_COMMON_CFG_H
-#define DLT_DAEMON_COMMON_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Default Path for runtime configuration */
-#define DLT_RUNTIME_DEFAULT_DIRECTORY "/tmp"
-/* Path and filename for runtime configuration (applications) */
-#define DLT_RUNTIME_APPLICATION_CFG "/dlt-runtime-application.cfg"
-/* Path and filename for runtime configuration (contexts) */
-#define DLT_RUNTIME_CONTEXT_CFG "/dlt-runtime-context.cfg"
-/* Path and filename for runtime configuration */
-#define DLT_RUNTIME_CONFIGURATION "/dlt-runtime.cfg"
-
-/* Size of text buffer */
-#define DLT_DAEMON_COMMON_TEXTBUFSIZE 255
-
-/* Initial log level */
-#define DLT_DAEMON_INITIAL_LOG_LEVEL DLT_LOG_INFO
-/* Initial trace status */
-#define DLT_DAEMON_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
-
-/* Application ID used when the dlt daemon creates a control message */
-#define DLT_DAEMON_CTRL_APID "DA1"
-/* Context ID used when the dlt daemon creates a control message */
-#define DLT_DAEMON_CTRL_CTID "DC1"
-
-/* Number of entries to be allocated at one in application table,
- when no more entries are available */
-#define DLT_DAEMON_APPL_ALLOC_SIZE 500
-/* Number of entries to be allocated at one in context table,
- when no more entries are available */
-#define DLT_DAEMON_CONTEXT_ALLOC_SIZE 1000
-
-/* Debug get log info function,
- set to 1 to enable, 0 to disable debugging */
-#define DLT_DEBUG_GETLOGINFO 0
-
-/************************/
-/* Don't change please! */
-/************************/
-
-/* Minimum ID for an injection message */
-#define DLT_DAEMON_INJECTION_MIN 0xFFF
-/* Maximum ID for an injection message */
-#define DLT_DAEMON_INJECTION_MAX 0xFFFFFFFF
-
-/* Remote interface identifier */
-#define DLT_DAEMON_REMO_STRING "remo"
-
-#endif /* DLT_DAEMON_COMMON_CFG_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_daemon_common_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_daemon_common_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_DAEMON_COMMON_CFG_H
+#define DLT_DAEMON_COMMON_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Default Path for runtime configuration */
+#define DLT_RUNTIME_DEFAULT_DIRECTORY "/tmp"
+/* Path and filename for runtime configuration (applications) */
+#define DLT_RUNTIME_APPLICATION_CFG "/dlt-runtime-application.cfg"
+/* Path and filename for runtime configuration (contexts) */
+#define DLT_RUNTIME_CONTEXT_CFG "/dlt-runtime-context.cfg"
+/* Path and filename for runtime configuration */
+#define DLT_RUNTIME_CONFIGURATION "/dlt-runtime.cfg"
+
+/* Size of text buffer */
+#define DLT_DAEMON_COMMON_TEXTBUFSIZE 255
+
+/* Initial log level */
+#define DLT_DAEMON_INITIAL_LOG_LEVEL DLT_LOG_INFO
+/* Initial trace status */
+#define DLT_DAEMON_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
+
+/* Application ID used when the dlt daemon creates a control message */
+#define DLT_DAEMON_CTRL_APID "DA1"
+/* Context ID used when the dlt daemon creates a control message */
+#define DLT_DAEMON_CTRL_CTID "DC1"
+
+/* Number of entries to be allocated at one in application table,
+ when no more entries are available */
+#define DLT_DAEMON_APPL_ALLOC_SIZE 500
+/* Number of entries to be allocated at one in context table,
+ when no more entries are available */
+#define DLT_DAEMON_CONTEXT_ALLOC_SIZE 1000
+
+/* Debug get log info function,
+ set to 1 to enable, 0 to disable debugging */
+#define DLT_DEBUG_GETLOGINFO 0
+
+/************************/
+/* Don't change please! */
+/************************/
+
+/* Minimum ID for an injection message */
+#define DLT_DAEMON_INJECTION_MIN 0xFFF
+/* Maximum ID for an injection message */
+#define DLT_DAEMON_INJECTION_MAX 0xFFFFFFFF
+
+/* Remote interface identifier */
+#define DLT_DAEMON_REMO_STRING "remo"
+
+#endif /* DLT_DAEMON_COMMON_CFG_H */
+
diff --git a/src/examples/dlt-example-non-verbose-1.xml b/src/examples/dlt-example-non-verbose-1.xml
index 7baae8c..0a49302 100755
--- a/src/examples/dlt-example-non-verbose-1.xml
+++ b/src/examples/dlt-example-non-verbose-1.xml
@@ -1,499 +1,499 @@
-<?xml version="1.0"?>
-<!-- -->
-<!-- DLT example for DLT non-verbose mode -->
-<!-- -->
-<!-- Author: Jens Levihn, -->
-<!-- PEIKER acustic GmbH & Co. KG, Max-Planck-Str. 32, 61381 Friedrichsdorf -->
-<!-- -->
-<!-- -->
-<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.asam.net/xml/fbx xml_schema\fibex.xsd http://www.asam.net/xml/fbx/can xml_schema\fibex4can.xsd" VERSION="3.1.0">
- <fx:PROJECT ID="projectTCB">
- <ho:SHORT-NAME>projectTCB</ho:SHORT-NAME>
- </fx:PROJECT>
- <fx:ELEMENTS>
- <!--***************************** ECU ***************************-->
- <fx:ECUS>
- <fx:ECU ID="TCB">
- <ho:SHORT-NAME>TCB</ho:SHORT-NAME>
- <fx:MANUFACTURER-EXTENSION>
- <SW_VERSION>001.004.062</SW_VERSION>
- <APPLICATIONS>
- <APPLICATION>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <APPLICATION_DESCRIPTION>Application 1</APPLICATION_DESCRIPTION>
- <CONTEXTS>
- <CONTEXT>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <CONTEXT_DESCRIPTION>Context 1</CONTEXT_DESCRIPTION>
- </CONTEXT>
- </CONTEXTS>
- </APPLICATION>
- <APPLICATION>
- <APPLICATION_ID>TEST</APPLICATION_ID>
- <APPLICATION_DESCRIPTION>Test Application</APPLICATION_DESCRIPTION>
- <CONTEXTS>
- <CONTEXT>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <CONTEXT_DESCRIPTION>Context 1</CONTEXT_DESCRIPTION>
- </CONTEXT>
- </CONTEXTS>
- </APPLICATION>
- <APPLICATION>
- <APPLICATION_ID>LAT</APPLICATION_ID>
- <APPLICATION_DESCRIPTION>Log And Trace</APPLICATION_DESCRIPTION>
- <CONTEXTS>
- <CONTEXT>
- <CONTEXT_ID>NV</CONTEXT_ID>
- <CONTEXT_DESCRIPTION>NV test</CONTEXT_DESCRIPTION>
- </CONTEXT>
- </CONTEXTS>
- </APPLICATION>
- </APPLICATIONS>
- </fx:MANUFACTURER-EXTENSION>
- </fx:ECU>
- </fx:ECUS>
- <!--*************************** PDUS ***************************-->
- <fx:PDUS>
- <!--=============== Message 10 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_10_0">
- <ho:SHORT-NAME>PDU_10_0</ho:SHORT-NAME>
- <ho:DESC>DLT non verbose test message.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== Message 11 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_11_0">
- <ho:SHORT-NAME>PDU_11_0</ho:SHORT-NAME>
- <ho:DESC>Buffer near limit. Free size:</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_11_1">
- <ho:SHORT-NAME>PDU_11_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_11_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT16"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== Message 12 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_12_0">
- <ho:SHORT-NAME>PDU_12_0</ho:SHORT-NAME>
- <ho:DESC>Buffer size exceeded.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_12_1">
- <ho:SHORT-NAME>PDU_12_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_12_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT32"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 3. Parameter ==================-->
- <fx:PDU ID="PDU_12_2">
- <ho:SHORT-NAME>PDU_12_2</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_12_2">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT32"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 4. Parameter ==================-->
- <fx:PDU ID="PDU_12_3">
- <ho:SHORT-NAME>PDU_12_3</ho:SHORT-NAME>
- <ho:DESC>Process terminated.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== Message 13 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_13_0">
- <ho:SHORT-NAME>PDU_13_0</ho:SHORT-NAME>
- <ho:DESC>Temperature measurement</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_13_1">
- <ho:SHORT-NAME>PDU_13_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>1</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_13_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT8"/>
- <fx:MANUFACTURER-EXTENSION>
- <VARI_NAME>measurement_point</VARI_NAME>
- <VARI_UNIT></VARI_UNIT>
- </fx:MANUFACTURER-EXTENSION>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 3. Parameter ==================-->
- <fx:PDU ID="PDU_13_2">
- <ho:SHORT-NAME>PDU_13_2</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_13_2">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_FLOA32"/>
- <fx:MANUFACTURER-EXTENSION>
- <VARI_NAME>reading</VARI_NAME>
- <VARI_UNIT>Kelvin</VARI_UNIT>
- </fx:MANUFACTURER-EXTENSION>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== Message 14 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_14_0">
- <ho:SHORT-NAME>PDU_14_0</ho:SHORT-NAME>
- <ho:DESC>Build ID:</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_14_1">
- <ho:SHORT-NAME>PDU_14_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_14_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_STRG_ASCII"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- </fx:PDUS>
- <!--*************************** FRAMES ***************************-->
- <fx:FRAMES>
- <!-- ================== 1. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_10">
- <ho:SHORT-NAME>ID_10</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_10_0">
- <fx:PDU-REF ID-REF="PDU_10_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
- <APPLICATION_ID>TEST</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>dlt_test.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>411</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 2. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_11">
- <ho:SHORT-NAME>ID_1001</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_11_0">
- <fx:PDU-REF ID-REF="PDU_11_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_1001_1">
- <fx:PDU-REF ID-REF="PDU_11_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_WARN</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>955</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 3. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_12">
- <ho:SHORT-NAME>ID_1002</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_12_0">
- <fx:PDU-REF ID-REF="PDU_12_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_1">
- <fx:PDU-REF ID-REF="PDU_12_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_2">
- <fx:PDU-REF ID-REF="PDU_12_2"/>
- <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_3">
- <fx:PDU-REF ID-REF="PDU_12_3"/>
- <fx:SEQUENCE-NUMBER>3</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_ERROR</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>1058</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 4. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_13">
- <ho:SHORT-NAME>ID_1003</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>5</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_13_0">
- <fx:PDU-REF ID-REF="PDU_13_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_13_1">
- <fx:PDU-REF ID-REF="PDU_13_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_13_2">
- <fx:PDU-REF ID-REF="PDU_13_2"/>
- <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>temp_meas.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>42</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 5. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_14">
- <ho:SHORT-NAME>ID_14</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_14_0">
- <fx:PDU-REF ID-REF="PDU_14_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_14_1">
- <fx:PDU-REF ID-REF="PDU_14_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
- <APPLICATION_ID>LAT</APPLICATION_ID>
- <CONTEXT_ID>NV</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>latsTask.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>421</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- </fx:FRAMES>
-
- <!--*************************** signals **************************-->
- <fx:SIGNALS>
- <!--======================= BOOL =====================-->
- <fx:SIGNAL ID="S_BOOL">
- <ho:SHORT-NAME>S_BOOL</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="BOOL"/>
- </fx:SIGNAL>
- <!--======================= SINT8 =====================-->
- <fx:SIGNAL ID="S_SINT8">
- <ho:SHORT-NAME>S_SINT8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT8"/>
- </fx:SIGNAL>
- <!--======================= UINT8 =====================-->
- <fx:SIGNAL ID="S_UINT8">
- <ho:SHORT-NAME>S_UINT8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT8"/>
- </fx:SIGNAL>
- <!--======================= SINT16 =====================-->
- <fx:SIGNAL ID="S_SINT16">
- <ho:SHORT-NAME>S_SINT16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT16"/>
- </fx:SIGNAL>
- <!--======================= UINT16 =====================-->
- <fx:SIGNAL ID="S_UINT16">
- <ho:SHORT-NAME>S_UINT16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT16"/>
- </fx:SIGNAL>
- <!--======================= SINT32 =====================-->
- <fx:SIGNAL ID="S_SINT32">
- <ho:SHORT-NAME>S_SINT32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT32"/>
- </fx:SIGNAL>
- <!--======================= UINT32 =====================-->
- <fx:SIGNAL ID="S_UINT32">
- <ho:SHORT-NAME>S_UINT32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT32"/>
- </fx:SIGNAL>
- <!--======================= SINT64 =====================-->
- <fx:SIGNAL ID="S_SINT64">
- <ho:SHORT-NAME>S_SINT64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT64"/>
- </fx:SIGNAL>
- <!--======================= UINT64 =====================-->
- <fx:SIGNAL ID="S_UINT64">
- <ho:SHORT-NAME>S_UINT64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT64"/>
- </fx:SIGNAL>
- <!--======================= FLOA16 =====================-->
- <fx:SIGNAL ID="S_FLOA16">
- <ho:SHORT-NAME>S_FLOA16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA16"/>
- </fx:SIGNAL>
- <!--======================= FLOA32 =====================-->
- <fx:SIGNAL ID="S_FLOA32">
- <ho:SHORT-NAME>S_FLOA32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA32"/>
- </fx:SIGNAL>
- <!--======================= FLOA64 =====================-->
- <fx:SIGNAL ID="S_FLOA64">
- <ho:SHORT-NAME>S_FLOA64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA64"/>
- </fx:SIGNAL>
- <!--======================= STRG_ASCII =====================-->
- <fx:SIGNAL ID="S_STRG_ASCII">
- <ho:SHORT-NAME>S_STRG_ASCII</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="STRG_ASCII"/>
- </fx:SIGNAL>
- <!--======================= STRG_UTF8 =====================-->
- <fx:SIGNAL ID="S_STRG_UTF8">
- <ho:SHORT-NAME>S_STRG_UTF8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="STRG_UTF8"/>
- </fx:SIGNAL>
- </fx:SIGNALS>
- </fx:ELEMENTS>
-
- <!--********************* PROCESSING INFORMATION *********************-->
-
- <fx:PROCESSING-INFORMATION>
- <!--*************************** codings ****************************-->
- <fx:CODINGS>
- <fx:CODING ID="BOOL">
- <ho:SHORT-NAME>BOOL</ho:SHORT-NAME>
- <ho:DESC>Coding for boolean values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT8">
- <ho:SHORT-NAME>SINT8</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 8bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT8">
- <ho:SHORT-NAME>UINT8</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 8bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT16">
- <ho:SHORT-NAME>SINT16</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT16">
- <ho:SHORT-NAME>UINT16</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT32">
- <ho:SHORT-NAME>SINT32</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT32">
- <ho:SHORT-NAME>UINT32</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT64">
- <ho:SHORT-NAME>SINT64</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT64">
- <ho:SHORT-NAME>UINT64</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA16">
- <ho:SHORT-NAME>FLOA16</ho:SHORT-NAME>
- <ho:DESC>Coding for float 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA32">
- <ho:SHORT-NAME>FLOA32</ho:SHORT-NAME>
- <ho:DESC>Coding for float 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA64">
- <ho:SHORT-NAME>FLOA64</ho:SHORT-NAME>
- <ho:DESC>Coding for float 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="STRG_ASCII">
- <ho:SHORT-NAME>STRG_ASCII</ho:SHORT-NAME>
- <ho:DESC>Coding for ASCII string.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_ASCIISTRING" CATEGORY="STANDARD-LENGTH-TYPE" TERMINATION="ZERO">
- <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
- <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="STRG_UTF8">
- <ho:SHORT-NAME>STRG_UTF8</ho:SHORT-NAME>
- <ho:DESC>Coding for UTF8 string.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UNICODE2STRING" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UTF-8" TERMINATION="ZERO">
- <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
- <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- </fx:CODINGS>
- </fx:PROCESSING-INFORMATION>
-</fx:FIBEX>
+<?xml version="1.0"?>
+<!-- -->
+<!-- DLT example for DLT non-verbose mode -->
+<!-- -->
+<!-- Author: Jens Levihn, -->
+<!-- PEIKER acustic GmbH & Co. KG, Max-Planck-Str. 32, 61381 Friedrichsdorf -->
+<!-- -->
+<!-- -->
+<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.asam.net/xml/fbx xml_schema\fibex.xsd http://www.asam.net/xml/fbx/can xml_schema\fibex4can.xsd" VERSION="3.1.0">
+ <fx:PROJECT ID="projectTCB">
+ <ho:SHORT-NAME>projectTCB</ho:SHORT-NAME>
+ </fx:PROJECT>
+ <fx:ELEMENTS>
+ <!--***************************** ECU ***************************-->
+ <fx:ECUS>
+ <fx:ECU ID="TCB">
+ <ho:SHORT-NAME>TCB</ho:SHORT-NAME>
+ <fx:MANUFACTURER-EXTENSION>
+ <SW_VERSION>001.004.062</SW_VERSION>
+ <APPLICATIONS>
+ <APPLICATION>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <APPLICATION_DESCRIPTION>Application 1</APPLICATION_DESCRIPTION>
+ <CONTEXTS>
+ <CONTEXT>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <CONTEXT_DESCRIPTION>Context 1</CONTEXT_DESCRIPTION>
+ </CONTEXT>
+ </CONTEXTS>
+ </APPLICATION>
+ <APPLICATION>
+ <APPLICATION_ID>TEST</APPLICATION_ID>
+ <APPLICATION_DESCRIPTION>Test Application</APPLICATION_DESCRIPTION>
+ <CONTEXTS>
+ <CONTEXT>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <CONTEXT_DESCRIPTION>Context 1</CONTEXT_DESCRIPTION>
+ </CONTEXT>
+ </CONTEXTS>
+ </APPLICATION>
+ <APPLICATION>
+ <APPLICATION_ID>LAT</APPLICATION_ID>
+ <APPLICATION_DESCRIPTION>Log And Trace</APPLICATION_DESCRIPTION>
+ <CONTEXTS>
+ <CONTEXT>
+ <CONTEXT_ID>NV</CONTEXT_ID>
+ <CONTEXT_DESCRIPTION>NV test</CONTEXT_DESCRIPTION>
+ </CONTEXT>
+ </CONTEXTS>
+ </APPLICATION>
+ </APPLICATIONS>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:ECU>
+ </fx:ECUS>
+ <!--*************************** PDUS ***************************-->
+ <fx:PDUS>
+ <!--=============== Message 10 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_10_0">
+ <ho:SHORT-NAME>PDU_10_0</ho:SHORT-NAME>
+ <ho:DESC>DLT non verbose test message.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== Message 11 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_11_0">
+ <ho:SHORT-NAME>PDU_11_0</ho:SHORT-NAME>
+ <ho:DESC>Buffer near limit. Free size:</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_11_1">
+ <ho:SHORT-NAME>PDU_11_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_11_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT16"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== Message 12 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_12_0">
+ <ho:SHORT-NAME>PDU_12_0</ho:SHORT-NAME>
+ <ho:DESC>Buffer size exceeded.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_12_1">
+ <ho:SHORT-NAME>PDU_12_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_12_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT32"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 3. Parameter ==================-->
+ <fx:PDU ID="PDU_12_2">
+ <ho:SHORT-NAME>PDU_12_2</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_12_2">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT32"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 4. Parameter ==================-->
+ <fx:PDU ID="PDU_12_3">
+ <ho:SHORT-NAME>PDU_12_3</ho:SHORT-NAME>
+ <ho:DESC>Process terminated.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== Message 13 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_13_0">
+ <ho:SHORT-NAME>PDU_13_0</ho:SHORT-NAME>
+ <ho:DESC>Temperature measurement</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_13_1">
+ <ho:SHORT-NAME>PDU_13_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>1</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_13_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT8"/>
+ <fx:MANUFACTURER-EXTENSION>
+ <VARI_NAME>measurement_point</VARI_NAME>
+ <VARI_UNIT></VARI_UNIT>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 3. Parameter ==================-->
+ <fx:PDU ID="PDU_13_2">
+ <ho:SHORT-NAME>PDU_13_2</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_13_2">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_FLOA32"/>
+ <fx:MANUFACTURER-EXTENSION>
+ <VARI_NAME>reading</VARI_NAME>
+ <VARI_UNIT>Kelvin</VARI_UNIT>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== Message 14 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_14_0">
+ <ho:SHORT-NAME>PDU_14_0</ho:SHORT-NAME>
+ <ho:DESC>Build ID:</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_14_1">
+ <ho:SHORT-NAME>PDU_14_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_14_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_STRG_ASCII"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ </fx:PDUS>
+ <!--*************************** FRAMES ***************************-->
+ <fx:FRAMES>
+ <!-- ================== 1. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_10">
+ <ho:SHORT-NAME>ID_10</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_10_0">
+ <fx:PDU-REF ID-REF="PDU_10_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
+ <APPLICATION_ID>TEST</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>dlt_test.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>411</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 2. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_11">
+ <ho:SHORT-NAME>ID_1001</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_11_0">
+ <fx:PDU-REF ID-REF="PDU_11_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_1001_1">
+ <fx:PDU-REF ID-REF="PDU_11_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_WARN</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>955</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 3. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_12">
+ <ho:SHORT-NAME>ID_1002</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_12_0">
+ <fx:PDU-REF ID-REF="PDU_12_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_1">
+ <fx:PDU-REF ID-REF="PDU_12_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_2">
+ <fx:PDU-REF ID-REF="PDU_12_2"/>
+ <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_3">
+ <fx:PDU-REF ID-REF="PDU_12_3"/>
+ <fx:SEQUENCE-NUMBER>3</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_ERROR</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>1058</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 4. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_13">
+ <ho:SHORT-NAME>ID_1003</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>5</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_13_0">
+ <fx:PDU-REF ID-REF="PDU_13_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_13_1">
+ <fx:PDU-REF ID-REF="PDU_13_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_13_2">
+ <fx:PDU-REF ID-REF="PDU_13_2"/>
+ <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>temp_meas.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>42</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 5. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_14">
+ <ho:SHORT-NAME>ID_14</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_14_0">
+ <fx:PDU-REF ID-REF="PDU_14_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_14_1">
+ <fx:PDU-REF ID-REF="PDU_14_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
+ <APPLICATION_ID>LAT</APPLICATION_ID>
+ <CONTEXT_ID>NV</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>latsTask.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>421</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ </fx:FRAMES>
+
+ <!--*************************** signals **************************-->
+ <fx:SIGNALS>
+ <!--======================= BOOL =====================-->
+ <fx:SIGNAL ID="S_BOOL">
+ <ho:SHORT-NAME>S_BOOL</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="BOOL"/>
+ </fx:SIGNAL>
+ <!--======================= SINT8 =====================-->
+ <fx:SIGNAL ID="S_SINT8">
+ <ho:SHORT-NAME>S_SINT8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT8"/>
+ </fx:SIGNAL>
+ <!--======================= UINT8 =====================-->
+ <fx:SIGNAL ID="S_UINT8">
+ <ho:SHORT-NAME>S_UINT8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT8"/>
+ </fx:SIGNAL>
+ <!--======================= SINT16 =====================-->
+ <fx:SIGNAL ID="S_SINT16">
+ <ho:SHORT-NAME>S_SINT16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT16"/>
+ </fx:SIGNAL>
+ <!--======================= UINT16 =====================-->
+ <fx:SIGNAL ID="S_UINT16">
+ <ho:SHORT-NAME>S_UINT16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT16"/>
+ </fx:SIGNAL>
+ <!--======================= SINT32 =====================-->
+ <fx:SIGNAL ID="S_SINT32">
+ <ho:SHORT-NAME>S_SINT32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT32"/>
+ </fx:SIGNAL>
+ <!--======================= UINT32 =====================-->
+ <fx:SIGNAL ID="S_UINT32">
+ <ho:SHORT-NAME>S_UINT32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT32"/>
+ </fx:SIGNAL>
+ <!--======================= SINT64 =====================-->
+ <fx:SIGNAL ID="S_SINT64">
+ <ho:SHORT-NAME>S_SINT64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT64"/>
+ </fx:SIGNAL>
+ <!--======================= UINT64 =====================-->
+ <fx:SIGNAL ID="S_UINT64">
+ <ho:SHORT-NAME>S_UINT64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT64"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA16 =====================-->
+ <fx:SIGNAL ID="S_FLOA16">
+ <ho:SHORT-NAME>S_FLOA16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA16"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA32 =====================-->
+ <fx:SIGNAL ID="S_FLOA32">
+ <ho:SHORT-NAME>S_FLOA32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA32"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA64 =====================-->
+ <fx:SIGNAL ID="S_FLOA64">
+ <ho:SHORT-NAME>S_FLOA64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA64"/>
+ </fx:SIGNAL>
+ <!--======================= STRG_ASCII =====================-->
+ <fx:SIGNAL ID="S_STRG_ASCII">
+ <ho:SHORT-NAME>S_STRG_ASCII</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="STRG_ASCII"/>
+ </fx:SIGNAL>
+ <!--======================= STRG_UTF8 =====================-->
+ <fx:SIGNAL ID="S_STRG_UTF8">
+ <ho:SHORT-NAME>S_STRG_UTF8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="STRG_UTF8"/>
+ </fx:SIGNAL>
+ </fx:SIGNALS>
+ </fx:ELEMENTS>
+
+ <!--********************* PROCESSING INFORMATION *********************-->
+
+ <fx:PROCESSING-INFORMATION>
+ <!--*************************** codings ****************************-->
+ <fx:CODINGS>
+ <fx:CODING ID="BOOL">
+ <ho:SHORT-NAME>BOOL</ho:SHORT-NAME>
+ <ho:DESC>Coding for boolean values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT8">
+ <ho:SHORT-NAME>SINT8</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 8bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT8">
+ <ho:SHORT-NAME>UINT8</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 8bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT16">
+ <ho:SHORT-NAME>SINT16</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT16">
+ <ho:SHORT-NAME>UINT16</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT32">
+ <ho:SHORT-NAME>SINT32</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT32">
+ <ho:SHORT-NAME>UINT32</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT64">
+ <ho:SHORT-NAME>SINT64</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT64">
+ <ho:SHORT-NAME>UINT64</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA16">
+ <ho:SHORT-NAME>FLOA16</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA32">
+ <ho:SHORT-NAME>FLOA32</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA64">
+ <ho:SHORT-NAME>FLOA64</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="STRG_ASCII">
+ <ho:SHORT-NAME>STRG_ASCII</ho:SHORT-NAME>
+ <ho:DESC>Coding for ASCII string.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_ASCIISTRING" CATEGORY="STANDARD-LENGTH-TYPE" TERMINATION="ZERO">
+ <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
+ <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="STRG_UTF8">
+ <ho:SHORT-NAME>STRG_UTF8</ho:SHORT-NAME>
+ <ho:DESC>Coding for UTF8 string.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UNICODE2STRING" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UTF-8" TERMINATION="ZERO">
+ <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
+ <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ </fx:CODINGS>
+ </fx:PROCESSING-INFORMATION>
+</fx:FIBEX>
diff --git a/src/examples/dlt-example-non-verbose.xml b/src/examples/dlt-example-non-verbose.xml
index 3b31ed3..ddc8155 100755
--- a/src/examples/dlt-example-non-verbose.xml
+++ b/src/examples/dlt-example-non-verbose.xml
@@ -1,425 +1,425 @@
-<?xml version="1.0"?>
-<!-- -->
-<!-- DLT example for DLT non-verbose mode -->
-<!-- -->
-<!-- Author: Jens Levihn, -->
-<!-- PEIKER acustic GmbH & Co. KG, Max-Planck-Str. 32, 61381 Friedrichsdorf -->
-<!-- -->
-<!-- -->
-<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.asam.net/xml/fbx xml_schema\fibex.xsd http://www.asam.net/xml/fbx/can xml_schema\fibex4can.xsd" VERSION="3.1.0">
- <fx:PROJECT ID="projectTCB">
- <ho:SHORT-NAME>projectTCB</ho:SHORT-NAME>
- </fx:PROJECT>
- <fx:ELEMENTS>
- <!--***************************** ECU ***************************-->
- <fx:ECUS>
- <fx:ECU ID="TCB">
- <ho:SHORT-NAME>TCB</ho:SHORT-NAME>
- <fx:MANUFACTURER-EXTENSION>
- <SW_VERSION>001.004.062</SW_VERSION>
- </fx:MANUFACTURER-EXTENSION>
- </fx:ECU>
- </fx:ECUS>
- <!--*************************** PDUS ***************************-->
- <fx:PDUS>
- <!--=============== Message 10 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_10_0">
- <ho:SHORT-NAME>PDU_10_0</ho:SHORT-NAME>
- <ho:DESC>DLT non verbose test message.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== Message 11 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_11_0">
- <ho:SHORT-NAME>PDU_11_0</ho:SHORT-NAME>
- <ho:DESC>Buffer near limit. Free size:</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_11_1">
- <ho:SHORT-NAME>PDU_11_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_11_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT16"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== Message 12 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_12_0">
- <ho:SHORT-NAME>PDU_12_0</ho:SHORT-NAME>
- <ho:DESC>Buffer size exceeded.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_12_1">
- <ho:SHORT-NAME>PDU_12_1</ho:SHORT-NAME>
- <ho:DESC>Requested size:</ho:DESC>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_12_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT32"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 3. Parameter ==================-->
- <fx:PDU ID="PDU_12_2">
- <ho:SHORT-NAME>PDU_12_2</ho:SHORT-NAME>
- <ho:DESC>Free size:</ho:DESC>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_12_2">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT32"/>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 4. Parameter ==================-->
- <fx:PDU ID="PDU_12_3">
- <ho:SHORT-NAME>PDU_12_3</ho:SHORT-NAME>
- <ho:DESC>Process terminated.</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== Message 13 ==================-->
- <!--=============== 1. Parameter ==================-->
- <fx:PDU ID="PDU_13_0">
- <ho:SHORT-NAME>PDU_13_0</ho:SHORT-NAME>
- <ho:DESC>Temperature measurement</ho:DESC>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- </fx:PDU>
- <!--=============== 2. Parameter ==================-->
- <fx:PDU ID="PDU_13_1">
- <ho:SHORT-NAME>PDU_13_1</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>1</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_13_1">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_UINT8"/>
- <fx:MANUFACTURER-EXTENSION>
- <VARI_NAME>measurement_point</VARI_NAME>
- <VARI_UNIT></VARI_UNIT>
- </fx:MANUFACTURER-EXTENSION>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- <!--=============== 3. Parameter ==================-->
- <fx:PDU ID="PDU_13_2">
- <ho:SHORT-NAME>PDU_13_2</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
- <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
- <fx:SIGNAL-INSTANCES>
- <fx:SIGNAL-INSTANCE ID="S_13_2">
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- <fx:SIGNAL-REF ID-REF="S_FLOA32"/>
- <fx:MANUFACTURER-EXTENSION>
- <VARI_NAME>reading</VARI_NAME>
- <VARI_UNIT>Kelvin</VARI_UNIT>
- </fx:MANUFACTURER-EXTENSION>
- </fx:SIGNAL-INSTANCE>
- </fx:SIGNAL-INSTANCES>
- </fx:PDU>
- </fx:PDUS>
- <!--*************************** FRAMES ***************************-->
- <fx:FRAMES>
- <!-- ================== 1. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_10">
- <ho:SHORT-NAME>ID_10</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_10_0">
- <fx:PDU-REF ID-REF="PDU_10_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
- <APPLICATION_ID>TEST</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>dlt_test.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>411</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 2. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_11">
- <ho:SHORT-NAME>ID_11</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_11_0">
- <fx:PDU-REF ID-REF="PDU_11_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_11_1">
- <fx:PDU-REF ID-REF="PDU_11_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_WARN</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>955</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 3. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_12">
- <ho:SHORT-NAME>ID_12</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>8</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_12_0">
- <fx:PDU-REF ID-REF="PDU_12_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_1">
- <fx:PDU-REF ID-REF="PDU_12_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_2">
- <fx:PDU-REF ID-REF="PDU_12_2"/>
- <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_12_3">
- <fx:PDU-REF ID-REF="PDU_12_3"/>
- <fx:SEQUENCE-NUMBER>3</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_ERROR</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>1058</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- <!-- ================== 4. Log and Trace Message ============ -->
- <fx:FRAME ID="ID_13">
- <ho:SHORT-NAME>ID_13</ho:SHORT-NAME>
- <fx:BYTE-LENGTH>5</fx:BYTE-LENGTH>
- <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
- <fx:PDU-INSTANCES>
- <fx:PDU-INSTANCE ID="P_13_0">
- <fx:PDU-REF ID-REF="PDU_13_0"/>
- <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_13_1">
- <fx:PDU-REF ID-REF="PDU_13_1"/>
- <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- <fx:PDU-INSTANCE ID="P_13_2">
- <fx:PDU-REF ID-REF="PDU_13_2"/>
- <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
- </fx:PDU-INSTANCE>
- </fx:PDU-INSTANCES>
- <fx:MANUFACTURER-EXTENSION>
- <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
- <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
- <APPLICATION_ID>APP1</APPLICATION_ID>
- <CONTEXT_ID>CON1</CONTEXT_ID>
- <MESSAGE_SOURCE_FILE>temp_meas.c</MESSAGE_SOURCE_FILE>
- <MESSAGE_LINE_NUMBER>42</MESSAGE_LINE_NUMBER>
- </fx:MANUFACTURER-EXTENSION>
- </fx:FRAME>
- </fx:FRAMES>
-
- <!--*************************** signals **************************-->
- <fx:SIGNALS>
- <!--======================= BOOL =====================-->
- <fx:SIGNAL ID="S_BOOL">
- <ho:SHORT-NAME>S_BOOL</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="BOOL"/>
- </fx:SIGNAL>
- <!--======================= SINT8 =====================-->
- <fx:SIGNAL ID="S_SINT8">
- <ho:SHORT-NAME>S_SINT8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT8"/>
- </fx:SIGNAL>
- <!--======================= UINT8 =====================-->
- <fx:SIGNAL ID="S_UINT8">
- <ho:SHORT-NAME>S_UINT8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT8"/>
- </fx:SIGNAL>
- <!--======================= SINT16 =====================-->
- <fx:SIGNAL ID="S_SINT16">
- <ho:SHORT-NAME>S_SINT16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT16"/>
- </fx:SIGNAL>
- <!--======================= UINT16 =====================-->
- <fx:SIGNAL ID="S_UINT16">
- <ho:SHORT-NAME>S_UINT16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT16"/>
- </fx:SIGNAL>
- <!--======================= SINT32 =====================-->
- <fx:SIGNAL ID="S_SINT32">
- <ho:SHORT-NAME>S_SINT32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT32"/>
- </fx:SIGNAL>
- <!--======================= UINT32 =====================-->
- <fx:SIGNAL ID="S_UINT32">
- <ho:SHORT-NAME>S_UINT32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT32"/>
- </fx:SIGNAL>
- <!--======================= SINT64 =====================-->
- <fx:SIGNAL ID="S_SINT64">
- <ho:SHORT-NAME>S_SINT64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="SINT64"/>
- </fx:SIGNAL>
- <!--======================= UINT64 =====================-->
- <fx:SIGNAL ID="S_UINT64">
- <ho:SHORT-NAME>S_UINT64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="UINT64"/>
- </fx:SIGNAL>
- <!--======================= FLOA16 =====================-->
- <fx:SIGNAL ID="S_FLOA16">
- <ho:SHORT-NAME>S_FLOA16</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA16"/>
- </fx:SIGNAL>
- <!--======================= FLOA32 =====================-->
- <fx:SIGNAL ID="S_FLOA32">
- <ho:SHORT-NAME>S_FLOA32</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA32"/>
- </fx:SIGNAL>
- <!--======================= FLOA64 =====================-->
- <fx:SIGNAL ID="S_FLOA64">
- <ho:SHORT-NAME>S_FLOA64</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="FLOA64"/>
- </fx:SIGNAL>
- <!--======================= STRG_ASCII =====================-->
- <fx:SIGNAL ID="S_STRG_ASCII">
- <ho:SHORT-NAME>S_STRG_ASCII</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="STRG_ASCII"/>
- </fx:SIGNAL>
- <!--======================= STRG_UTF8 =====================-->
- <fx:SIGNAL ID="S_STRG_UTF8">
- <ho:SHORT-NAME>S_STRG_UTF8</ho:SHORT-NAME>
- <fx:CODING-REF ID-REF="STRG_UTF8"/>
- </fx:SIGNAL>
- </fx:SIGNALS>
- </fx:ELEMENTS>
-
- <!--********************* PROCESSING INFORMATION *********************-->
-
- <fx:PROCESSING-INFORMATION>
- <!--*************************** codings ****************************-->
- <fx:CODINGS>
- <fx:CODING ID="BOOL">
- <ho:SHORT-NAME>BOOL</ho:SHORT-NAME>
- <ho:DESC>Coding for boolean values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT8">
- <ho:SHORT-NAME>SINT8</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 8bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT8">
- <ho:SHORT-NAME>UINT8</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 8bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT16">
- <ho:SHORT-NAME>SINT16</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT16">
- <ho:SHORT-NAME>UINT16</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT32">
- <ho:SHORT-NAME>SINT32</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT32">
- <ho:SHORT-NAME>UINT32</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="SINT64">
- <ho:SHORT-NAME>SINT64</ho:SHORT-NAME>
- <ho:DESC>Coding for signel 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="UINT64">
- <ho:SHORT-NAME>UINT64</ho:SHORT-NAME>
- <ho:DESC>Coding for unsignel 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA16">
- <ho:SHORT-NAME>FLOA16</ho:SHORT-NAME>
- <ho:DESC>Coding for float 16bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA32">
- <ho:SHORT-NAME>FLOA32</ho:SHORT-NAME>
- <ho:DESC>Coding for float 32bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="FLOA64">
- <ho:SHORT-NAME>FLOA64</ho:SHORT-NAME>
- <ho:DESC>Coding for float 64bit values.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
- <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="STRG_ASCII">
- <ho:SHORT-NAME>STRG_ASCII</ho:SHORT-NAME>
- <ho:DESC>Coding for ASCII string.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_ASCIISTRING" CATEGORY="STANDARD-LENGTH-TYPE" TERMINATION="ZERO">
- <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
- <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- <fx:CODING ID="STRG_UTF8">
- <ho:SHORT-NAME>STRG_UTF8</ho:SHORT-NAME>
- <ho:DESC>Coding for UTF8 string.</ho:DESC>
- <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UNICODE2STRING" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UTF-8" TERMINATION="ZERO">
- <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
- <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
- </ho:CODED-TYPE>
- </fx:CODING>
- </fx:CODINGS>
- </fx:PROCESSING-INFORMATION>
-</fx:FIBEX>
+<?xml version="1.0"?>
+<!-- -->
+<!-- DLT example for DLT non-verbose mode -->
+<!-- -->
+<!-- Author: Jens Levihn, -->
+<!-- PEIKER acustic GmbH & Co. KG, Max-Planck-Str. 32, 61381 Friedrichsdorf -->
+<!-- -->
+<!-- -->
+<fx:FIBEX xmlns:fx="http://www.asam.net/xml/fbx" xmlns:ho="http://www.asam.net/xml" xmlns:can="http://www.asam.net/xml/fbx/can" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.asam.net/xml/fbx xml_schema\fibex.xsd http://www.asam.net/xml/fbx/can xml_schema\fibex4can.xsd" VERSION="3.1.0">
+ <fx:PROJECT ID="projectTCB">
+ <ho:SHORT-NAME>projectTCB</ho:SHORT-NAME>
+ </fx:PROJECT>
+ <fx:ELEMENTS>
+ <!--***************************** ECU ***************************-->
+ <fx:ECUS>
+ <fx:ECU ID="TCB">
+ <ho:SHORT-NAME>TCB</ho:SHORT-NAME>
+ <fx:MANUFACTURER-EXTENSION>
+ <SW_VERSION>001.004.062</SW_VERSION>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:ECU>
+ </fx:ECUS>
+ <!--*************************** PDUS ***************************-->
+ <fx:PDUS>
+ <!--=============== Message 10 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_10_0">
+ <ho:SHORT-NAME>PDU_10_0</ho:SHORT-NAME>
+ <ho:DESC>DLT non verbose test message.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== Message 11 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_11_0">
+ <ho:SHORT-NAME>PDU_11_0</ho:SHORT-NAME>
+ <ho:DESC>Buffer near limit. Free size:</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_11_1">
+ <ho:SHORT-NAME>PDU_11_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_11_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT16"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== Message 12 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_12_0">
+ <ho:SHORT-NAME>PDU_12_0</ho:SHORT-NAME>
+ <ho:DESC>Buffer size exceeded.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_12_1">
+ <ho:SHORT-NAME>PDU_12_1</ho:SHORT-NAME>
+ <ho:DESC>Requested size:</ho:DESC>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_12_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT32"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 3. Parameter ==================-->
+ <fx:PDU ID="PDU_12_2">
+ <ho:SHORT-NAME>PDU_12_2</ho:SHORT-NAME>
+ <ho:DESC>Free size:</ho:DESC>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_12_2">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT32"/>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 4. Parameter ==================-->
+ <fx:PDU ID="PDU_12_3">
+ <ho:SHORT-NAME>PDU_12_3</ho:SHORT-NAME>
+ <ho:DESC>Process terminated.</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== Message 13 ==================-->
+ <!--=============== 1. Parameter ==================-->
+ <fx:PDU ID="PDU_13_0">
+ <ho:SHORT-NAME>PDU_13_0</ho:SHORT-NAME>
+ <ho:DESC>Temperature measurement</ho:DESC>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ </fx:PDU>
+ <!--=============== 2. Parameter ==================-->
+ <fx:PDU ID="PDU_13_1">
+ <ho:SHORT-NAME>PDU_13_1</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>1</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_13_1">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_UINT8"/>
+ <fx:MANUFACTURER-EXTENSION>
+ <VARI_NAME>measurement_point</VARI_NAME>
+ <VARI_UNIT></VARI_UNIT>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ <!--=============== 3. Parameter ==================-->
+ <fx:PDU ID="PDU_13_2">
+ <ho:SHORT-NAME>PDU_13_2</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>4</fx:BYTE-LENGTH>
+ <fx:PDU-TYPE>OTHER</fx:PDU-TYPE>
+ <fx:SIGNAL-INSTANCES>
+ <fx:SIGNAL-INSTANCE ID="S_13_2">
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ <fx:SIGNAL-REF ID-REF="S_FLOA32"/>
+ <fx:MANUFACTURER-EXTENSION>
+ <VARI_NAME>reading</VARI_NAME>
+ <VARI_UNIT>Kelvin</VARI_UNIT>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:SIGNAL-INSTANCE>
+ </fx:SIGNAL-INSTANCES>
+ </fx:PDU>
+ </fx:PDUS>
+ <!--*************************** FRAMES ***************************-->
+ <fx:FRAMES>
+ <!-- ================== 1. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_10">
+ <ho:SHORT-NAME>ID_10</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>0</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_10_0">
+ <fx:PDU-REF ID-REF="PDU_10_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
+ <APPLICATION_ID>TEST</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>dlt_test.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>411</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 2. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_11">
+ <ho:SHORT-NAME>ID_11</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>2</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_11_0">
+ <fx:PDU-REF ID-REF="PDU_11_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_11_1">
+ <fx:PDU-REF ID-REF="PDU_11_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_WARN</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>955</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 3. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_12">
+ <ho:SHORT-NAME>ID_12</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>8</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_12_0">
+ <fx:PDU-REF ID-REF="PDU_12_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_1">
+ <fx:PDU-REF ID-REF="PDU_12_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_2">
+ <fx:PDU-REF ID-REF="PDU_12_2"/>
+ <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_12_3">
+ <fx:PDU-REF ID-REF="PDU_12_3"/>
+ <fx:SEQUENCE-NUMBER>3</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_ERROR</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>application_file.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>1058</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ <!-- ================== 4. Log and Trace Message ============ -->
+ <fx:FRAME ID="ID_13">
+ <ho:SHORT-NAME>ID_13</ho:SHORT-NAME>
+ <fx:BYTE-LENGTH>5</fx:BYTE-LENGTH>
+ <fx:FRAME-TYPE>OTHER</fx:FRAME-TYPE>
+ <fx:PDU-INSTANCES>
+ <fx:PDU-INSTANCE ID="P_13_0">
+ <fx:PDU-REF ID-REF="PDU_13_0"/>
+ <fx:SEQUENCE-NUMBER>0</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_13_1">
+ <fx:PDU-REF ID-REF="PDU_13_1"/>
+ <fx:SEQUENCE-NUMBER>1</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ <fx:PDU-INSTANCE ID="P_13_2">
+ <fx:PDU-REF ID-REF="PDU_13_2"/>
+ <fx:SEQUENCE-NUMBER>2</fx:SEQUENCE-NUMBER>
+ </fx:PDU-INSTANCE>
+ </fx:PDU-INSTANCES>
+ <fx:MANUFACTURER-EXTENSION>
+ <MESSAGE_TYPE>DLT_TYPE_LOG</MESSAGE_TYPE>
+ <MESSAGE_INFO>DLT_LOG_INFO</MESSAGE_INFO>
+ <APPLICATION_ID>APP1</APPLICATION_ID>
+ <CONTEXT_ID>CON1</CONTEXT_ID>
+ <MESSAGE_SOURCE_FILE>temp_meas.c</MESSAGE_SOURCE_FILE>
+ <MESSAGE_LINE_NUMBER>42</MESSAGE_LINE_NUMBER>
+ </fx:MANUFACTURER-EXTENSION>
+ </fx:FRAME>
+ </fx:FRAMES>
+
+ <!--*************************** signals **************************-->
+ <fx:SIGNALS>
+ <!--======================= BOOL =====================-->
+ <fx:SIGNAL ID="S_BOOL">
+ <ho:SHORT-NAME>S_BOOL</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="BOOL"/>
+ </fx:SIGNAL>
+ <!--======================= SINT8 =====================-->
+ <fx:SIGNAL ID="S_SINT8">
+ <ho:SHORT-NAME>S_SINT8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT8"/>
+ </fx:SIGNAL>
+ <!--======================= UINT8 =====================-->
+ <fx:SIGNAL ID="S_UINT8">
+ <ho:SHORT-NAME>S_UINT8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT8"/>
+ </fx:SIGNAL>
+ <!--======================= SINT16 =====================-->
+ <fx:SIGNAL ID="S_SINT16">
+ <ho:SHORT-NAME>S_SINT16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT16"/>
+ </fx:SIGNAL>
+ <!--======================= UINT16 =====================-->
+ <fx:SIGNAL ID="S_UINT16">
+ <ho:SHORT-NAME>S_UINT16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT16"/>
+ </fx:SIGNAL>
+ <!--======================= SINT32 =====================-->
+ <fx:SIGNAL ID="S_SINT32">
+ <ho:SHORT-NAME>S_SINT32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT32"/>
+ </fx:SIGNAL>
+ <!--======================= UINT32 =====================-->
+ <fx:SIGNAL ID="S_UINT32">
+ <ho:SHORT-NAME>S_UINT32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT32"/>
+ </fx:SIGNAL>
+ <!--======================= SINT64 =====================-->
+ <fx:SIGNAL ID="S_SINT64">
+ <ho:SHORT-NAME>S_SINT64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="SINT64"/>
+ </fx:SIGNAL>
+ <!--======================= UINT64 =====================-->
+ <fx:SIGNAL ID="S_UINT64">
+ <ho:SHORT-NAME>S_UINT64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="UINT64"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA16 =====================-->
+ <fx:SIGNAL ID="S_FLOA16">
+ <ho:SHORT-NAME>S_FLOA16</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA16"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA32 =====================-->
+ <fx:SIGNAL ID="S_FLOA32">
+ <ho:SHORT-NAME>S_FLOA32</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA32"/>
+ </fx:SIGNAL>
+ <!--======================= FLOA64 =====================-->
+ <fx:SIGNAL ID="S_FLOA64">
+ <ho:SHORT-NAME>S_FLOA64</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="FLOA64"/>
+ </fx:SIGNAL>
+ <!--======================= STRG_ASCII =====================-->
+ <fx:SIGNAL ID="S_STRG_ASCII">
+ <ho:SHORT-NAME>S_STRG_ASCII</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="STRG_ASCII"/>
+ </fx:SIGNAL>
+ <!--======================= STRG_UTF8 =====================-->
+ <fx:SIGNAL ID="S_STRG_UTF8">
+ <ho:SHORT-NAME>S_STRG_UTF8</ho:SHORT-NAME>
+ <fx:CODING-REF ID-REF="STRG_UTF8"/>
+ </fx:SIGNAL>
+ </fx:SIGNALS>
+ </fx:ELEMENTS>
+
+ <!--********************* PROCESSING INFORMATION *********************-->
+
+ <fx:PROCESSING-INFORMATION>
+ <!--*************************** codings ****************************-->
+ <fx:CODINGS>
+ <fx:CODING ID="BOOL">
+ <ho:SHORT-NAME>BOOL</ho:SHORT-NAME>
+ <ho:DESC>Coding for boolean values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT8">
+ <ho:SHORT-NAME>SINT8</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 8bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT8">
+ <ho:SHORT-NAME>UINT8</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 8bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT8" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>8</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT16">
+ <ho:SHORT-NAME>SINT16</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT16">
+ <ho:SHORT-NAME>UINT16</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT16" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT32">
+ <ho:SHORT-NAME>SINT32</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT32">
+ <ho:SHORT-NAME>UINT32</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="SINT64">
+ <ho:SHORT-NAME>SINT64</ho:SHORT-NAME>
+ <ho:DESC>Coding for signel 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_INT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="SIGNED">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="UINT64">
+ <ho:SHORT-NAME>UINT64</ho:SHORT-NAME>
+ <ho:DESC>Coding for unsignel 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UINT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UNSIGNED">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA16">
+ <ho:SHORT-NAME>FLOA16</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 16bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>16</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA32">
+ <ho:SHORT-NAME>FLOA32</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 32bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT32" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>32</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="FLOA64">
+ <ho:SHORT-NAME>FLOA64</ho:SHORT-NAME>
+ <ho:DESC>Coding for float 64bit values.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_FLOAT64" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="IEEE-FLOATING-TYPE">
+ <ho:BIT-LENGTH>64</ho:BIT-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="STRG_ASCII">
+ <ho:SHORT-NAME>STRG_ASCII</ho:SHORT-NAME>
+ <ho:DESC>Coding for ASCII string.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_ASCIISTRING" CATEGORY="STANDARD-LENGTH-TYPE" TERMINATION="ZERO">
+ <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
+ <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ <fx:CODING ID="STRG_UTF8">
+ <ho:SHORT-NAME>STRG_UTF8</ho:SHORT-NAME>
+ <ho:DESC>Coding for UTF8 string.</ho:DESC>
+ <ho:CODED-TYPE ho:BASE-DATA-TYPE="A_UNICODE2STRING" CATEGORY="STANDARD-LENGTH-TYPE" ENCODING="UTF-8" TERMINATION="ZERO">
+ <ho:MIN-LENGTH>0</ho:MIN-LENGTH>
+ <ho:MAX-LENGTH>255</ho:MAX-LENGTH>
+ </ho:CODED-TYPE>
+ </fx:CODING>
+ </fx:CODINGS>
+ </fx:PROCESSING-INFORMATION>
+</fx:FIBEX>
diff --git a/src/lib/dlt_client_cfg.h b/src/lib/dlt_client_cfg.h
index 8bb3885..6b490e7 100755
--- a/src/lib/dlt_client_cfg.h
+++ b/src/lib/dlt_client_cfg.h
@@ -1,75 +1,75 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_client_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_client_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_CLIENT_CFG_H
-#define DLT_CLIENT_CFG_H
-
-/*************/
-/* Changable */
-/*************/
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_client_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
-/* Dummy application id of DLT client */
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_client_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_CLIENT_CFG_H
+#define DLT_CLIENT_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Dummy application id of DLT client */
#define DLT_CLIENT_DUMMY_APP_ID "CA1"
/* Dummy context id of DLT client */
@@ -86,10 +86,10 @@
#define DLT_CLIENT_INITIAL_BAUDRATE B115200
#else
#define DLT_CLIENT_INITIAL_BAUDRATE 0
-#endif
-
-/************************/
-/* Don't change please! */
-/************************/
-
-#endif /* DLT_CLIENT_CFG_H */
+#endif
+
+/************************/
+/* Don't change please! */
+/************************/
+
+#endif /* DLT_CLIENT_CFG_H */
diff --git a/src/lib/dlt_filetransfer.c b/src/lib/dlt_filetransfer.c
index 32ca966..43047e3 100644
--- a/src/lib/dlt_filetransfer.c
+++ b/src/lib/dlt_filetransfer.c
@@ -63,7 +63,7 @@
#define MIN_TIMEOUT 20
-#define DLT_FILETRANSFER_TRANSFER_ALL_PACKAGES INT_MAX
+#define DLT_FILETRANSFER_TRANSFER_ALL_PACKAGES INT_MAX
//!Buffer for dlt file transfer. The size is defined by BUFFER_SIZE
diff --git a/src/lib/dlt_user_cfg.h b/src/lib/dlt_user_cfg.h
index 3355714..124be44 100755
--- a/src/lib/dlt_user_cfg.h
+++ b/src/lib/dlt_user_cfg.h
@@ -1,149 +1,149 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_user_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_user_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_USER_CFG_H
-#define DLT_USER_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Size of receive buffer */
-#define DLT_USER_RCVBUF_MAX_SIZE 10024
-
-/* Size of ring buffer */
-#define DLT_USER_RINGBUFFER_MIN_SIZE 50000
-#define DLT_USER_RINGBUFFER_MAX_SIZE 500000
-#define DLT_USER_RINGBUFFER_STEP_SIZE 50000
-
-/* Temporary buffer length */
-#define DLT_USER_BUFFER_LENGTH 255
-
-/* Number of context entries, which will be allocated,
- if no more context entries are available */
-#define DLT_USER_CONTEXT_ALLOC_SIZE 500
-
-/* Maximu length of a filename string */
-#define DLT_USER_MAX_FILENAME_LENGTH 255
-
-/* Maximum length of a single version number */
-#define DLT_USER_MAX_LIB_VERSION_LENGTH 3
-
-/* Length of buffer for constructing text output */
-#define DLT_USER_TEXT_LENGTH 10024
-
-/* Stack size of receiver thread */
-#define DLT_USER_RECEIVERTHREAD_STACKSIZE 100000
-
-/* default value for storage to file, not used in daemon connection */
-#define DLT_USER_DEFAULT_ECU_ID "ECU1"
-
-/* Initial log level */
-#define DLT_USER_INITIAL_LOG_LEVEL DLT_LOG_INFO
-
-/* Initial trace status */
-#define DLT_USER_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
-
-/* use extended header for non-verbose mode: 0 - don't use, 1 - use */
-#define DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE 1
-
-/* send always session id: 0 - don't use, 1 - use */
-#define DLT_USER_WITH_SESSION_ID 1
-
-/* send always timestamp: 0 - don't use, 1 - use */
-#define DLT_USER_WITH_TIMESTAMP 1
-
-/* send always ecu id: 0 - don't use, 1 - use */
-#define DLT_USER_WITH_ECU_ID 1
-
-/* default message id for non-verbose mode, if no message id was provided */
-#define DLT_USER_DEFAULT_MSGID 0xffff
-
-/* delay in receiver routine in usec (100000 usec = 100ms) */
-#define DLT_USER_RECEIVE_DELAY 100000
-
-/* Name of environment variable for local print mode */
-#define DLT_USER_ENV_LOCAL_PRINT_MODE "DLT_LOCAL_PRINT_MODE"
-
-/* Timeout offset for resending user buffer at exit in 10th milliseconds (10000 = 1s)*/
-#define DLT_USER_ATEXIT_RESEND_BUFFER_EXIT_TIMEOUT 100000
-
-/* Sleeps between resending user buffer at exit in usec (1000 usec = 1ms)*/
-#define DLT_USER_ATEXIT_RESEND_BUFFER_SLEEP 100000
-
-
-/************************/
-/* Don't change please! */
-/************************/
-
-/* Minimum valid ID of an injection message */
-#define DLT_USER_INJECTION_MIN 0xFFF
-
-/* Defines of the different local print modes */
-#define DLT_PM_UNSET 0
-#define DLT_PM_AUTOMATIC 1
-#define DLT_PM_FORCE_ON 2
-#define DLT_PM_FORCE_OFF 3
-
-#endif /* DLT_USER_CFG_H */
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_user_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_user_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_USER_CFG_H
+#define DLT_USER_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Size of receive buffer */
+#define DLT_USER_RCVBUF_MAX_SIZE 10024
+
+/* Size of ring buffer */
+#define DLT_USER_RINGBUFFER_MIN_SIZE 50000
+#define DLT_USER_RINGBUFFER_MAX_SIZE 500000
+#define DLT_USER_RINGBUFFER_STEP_SIZE 50000
+
+/* Temporary buffer length */
+#define DLT_USER_BUFFER_LENGTH 255
+
+/* Number of context entries, which will be allocated,
+ if no more context entries are available */
+#define DLT_USER_CONTEXT_ALLOC_SIZE 500
+
+/* Maximu length of a filename string */
+#define DLT_USER_MAX_FILENAME_LENGTH 255
+
+/* Maximum length of a single version number */
+#define DLT_USER_MAX_LIB_VERSION_LENGTH 3
+
+/* Length of buffer for constructing text output */
+#define DLT_USER_TEXT_LENGTH 10024
+
+/* Stack size of receiver thread */
+#define DLT_USER_RECEIVERTHREAD_STACKSIZE 100000
+
+/* default value for storage to file, not used in daemon connection */
+#define DLT_USER_DEFAULT_ECU_ID "ECU1"
+
+/* Initial log level */
+#define DLT_USER_INITIAL_LOG_LEVEL DLT_LOG_INFO
+
+/* Initial trace status */
+#define DLT_USER_INITIAL_TRACE_STATUS DLT_TRACE_STATUS_OFF
+
+/* use extended header for non-verbose mode: 0 - don't use, 1 - use */
+#define DLT_USER_USE_EXTENDED_HEADER_FOR_NONVERBOSE 1
+
+/* send always session id: 0 - don't use, 1 - use */
+#define DLT_USER_WITH_SESSION_ID 1
+
+/* send always timestamp: 0 - don't use, 1 - use */
+#define DLT_USER_WITH_TIMESTAMP 1
+
+/* send always ecu id: 0 - don't use, 1 - use */
+#define DLT_USER_WITH_ECU_ID 1
+
+/* default message id for non-verbose mode, if no message id was provided */
+#define DLT_USER_DEFAULT_MSGID 0xffff
+
+/* delay in receiver routine in usec (100000 usec = 100ms) */
+#define DLT_USER_RECEIVE_DELAY 100000
+
+/* Name of environment variable for local print mode */
+#define DLT_USER_ENV_LOCAL_PRINT_MODE "DLT_LOCAL_PRINT_MODE"
+
+/* Timeout offset for resending user buffer at exit in 10th milliseconds (10000 = 1s)*/
+#define DLT_USER_ATEXIT_RESEND_BUFFER_EXIT_TIMEOUT 100000
+
+/* Sleeps between resending user buffer at exit in usec (1000 usec = 1ms)*/
+#define DLT_USER_ATEXIT_RESEND_BUFFER_SLEEP 100000
+
+
+/************************/
+/* Don't change please! */
+/************************/
+
+/* Minimum valid ID of an injection message */
+#define DLT_USER_INJECTION_MIN 0xFFF
+
+/* Defines of the different local print modes */
+#define DLT_PM_UNSET 0
+#define DLT_PM_AUTOMATIC 1
+#define DLT_PM_FORCE_ON 2
+#define DLT_PM_FORCE_OFF 3
+
+#endif /* DLT_USER_CFG_H */
diff --git a/src/shared/dlt_common_cfg.h b/src/shared/dlt_common_cfg.h
index 4021737..f765ed6 100755
--- a/src/shared/dlt_common_cfg.h
+++ b/src/shared/dlt_common_cfg.h
@@ -1,111 +1,111 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_common_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_common_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_COMMON_CFG_H
-#define DLT_COMMON_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Buffer length for temporary buffer */
-#define DLT_COMMON_BUFFER_LENGTH 255
-
-/* Number of ASCII chars to be printed in one line as HEX and as ASCII */
-/* e.g. XX XX XX XX ABCD is DLT_COMMON_HEX_CHARS = 4 */
-#define DLT_COMMON_HEX_CHARS 16
-
-/* Length of line number */
-#define DLT_COMMON_HEX_LINELEN 8
-
-/* Length of one char */
-#define DLT_COMMON_CHARLEN 1
-
-/* Number of indices to be allocated at one, if no more indeces are left */
-#define DLT_COMMON_INDEX_ALLOC 1000
-
-/* If limited output is called,
- this is the maximum number of characters to be printed out */
-#define DLT_COMMON_ASCII_LIMIT_MAX_CHARS 20
-
-/* This defines the dummy ECU ID set in storage header during import
- of a message from a DLT file in RAW format (without storage header) */
-#define DLT_COMMON_DUMMY_ECUID "ECU"
-
-
-/************************/
-/* Don't change please! */
-/************************/
-
-/* ASCII value for space */
-#define DLT_COMMON_ASCII_CHAR_SPACE 32
-
-/* ASCII value for tilde */
-#define DLT_COMMON_ASCII_CHAR_TILDE 126
-
-/* ASCII value for lesser than */
-#define DLT_COMMON_ASCII_CHAR_LT 60
-
-#endif /* DLT_COMMON_CFG_H */
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_common_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_common_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_COMMON_CFG_H
+#define DLT_COMMON_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Buffer length for temporary buffer */
+#define DLT_COMMON_BUFFER_LENGTH 255
+
+/* Number of ASCII chars to be printed in one line as HEX and as ASCII */
+/* e.g. XX XX XX XX ABCD is DLT_COMMON_HEX_CHARS = 4 */
+#define DLT_COMMON_HEX_CHARS 16
+
+/* Length of line number */
+#define DLT_COMMON_HEX_LINELEN 8
+
+/* Length of one char */
+#define DLT_COMMON_CHARLEN 1
+
+/* Number of indices to be allocated at one, if no more indeces are left */
+#define DLT_COMMON_INDEX_ALLOC 1000
+
+/* If limited output is called,
+ this is the maximum number of characters to be printed out */
+#define DLT_COMMON_ASCII_LIMIT_MAX_CHARS 20
+
+/* This defines the dummy ECU ID set in storage header during import
+ of a message from a DLT file in RAW format (without storage header) */
+#define DLT_COMMON_DUMMY_ECUID "ECU"
+
+
+/************************/
+/* Don't change please! */
+/************************/
+
+/* ASCII value for space */
+#define DLT_COMMON_ASCII_CHAR_SPACE 32
+
+/* ASCII value for tilde */
+#define DLT_COMMON_ASCII_CHAR_TILDE 126
+
+/* ASCII value for lesser than */
+#define DLT_COMMON_ASCII_CHAR_LT 60
+
+#endif /* DLT_COMMON_CFG_H */
+
diff --git a/src/shared/dlt_user_shared.h b/src/shared/dlt_user_shared.h
index 5132a74..a980d0d 100755
--- a/src/shared/dlt_user_shared.h
+++ b/src/shared/dlt_user_shared.h
@@ -1,239 +1,239 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_user_shared.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_user_shared.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_USER_SHARED_H
-#define DLT_USER_SHARED_H
-
-#include "dlt_types.h"
-#include "dlt_user.h"
-
-#include <sys/types.h>
-
-/**
- * This are the return values for the functions dlt_user_log_out2() and dlt_user_log_out3()
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_user_shared.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_user_shared.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_USER_SHARED_H
+#define DLT_USER_SHARED_H
+
+#include "dlt_types.h"
+#include "dlt_user.h"
+
+#include <sys/types.h>
+
+/**
+ * This are the return values for the functions dlt_user_log_out2() and dlt_user_log_out3()
*/
typedef enum
-{
+{
DLT_RETURN_BUFFER_FULL = -4,
DLT_RETURN_PIPE_FULL = -3,
DLT_RETURN_PIPE_ERROR = -2,
DLT_RETURN_ERROR = -1,
DLT_RETURN_OK = 0
} DltReturnValue;
-
-/**
- * This is the header of each message to be exchanged between application and daemon.
- */
-typedef struct
-{
- char pattern[DLT_ID_SIZE]; /**< This pattern should be DUH0x01 */
- uint32_t message; /**< messsage info */
-} PACKED DltUserHeader;
-
-/**
- * This is the internal message content to exchange control msg register app information between application and daemon.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- pid_t pid; /**< process id of user application */
- uint32_t description_length; /**< length of description */
-} PACKED DltUserControlMsgRegisterApplication;
-
-/**
- * This is the internal message content to exchange control msg unregister app information between application and daemon.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- pid_t pid; /**< process id of user application */
-} PACKED DltUserControlMsgUnregisterApplication;
-
-/**
- * This is the internal message content to exchange control msg register information between application and daemon.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- char ctid[DLT_ID_SIZE]; /**< context id */
- int32_t log_level_pos; /**< offset in management structure on user-application side */
- int8_t log_level; /**< log level */
- int8_t trace_status; /**< trace status */
- pid_t pid; /**< process id of user application */
- uint32_t description_length; /**< length of description */
-} PACKED DltUserControlMsgRegisterContext;
-
-/**
- * This is the internal message content to exchange control msg unregister information between application and daemon.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- char ctid[DLT_ID_SIZE]; /**< context id */
- pid_t pid; /**< process id of user application */
-} PACKED DltUserControlMsgUnregisterContext;
-
-/**
- * This is the internal message content to exchange control msg log level information between application and daemon.
- */
-typedef struct
-{
- uint8_t log_level; /**< log level */
- uint8_t trace_status; /**< trace status */
- int32_t log_level_pos; /**< offset in management structure on user-application side */
-} PACKED DltUserControlMsgLogLevel;
-
-/**
- * This is the internal message content to exchange control msg injection information between application and daemon.
- */
-typedef struct
-{
- int32_t log_level_pos; /**< offset in management structure on user-application side */
- uint32_t service_id; /**< service id of injection */
- uint32_t data_length_inject; /**< length of injection message data field */
-} PACKED DltUserControlMsgInjection;
-
-/**
- * This is the internal message content to exchange information about application log level and trace stats between
- * application and daemon.
- */
-typedef struct
-{
- char apid[DLT_ID_SIZE]; /**< application id */
- uint8_t log_level; /**< log level */
- uint8_t trace_status; /**< trace status */
-} PACKED DltUserControlMsgAppLogLevelTraceStatus;
-
-/**
- * This is the internal message content to set the logging mode: off, external, internal, both.
- */
-typedef struct
-{
- int8_t log_mode; /**< the mode to be used for logging: off, external, internal, both */
-} PACKED DltUserControlMsgLogMode;
-
-/**
- * This is the internal message content to get the logging state: 0 = off, 1 = external client connected.
- */
-typedef struct
-{
- int8_t log_state; /**< the state to be used for logging state: 0 = off, 1 = external client connected */
-} PACKED DltUserControlMsgLogState;
-
-/**
- * This is the internal message content to get the number of lost messages reported to the daemon.
- */
-typedef struct
-{
- uint32_t overflow_counter; /**< counts the number of lost messages */
- char apid[4]; /**< application which lost messages */
-} PACKED DltUserControlMsgBufferOverflow;
-
-/**************************************************************************************************
-* The folowing functions are used shared between the user lib and the daemon implementation
-**************************************************************************************************/
-
-/**
- * Set user header marker and store message type in user header
- * @param userheader pointer to the userheader
- * @param mtype user message type of internal message
+
+/**
+ * This is the header of each message to be exchanged between application and daemon.
+ */
+typedef struct
+{
+ char pattern[DLT_ID_SIZE]; /**< This pattern should be DUH0x01 */
+ uint32_t message; /**< messsage info */
+} PACKED DltUserHeader;
+
+/**
+ * This is the internal message content to exchange control msg register app information between application and daemon.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ pid_t pid; /**< process id of user application */
+ uint32_t description_length; /**< length of description */
+} PACKED DltUserControlMsgRegisterApplication;
+
+/**
+ * This is the internal message content to exchange control msg unregister app information between application and daemon.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ pid_t pid; /**< process id of user application */
+} PACKED DltUserControlMsgUnregisterApplication;
+
+/**
+ * This is the internal message content to exchange control msg register information between application and daemon.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ char ctid[DLT_ID_SIZE]; /**< context id */
+ int32_t log_level_pos; /**< offset in management structure on user-application side */
+ int8_t log_level; /**< log level */
+ int8_t trace_status; /**< trace status */
+ pid_t pid; /**< process id of user application */
+ uint32_t description_length; /**< length of description */
+} PACKED DltUserControlMsgRegisterContext;
+
+/**
+ * This is the internal message content to exchange control msg unregister information between application and daemon.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ char ctid[DLT_ID_SIZE]; /**< context id */
+ pid_t pid; /**< process id of user application */
+} PACKED DltUserControlMsgUnregisterContext;
+
+/**
+ * This is the internal message content to exchange control msg log level information between application and daemon.
+ */
+typedef struct
+{
+ uint8_t log_level; /**< log level */
+ uint8_t trace_status; /**< trace status */
+ int32_t log_level_pos; /**< offset in management structure on user-application side */
+} PACKED DltUserControlMsgLogLevel;
+
+/**
+ * This is the internal message content to exchange control msg injection information between application and daemon.
+ */
+typedef struct
+{
+ int32_t log_level_pos; /**< offset in management structure on user-application side */
+ uint32_t service_id; /**< service id of injection */
+ uint32_t data_length_inject; /**< length of injection message data field */
+} PACKED DltUserControlMsgInjection;
+
+/**
+ * This is the internal message content to exchange information about application log level and trace stats between
+ * application and daemon.
+ */
+typedef struct
+{
+ char apid[DLT_ID_SIZE]; /**< application id */
+ uint8_t log_level; /**< log level */
+ uint8_t trace_status; /**< trace status */
+} PACKED DltUserControlMsgAppLogLevelTraceStatus;
+
+/**
+ * This is the internal message content to set the logging mode: off, external, internal, both.
+ */
+typedef struct
+{
+ int8_t log_mode; /**< the mode to be used for logging: off, external, internal, both */
+} PACKED DltUserControlMsgLogMode;
+
+/**
+ * This is the internal message content to get the logging state: 0 = off, 1 = external client connected.
+ */
+typedef struct
+{
+ int8_t log_state; /**< the state to be used for logging state: 0 = off, 1 = external client connected */
+} PACKED DltUserControlMsgLogState;
+
+/**
+ * This is the internal message content to get the number of lost messages reported to the daemon.
+ */
+typedef struct
+{
+ uint32_t overflow_counter; /**< counts the number of lost messages */
+ char apid[4]; /**< application which lost messages */
+} PACKED DltUserControlMsgBufferOverflow;
+
+/**************************************************************************************************
+* The folowing functions are used shared between the user lib and the daemon implementation
+**************************************************************************************************/
+
+/**
+ * Set user header marker and store message type in user header
+ * @param userheader pointer to the userheader
+ * @param mtype user message type of internal message
* @return negative value if there was an error {
return -1;
- }
- */
-int dlt_user_set_userheader(DltUserHeader *userheader, uint32_t mtype);
-
-/**
- * Check if user header contains its marker
- * @param userheader pointer to the userheader
- * @return 0 no, 1 yes, negative value if there was an error
- */
-int dlt_user_check_userheader(DltUserHeader *userheader);
-
-/**
- * Atomic write to file descriptor, using vector of 2 elements
- * @param handle file descriptor
- * @param ptr1 generic pointer to first segment of data to be written
- * @param len1 length of first segment of data to be written
- * @param ptr2 generic pointer to second segment of data to be written
- * @param len2 length of second segment of data to be written
- * @return Value from DltReturnValue enum
- */
-DltReturnValue dlt_user_log_out2(int handle, void *ptr1, size_t len1, void* ptr2, size_t len2);
-
-/**
- * Atomic write to file descriptor, using vector of 3 elements
- * @param handle file descriptor
- * @param ptr1 generic pointer to first segment of data to be written
- * @param len1 length of first segment of data to be written
- * @param ptr2 generic pointer to second segment of data to be written
- * @param len2 length of second segment of data to be written
- * @param ptr3 generic pointer to third segment of data to be written
- * @param len3 length of third segment of data to be written
- * @return Value from DltReturnValue enum
- */
-DltReturnValue dlt_user_log_out3(int handle, void *ptr1, size_t len1, void* ptr2, size_t len2, void *ptr3, size_t len3);
-
-#endif /* DLT_USER_SHARED_H */
+ }
+ */
+int dlt_user_set_userheader(DltUserHeader *userheader, uint32_t mtype);
+
+/**
+ * Check if user header contains its marker
+ * @param userheader pointer to the userheader
+ * @return 0 no, 1 yes, negative value if there was an error
+ */
+int dlt_user_check_userheader(DltUserHeader *userheader);
+
+/**
+ * Atomic write to file descriptor, using vector of 2 elements
+ * @param handle file descriptor
+ * @param ptr1 generic pointer to first segment of data to be written
+ * @param len1 length of first segment of data to be written
+ * @param ptr2 generic pointer to second segment of data to be written
+ * @param len2 length of second segment of data to be written
+ * @return Value from DltReturnValue enum
+ */
+DltReturnValue dlt_user_log_out2(int handle, void *ptr1, size_t len1, void* ptr2, size_t len2);
+
+/**
+ * Atomic write to file descriptor, using vector of 3 elements
+ * @param handle file descriptor
+ * @param ptr1 generic pointer to first segment of data to be written
+ * @param len1 length of first segment of data to be written
+ * @param ptr2 generic pointer to second segment of data to be written
+ * @param len2 length of second segment of data to be written
+ * @param ptr3 generic pointer to third segment of data to be written
+ * @param len3 length of third segment of data to be written
+ * @return Value from DltReturnValue enum
+ */
+DltReturnValue dlt_user_log_out3(int handle, void *ptr1, size_t len1, void* ptr2, size_t len2, void *ptr3, size_t len3);
+
+#endif /* DLT_USER_SHARED_H */
diff --git a/src/shared/dlt_user_shared_cfg.h b/src/shared/dlt_user_shared_cfg.h
index 36d628a..a8576f5 100755
--- a/src/shared/dlt_user_shared_cfg.h
+++ b/src/shared/dlt_user_shared_cfg.h
@@ -1,106 +1,106 @@
-/**
- * @licence app begin@
- * Copyright (C) 2012 BMW AG
- *
- * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
- *
- * Contributions are licensed to the GENIVI Alliance under one or more
- * Contribution License Agreements.
- *
- * \copyright
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
- * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- *
- * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
- *
- * \file dlt_user_shared_cfg.h
- * For further information see http://www.genivi.org/.
- * @licence end@
- */
-
-
-
-/*******************************************************************************
-** **
-** SRC-MODULE: dlt_user_shared_cfg.h **
-** **
-** TARGET : linux **
-** **
-** PROJECT : DLT **
-** **
-** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
-** Markus Klein **
-** **
-** PURPOSE : **
-** **
-** REMARKS : **
-** **
-** PLATFORM DEPENDANT [yes/no]: yes **
-** **
-** TO BE CHANGED BY USER [yes/no]: no **
-** **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-/*******************************************************************************
-** Author Identity **
-********************************************************************************
-** **
-** Initials Name Company **
-** -------- ------------------------- ---------------------------------- **
-** aw Alexander Wenzel BMW **
-** mk Markus Klein Fraunhofer ESK **
-*******************************************************************************/
-
-#ifndef DLT_USER_SHARED_CFG_H
-#define DLT_USER_SHARED_CFG_H
-
-/*************/
-/* Changable */
-/*************/
-
-/* Directory, where the named pipes to the DLT daemon resides */
-#define DLT_USER_DIR "/tmp/dltpipes"
-
-/* Name of named pipe to DLT daemon */
-#define DLT_USER_FIFO "/tmp/dlt"
-
-/************************/
-/* Don't change please! */
-/************************/
-
-/* The different types of internal messages between user application and daemon. */
-#define DLT_USER_MESSAGE_LOG 1
-#define DLT_USER_MESSAGE_REGISTER_APPLICATION 2
-#define DLT_USER_MESSAGE_UNREGISTER_APPLICATION 3
-#define DLT_USER_MESSAGE_REGISTER_CONTEXT 4
-#define DLT_USER_MESSAGE_UNREGISTER_CONTEXT 5
-#define DLT_USER_MESSAGE_LOG_LEVEL 6
-#define DLT_USER_MESSAGE_INJECTION 7
-#define DLT_USER_MESSAGE_OVERFLOW 8
-#define DLT_USER_MESSAGE_APP_LL_TS 9
-#define DLT_USER_MESSAGE_LOG_SHM 10
-#define DLT_USER_MESSAGE_LOG_MODE 11
-#define DLT_USER_MESSAGE_LOG_STATE 12
-#define DLT_USER_MESSAGE_MARKER 13
-
+/**
+ * @licence app begin@
+ * Copyright (C) 2012 BMW AG
+ *
+ * This file is part of GENIVI Project Dlt - Diagnostic Log and Trace console apps.
+ *
+ * Contributions are licensed to the GENIVI Alliance under one or more
+ * Contribution License Agreements.
+ *
+ * \copyright
+ * This Source Code Form is subject to the terms of the
+ * Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+ * this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ *
+ * \author Alexander Wenzel <alexander.aw.wenzel@bmw.de> BMW 2011-2012
+ *
+ * \file dlt_user_shared_cfg.h
+ * For further information see http://www.genivi.org/.
+ * @licence end@
+ */
+
+
+
+/*******************************************************************************
+** **
+** SRC-MODULE: dlt_user_shared_cfg.h **
+** **
+** TARGET : linux **
+** **
+** PROJECT : DLT **
+** **
+** AUTHOR : Alexander Wenzel Alexander.AW.Wenzel@bmw.de **
+** Markus Klein **
+** **
+** PURPOSE : **
+** **
+** REMARKS : **
+** **
+** PLATFORM DEPENDANT [yes/no]: yes **
+** **
+** TO BE CHANGED BY USER [yes/no]: no **
+** **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+/*******************************************************************************
+** Author Identity **
+********************************************************************************
+** **
+** Initials Name Company **
+** -------- ------------------------- ---------------------------------- **
+** aw Alexander Wenzel BMW **
+** mk Markus Klein Fraunhofer ESK **
+*******************************************************************************/
+
+#ifndef DLT_USER_SHARED_CFG_H
+#define DLT_USER_SHARED_CFG_H
+
+/*************/
+/* Changable */
+/*************/
+
+/* Directory, where the named pipes to the DLT daemon resides */
+#define DLT_USER_DIR "/tmp/dltpipes"
+
+/* Name of named pipe to DLT daemon */
+#define DLT_USER_FIFO "/tmp/dlt"
+
+/************************/
+/* Don't change please! */
+/************************/
+
+/* The different types of internal messages between user application and daemon. */
+#define DLT_USER_MESSAGE_LOG 1
+#define DLT_USER_MESSAGE_REGISTER_APPLICATION 2
+#define DLT_USER_MESSAGE_UNREGISTER_APPLICATION 3
+#define DLT_USER_MESSAGE_REGISTER_CONTEXT 4
+#define DLT_USER_MESSAGE_UNREGISTER_CONTEXT 5
+#define DLT_USER_MESSAGE_LOG_LEVEL 6
+#define DLT_USER_MESSAGE_INJECTION 7
+#define DLT_USER_MESSAGE_OVERFLOW 8
+#define DLT_USER_MESSAGE_APP_LL_TS 9
+#define DLT_USER_MESSAGE_LOG_SHM 10
+#define DLT_USER_MESSAGE_LOG_MODE 11
+#define DLT_USER_MESSAGE_LOG_STATE 12
+#define DLT_USER_MESSAGE_MARKER 13
+
/* Internal defined values */
-/* must be different from DltLogLevelType */
+/* must be different from DltLogLevelType */
#define DLT_USER_LOG_LEVEL_NOT_SET -2
-/* must be different from DltTraceStatusType */
-#define DLT_USER_TRACE_STATUS_NOT_SET -2
-
-#endif /* DLT_USER_SHARED_CFG_H */
-
+/* must be different from DltTraceStatusType */
+#define DLT_USER_TRACE_STATUS_NOT_SET -2
+
+#endif /* DLT_USER_SHARED_CFG_H */
+
diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
index 2727c2d..e448523 100755
--- a/systemd/dlt-dbus.service.cmake
+++ b/systemd/dlt-dbus.service.cmake
@@ -1,32 +1,32 @@
-#######
-# Dlt - Diagnostic Log and Trace
-# @licence make begin@
-#
-# Copyright (C) 2011-2012, BMW AG - Alexander Wenzel <alexander.aw.wenzel@bmw.de>
-#
-# Contributions are licensed to the GENIVI Alliance under one or more
-# Contribution License Agreements.
-#
-# This Source Code Form is subject to the terms of the
-# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# @licence end@
-########
-
-[Unit]
-Description=GENIVI DLT DBus. Application to forward DBus messages to DLT.
-Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5)
-Wants=dlt.service
-
-[Service]
-Type=Simple
-User=root
-ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
-WatchdogSec=@DLT_WatchdogSec@
-NotifyAccess=main
-LimitCORE=infinity
-
-[Install]
-WantedBy=basic.target
-
+#######
+# Dlt - Diagnostic Log and Trace
+# @licence make begin@
+#
+# Copyright (C) 2011-2012, BMW AG - Alexander Wenzel <alexander.aw.wenzel@bmw.de>
+#
+# Contributions are licensed to the GENIVI Alliance under one or more
+# Contribution License Agreements.
+#
+# This Source Code Form is subject to the terms of the
+# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# @licence end@
+########
+
+[Unit]
+Description=GENIVI DLT DBus. Application to forward DBus messages to DLT.
+Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5)
+Wants=dlt.service
+
+[Service]
+Type=Simple
+User=root
+ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
+WatchdogSec=@DLT_WatchdogSec@
+NotifyAccess=main
+LimitCORE=infinity
+
+[Install]
+WantedBy=basic.target
+
diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
index f5e844b..f1383dd 100755
--- a/systemd/dlt-system.service.cmake
+++ b/systemd/dlt-system.service.cmake
@@ -1,32 +1,32 @@
-#######
-# Dlt - Diagnostic Log and Trace
-# @licence make begin@
-#
-# Copyright (C) 2011-2012, BMW AG - Alexander Wenzel <alexander.aw.wenzel@bmw.de>
-#
-# Contributions are licensed to the GENIVI Alliance under one or more
-# Contribution License Agreements.
-#
-# This Source Code Form is subject to the terms of the
-# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
-# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-# @licence end@
-########
-
-[Unit]
-Description=GENIVI DLT system. Application to forward syslog messages to DLT, transfer system information, logs and files.
-Documentation=man:dlt-system(1) man:dlt-system.conf(5)
-Wants=dlt.service
-
-[Service]
-Type=Simple
-User=genivi
-ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
-WatchdogSec=@DLT_WatchdogSec@
-NotifyAccess=main
-LimitCORE=infinity
-
-[Install]
-WantedBy=basic.target
-
+#######
+# Dlt - Diagnostic Log and Trace
+# @licence make begin@
+#
+# Copyright (C) 2011-2012, BMW AG - Alexander Wenzel <alexander.aw.wenzel@bmw.de>
+#
+# Contributions are licensed to the GENIVI Alliance under one or more
+# Contribution License Agreements.
+#
+# This Source Code Form is subject to the terms of the
+# Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with
+# this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# @licence end@
+########
+
+[Unit]
+Description=GENIVI DLT system. Application to forward syslog messages to DLT, transfer system information, logs and files.
+Documentation=man:dlt-system(1) man:dlt-system.conf(5)
+Wants=dlt.service
+
+[Service]
+Type=Simple
+User=genivi
+ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
+WatchdogSec=@DLT_WatchdogSec@
+NotifyAccess=main
+LimitCORE=infinity
+
+[Install]
+WantedBy=basic.target
+