00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 // This file is part of FZIs ic_workspace. 00005 // 00006 // This program is free software licensed under the LGPL 00007 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3). 00008 // You can find a copy of this license in LICENSE folder in the top 00009 // directory of the source code. 00010 // 00011 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany 00012 // 00013 // -- END LICENSE BLOCK ------------------------------------------------ 00014 00015 //---------------------------------------------------------------------- 00025 //---------------------------------------------------------------------- 00026 #ifndef ICL_CORE_OS_LXRT_H_INCLUDED 00027 #define ICL_CORE_OS_LXRT_H_INCLUDED 00028 00029 #include <stdio.h> 00030 00031 #include "icl_core/ImportExport.h" 00032 #include "icl_core/os_time.h" 00033 00034 #ifdef _IC_BUILDER_DEPRECATED_STYLE_ 00035 # include "icl_core/Deprecate.h" 00036 #endif 00037 00038 namespace icl_core { 00039 namespace os { 00040 00048 void ICL_CORE_IMPORT_EXPORT lxrtStartup(); 00049 00057 void ICL_CORE_IMPORT_EXPORT lxrtShutdown(); 00058 00059 //---------------------------------------------------------------------- 00060 // Implementation 00061 //---------------------------------------------------------------------- 00062 bool checkKernelModule(const char *name); 00063 00064 bool checkForLxrt(void); 00065 00066 bool ICL_CORE_IMPORT_EXPORT isLxrtAvailable(); 00067 bool ICL_CORE_IMPORT_EXPORT isThisLxrtTask(); 00068 bool ICL_CORE_IMPORT_EXPORT isThisHRT(); 00069 00070 struct timeval ICL_CORE_IMPORT_EXPORT lxrtGetExecTime(); 00071 00075 bool ICL_CORE_IMPORT_EXPORT ensureNoHRT(); 00076 00077 void ICL_CORE_IMPORT_EXPORT makeHRT(); 00078 00079 int ICL_CORE_IMPORT_EXPORT makeThisAnLxrtTask(); 00080 void ICL_CORE_IMPORT_EXPORT makeThisALinuxTask(); 00081 00083 #ifdef _IC_BUILDER_DEPRECATED_STYLE_ 00084 00088 void ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE LxrtStartup() 00089 ICL_CORE_GCC_DEPRECATE_STYLE; 00090 00094 void ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE LxrtShutdown() 00095 ICL_CORE_GCC_DEPRECATE_STYLE; 00096 00097 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE CheckKernelModule(const char *name) 00098 ICL_CORE_GCC_DEPRECATE_STYLE; 00099 00100 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE CheckForLxrt(void) 00101 ICL_CORE_GCC_DEPRECATE_STYLE; 00102 00103 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE IsLxrtAvailable() 00104 ICL_CORE_GCC_DEPRECATE_STYLE; 00105 00106 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE IsThisLxrtTask() 00107 ICL_CORE_GCC_DEPRECATE_STYLE; 00108 00109 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE IsThisHRT() 00110 ICL_CORE_GCC_DEPRECATE_STYLE; 00111 00112 struct timeval ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE LxrtGetExecTime() 00113 ICL_CORE_GCC_DEPRECATE_STYLE; 00114 00119 bool ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE EnsureNoHRT() 00120 ICL_CORE_GCC_DEPRECATE_STYLE; 00121 00122 void ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE MakeHRT() 00123 ICL_CORE_GCC_DEPRECATE_STYLE; 00124 00125 int ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE MakeThisAnLxrtTask() 00126 ICL_CORE_GCC_DEPRECATE_STYLE; 00127 00128 void ICL_CORE_IMPORT_EXPORT ICL_CORE_VC_DEPRECATE_STYLE MakeThisALinuxTask() 00129 ICL_CORE_GCC_DEPRECATE_STYLE; 00130 00131 #endif 00132 00133 00134 } 00135 } 00136 00137 #endif