6 /*-----------------------------------------------------------------------------
9 typedef struct _IRAM_AREA {
16 /*-----------------------------------------------------------------------------
19 #define IRAM_ATTRIBUTE_NORMAL ((uint32)0x00000000)
20 #define IRAM_ATTRIBUTE_SAVE_CONTEXT ((uint32)0x00000001)
21 #define IRAM_ATTRIBUTE_ZI ((uint32)0x00000002)
23 /*-----------------------------------------------------------------------------
27 typedef struct _IRAM_CLIENT *ICLIENT_HANDLE;
29 /*-----------------------------------------------------------------------------
33 typedef struct _IRAM_LOCK *ILOCK_HANDLE;
35 /*-----------------------------------------------------------------------------
38 #define IRAM_INVALID_HANDLE (NULL)
40 /*-----------------------------------------------------------------------------
43 #define IRAM_WAIT_FOR_EVER (0xFFFFFFFF)
44 #define IRAM_NO_WAIT (0x00000000)
48 #endif /* __cplusplus */
50 /*-----------------------------------------------------------------------------
52 * Initialize IRAM module.
62 BOOLEAN IRAM_Init(const IRAM_AREA *area, int32 count);
64 /*-----------------------------------------------------------------------------
76 ICLIENT_HANDLE IRAM_RegisterArea(const IRAM_AREA *area, int32 count);
78 /*-----------------------------------------------------------------------------
83 * client - Handle returned by IRAM_RegsiterArea
89 BOOLEAN IRAM_UnregisterArea(ICLIENT_HANDLE client);
91 /*-----------------------------------------------------------------------------
104 ILOCK_HANDLE IRAM_LockArea(const IRAM_AREA *area, int32 count, uint32 wait);
106 /*-----------------------------------------------------------------------------
107 * IRAM_LockRegisteredArea
108 * Lock registered area.
111 * client - Handle returned by IRAM_RegisterArea
119 ILOCK_HANDLE IRAM_LockRegisteredArea(ICLIENT_HANDLE client, uint32 wait, BOOLEAN forceZI);
121 /*-----------------------------------------------------------------------------
126 * lock - Handle returned by IRAM_Lock*
132 BOOLEAN IRAM_UnlockArea(ILOCK_HANDLE lock);
136 #endif /* __cplusplus */
138 #endif /* IRAM_MGR_H */