summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix/shm.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/posix/include/rtems/posix/shm.h')
-rw-r--r--cpukit/posix/include/rtems/posix/shm.h213
1 files changed, 0 insertions, 213 deletions
diff --git a/cpukit/posix/include/rtems/posix/shm.h b/cpukit/posix/include/rtems/posix/shm.h
deleted file mode 100644
index d2b6036493..0000000000
--- a/cpukit/posix/include/rtems/posix/shm.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/**
- * @file
- *
- * @brief Internal Support for POSIX Shared Memory
- */
-
-/*
- * Copyright (c) 2016 Gedare Bloom.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_POSIX_SHM_H
-#define _RTEMS_POSIX_SHM_H
-
-#include <rtems/score/object.h>
-#include <rtems/score/threadq.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup POSIXShmPrivate POSIX Shared Memory Private Support
- *
- * @ingroup POSIXAPI
- *
- * Internal implementation support for POSIX shared memory.
- * @{
- */
-typedef struct POSIX_Shm_Object_operations POSIX_Shm_Object_operations;
-extern const POSIX_Shm_Object_operations _POSIX_Shm_Object_operations;
-
-/**
- * @brief Encapsulation for the storage and manipulation of shm objects.
- */
-typedef struct {
- /**
- * @brief The handle is private for finding object storage.
- */
- void *handle;
-
- /**
- * @brief The number of bytes allocated to the object. A size of 0 with
- * a handle of NULL means no object is allocated.
- */
- size_t size;
-
- /**
- * @brief Implementation-specific operations on shm objects.
- */
- const POSIX_Shm_Object_operations *ops;
-} POSIX_Shm_Object;
-
-/**
- * @brief Operations on POSIX Shared Memory Objects.
- */
-struct POSIX_Shm_Object_operations {
- /**
- * @brief Allocates a new @a shm_obj with initial @a size.
- *
- * New shared memory is initialized to zeroes.
- *
- * Returns 0 for success.
- */
- int ( *object_create ) ( POSIX_Shm_Object *shm_obj, size_t size );
-
- /**
- * @brief Changes the @a shm_obj size to @a size.
- *
- * Zeroes out the portion of the shared memory object that shrinks or grows.
- *
- * Returns 0 for success.
- */
- int ( *object_resize ) ( POSIX_Shm_Object *shm_obj, size_t size );
-
- /**
- * @brief Deletes the @a shm_obj.
- *
- * Zeroes out the memory.
- *
- * Returns 0 for success.
- */
- int ( *object_delete ) ( POSIX_Shm_Object *shm_obj );
-
- /**
- * @brief Copies up to @count bytes of the @a shm_obj data into @a buf.
- *
- * Returns the number of bytes read (copied) into @a buf.
- */
- int ( *object_read ) ( POSIX_Shm_Object *shm_obj, void *buf, size_t count );
-
- /**
- * @brief Maps a shared memory object.
- *
- * Establishes a memory mapping between the shared memory object and the
- * caller.
- *
- * Returns the mapped address of the object.
- */
- void * ( *object_mmap ) ( POSIX_Shm_Object *shm_obj, size_t len, int prot, off_t off);
-};
-
-/**
- * @brief Control for a POSIX Shared Memory Object
- */
-typedef struct {
- Objects_Control Object;
- Thread_queue_Control Wait_queue;
-
- int reference_count;
-
- POSIX_Shm_Object shm_object;
-
- uid_t uid;
- gid_t gid;
- mode_t mode;
- int oflag;
-
- time_t atime;
- time_t mtime;
- time_t ctime;
-} POSIX_Shm_Control;
-
-/**
- * @brief object_create operation for shm objects stored in RTEMS Workspace.
- */
-extern int _POSIX_Shm_Object_create_from_workspace(
- POSIX_Shm_Object *shm_obj,
- size_t size
-);
-
-/**
- * @brief object_delete operation for shm objects stored in RTEMS Workspace.
- */
-extern int _POSIX_Shm_Object_delete_from_workspace( POSIX_Shm_Object *shm_obj );
-
-/**
- * @brief object_resize operation for shm objects stored in RTEMS Workspace.
- */
-extern int _POSIX_Shm_Object_resize_from_workspace(
- POSIX_Shm_Object *shm_obj,
- size_t size
-);
-
-/**
- * @brief object_read operation for shm objects stored in RTEMS Workspace.
- */
-extern int _POSIX_Shm_Object_read_from_workspace(
- POSIX_Shm_Object *shm_obj,
- void *buf,
- size_t count
-);
-
-/**
- * @brief object_mmap operation for shm objects stored in RTEMS Workspace.
- */
-extern void * _POSIX_Shm_Object_mmap_from_workspace(
- POSIX_Shm_Object *shm_obj,
- size_t len,
- int prot,
- off_t off
-);
-
-/**
- * @brief object_create operation for shm objects stored in C program heap.
- */
-extern int _POSIX_Shm_Object_create_from_heap(
- POSIX_Shm_Object *shm_obj,
- size_t size
-);
-
-/**
- * @brief object_delete operation for shm objects stored in C program heap.
- */
-extern int _POSIX_Shm_Object_delete_from_heap( POSIX_Shm_Object *shm_obj );
-
-/**
- * @brief object_resize operation for shm objects stored in C program heap.
- */
-extern int _POSIX_Shm_Object_resize_from_heap(
- POSIX_Shm_Object *shm_obj,
- size_t size
-);
-
-/**
- * @brief object_read operation for shm objects stored in C program heap.
- */
-extern int _POSIX_Shm_Object_read_from_heap(
- POSIX_Shm_Object *shm_obj,
- void *buf,
- size_t count
-);
-
-/**
- * @brief object_mmap operation for shm objects stored in C program heap.
- */
-extern void * _POSIX_Shm_Object_mmap_from_heap(
- POSIX_Shm_Object *shm_obj,
- size_t len,
- int prot,
- off_t off
-);
-
-/** @} */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif