diff options
Diffstat (limited to 'testsuites/validation/tx-support.h')
-rw-r--r-- | testsuites/validation/tx-support.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/testsuites/validation/tx-support.h b/testsuites/validation/tx-support.h index f933f1b6d6..df0e6a1333 100644 --- a/testsuites/validation/tx-support.h +++ b/testsuites/validation/tx-support.h @@ -40,6 +40,7 @@ #include <rtems.h> #include <rtems/irq-extension.h> #include <rtems/score/atomic.h> +#include <rtems/score/threadq.h> #ifdef __cplusplus extern "C" { @@ -309,6 +310,26 @@ void CallWithinISRSubmit( CallWithinISRRequest *request ); void CallWithinISRWait( const CallWithinISRRequest *request ); +typedef struct { + Thread_queue_Operations tq_ops; + const Thread_queue_Operations *wrapped_ops; + Thread_queue_Control thread_queue; + CallWithinISRRequest isr_request; +} WrapThreadQueueContext; + +void WrapThreadQueueInitialize( + WrapThreadQueueContext *ctx, + void ( *handler )( void * ), + void *arg +); + +void WrapThreadQueueExtract( + WrapThreadQueueContext *ctx, + struct _Thread_Control *thread +); + +void WrapThreadQueueDestroy( WrapThreadQueueContext *ctx ); + rtems_vector_number GetValidInterruptVectorNumber( const rtems_interrupt_attributes *required ); |