summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/posix/key.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/include/rtems/posix/key.h')
-rw-r--r--cpukit/include/rtems/posix/key.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/cpukit/include/rtems/posix/key.h b/cpukit/include/rtems/posix/key.h
index 1f09916f06..a710855b93 100644
--- a/cpukit/include/rtems/posix/key.h
+++ b/cpukit/include/rtems/posix/key.h
@@ -71,6 +71,24 @@ typedef struct {
} POSIX_Keys_Key_value_pair;
/**
+ * @brief The initial set of POSIX key and value pairs.
+ *
+ * This array is provided via <rtems/confdefs.h> in case POSIX key and value
+ * pairs are configured. The POSIX key and value pair count in this array must
+ * be equal to
+ * _Objects_Maximum_per_allocation( _POSIX_Keys_Key_value_pair_maximum ).
+ */
+extern POSIX_Keys_Key_value_pair _POSIX_Keys_Key_value_pairs[];
+
+/**
+ * @brief The POSIX key and value pairs maximum.
+ *
+ * This value is provided via <rtems/confdefs.h> in case POSIX key and value
+ * pairs are configured. The OBJECTS_UNLIMITED_OBJECTS flag may be set.
+ */
+extern const uint32_t _POSIX_Keys_Key_value_pair_maximum;
+
+/**
* @brief The data structure used to manage a POSIX key.
*/
typedef struct {
@@ -85,6 +103,30 @@ typedef struct {
Chain_Control Key_value_pairs;
} POSIX_Keys_Control;
+/**
+ * @brief The POSIX Key objects information.
+ */
+extern Objects_Information _POSIX_Keys_Information;
+
+/**
+ * @brief Macro to define the objects information for the POSIX Key objects.
+ *
+ * This macro should only be used by <rtems/confdefs.h>.
+ *
+ * @param max The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag
+ * may be set).
+ */
+#define POSIX_KEYS_INFORMATION_DEFINE( max ) \
+ OBJECTS_INFORMATION_DEFINE( \
+ _POSIX_Keys, \
+ OBJECTS_POSIX_API, \
+ OBJECTS_POSIX_KEYS, \
+ POSIX_Keys_Control, \
+ max, \
+ OBJECTS_NO_STRING_NAME, \
+ NULL \
+ )
+
/** @} */
#ifdef __cplusplus