source: rtems/cpukit/libgnat/ada_intrsupp.c @ 1de949a8

4.104.115
Last change on this file since 1de949a8 was 1de949a8, checked in by Ralf Corsepius <ralf.corsepius@…>, on 11/30/09 at 15:49:52

Whitespace removal.

  • Property mode set to 100644
File size: 2.6 KB
Line 
1#include <rtems.h>
2#include <rtems/bspIo.h>
3
4rtems_id __gnat_binary_semaphore_create(void)
5{
6  rtems_status_code status;
7  rtems_id          semaphore;
8
9  status = rtems_semaphore_create(
10    rtems_build_name( 'A', 'I', 'S', 'R' ),
11    0,
12    RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_FIFO,
13    0,
14    &semaphore
15  );
16  if ( status != RTEMS_SUCCESSFUL )
17    printk( "__gnat_binary_semaphore_create failed %d\n", status );
18
19  #if defined(GNAT_DEBUG)
20    printk( "__gnat_binary_semaphore_create\n" );
21  #endif
22  return semaphore;
23}
24
25int __gnat_binary_semaphore_delete(
26  rtems_id semaphore
27)
28{
29  rtems_status_code status;
30
31  #if defined(GNAT_DEBUG)
32    printk( "__gnat_binary_semaphore_delete\n" );
33  #endif
34
35  status = rtems_semaphore_delete( semaphore );
36  if ( status != RTEMS_SUCCESSFUL )
37    printk( "__gnat_binary_semaphore_delete failed %d\n", status );
38
39  return 0;
40}
41
42int __gnat_binary_semaphore_obtain(
43  rtems_id semaphore
44)
45{
46  rtems_status_code status;
47
48  #if defined(GNAT_DEBUG)
49    printk( "__gnat_binary_semaphore_obtain\n" );
50  #endif
51
52  status = rtems_semaphore_obtain( semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
53  if ( status != RTEMS_SUCCESSFUL )
54    printk( "__gnat_binary_semaphore_obtain failed %d\n", status );
55
56  return 0;
57}
58
59int __gnat_binary_semaphore_release(
60  rtems_id semaphore
61)
62{
63  rtems_status_code status;
64
65  #if defined(GNAT_DEBUG)
66    printk( "__gnat_binary_semaphore_release\n" );
67  #endif
68
69  status = rtems_semaphore_release( semaphore );
70  if ( status != RTEMS_SUCCESSFUL )
71    printk( "__gnat_binary_semaphore_release failed %d\n", status );
72
73  return 0;
74}
75
76int __gnat_binary_semaphore_flush(
77  rtems_id semaphore
78)
79{
80  rtems_status_code status;
81
82  printk( "__gnat_binary_semaphore_flush\n" );
83
84  status = rtems_semaphore_flush( semaphore );
85  if ( status != RTEMS_SUCCESSFUL )
86    printk( "__gnat_binary_semaphore_flush failed %d\n", status );
87
88  return 0;
89}
90
91typedef void (*ISRHandler)(void*);
92  void *set_vector( void *, rtems_vector_number, int );
93
94int __gnat_interrupt_connect(
95  int         vector,
96  ISRHandler  handler,
97  void       *parameter
98)
99{
100  printk( "__gnat_interrupt_connect( %d, %p, %p )\n", vector, handler, parameter  );
101  set_vector( handler, vector, 1 );
102  return 0;
103}
104
105int __gnat_interrupt_set(
106  int         vector,
107  ISRHandler  handler
108)
109{
110  printk( "__gnat_interrupt_set( %d, %p )\n", vector, handler );
111
112  set_vector( handler, vector, 1 );
113  return 0;
114}
115
116ISRHandler __gnat_interrupt_get(
117  int         vector
118)
119{
120  printk( "__gnat_interrupt_get( %d )\n", vector );
121  return 0;
122}
123
124int __gnat_interrupt_number_to_vector(
125  int intNum
126)
127{
128  printk( "__gnat_interrupt_number_to_vector( %d )\n", intNum );
129  return intNum;
130}
131
Note: See TracBrowser for help on using the repository browser.