| /******************************************************************************* | |
| * Tracealyzer v2.6.0 Recorder Library | |
| * Percepio AB, www.percepio.com | |
| * | |
| * trcKernel.h | |
| * | |
| * Functions used by trcKernelHooks.h. | |
| * | |
| * Terms of Use | |
| * This software is copyright Percepio AB. The recorder library is free for | |
| * use together with Percepio products. You may distribute the recorder library | |
| * in its original form, including modifications in trcHardwarePort.c/.h | |
| * given that these modification are clearly marked as your own modifications | |
| * and documented in the initial comment section of these source files. | |
| * This software is the intellectual property of Percepio AB and may not be | |
| * sold or in other ways commercially redistributed without explicit written | |
| * permission by Percepio AB. | |
| * | |
| * Disclaimer | |
| * The trace tool and recorder library is being delivered to you AS IS and | |
| * Percepio AB makes no warranty as to its use or performance. Percepio AB does | |
| * not and cannot warrant the performance or results you may obtain by using the | |
| * software or documentation. Percepio AB make no warranties, express or | |
| * implied, as to noninfringement of third party rights, merchantability, or | |
| * fitness for any particular purpose. In no event will Percepio AB, its | |
| * technology partners, or distributors be liable to you for any consequential, | |
| * incidental or special damages, including any lost profits or lost savings, | |
| * even if a representative of Percepio AB has been advised of the possibility | |
| * of such damages, or for any claim by any third party. Some jurisdictions do | |
| * not allow the exclusion or limitation of incidental, consequential or special | |
| * damages, or the exclusion of implied warranties or limitations on how long an | |
| * implied warranty may last, so the above limitations may not apply to you. | |
| * | |
| * Copyright Percepio AB, 2013. | |
| * www.percepio.com | |
| ******************************************************************************/ | |
| #ifndef TRCKERNEL_H | |
| #define TRCKERNEL_H | |
| #include "trcKernelPort.h" | |
| #if (USE_TRACEALYZER_RECORDER == 1) | |
| /* Internal functions */ | |
| #if !defined INCLUDE_READY_EVENTS || INCLUDE_READY_EVENTS == 1 | |
| void vTraceStoreTaskReady(objectHandleType handle); | |
| #endif | |
| void vTraceStoreLowPower(uint32_t flag); | |
| void vTraceStoreTaskswitch(objectHandleType task_handle); | |
| void vTraceStoreKernelCall(uint32_t eventcode, traceObjectClass objectClass, uint32_t byteParam); | |
| void vTraceStoreKernelCallWithNumericParamOnly(uint32_t evtcode, | |
| uint32_t param); | |
| void vTraceStoreKernelCallWithParam(uint32_t evtcode, traceObjectClass objectClass, | |
| uint32_t objectNumber, uint32_t param); | |
| void vTraceSetTaskInstanceFinished(objectHandleType handle); | |
| void vTraceSetPriorityProperty(uint8_t objectclass, objectHandleType id, uint8_t value); | |
| uint8_t uiTraceGetPriorityProperty(uint8_t objectclass, objectHandleType id); | |
| void vTraceSetObjectState(uint8_t objectclass, objectHandleType id, uint8_t value); | |
| uint8_t uiTraceGetObjectState(uint8_t objectclass, objectHandleType id); | |
| #if (INCLUDE_OBJECT_DELETE == 1) | |
| void vTraceStoreObjectNameOnCloseEvent(objectHandleType handle, | |
| traceObjectClass objectclass); | |
| void vTraceStoreObjectPropertiesOnCloseEvent(objectHandleType handle, | |
| traceObjectClass objectclass); | |
| #endif | |
| /* Internal constants for task state */ | |
| #define TASK_STATE_INSTANCE_NOT_ACTIVE 0 | |
| #define TASK_STATE_INSTANCE_ACTIVE 1 | |
| #define TASK_STATE_INSTANCE_MARKED_FINISHED 2 | |
| #endif | |
| #endif |