PLCnext API Documentation
24.0.0.71
Arp
System
Core
ArchitectureConfig.h
1
2
//
3
// Copyright PHOENIX CONTACT Electronics GmbH
4
//
6
#pragma once
7
#include "boost/config.hpp"
8
9
#ifndef ARP_INSIDE_ARP_H
10
#error Never include 'ArchitectureConfig.h' directly, just include 'Arp.h'
11
#endif
12
13
// TODO(TDr TGe): review this code
14
// define ARP_BIG_ENDIAN via project settings or from compiler settings for big endian targets
15
16
#ifdef ARP_DOXIFY
17
38
39
41
#define ARP_BIG_ENDIAN
42
45
47
49
#define ARP_ARCHITECTURE_X86
50
52
#define ARP_ARCHITECTURE_X64
53
55
#define ARP_ARCHITECTURE_ARM
56
58
#define ARP_ARCHITECTURE_ARM64
59
61
#define ARP_ARCHITECTURE_ARMTHUMB
62
74
#define ARP_DATAMODEL
75
76
#endif
// ARP_DOXIFY
77
78
81
#define ARP_DATAMODEL_ILP32 10
82
85
#define ARP_DATAMODEL_ILP32_64 11
86
89
#define ARP_DATAMODEL_ILP64 20
90
93
#define ARP_DATAMODEL_P64 21
94
97
#define ARP_DATAMODEL_LLP64 21
// same as ARP_DATAMODEL_P64
98
99
100
// define architecture and data model
101
#if defined(_M_IX86) || defined(_X86_) || defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__)
102
103
#define ARP_ARCHITECTURE_X86
104
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
105
106
#elif defined(_M_X64) || defined(__x86_64) || defined(__x86_64__)
107
108
#define ARP_ARCHITECTURE_X64
109
#define ARP_DATAMODEL ARP_DATAMODEL_LLP64
110
111
#elif !defined(__thumb__) && (defined(_M_ARM) || defined(__arm__) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7__) || defined(__TARGET_ARCH_ARM))
112
113
#define ARP_ARCHITECTURE_ARM
114
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
115
116
#elif defined(__thumb__) && (defined(_M_ARM) || defined(__arm__) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7__) || defined(__TARGET_ARCH_ARM))
117
118
#define ARP_ARCHITECTURE_ARMTHUMB
119
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
120
121
#elif defined(__aarch64__)
122
123
#define ARP_ARCHITECTURE_ARM64
124
#define ARP_DATAMODEL ARP_DATAMODEL_ILP64
125
126
#else
127
128
#error "CPU platform is not supported"
129
130
#endif
131
132
133
134
135
Generated on Tue Feb 13 2024 14:00:09 for PLCnext API Documentation by
1.9.4