PLCnext API Documentation
25.0.2.69
Arp
Base
Core
Detail
ArchitectureConfig.hpp
1
2
//
3
// Copyright Phoenix Contact GmbH & Co. KG
4
//
6
#pragma once
7
8
#ifndef ARP_INSIDE_ARP_BASE_CORE_ARP_H
9
#error Never include 'ArchitectureConfig.hpp' directly, just include 'Arp.hpp'
10
#endif
11
14
#define ARP_DATAMODEL_ILP32 10
15
18
#define ARP_DATAMODEL_ILP32_64 11
19
22
#define ARP_DATAMODEL_ILP64 20
23
26
#define ARP_DATAMODEL_P64 21
27
30
#define ARP_DATAMODEL_LLP64 21
// same as ARP_DATAMODEL_P64
31
32
33
// define architecture and data model
34
#if defined(_M_IX86) || defined(_X86_) || defined(i386) || defined(__i386) || defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__)
35
36
#define ARP_ARCHITECTURE_X86
37
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
38
39
#elif defined(_M_X64) || defined(__x86_64) || defined(__x86_64__)
40
41
#define ARP_ARCHITECTURE_X64
42
#define ARP_DATAMODEL ARP_DATAMODEL_LLP64
43
44
#elif !defined(__thumb__) && (defined(_M_ARM) || defined(__arm__) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7__) || defined(__TARGET_ARCH_ARM))
45
46
#define ARP_ARCHITECTURE_ARM
47
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
48
49
#elif defined(__thumb__) && (defined(_M_ARM) || defined(__arm__) || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7__) || defined(__TARGET_ARCH_ARM))
50
51
#define ARP_ARCHITECTURE_ARMTHUMB
52
#define ARP_DATAMODEL ARP_DATAMODEL_ILP32
53
54
#elif defined(__aarch64__)
55
56
#define ARP_ARCHITECTURE_ARM64
57
#define ARP_DATAMODEL ARP_DATAMODEL_ILP64
58
59
#else
60
61
#error "CPU platform is not supported"
62
63
#endif
Generated on Mon May 12 2025 14:03:43 for PLCnext API Documentation by
1.9.4