227 | | === __int '''_fat_list'''( char* pathname )__ === |
228 | | This function implements the giet_fat_list() system call. |
229 | | It displays the content of a directory identified by the pathname argument. |
230 | | It returns 0 if success. It returns a negative value if error: |
231 | | * -1 : "FAT not initialised |
232 | | * -2 : "Directory not found" |
233 | | * -3 : "Name in path too long |
234 | | * -4 : "Not a directory" |
235 | | * -5 : "Cannot access directory" |
| 227 | === __int '''_fat_opendir'''( char* pathname )__ === |
| 228 | This function implements the giet_fat_opendir() system call. |
| 229 | The semantic is similar to the UNIX opendir() function. If the specified directory does not exist, an error is returned. It allocates a file descriptor to the calling task, for the directory identified by "pathname". If several tasks try to open the same directory, each task obtains a private file descriptor. A node name cannot be larger than 31 characters. |
| 230 | * '''pathname''' : directory complete pathname |
| 231 | Returns a file descriptor for the directory index on success. |
| 232 | Returns a negative value on error: |
| 233 | * GIET_FAT32_NOT_INITIALIZED, |
| 234 | * GIET_FAT32_NAME_TOO_LONG, |
| 235 | * GIET_FAT32_FILE_NOT_FOUND, |
| 236 | * GIET_FAT32_TOO_MANY_OPEN_FILES, |
| 237 | * GIET_FAT32_NOT_A_DIRECTORY |
| 238 | |
| 239 | === __int '''_fat_closedir'''( unsigned int fd_id )__ === |
| 240 | This function implements the "giet_fat_closedir()" system call. |
| 241 | Same behavior as _fat_close(), no check for directory. |
| 242 | * '''fd_id''' : file descriptor index |
| 243 | Returns GIET_FAT32_OK on success. Returns a negative value on error: |
| 244 | * GIET_FAT32_NOT_INITIALIZED, |
| 245 | * GIET_FAT32_INVALID_FD, |
| 246 | * GIET_FAT32_NOT_OPEN, |
| 247 | * GIET_FAT32_IO_ERROR |
| 248 | |
| 249 | === __int '''_fat_readdir'''( unsigned int fd_id, fat_dirent_t* entry )__ === |
| 250 | This function implements the "giet_fat_readdir()" system call. |
| 251 | It reads one directory entry from the file descriptor opened by "giet_fat_opendir()" and writes its info to the "entry" argument. This includes the cluster, size, is_dir and name info for each entry. |
| 252 | * '''fd_id''' : file descriptor index |
| 253 | * '''entry''' : pointer to write |
| 254 | Returns GIET_FAT32_OK on success. Returns a negative value on error: |
| 255 | * GIET_FAT32_NOT_INITIALIZED, |
| 256 | * GIET_FAT32_INVALID_FD, |
| 257 | * GIET_FAT32_NOT_OPEN, |
| 258 | * GIET_FAT32_NOT_A_DIRECTORY, |
| 259 | * GIET_FAT32_IO_ERROR, |
| 260 | * GIET_FAT32_NO_MORE_ENTRIES |