?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{BLAME START}

library

?curdirlinks? -

Blame information for rev 32

Line No. Rev Author Line
1 32 kaklik /*********************************************************************
2 *
3 * Microchip File System
4 *
5 *********************************************************************
6 * FileName: MPFS.h
7 * Dependencies: StackTsk.H
8 * Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32
9 * Compiler: Microchip C32 v1.05 or higher
10 * Microchip C30 v3.12 or higher
11 * Microchip C18 v3.30 or higher
12 * HI-TECH PICC-18 PRO 9.63PL2 or higher
13 * Company: Microchip Technology, Inc.
14 *
15 * Software License Agreement
16 *
17 * Copyright (C) 2002-2009 Microchip Technology Inc. All rights
18 * reserved.
19 *
20 * Microchip licenses to you the right to use, modify, copy, and
21 * distribute:
22 * (i) the Software when embedded on a Microchip microcontroller or
23 * digital signal controller product ("Device") which is
24 * integrated into Licensee's product; or
25 * (ii) ONLY the Software driver source files ENC28J60.c, ENC28J60.h,
26 * ENCX24J600.c and ENCX24J600.h ported to a non-Microchip device
27 * used in conjunction with a Microchip ethernet controller for
28 * the sole purpose of interfacing with the ethernet controller.
29 *
30 * You should refer to the license agreement accompanying this
31 * Software for additional information regarding your rights and
32 * obligations.
33 *
34 * THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT
35 * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT
36 * LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A
37 * PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL
38 * MICROCHIP BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR
39 * CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF
40 * PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS
41 * BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE
42 * THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER
43 * SIMILAR COSTS, WHETHER ASSERTED ON THE BASIS OF CONTRACT, TORT
44 * (INCLUDING NEGLIGENCE), BREACH OF WARRANTY, OR OTHERWISE.
45 *
46 *
47 * Author Date Comment
48 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49 * Nilesh Rajbharti 8/14/01 Original (Rev. 1.0)
50 * Nilesh Rajbharti 2/9/02 Cleanup
51 * Nilesh Rajbharti 5/22/02 Rev 2.0 (See version.log for detail)
52 * Howard Schlunder 5/31/06 Changed EEPROM addressing to 32 bits
53 ********************************************************************/
54 #ifndef __MPFS_H
55 #define __MPFS_H
56  
57 #if defined(MPFS_USE_EEPROM) || defined(MPFS_USE_SPI_FLASH)
58 typedef DWORD MPFS; // For default 32 bit addressing (use /ll option with MPFS.exe)
59 #define MPFS_INVALID (0xffffffffu) // For default 32 bit addressing (use /ll option with MPFS.exe)
60 // typedef WORD MPFS; // For old short 16 bit addressing (use /b option with MPFS.exe)
61 // #define MPFS_INVALID (0xffff) // For old short 16 bit addressing (use /b option with MPFS.exe)
62 #else
63 #if defined(__C30__)
64 typedef DWORD MPFS;
65 #define MPFS_INVALID (MPFS)(0xffffffffu)
66 #else
67 typedef ROM BYTE* MPFS;
68 #define MPFS_INVALID (MPFS)(0xffffffu)
69 #endif
70 #endif
71  
72 #define MPFS_NOT_AVAILABLE (0x0u)
73  
74 #if defined(MPFS_USE_EEPROM)
75 #if defined(USE_EEPROM_25LC1024)
76 #define MPFS_WRITE_PAGE_SIZE (256u)
77 #else
78 #define MPFS_WRITE_PAGE_SIZE (64u)
79 #endif
80 #endif
81  
82  
83  
84 BOOL MPFSInit(void);
85 MPFS MPFSOpen(BYTE* name);
86 MPFS MPFSOpenROM(ROM BYTE* name);
87 BYTE MPFSGet(void);
88 void MPFSClose(void);
89 MPFS MPFSFormat(void);
90 BOOL MPFSPut(BYTE b);
91 MPFS MPFSPutEnd(void);
92 MPFS MPFSSeek(MPFS offset);
93 BOOL MPFSGetLong(DWORD *ul);
94  
95 #if !defined(__MPFS_C)
96 extern BYTE mpfsOpenCount;
97 extern MPFS _currentHandle;
98 extern BYTE _currentCount;
99 #endif
100  
101  
102 /*********************************************************************
103 * Function: BOOL MPFSGetBegin(MPFS handle)
104 *
105 * PreCondition: MPFSOpen() != MPFS_INVALID &&
106 *
107 * Input: handle - handle of file that is to be read
108 *
109 * Output: TRUE if successful
110 * !TRUE otherwise
111 *
112 * Side Effects: None
113 *
114 * Overview: Prepares MPFS storage media for subsequent reads.
115 *
116 * Note: None
117 ********************************************************************/
118 #if defined(MPFS_USE_EEPROM)
119 BOOL MPFSGetBegin(MPFS handle);
120 #else
121 #define MPFSGetBegin(handle) (_currentHandle = handle)
122 #endif
123  
124  
125 /*********************************************************************
126 * Function: MPFS MPFSGetEnd(void)
127 *
128 * PreCondition: MPFSOpen() != MPFS_INVALID &&
129 * MPFSGetBegin() = TRUE
130 *
131 * Input: None
132 *
133 * Output: Current mpfs handle.
134 *
135 * Side Effects: None
136 *
137 * Overview: Ends on-going read cycle.
138 * MPFS handle that is returned must be used
139 * for subsequent begin gets..
140 *
141 * Note: None
142 ********************************************************************/
143 #if defined(MPFS_USE_EEPROM)
144 MPFS MPFSGetEnd(void);
145 #else
146 #define MPFSGetEnd() _currentHandle
147 #endif
148  
149  
150 /*********************************************************************
151 * Macro: BOOL MPFSIsEOF(void)
152 *
153 * PreCondition: MPFSGetBegin() must be called.
154 *
155 * Input: None
156 *
157 * Output: TRUE if current file read has reached end of file.
158 * FALSE if otherwise.
159 *
160 * Side Effects: None
161 *
162 * Overview: None
163 *
164 * Note: None
165 ********************************************************************/
166 #define MPFSIsEOF() (_currentHandle == MPFS_INVALID)
167  
168  
169 /*********************************************************************
170 * Function: BOOL MPFSPutBegin(MPFS handle)
171 *
172 * PreCondition: MPFSInit() and MPFSFormat() are already called.
173 *
174 * Input: handle - handle to where put to begin
175 *
176 * Output: TRUE if successful
177 * !TRUE otherwise
178 *
179 * Side Effects: None
180 *
181 * Overview: Prepares MPFS image to get re-written
182 *
183 * Note: MPFS will be unaccessible until MPFSClose is
184 * called.
185 ********************************************************************/
186 #if defined(MPFS_USE_EEPROM)
187 BOOL MPFSPutBegin(MPFS handle);
188 #else
189 #define MPFSPutBegin(handle) (_currentHandle = handle)
190 #endif
191  
192 /*********************************************************************
193 * Function: MPFS MPFSTell(void)
194 *
195 * PreCondition: MPFSOpen() is already called.
196 *
197 * Input: None
198 *
199 * Output: current MPFS file pointer
200 *
201 * Side Effects: None.
202 *
203 * Overview: None
204 *
205 * Note: None.
206 ********************************************************************/
207 #define MPFSTell() (_currentHandle)
208  
209  
210 /*********************************************************************
211 * Macro: BYTE MPFSInUse(void)
212 *
213 * PreCondition: None
214 *
215 * Input: None
216 *
217 * Output: No. of file currently open.
218 * If == 0, MPFS is not in use.
219 *
220 * Side Effects: None
221 *
222 * Overview: None
223 *
224 * Note: None
225 ********************************************************************/
226 #define MPFSIsInUse() (mpfsOpenCount)
227  
228 #endif
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3