diff options
-rwxr-xr-x | MPL.txt | 748 | ||||
-rwxr-xr-x | ReleaseNotes.txt | 874 | ||||
-rwxr-xr-x | include/dlt/dlt.h | 94 | ||||
-rwxr-xr-x | include/dlt/dlt_client.h | 286 | ||||
-rw-r--r-- | include/dlt/dlt_common_api.h | 434 | ||||
-rwxr-xr-x | include/dlt/dlt_protocol.h | 372 | ||||
-rwxr-xr-x | include/dlt/dlt_types.h | 80 | ||||
-rwxr-xr-x | src/daemon/dlt-daemon.h | 414 | ||||
-rwxr-xr-x | src/daemon/dlt-daemon_cfg.h | 226 | ||||
-rw-r--r-- | src/daemon/dlt_daemon_common.h | 756 | ||||
-rwxr-xr-x | src/daemon/dlt_daemon_common_cfg.h | 238 | ||||
-rwxr-xr-x | src/examples/dlt-example-non-verbose-1.xml | 998 | ||||
-rwxr-xr-x | src/examples/dlt-example-non-verbose.xml | 850 | ||||
-rwxr-xr-x | src/lib/dlt_client_cfg.h | 156 | ||||
-rw-r--r-- | src/lib/dlt_filetransfer.c | 2 | ||||
-rwxr-xr-x | src/lib/dlt_user_cfg.h | 298 | ||||
-rwxr-xr-x | src/shared/dlt_common_cfg.h | 222 | ||||
-rwxr-xr-x | src/shared/dlt_user_shared.h | 458 | ||||
-rwxr-xr-x | src/shared/dlt_user_shared_cfg.h | 206 | ||||
-rwxr-xr-x | systemd/dlt-dbus.service.cmake | 64 | ||||
-rwxr-xr-x | systemd/dlt-system.service.cmake | 64 |
21 files changed, 3920 insertions, 3920 deletions
@@ -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 + |