summaryrefslogtreecommitdiffstats
path: root/spec/rtems/basedefs/if/typeof-refx.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/basedefs/if/typeof-refx.yml')
-rw-r--r--spec/rtems/basedefs/if/typeof-refx.yml37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/rtems/basedefs/if/typeof-refx.yml b/spec/rtems/basedefs/if/typeof-refx.yml
new file mode 100644
index 00000000..7532ffef
--- /dev/null
+++ b/spec/rtems/basedefs/if/typeof-refx.yml
@@ -0,0 +1,37 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the type of a pointer reference of the specified level to the specified type.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2014 Paval Pisa
+definition:
+ default: ''
+ variants:
+ - definition: |
+ ${/compiler/if/typeof:/name}(_level(union { int z; ${/compiler/if/typeof:/name}(_target) x; }){0}.x)
+ enabled-by:
+ - defined(${/compiler/if/gnuc:/name})
+description: |
+ The reference type idea is based on libHX by Jan Engelhardt.
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_TYPEOF_REFX
+notes: null
+params:
+- description: |
+ is the pointer indirection level expressed in *.
+ dir: null
+ name: _level
+- description: |
+ is the reference target type.
+ dir: null
+ name: _target
+return:
+ return: null
+ return-values: []
+type: interface