]> rtime.felk.cvut.cz Git - arc.git/blob - include/MemIf_Types.h
Initial commit.
[arc.git] / include / MemIf_Types.h
1 /* -------------------------------- Arctic Core ------------------------------
2  * Arctic Core - the open source AUTOSAR platform http://arccore.com
3  *
4  * Copyright (C) 2009  ArcCore AB <contact@arccore.com>
5  *
6  * This source code is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published by the
8  * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
13  * for more details.
14  * -------------------------------- Arctic Core ------------------------------*/
15
16
17
18
19
20
21
22
23 #ifndef MEMIF_TYPES_H_
24 #define MEMIF_TYPES_H_
25
26 typedef enum {
27
28         //      The underlying abstraction module or device driver has
29         //      not been initialized (yet).
30         MEMIF_UNINIT,
31         // The underlying abstraction module or device driver is
32         // currently idle.
33         MEMIF_IDLE,
34         
35         // The underlying abstraction module or device driver is
36         // currently busy.
37         MEMIF_BUSY,
38         
39         //      The underlying abstraction module is busy with internal
40         // management operations. The underlying device driver
41         // can be busy or idle.
42         MEMIF_BUSY_INTERNAL              
43 } MemIf_StatusType;
44
45 typedef enum {
46         //The job has been finished successfully.
47         MEMIF_JOB_OK,
48         // The job has not been finished successfully.
49         MEMIF_JOB_FAILED,
50         //      The job has not yet been finished.
51         MEMIF_JOB_PENDING,
52         //      The job has been cancelled.
53         MEMIF_JOB_CANCELLED,
54         //      The requested block is inconsistent, it may contain
55         //      corrupted data.        
56         MEMIF_BLOCK_INCONSISTENT,
57         // The requested block has been marked as invalid,
58         // the requested operation can not be performed.
59         MEMIF_BLOCK_INVALID, 
60         
61 } MemIf_JobResultType; 
62
63
64 typedef enum {
65         //    The underlying memory abstraction modules and
66         //    drivers are working in slow mode.
67         MEMIF_MODE_SLOW,
68         // The underlying memory abstraction modules and
69         // drivers are working in fast mode.
70     MEMIF_MODE_FAST,
71 } MemIf_ModeType;
72
73 // TODO: I have no idea where the types below are specified
74 // In Eep these are defined in the header file
75 // In Fls these are not found in the spec at all..
76 typedef uint32 MemIf_AddressType;
77 typedef uint32 MemIf_LengthType;
78
79 #endif /*MEMIF_TYPES_H_*/