summaryrefslogtreecommitdiffstats
path: root/spec/rtems/support
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/support')
-rw-r--r--spec/rtems/support/if/group.yml19
-rw-r--r--spec/rtems/support/if/header.yml12
-rw-r--r--spec/rtems/support/if/is-name-valid.yml36
-rw-r--r--spec/rtems/support/if/microseconds-to-ticks.yml31
-rw-r--r--spec/rtems/support/if/milliseconds-to-microseconds.yml29
-rw-r--r--spec/rtems/support/if/milliseconds-to-ticks.yml31
-rw-r--r--spec/rtems/support/if/name-to-characters.yml51
-rw-r--r--spec/rtems/support/if/workspace-allocate.yml34
-rw-r--r--spec/rtems/support/if/workspace-free.yml30
-rw-r--r--spec/rtems/support/if/workspace-get-information.yml30
-rw-r--r--spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml30
-rw-r--r--spec/rtems/support/if/workspace-greedy-allocate.yml34
-rw-r--r--spec/rtems/support/if/workspace-greedy-free.yml30
13 files changed, 397 insertions, 0 deletions
diff --git a/spec/rtems/support/if/group.yml b/spec/rtems/support/if/group.yml
new file mode 100644
index 00000000..eed5270e
--- /dev/null
+++ b/spec/rtems/support/if/group.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Items of this group should move to other groups.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+description: null
+enabled-by: true
+identifier: RTEMSAPIClassicSupport
+interface-type: group
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: ../../if/group
+name: Support Services
+text: |
+ The Classic API should not provide this interface part.
+type: interface
diff --git a/spec/rtems/support/if/header.yml b/spec/rtems/support/if/header.yml
new file mode 100644
index 00000000..2909f94c
--- /dev/null
+++ b/spec/rtems/support/if/header.yml
@@ -0,0 +1,12 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: This header file defines support services of the API.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-type: header-file
+links:
+- role: interface-placement
+ uid: /if/domain
+path: rtems/rtems/support.h
+prefix: cpukit/include
+type: interface
diff --git a/spec/rtems/support/if/is-name-valid.yml b/spec/rtems/support/if/is-name-valid.yml
new file mode 100644
index 00000000..55cc5b55
--- /dev/null
+++ b/spec/rtems/support/if/is-name-valid.yml
@@ -0,0 +1,36 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns true, if the specified object name is valid, otherwise returns false.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: |
+ return ${.:/params[0]/name} != 0;
+ params:
+ - ${../../status/if/code:/name} ${.:/params[0]/name}
+ return: ${/c/if/bool:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_is_name_valid
+notes: null
+params:
+- description: is the object name to check.
+ dir: null
+ name: name
+return:
+ return: null
+ return-values:
+ - description: The specified object name is valid.
+ value: 'true'
+ - description: Otherwise.
+ value: 'false'
+type: interface
diff --git a/spec/rtems/support/if/microseconds-to-ticks.yml b/spec/rtems/support/if/microseconds-to-ticks.yml
new file mode 100644
index 00000000..2a477bf2
--- /dev/null
+++ b/spec/rtems/support/if/microseconds-to-ticks.yml
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the number of clock ticks for the specified microseconds value.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ( ( ${.:/params[0]/name} ) / ${../../config/if/get-microseconds-per-tick:/name}() )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_MICROSECONDS_TO_TICKS
+notes: |
+ The number of clock ticks per second is defined by the
+ ${/acfg/if/microseconds-per-tick:/name} application configuration option.
+params:
+- description: is the microseconds value to convert to clock ticks.
+ dir: null
+ name: _us
+return:
+ return: |
+ The number of clock ticks for the specified microseconds value is returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/milliseconds-to-microseconds.yml b/spec/rtems/support/if/milliseconds-to-microseconds.yml
new file mode 100644
index 00000000..893c4806
--- /dev/null
+++ b/spec/rtems/support/if/milliseconds-to-microseconds.yml
@@ -0,0 +1,29 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the number of microseconds for the specified milliseconds value.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ( ( ${.:/params[0]/name} ) * 1000UL )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_MILLISECONDS_TO_MICROSECONDS
+notes: null
+params:
+- description: is the milliseconds value to convert to microseconds.
+ dir: null
+ name: _ms
+return:
+ return: |
+ The number of microseconds for the specified milliseconds value is returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/milliseconds-to-ticks.yml b/spec/rtems/support/if/milliseconds-to-ticks.yml
new file mode 100644
index 00000000..6fa5b54f
--- /dev/null
+++ b/spec/rtems/support/if/milliseconds-to-ticks.yml
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Returns the number of clock ticks for the specified milliseconds value.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default: |
+ ${microseconds-to-ticks:/name}( ${milliseconds-to-microseconds:/name}( ${.:/params[0]/name} ) )
+ variants: []
+description: null
+enabled-by: true
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: RTEMS_MILLISECONDS_TO_TICKS
+notes: |
+ The number of clock ticks per second is defined by the
+ ${/acfg/if/microseconds-per-tick:/name} application configuration option.
+params:
+- description: is the milliseconds value to convert to clock ticks.
+ dir: null
+ name: _ms
+return:
+ return: |
+ The number of clock ticks for the specified milliseconds value is returned.
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/name-to-characters.yml b/spec/rtems/support/if/name-to-characters.yml
new file mode 100644
index 00000000..28b9f84e
--- /dev/null
+++ b/spec/rtems/support/if/name-to-characters.yml
@@ -0,0 +1,51 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: |
+ Breaks the object name into the four component characters.
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: |
+ *${.:/params[1]/name} = (char) ( ${.:/params[0]/name} >> 24 );
+ *${.:/params[2]/name} = (char) ( ${.:/params[0]/name} >> 16 );
+ *${.:/params[3]/name} = (char) ( ${.:/params[0]/name} >> 8 );
+ *${.:/params[4]/name} = (char) ${.:/params[0]/name};
+ params:
+ - ${../../type/if/name:/name} ${.:/params[0]/name}
+ - char *${.:/params[1]/name}
+ - char *${.:/params[2]/name}
+ - char *${.:/params[3]/name}
+ - char *${.:/params[4]/name}
+ return: void
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_name_to_characters
+notes: null
+params:
+- description: is the object name to break into four component characters.
+ dir: null
+ name: name
+- description: is the first character of the object name.
+ dir: out
+ name: c1
+- description: is the second character of the object name.
+ dir: out
+ name: c2
+- description: is the third character of the object name.
+ dir: out
+ name: c3
+- description: is the fourth character of the object name.
+ dir: out
+ name: c4
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-allocate.yml b/spec/rtems/support/if/workspace-allocate.yml
new file mode 100644
index 00000000..8d2d750a
--- /dev/null
+++ b/spec/rtems/support/if/workspace-allocate.yml
@@ -0,0 +1,34 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/size_t:/name} ${.:/params[0]/name}
+ - void **${.:/params[1]/name}
+ return: ${/c/if/bool:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_allocate
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: bytes
+- description: '%'
+ dir: null
+ name: pointer
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-free.yml b/spec/rtems/support/if/workspace-free.yml
new file mode 100644
index 00000000..e505e997
--- /dev/null
+++ b/spec/rtems/support/if/workspace-free.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - void *${.:/params[0]/name}
+ return: ${/c/if/bool:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_free
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: pointer
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-get-information.yml b/spec/rtems/support/if/workspace-get-information.yml
new file mode 100644
index 00000000..afde455c
--- /dev/null
+++ b/spec/rtems/support/if/workspace-get-information.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/score/heap/if/information-block:/name} *${.:/params[0]/name}
+ return: ${/c/if/bool:/name}
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_get_information
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: the_info
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml b/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml
new file mode 100644
index 00000000..6d03e677
--- /dev/null
+++ b/spec/rtems/support/if/workspace-greedy-allocate-all-except-largest.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - ${/c/if/uintptr_t:/name} *${.:/params[0]/name}
+ return: void *
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_greedy_allocate_all_except_largest
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: allocatable_size
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-greedy-allocate.yml b/spec/rtems/support/if/workspace-greedy-allocate.yml
new file mode 100644
index 00000000..32182428
--- /dev/null
+++ b/spec/rtems/support/if/workspace-greedy-allocate.yml
@@ -0,0 +1,34 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - const ${/c/if/uintptr_t:/name} *${.:/params[0]/name}
+ - ${/c/if/size_t:/name} ${.:/params[1]/name}
+ return: void *
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_greedy_allocate
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: block_sizes
+- description: '%'
+ dir: null
+ name: block_count
+return:
+ return: null
+ return-values: []
+type: interface
diff --git a/spec/rtems/support/if/workspace-greedy-free.yml b/spec/rtems/support/if/workspace-greedy-free.yml
new file mode 100644
index 00000000..49ff431c
--- /dev/null
+++ b/spec/rtems/support/if/workspace-greedy-free.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+brief: '%'
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
+definition:
+ default:
+ body: null
+ params:
+ - void *${.:/params[0]/name}
+ return: void
+ variants: []
+description: null
+enabled-by: true
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: group
+name: rtems_workspace_greedy_free
+notes: null
+params:
+- description: '%'
+ dir: null
+ name: opaque
+return:
+ return: null
+ return-values: []
+type: interface