source: rtems/testsuites/sptests/sp13/task2.c @ 8fbdf07

4.104.114.84.95
Last change on this file since 8fbdf07 was 08311cc3, checked in by Joel Sherrill <joel.sherrill@…>, on 11/17/99 at 17:51:34

Updated copyright notice.

  • Property mode set to 100644
File size: 3.5 KB
Line 
1/*  Task_2
2 *
3 *  This routine serves as a test task.  Multiple tasks are required to
4 *  verify all message manager capabilities.
5 *
6 *  Input parameters:
7 *    argument - task argument
8 *
9 *  Output parameters:  NONE
10 *
11 *  COPYRIGHT (c) 1989-1999.
12 *  On-Line Applications Research Corporation (OAR).
13 *
14 *  The license and distribution terms for this file may be
15 *  found in the file LICENSE in this distribution or at
16 *  http://www.OARcorp.com/rtems/license.html.
17 *
18 *  $Id$
19 */
20
21#include "system.h"
22
23rtems_task Task_2(
24  rtems_task_argument argument
25)
26{
27  long                buffer[ 4 ];
28  rtems_unsigned32    size;
29  rtems_task_priority previous_priority;
30  rtems_status_code   status;
31
32  puts(
33    "TA2 - rtems_message_queue_receive - receive from queue 1 - RTEMS_NO_WAIT"
34  );
35  status = rtems_message_queue_receive(
36    Queue_id[ 1 ],
37    (long (*)[4])buffer,
38    &size,
39    RTEMS_NO_WAIT,
40    RTEMS_NO_TIMEOUT
41  );
42  directive_failed( status, "rtems_message_queue_receive" );
43  puts_nocr( "TA2 - buffer received: " );
44  Put_buffer( buffer );
45  new_line;
46
47  puts(
48    "TA2 - rtems_message_queue_receive - receive from queue 1 - "
49      "RTEMS_WAIT FOREVER"
50  );
51  status = rtems_message_queue_receive(
52    Queue_id[ 1 ],
53    (long (*)[4])buffer,
54    &size,
55    RTEMS_DEFAULT_OPTIONS,
56    RTEMS_NO_TIMEOUT
57  );
58  directive_failed( status, "rtems_message_queue_receive" );
59  puts_nocr( "TA2 - buffer received: " );
60  Put_buffer( buffer );
61  new_line;
62
63  puts(
64    "TA2 - rtems_message_queue_receive - receive from queue 1 - "
65      "RTEMS_WAIT FOREVER"
66 );
67  status = rtems_message_queue_receive(
68    Queue_id[ 1 ],
69    (long (*)[4])buffer,
70    &size,
71    RTEMS_DEFAULT_OPTIONS,
72    RTEMS_NO_TIMEOUT
73  );
74  directive_failed( status, "rtems_message_queue_receive" );
75  puts_nocr( "TA2 - buffer received: " );
76  Put_buffer( buffer );
77  new_line;
78
79  puts( "TA2 - rtems_task_set_priority - make self highest priority task" );
80  status = rtems_task_set_priority( RTEMS_SELF, 3, &previous_priority );
81  directive_failed( status, "rtems_task_set_priority" );
82
83  puts(
84    "TA2 - rtems_message_queue_receive - receive from queue 2 - "
85      "RTEMS_WAIT FOREVER"
86  );
87  status = rtems_message_queue_receive(
88    Queue_id[ 2 ],
89    (long (*)[4])buffer,
90    &size,
91    RTEMS_DEFAULT_OPTIONS,
92    RTEMS_NO_TIMEOUT
93  );
94  directive_failed( status, "rtems_message_queue_receive" );
95  puts_nocr( "TA2 - buffer received: " );
96  Put_buffer( buffer );
97  new_line;
98
99  Fill_buffer( "BUFFER 2 TO Q 2", (long *)buffer );
100  puts( "TA2 - rtems_message_queue_send - BUFFER 2 TO Q 2" );
101  directive_failed( status, "rtems_message_queue_send" );
102
103  status = rtems_message_queue_send( Queue_id[ 2 ], (long (*)[4])buffer, 16 );
104  directive_failed( status, "rtems_message_queue_send" );
105
106  puts(
107    "TA2 - rtems_message_queue_receive - receive from queue 1 - "
108      "10 second timeout"
109  );
110  status = rtems_message_queue_receive(
111    Queue_id[ 1 ],
112    (long (*)[4])buffer,
113    &size,
114    RTEMS_DEFAULT_OPTIONS,
115    10 * TICKS_PER_SECOND
116  );
117  directive_failed( status, "rtems_message_queue_receive" );
118  puts_nocr( "TA2 - buffer received: " );
119  Put_buffer( buffer );
120  new_line;
121
122  puts(
123    "TA2 - rtems_message_queue_receive - receive from queue 3 - "
124      "RTEMS_WAIT FOREVER"
125  );
126  status = rtems_message_queue_receive(
127    Queue_id[ 3 ],
128    (long (*)[4])buffer,
129    &size,
130    RTEMS_DEFAULT_OPTIONS,
131    RTEMS_NO_TIMEOUT
132  );
133  directive_failed( status, "rtems_message_queue_receive" );
134  puts_nocr( "TA2 - buffer received: " );
135  Put_buffer( buffer );
136  new_line;
137
138}
Note: See TracBrowser for help on using the repository browser.