forked from Imagelibrary/rtems
@@ -510,7 +510,20 @@ librtemscpu_a_SOURCES += posix/src/mlockall.c
|
|||||||
librtemscpu_a_SOURCES += posix/src/mlock.c
|
librtemscpu_a_SOURCES += posix/src/mlock.c
|
||||||
librtemscpu_a_SOURCES += posix/src/mmap.c
|
librtemscpu_a_SOURCES += posix/src/mmap.c
|
||||||
librtemscpu_a_SOURCES += posix/src/mprotect.c
|
librtemscpu_a_SOURCES += posix/src/mprotect.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueue.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueueclose.c
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueueconfig.c
|
librtemscpu_a_SOURCES += posix/src/mqueueconfig.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuedeletesupp.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuegetattr.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueueopen.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuereceive.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuerecvsupp.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuesend.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuesendsupp.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuesetattr.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuetimedreceive.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueuetimedsend.c
|
||||||
|
librtemscpu_a_SOURCES += posix/src/mqueueunlink.c
|
||||||
librtemscpu_a_SOURCES += posix/src/msync.c
|
librtemscpu_a_SOURCES += posix/src/msync.c
|
||||||
librtemscpu_a_SOURCES += posix/src/munlockall.c
|
librtemscpu_a_SOURCES += posix/src/munlockall.c
|
||||||
librtemscpu_a_SOURCES += posix/src/munlock.c
|
librtemscpu_a_SOURCES += posix/src/munlock.c
|
||||||
@@ -1047,20 +1060,7 @@ librtemscpu_a_SOURCES += posix/src/getitimer.c
|
|||||||
librtemscpu_a_SOURCES += posix/src/kill.c
|
librtemscpu_a_SOURCES += posix/src/kill.c
|
||||||
librtemscpu_a_SOURCES += posix/src/killinfo.c
|
librtemscpu_a_SOURCES += posix/src/killinfo.c
|
||||||
librtemscpu_a_SOURCES += posix/src/kill_r.c
|
librtemscpu_a_SOURCES += posix/src/kill_r.c
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueue.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueueclose.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuedeletesupp.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuegetattr.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuenotify.c
|
librtemscpu_a_SOURCES += posix/src/mqueuenotify.c
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueueopen.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuereceive.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuerecvsupp.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuesend.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuesendsupp.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuesetattr.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuetimedreceive.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueuetimedsend.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/mqueueunlink.c
|
|
||||||
librtemscpu_a_SOURCES += posix/src/pause.c
|
librtemscpu_a_SOURCES += posix/src/pause.c
|
||||||
librtemscpu_a_SOURCES += posix/src/psignal.c
|
librtemscpu_a_SOURCES += posix/src/psignal.c
|
||||||
librtemscpu_a_SOURCES += posix/src/psignalclearprocesssignals.c
|
librtemscpu_a_SOURCES += posix/src/psignalclearprocesssignals.c
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include <rtems/score/userextimpl.h>
|
#include <rtems/score/userextimpl.h>
|
||||||
#include <rtems/score/wkspace.h>
|
#include <rtems/score/wkspace.h>
|
||||||
#include <rtems/posix/key.h>
|
#include <rtems/posix/key.h>
|
||||||
|
#include <rtems/posix/mqueue.h>
|
||||||
#include <rtems/posix/semaphore.h>
|
#include <rtems/posix/semaphore.h>
|
||||||
#include <rtems/posix/shm.h>
|
#include <rtems/posix/shm.h>
|
||||||
|
|
||||||
@@ -1937,6 +1938,10 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS \
|
#define CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS \
|
||||||
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
||||||
#endif
|
#endif
|
||||||
|
#if !defined(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES)
|
||||||
|
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \
|
||||||
|
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
||||||
|
#endif
|
||||||
#if !defined(CONFIGURE_MAXIMUM_POSIX_SEMAPHORES)
|
#if !defined(CONFIGURE_MAXIMUM_POSIX_SEMAPHORES)
|
||||||
#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
|
#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES \
|
||||||
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
||||||
@@ -1961,10 +1966,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
#if !defined(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES)
|
|
||||||
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES \
|
|
||||||
rtems_resource_unlimited(CONFIGURE_UNLIMITED_ALLOCATION_SIZE)
|
|
||||||
#endif
|
|
||||||
#endif /* RTEMS_POSIX_API */
|
#endif /* RTEMS_POSIX_API */
|
||||||
#endif /* CONFIGURE_UNLIMITED_OBJECTS */
|
#endif /* CONFIGURE_UNLIMITED_OBJECTS */
|
||||||
|
|
||||||
@@ -2308,6 +2309,22 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
+ _Configure_Max_Objects(_number) \
|
+ _Configure_Max_Objects(_number) \
|
||||||
* _Configure_From_workspace(_POSIX_PATH_MAX + 1))
|
* _Configure_From_workspace(_POSIX_PATH_MAX + 1))
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This configuration parameter specifies the maximum number of
|
||||||
|
* POSIX API message queues.
|
||||||
|
*/
|
||||||
|
#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
|
||||||
|
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This macro is calculated to specify the memory required for
|
||||||
|
* POSIX API message queues.
|
||||||
|
*/
|
||||||
|
#define _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues) \
|
||||||
|
_Configure_POSIX_Named_Object_RAM( \
|
||||||
|
_message_queues, sizeof(POSIX_Message_queue_Control) )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This configuration parameter specifies the maximum number of
|
* This configuration parameter specifies the maximum number of
|
||||||
* POSIX API semaphores.
|
* POSIX API semaphores.
|
||||||
@@ -2345,8 +2362,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
#ifdef RTEMS_POSIX_API
|
#ifdef RTEMS_POSIX_API
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <mqueue.h>
|
|
||||||
#include <rtems/posix/mqueue.h>
|
|
||||||
#include <rtems/posix/psignal.h>
|
#include <rtems/posix/psignal.h>
|
||||||
#include <rtems/posix/pthread.h>
|
#include <rtems/posix/pthread.h>
|
||||||
#include <rtems/posix/threadsup.h>
|
#include <rtems/posix/threadsup.h>
|
||||||
@@ -2391,22 +2406,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
_Configure_From_workspace( \
|
_Configure_From_workspace( \
|
||||||
(_queued_signals) * (sizeof(POSIX_signals_Siginfo_node)) )
|
(_queued_signals) * (sizeof(POSIX_signals_Siginfo_node)) )
|
||||||
|
|
||||||
/**
|
|
||||||
* This configuration parameter specifies the maximum number of
|
|
||||||
* POSIX API message queues.
|
|
||||||
*/
|
|
||||||
#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
|
|
||||||
#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This macro is calculated to specify the memory required for
|
|
||||||
* POSIX API message queues.
|
|
||||||
*/
|
|
||||||
#define _CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues) \
|
|
||||||
_Configure_POSIX_Named_Object_RAM( \
|
|
||||||
_message_queues, sizeof(POSIX_Message_queue_Control) )
|
|
||||||
|
|
||||||
#ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE
|
#ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||||
#ifndef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
|
#ifndef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
|
||||||
#ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
|
#ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
|
||||||
@@ -2545,8 +2544,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
#define _CONFIGURE_MEMORY_FOR_POSIX \
|
#define _CONFIGURE_MEMORY_FOR_POSIX \
|
||||||
(_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \
|
(_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \
|
||||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS) + \
|
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS) + \
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
|
|
||||||
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \
|
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_TIMERS(CONFIGURE_MAXIMUM_POSIX_TIMERS))
|
_CONFIGURE_MEMORY_FOR_POSIX_TIMERS(CONFIGURE_MAXIMUM_POSIX_TIMERS))
|
||||||
#else
|
#else
|
||||||
/*
|
/*
|
||||||
@@ -2705,6 +2702,8 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
_CONFIGURE_MEMORY_FOR_POSIX_KEYS( \
|
_CONFIGURE_MEMORY_FOR_POSIX_KEYS( \
|
||||||
_CONFIGURE_POSIX_KEYS, \
|
_CONFIGURE_POSIX_KEYS, \
|
||||||
CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS ) + \
|
CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS ) + \
|
||||||
|
_CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \
|
||||||
|
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES) + \
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
|
_CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \
|
||||||
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \
|
CONFIGURE_MAXIMUM_POSIX_SEMAPHORES) + \
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_SHMS( \
|
_CONFIGURE_MEMORY_FOR_POSIX_SHMS( \
|
||||||
@@ -3211,8 +3210,8 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
#ifdef RTEMS_POSIX_API
|
#ifdef RTEMS_POSIX_API
|
||||||
uint32_t POSIX_TIMERS;
|
uint32_t POSIX_TIMERS;
|
||||||
uint32_t POSIX_QUEUED_SIGNALS;
|
uint32_t POSIX_QUEUED_SIGNALS;
|
||||||
uint32_t POSIX_MESSAGE_QUEUES;
|
|
||||||
#endif
|
#endif
|
||||||
|
uint32_t POSIX_MESSAGE_QUEUES;
|
||||||
uint32_t POSIX_SEMAPHORES;
|
uint32_t POSIX_SEMAPHORES;
|
||||||
uint32_t POSIX_SHMS;
|
uint32_t POSIX_SHMS;
|
||||||
|
|
||||||
@@ -3259,9 +3258,9 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
_CONFIGURE_MEMORY_FOR_POSIX_TIMERS( CONFIGURE_MAXIMUM_POSIX_TIMERS ),
|
_CONFIGURE_MEMORY_FOR_POSIX_TIMERS( CONFIGURE_MAXIMUM_POSIX_TIMERS ),
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(
|
_CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(
|
||||||
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ),
|
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ),
|
||||||
|
#endif
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(
|
_CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(
|
||||||
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ),
|
CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ),
|
||||||
#endif
|
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ),
|
_CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ),
|
||||||
_CONFIGURE_MEMORY_FOR_POSIX_SHMS( CONFIGURE_MAXIMUM_POSIX_SHMS ),
|
_CONFIGURE_MEMORY_FOR_POSIX_SHMS( CONFIGURE_MAXIMUM_POSIX_SHMS ),
|
||||||
|
|
||||||
@@ -3327,7 +3326,6 @@ extern rtems_initialization_tasks_table Initialization_tasks[];
|
|||||||
#if ((CONFIGURE_MAXIMUM_POSIX_THREADS != 0) || \
|
#if ((CONFIGURE_MAXIMUM_POSIX_THREADS != 0) || \
|
||||||
(CONFIGURE_MAXIMUM_POSIX_TIMERS != 0) || \
|
(CONFIGURE_MAXIMUM_POSIX_TIMERS != 0) || \
|
||||||
(CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS != 0) || \
|
(CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS != 0) || \
|
||||||
(CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES != 0) || \
|
|
||||||
defined(CONFIGURE_POSIX_INIT_THREAD_TABLE))
|
defined(CONFIGURE_POSIX_INIT_THREAD_TABLE))
|
||||||
#error "CONFIGURATION ERROR: POSIX API support not configured!!"
|
#error "CONFIGURATION ERROR: POSIX API support not configured!!"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -38,14 +38,12 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
/**@{*/
|
/**@{*/
|
||||||
|
|
||||||
#if defined(RTEMS_POSIX_API)
|
/**
|
||||||
/**
|
|
||||||
* This macro is defined when an API is enabled that requires that the
|
* This macro is defined when an API is enabled that requires that the
|
||||||
* Message Queue Handler include support for priority based enqueuing
|
* Message Queue Handler include support for priority based enqueuing
|
||||||
* of messages.
|
* of messages.
|
||||||
*/
|
*/
|
||||||
#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
|
#define RTEMS_SCORE_COREMSG_ENABLE_MESSAGE_PRIORITY
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(RTEMS_POSIX_API)
|
#if defined(RTEMS_POSIX_API)
|
||||||
/**
|
/**
|
||||||
@@ -56,13 +54,11 @@ extern "C" {
|
|||||||
#define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
|
#define RTEMS_SCORE_COREMSG_ENABLE_NOTIFICATION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(RTEMS_POSIX_API)
|
/**
|
||||||
/**
|
|
||||||
* This macro is defined when an API is enabled that requires the
|
* This macro is defined when an API is enabled that requires the
|
||||||
* Message Queue Handler include support for blocking send operations.
|
* Message Queue Handler include support for blocking send operations.
|
||||||
*/
|
*/
|
||||||
#define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
|
#define RTEMS_SCORE_COREMSG_ENABLE_BLOCKING_SEND
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct CORE_message_queue_Control CORE_message_queue_Control;
|
typedef struct CORE_message_queue_Control CORE_message_queue_Control;
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,8 @@ static const rtems_assoc_t rtems_object_api_posix_assoc[] = {
|
|||||||
{ "Thread", OBJECTS_POSIX_THREADS, 0},
|
{ "Thread", OBJECTS_POSIX_THREADS, 0},
|
||||||
{ "Key", OBJECTS_POSIX_KEYS, 0},
|
{ "Key", OBJECTS_POSIX_KEYS, 0},
|
||||||
{ "Interrupt", OBJECTS_POSIX_INTERRUPTS, 0},
|
{ "Interrupt", OBJECTS_POSIX_INTERRUPTS, 0},
|
||||||
{ "Message Queue", OBJECTS_POSIX_MESSAGE_QUEUES, 0},
|
|
||||||
#endif
|
#endif
|
||||||
|
{ "Message Queue", OBJECTS_POSIX_MESSAGE_QUEUES, 0},
|
||||||
{ "Semaphore", OBJECTS_POSIX_SEMAPHORES, 0},
|
{ "Semaphore", OBJECTS_POSIX_SEMAPHORES, 0},
|
||||||
#ifdef RTEMS_POSIX_API
|
#ifdef RTEMS_POSIX_API
|
||||||
{ "Timer", OBJECTS_POSIX_TIMERS, 0},
|
{ "Timer", OBJECTS_POSIX_TIMERS, 0},
|
||||||
|
|||||||
Reference in New Issue
Block a user