]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Source/FreeRTOS-Plus-FAT/portable/common/ff_sddisk.h
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Source / FreeRTOS-Plus-FAT / portable / common / ff_sddisk.h
1 /*\r
2  * FreeRTOS+FAT build 191128 - Note:  FreeRTOS+FAT is still in the lab!\r
3  * Copyright (C) 2018 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  * Authors include James Walmsley, Hein Tibosch and Richard Barry\r
5  *\r
6  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
7  * this software and associated documentation files (the "Software"), to deal in\r
8  * the Software without restriction, including without limitation the rights to\r
9  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
10  * the Software, and to permit persons to whom the Software is furnished to do so,\r
11  * subject to the following conditions:\r
12  *\r
13  * The above copyright notice and this permission notice shall be included in all\r
14  * copies or substantial portions of the Software.\r
15  *\r
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
18  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
19  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
20  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
22  *\r
23  * https://www.FreeRTOS.org\r
24  *\r
25  */\r
26 \r
27 #ifndef __SDDISK_H__\r
28 \r
29 #define __SDDISK_H__\r
30 \r
31 #ifdef __cplusplus\r
32 extern "C" {\r
33 #endif\r
34 \r
35 #include "ff_headers.h"\r
36 \r
37 \r
38 /* Return non-zero if the SD-card is present.\r
39 The parameter 'pxDisk' may be null, unless device locking is necessary. */\r
40 BaseType_t FF_SDDiskDetect( FF_Disk_t *pxDisk );\r
41 \r
42 /* Create a RAM disk, supplying enough memory to hold N sectors of 512 bytes each */\r
43 FF_Disk_t *FF_SDDiskInit( const char *pcName );\r
44 \r
45 BaseType_t FF_SDDiskReinit( FF_Disk_t *pxDisk );\r
46 \r
47 /* Unmount the volume */\r
48 BaseType_t FF_SDDiskUnmount( FF_Disk_t *pDisk );\r
49 \r
50 /* Mount the volume */\r
51 BaseType_t FF_SDDiskMount( FF_Disk_t *pDisk );\r
52 \r
53 /* Release all resources */\r
54 BaseType_t FF_SDDiskDelete( FF_Disk_t *pDisk );\r
55 \r
56 /* Show some partition information */\r
57 BaseType_t FF_SDDiskShowPartition( FF_Disk_t *pDisk );\r
58 \r
59 /* Flush changes from the driver's buf to disk */\r
60 void FF_SDDiskFlush( FF_Disk_t *pDisk );\r
61 \r
62 /* Format a given partition on an SD-card. */\r
63 BaseType_t FF_SDDiskFormat( FF_Disk_t *pxDisk, BaseType_t aPart );\r
64 \r
65 /* Return non-zero if an SD-card is detected in a given slot. */\r
66 BaseType_t FF_SDDiskInserted( BaseType_t xDriveNr );\r
67 \r
68 /* _RB_ Temporary function - ideally the application would not need the IO\r
69 manageer structure, just a handle to a disk. */\r
70 FF_IOManager_t *sddisk_ioman( FF_Disk_t *pxDisk );\r
71 \r
72 #ifdef __cplusplus\r
73 } /* extern "C" */\r
74 #endif\r
75 \r
76 #endif /* __SDDISK_H__ */\r