Mercurial > flash_v2
comparison packages/hal/common/current/include/drv_api.h @ 177:4c750ce71ae3
Merge from eCos master repository on 2001-08-10-19:22:57-BST
| author | jlarmour |
|---|---|
| date | Fri, 10 Aug 2001 19:27:55 +0000 |
| parents | eb9fd8c04db3 |
| children | e0c0827131d1 |
comparison
equal
deleted
inserted
replaced
| 176:3902ef905c9c | 177:4c750ce71ae3 |
|---|---|
| 92 #define cyg_drv_interrupt_mask cyg_interrupt_mask | 92 #define cyg_drv_interrupt_mask cyg_interrupt_mask |
| 93 #define cyg_drv_interrupt_unmask cyg_interrupt_unmask | 93 #define cyg_drv_interrupt_unmask cyg_interrupt_unmask |
| 94 #define cyg_drv_interrupt_acknowledge cyg_interrupt_acknowledge | 94 #define cyg_drv_interrupt_acknowledge cyg_interrupt_acknowledge |
| 95 #define cyg_drv_interrupt_configure cyg_interrupt_configure | 95 #define cyg_drv_interrupt_configure cyg_interrupt_configure |
| 96 #define cyg_drv_interrupt_level cyg_interrupt_level | 96 #define cyg_drv_interrupt_level cyg_interrupt_level |
| 97 #define cyg_drv_interrupt_set_cpu cyg_interrupt_set_cpu | |
| 98 #define cyg_drv_interrupt_get_cpu cyg_interrupt_get_cpu | |
| 99 | |
| 100 #define cyg_drv_spinlock_t cyg_spinlock_t | |
| 101 #define cyg_drv_spinlock_init cyg_spinlock_init | |
| 102 #define cyg_drv_spinlock_spin cyg_spinlock_spin | |
| 103 #define cyg_drv_spinlock_clear cyg_spinlock_clear | |
| 104 #define cyg_drv_spinlock_try cyg_spinlock_try | |
| 105 #define cyg_drv_spinlock_test cyg_spinlock_test | |
| 106 #define cyg_drv_spinlock_spin_intsave cyg_spinlock_spin_intsave | |
| 107 #define cyg_drv_spinlock_clear_intsave cyg_spinlock_clear_intsave | |
| 97 | 108 |
| 98 #else /* CYGPKG_KERNEL */ | 109 #else /* CYGPKG_KERNEL */ |
| 99 | 110 |
| 100 /*------------------------------------------------------------------------*/ | 111 /*------------------------------------------------------------------------*/ |
| 101 /* Non-kernel version of API */ | 112 /* Non-kernel version of API */ |
| 102 | 113 |
| 103 typedef CYG_ADDRWORD cyg_addrword_t; /* May hold pointer or word */ | 114 typedef CYG_ADDRWORD cyg_addrword_t; /* May hold pointer or word */ |
| 104 typedef cyg_addrword_t cyg_handle_t; /* Object handle */ | 115 typedef cyg_addrword_t cyg_handle_t; /* Object handle */ |
| 105 typedef cyg_uint32 cyg_priority_t; /* type for priorities */ | 116 typedef cyg_uint32 cyg_priority_t; /* type for priorities */ |
| 106 typedef cyg_uint32 cyg_vector_t; /* Interrupt vector id */ | 117 typedef cyg_uint32 cyg_vector_t; /* Interrupt vector id */ |
| 107 typedef int cyg_bool_t; | 118 typedef cyg_uint32 cyg_cpu_t; /* CPU id */ |
| 108 typedef cyg_int32 cyg_code_t; /* type for various codes */ | 119 typedef int cyg_bool_t; |
| 120 typedef cyg_int32 cyg_code_t; /* type for various codes */ | |
| 109 | 121 |
| 110 typedef cyg_uint32 cyg_ISR_t( cyg_vector_t vector, cyg_addrword_t data); | 122 typedef cyg_uint32 cyg_ISR_t( cyg_vector_t vector, cyg_addrword_t data); |
| 111 typedef void cyg_DSR_t(cyg_vector_t vector, | 123 typedef void cyg_DSR_t(cyg_vector_t vector, |
| 112 cyg_ucount32 count, | 124 cyg_ucount32 count, |
| 113 cyg_addrword_t data); | 125 cyg_addrword_t data); |
| 180 cyg_vector_t vector, | 192 cyg_vector_t vector, |
| 181 cyg_bool_t level, | 193 cyg_bool_t level, |
| 182 cyg_bool_t up | 194 cyg_bool_t up |
| 183 ); | 195 ); |
| 184 externC void cyg_drv_interrupt_level( cyg_vector_t vector, cyg_priority_t level ); | 196 externC void cyg_drv_interrupt_level( cyg_vector_t vector, cyg_priority_t level ); |
| 197 externC void cyg_drv_interrupt_set_cpu( cyg_vector_t vector, cyg_cpu_t cpu ); | |
| 198 externC cyg_cpu_t cyg_drv_interrupt_get_cpu( cyg_vector_t vector ); | |
| 185 | 199 |
| 186 | 200 |
| 187 enum cyg_ISR_results | 201 enum cyg_ISR_results |
| 188 { | 202 { |
| 189 CYG_ISR_HANDLED = 1, /* Interrupt was handled */ | 203 CYG_ISR_HANDLED = 1, /* Interrupt was handled */ |
| 190 CYG_ISR_CALL_DSR = 2 /* Schedule DSR */ | 204 CYG_ISR_CALL_DSR = 2 /* Schedule DSR */ |
| 191 }; | 205 }; |
| 192 | 206 |
| 207 | |
| 208 typedef struct | |
| 209 { | |
| 210 cyg_atomic lock; | |
| 211 } cyg_drv_spinlock_t; | |
| 212 | |
| 213 void cyg_drv_spinlock_init( | |
| 214 cyg_drv_spinlock_t *lock, /* spinlock to initialize */ | |
| 215 cyg_bool_t locked /* init locked or unlocked */ | |
| 216 ); | |
| 217 | |
| 218 void cyg_drv_spinlock_destroy( cyg_drv_spinlock_t *lock ); | |
| 219 | |
| 220 void cyg_drv_spinlock_spin( cyg_drv_spinlock_t *lock ); | |
| 221 | |
| 222 void cyg_drv_spinlock_clear( cyg_drv_spinlock_t *lock ); | |
| 223 | |
| 224 cyg_bool_t cyg_drv_spinlock_try( cyg_drv_spinlock_t *lock ); | |
| 225 | |
| 226 cyg_bool_t cyg_drv_spinlock_test( cyg_drv_spinlock_t *lock ); | |
| 227 | |
| 228 void cyg_drv_spinlock_spin_intsave( cyg_drv_spinlock_t *lock, | |
| 229 cyg_addrword_t *istate ); | |
| 230 | |
| 231 void cyg_drv_spinlock_clear_intsave( cyg_drv_spinlock_t *lock, | |
| 232 cyg_addrword_t istate ); | |
| 233 | |
| 193 #endif /* CYGPKG_KERNEL */ | 234 #endif /* CYGPKG_KERNEL */ |
| 194 | 235 |
| 195 /*------------------------------------------------------------------------*/ | 236 /*------------------------------------------------------------------------*/ |
| 196 /* EOF drv_api.h */ | 237 /* EOF drv_api.h */ |
| 197 #endif // CYGONCE_HAL_DRV_API_H | 238 #endif // CYGONCE_HAL_DRV_API_H |
