28#if !defined( INC_INOSDEFINE_H )
29#define INC_INOSDEFINE_H
38#define INOS_LITTLE_ENDIAN 1234
43#define INOS_BIG_ENDIAN 4321
48#if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
49#define INOS_BYTE_ORDER INOS_LITTLE_ENDIAN
51#define INOS_BYTE_ORDER INOS_BIG_ENDIAN
54#define WORDS_BIGENDIAN 1
60#define INOS_INLINE inline __attribute__((always_inline))
65#define INOS_NOEXCEPT noexcept
71#if !defined(__ASSEMBLER__)
73#if defined(INOS_WINDOWS)
74typedef signed long long intptr;
75typedef unsigned long long uintptr;
94#define DF_INOS_CPU_CACHE_LINE_SIZE 32
100#define DF_INOS_CPU_CACHE_LINE_MASK 0xffffffe0
105#define DF_INOS_MEMORY_ALLOC_ALIGNMENT 16
114#define DF_INOS_TARGET_OFFSET_OPTIONS 0x00000040
119#define DF_INOS_TARGET_OFFSET_VERSION 0x00000080
128#define DF_INOS_TARGET_CHAR_FLOATING 0x00000001
133#define DF_INOS_TARGET_CHAR_LITTLE_ENDIAN 0x00000002
138#define DF_INOS_TARGET_CHAR_64BIT 0x00000004
143#define DF_INOS_TARGET_CHAR_RES0 0x00000010
144#define DF_INOS_TARGET_CHAR_RES1 0x00001000
145#define DF_INOS_TARGET_CHAR_RES2 0x00100000
146#define DF_INOS_TARGET_CHAR_RES3 0x10000000
155#define DF_INOS_SAFETY_INVALID_UID 0xffffffff
164#define DF_INOS_MAX_CORES 4
165#define DF_INOS_MAX_CORES_MASK ((1<<DF_INOS_MAX_CORES)-1)
170#define DF_INOS_CORE_DEFAULT 0xFF
175#define DF_INOS_MAX_WATCHPOINTS 1
182#define DF_INOS_TASK_PRIO_HIGHEST 0
187#define DF_INOS_TASK_PRIO_LOWEST 31
192#define DF_INOS_TASK_PRIO_REALTIME_HIGHEST 0
201#define DF_INOS_TASK_PRIO_ICC 3
206#define DF_INOS_TASK_PRIO_REALTIME 8
211#define DF_INOS_TASK_PRIO_REALTIME_LOWEST 15
216#define DF_INOS_TASK_PRIO_COMMUNICATION_HIGHEST 16
221#define DF_INOS_TASK_PRIO_COMMUNICATION 20
226#define DF_INOS_TASK_PRIO_COMMUNICATION_LOWEST 23
231#define DF_INOS_TASK_PRIO_USER_HIGHEST 24
236#define DF_INOS_TASK_PRIO_USER 28
241#define DF_INOS_TASK_PRIO_USER_LOWEST 30
246#define DF_INOS_TASK_PRIO_BACKGROUND 31
251#if defined(INOS_MULTICORE)
252#define INOS_MULTICORE_KERNEL 1
254#undef INOS_MULTICORE_KERNEL
266#define DF_INCO_PROTOCOL_CLASSIC 0
271#define DF_INCO_PROTOCOL_STRIPPED 1
276#define DF_INCO_PROTOCOL_SPLITTED 2
281#define DF_INCO_PROTOCOL_RESERVED 16
288#define DF_INCO_DEVICE_NUMBER_COM0 0
293#define DF_INCO_DEVICE_NUMBER_INFOLINK 1
298#define DF_INCO_DEVICE_NUMBER_COM1 2
303#define DF_INCO_DEVICE_NUMBER_ETH0 3
308#define DF_INCO_DEVICE_NUMBER_GINLINK 4
313#define DF_INCO_DEVICE_NUMBER_PDP 5
318#define DF_INCO_DEVICE_NUMBER_COP 6
323#define DF_INCO_DEVICE_NUMBER_ETH1 7
328#define DF_INCO_DEVICE_NUMBER_GIN_COP 8
333#define DF_INCO_DEVICE_NUMBER_ETH2 10
338#define DF_INCO_DEVICE_NUMBER_ETH3 11
343#define DF_INCO_DEVICE_NUMBER_ETH4 12
348#define DF_INCO_DEVICE_NUMBER_GINLINK1 13
353#define DF_INCO_DEVICE_NUMBER_GINLINK2 14
358#define DF_INCO_DEVICE_NUMBER_GINLINK3 15
363#define DF_INCO_DEVICE_NUMBER_CORE0X 0x10
368#define DF_INCO_DEVICE_NUMBER_CORE10 0x11
373#define DF_INCO_DEVICE_NUMBER_CORE20 0x12
378#define DF_INCO_DEVICE_NUMBER_CORE30 0x13
383#define DF_INCO_DEVICE_NUMBER_CORE40 0x14
388#define DF_INCO_DEVICE_NUMBER_CORE50 0x15
393#define DF_INCO_DEVICE_NUMBER_CORE60 0x16
398#define DF_INCO_DEVICE_NUMBER_CORE70 0x17
403#define DF_INCO_DEVICE_NUMBER_CORE80 0x18
408#define DF_INCO_DEVICE_NUMBER_CORE90 0x19
413#define DF_INCO_DEVICE_NUMBER_COREA0 0x1A
418#define DF_INCO_DEVICE_NUMBER_COREB0 0x1B
423#define DF_INCO_DEVICE_NUMBER_COREC0 0x1C
428#define DF_INCO_DEVICE_NUMBER_CORED0 0x1D
433#define DF_INCO_DEVICE_NUMBER_COREE0 0x1E
438#define DF_INCO_DEVICE_NUMBER_COREF0 0x1F
443#define DF_INCO_DEVICE_NUMBER_ETHERCAT 0x20
448#define DF_INCO_DEVICE_NUMBER_ETHERCAT1 0x21
453#define DF_INCO_DEVICE_NUMBER_ETHERCAT2 0x22
458#define DF_INCO_DEVICE_NUMBER_ETHERCAT3 0x23
463#define DF_INCO_DEVICE_NUMBER_LOOPBACK 0xFF
472#define DF_INOS_PARAM_EXTENSION_NAME "extension"
476#define DF_INOS_PARAM_EXTENSION_ID_INPUT_SHAPING 1
480#define DF_INOS_PARAM_EXTENSION_NAME_INPUT_SHAPING "shaping"
489#define DF_INOS_ETHERNET_SHUTDOWN (-2)
494#ifndef MDNS_MAX_SERVICES
495#define MDNS_MAX_SERVICES 3
505#define INCO (*pINCOItems)
510#define DISPATCHER (*CINCODispatcher::m_pInstance[GetCoreId()])
515#define DISPATCHER_EMG (*CINCODispatcher::m_pInstanceEmg[GetCoreId()])
520#if defined(INOS_CPU_CORTEXA9)
521#define ICC (*CINOSHwIcc::m_pInstance[GetCoreId(true)])
523#define ICC (*CINOSHwIcc::m_pInstance[GetCoreId()])
533#define ENVIRONMENT CINOSMcTargetEnvironment::Instance()
538#define SYSTEM CINOSMcTargetSystem::Instance()
543#define DTB CINOSMcTargetDtb::Instance()
548#define DT2 CINOSMcTargetDt2::Instance()
553#define DATA CINOSMcTargetData::Instance()
558#define NVRAM CINOSMcTargetNvRam::Instance()
563#define IMAGE CINOSMcTargetImage::Instance()
568#define IMAGETRANSFER CINOSMcTargetImageTransfer::Instance()
573#define COMM CINOSMcTargetComm::Instance()
578#define MCTARGET CINOSMcTarget::Instance()
583#define SLAVE CINOSMcTargetFieldbusSlave::Instance()
588#define KRNLOG CINOSMcTargetKernelLogger::Instance()
593#define MS CINOS1ms::Instance()
598#define LVDT CINOSLVDT::Instance()
603#define MOTION CINOSMcTargetMotionController::Instance()
608#define SAFETY CINOSMcTargetSafety::Instance()
613#define SYNC CINOSMcTargetTimeSync::Instance()
618#define ASYNC (*CINCOAsyncResultMgr::Instance())
623#define MOVEPATH CINOSMcTargetMovePath::Instance()
628#if defined(INOS_CPU_CORTEXA72) || defined(INOS_CPU_P50XX) || defined(INOS_CPU_P2020) || defined(INOS_CPU_PPC750) || defined(INOS_DESKTOP)
629#define DBG CINOSHwDbg::Instance()
630#define DBG_CLASS CINOSHwDbg
632#define DBG (*g_pBreakpoints)
633#define DBG_CLASS CINOSBreakpoints
639#if defined(FEATURE_INOS_CANBUS)
640#define CAN CINOSMcTargetCanbus::Instance()
646#define IRQ CINOSHwIrq::Instance()
651#if defined(FEATURE_INOS_ONNX)
652#define ONNX CINOSMcTargetOnnx::Instance()
659#if defined(INOS_CPU_CORTEXA9)
660#include <inosdefine_cortexa9.h>
661#elif defined(INOS_CPU_CORTEXA72)
662#include <inosdefine_cortexa72.h>
663#elif defined(INOS_CPU_P50XX)
664#include <inosdefine_p50xx.h>
665#elif defined(INOS_CPU_P2020)
666#include <inosdefine_p2020.h>
667#elif defined(INOS_CPU_PPC750)
668#include <inosdefine_ppc750.h>
669#elif defined(INOS_WINDOWS)
670#include <inosdefine_windows.h>
671#elif defined(INOS_LINUX)
672#include <inosdefine_linux.h>
674#include <inosdefine_deprecated.h>
Definition cinosmcmodule.h:1900