OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [rtems/] [include/] [rtems/] [rtems/] [asr.h] - Blame information for rev 173

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  asr.h
2
 *
3
 *  This include file contains all the constants and structures associated
4
 *  with the Asynchronous Signal Handler.  This Handler provides the low-level
5
 *  support required by the Signal Manager.
6
 *
7
 *  COPYRIGHT (c) 1989-1999.
8
 *  On-Line Applications Research Corporation (OAR).
9
 *
10
 *  The license and distribution terms for this file may be
11
 *  found in the file LICENSE in this distribution or at
12
 *  http://www.OARcorp.com/rtems/license.html.
13
 *
14
 *  $Id: asr.h,v 1.2 2001-09-27 11:59:18 chris Exp $
15
 */
16
 
17
#ifndef __RTEMS_ASR_h
18
#define __RTEMS_ASR_h
19
 
20
#ifdef __cplusplus
21
extern "C" {
22
#endif
23
 
24
#include <rtems/rtems/modes.h>
25
 
26
/*
27
 *
28
 *  The following type defines the control block used to manage
29
 *  each signal set.
30
 */
31
 
32
typedef unsigned32 rtems_signal_set;
33
 
34
/*
35
 *  Return type for ASR Handler
36
 */
37
 
38
typedef void rtems_asr;
39
 
40
/*
41
 *  The following type corresponds to the applications asynchronous
42
 *  signal processing routine.
43
 */
44
 
45
typedef rtems_asr ( *rtems_asr_entry )(
46
                 rtems_signal_set
47
             );
48
 
49
/*
50
 *
51
 *  The following defines the control structure used to manage
52
 *  signals.  Each thread has a copy of this record.
53
 */
54
 
55
typedef struct {
56
  boolean           is_enabled;       /* are ASRs enabled currently? */
57
  rtems_asr_entry   handler;          /* address of RTEMS_ASR */
58
  Modes_Control     mode_set;         /* RTEMS_ASR mode */
59
  rtems_signal_set  signals_posted;   /* signal set */
60
  rtems_signal_set  signals_pending;  /* pending signal set */
61
  unsigned32        nest_level;       /* nest level of RTEMS_ASR */
62
}   ASR_Information;
63
 
64
/*
65
 *  The following constants define the individual signals which may
66
 *  be used to compose a signal set.
67
 */
68
 
69
#define RTEMS_SIGNAL_0    0x00000001
70
#define RTEMS_SIGNAL_1    0x00000002
71
#define RTEMS_SIGNAL_2    0x00000004
72
#define RTEMS_SIGNAL_3    0x00000008
73
#define RTEMS_SIGNAL_4    0x00000010
74
#define RTEMS_SIGNAL_5    0x00000020
75
#define RTEMS_SIGNAL_6    0x00000040
76
#define RTEMS_SIGNAL_7    0x00000080
77
#define RTEMS_SIGNAL_8    0x00000100
78
#define RTEMS_SIGNAL_9    0x00000200
79
#define RTEMS_SIGNAL_10   0x00000400
80
#define RTEMS_SIGNAL_11   0x00000800
81
#define RTEMS_SIGNAL_12   0x00001000
82
#define RTEMS_SIGNAL_13   0x00002000
83
#define RTEMS_SIGNAL_14   0x00004000
84
#define RTEMS_SIGNAL_15   0x00008000
85
#define RTEMS_SIGNAL_16   0x00010000
86
#define RTEMS_SIGNAL_17   0x00020000
87
#define RTEMS_SIGNAL_18   0x00040000
88
#define RTEMS_SIGNAL_19   0x00080000
89
#define RTEMS_SIGNAL_20   0x00100000
90
#define RTEMS_SIGNAL_21   0x00200000
91
#define RTEMS_SIGNAL_22   0x00400000
92
#define RTEMS_SIGNAL_23   0x00800000
93
#define RTEMS_SIGNAL_24   0x01000000
94
#define RTEMS_SIGNAL_25   0x02000000
95
#define RTEMS_SIGNAL_26   0x04000000
96
#define RTEMS_SIGNAL_27   0x08000000
97
#define RTEMS_SIGNAL_28   0x10000000
98
#define RTEMS_SIGNAL_29   0x20000000
99
#define RTEMS_SIGNAL_30   0x40000000
100
#define RTEMS_SIGNAL_31   0x80000000
101
 
102
#ifndef __RTEMS_APPLICATION__
103
#include <rtems/rtems/asr.inl>
104
#endif
105
 
106
#ifdef __cplusplus
107
}
108
#endif
109
 
110
#endif
111
/* end of include file */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.