navigation.h

Go to the documentation of this file.
00001 /*This file is prepared for Doxygen automatic documentation generation.*/
00013 /* Copyright (C) 2006-2008, Atmel Corporation All rights reserved.
00014  *
00015  * Redistribution and use in source and binary forms, with or without
00016  * modification, are permitted provided that the following conditions are met:
00017  *
00018  * 1. Redistributions of source code must retain the above copyright notice,
00019  * this list of conditions and the following disclaimer.
00020  *
00021  * 2. Redistributions in binary form must reproduce the above copyright notice,
00022  * this list of conditions and the following disclaimer in the documentation
00023  * and/or other materials provided with the distribution.
00024  *
00025  * 3. The name of Atmel may not be used to endorse or promote products derived
00026  * from this software without specific prior written permission.
00027  *
00028  * 4. This software may only be redistributed and used in connection with an Atmel
00029  * AVR product.
00030  *
00031  * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
00032  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00033  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY AND
00034  * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
00035  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00036  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00037  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00038  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00039  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00040  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00041  */
00042 
00043 #ifndef _NAVIGATION_H_
00044 #define _NAVIGATION_H_
00045 
00046 #include "fs_com.h"
00047 #include "fat.h"
00048 
00051 #define  FS_FIND_NEXT      TRUE     
00052 #define  FS_FIND_PREV      FALSE    
00053 
00054 
00055 
00056 //**********************************************************************
00057 //************************ String format select ************************
00058 
00066 void  nav_string_unicode( void );
00067 
00075 void  nav_string_ascii( void );
00076 
00084 void  nav_string_length_enable( void );
00085 
00093 void  nav_string_length_disable( void );
00094 
00095 //**********************************************************************
00096 //********************** To optimize speed access **********************
00097 
00105 void  nav_checkdisk_disable( void );
00106 
00114 void  nav_checkdisk_enable( void );
00115 
00116 
00117 //**********************************************************************
00118 //************** Initialise or Stop navigation module ****************** 
00119 
00120 
00127 void  nav_reset( void );
00128 
00135 void  nav_exit( void );
00136 
00144 Bool  nav_select( U8 u8_idnav );
00145 
00150 U8    nav_get( void );
00151 
00163 Bool  nav_copy( U8 u8_idnav );
00164 
00165 
00166 //**********************************************************************
00167 //********************* Drive navigation functions *********************
00168 
00169 
00178 U8    nav_drive_nb( void );
00179 
00187 Bool  nav_drive_set( U8 u8_number );
00188 
00194 U8    nav_drive_get( void );
00195 
00201 U8    nav_drive_getname( void );
00202 
00219 Bool  nav_drive_format( U8 u8_fat_type );
00220 
00221 
00222 //**********************************************************************
00223 //******************* Partition navigation functions ******************* 
00224 
00225 
00230 U8    nav_partition_nb( void );
00231 
00239 Bool  nav_partition_set( U8 partition_number );
00240 
00252 Bool  nav_partition_mount( void );
00253 
00259 U8    nav_partition_type( void );
00260 
00273 Bool  nav_partition_serialnumber( Bool b_action , U8 _MEM_TYPE_SLOW_ *a_u8_sn );
00274 
00287 Bool  nav_partition_label( Bool b_action , FS_STRING sz_label );
00288 
00298 U32   nav_partition_space( void );
00299 
00304 U8    nav_partition_cluster_size( void );
00305 
00315 U32   nav_partition_freespace( void );
00316 
00326 U8    nav_partition_freespace_percent( void );
00327 
00328 
00329 //**********************************************************************
00330 //****************** File list navigation functions ******************** 
00331 
00340 Bool  nav_filelist_single_enable( Bool b_type );
00341 
00347 Bool  nav_filelist_single_disable( void );
00348 
00354 Bool  nav_filelist_reset( void );
00355 
00361 Bool  nav_filelist_validpos( void );
00362 
00368 Bool  nav_filelist_fileisnotopen( void );
00369 
00387 Bool  nav_filelist_set( U16 u16_nb , Bool b_direction );
00388 
00394 U16   nav_filelist_get( void );
00395 
00403 Bool  nav_filelist_goto( U16 u16_newpos );
00404 
00418 Bool  nav_filelist_findname( const FS_STRING sz_name , Bool b_match_case );
00419 
00425 Bool  nav_filelist_eol( void );
00426 
00432 Bool  nav_filelist_bol( void );
00433 
00442 Bool  nav_filelist_exist( Bool b_type );
00443 
00451 U16   nav_filelist_nb( Bool b_type );
00452 
00461 Bool  nav_filelist_first( Bool b_type );
00462 
00471 Bool  nav_filelist_last( Bool b_type );
00472 
00473 //**********************************************************************
00474 //************************ Index functions *****************************
00475 
00476 
00486 Fs_index nav_getindex( void );
00487 
00500 Bool  nav_gotoindex( const Fs_index _MEM_TYPE_SLOW_ *index );
00501 
00502 //**********************************************************************
00503 //************************ Directory functions *************************
00504 
00505 
00511 Bool  nav_dir_root( void );
00512 
00518 Bool  nav_dir_is_root( void );
00519 
00530 Bool  nav_dir_cd( void );
00531 
00542 Bool  nav_dir_gotoparent( void );
00543 
00552 Bool  nav_dir_name( FS_STRING sz_path  , U8 u8_size_max  );
00553 
00561 Bool  nav_dir_make( const FS_STRING sz_name  );
00562 
00572 Bool  nav_getcwd( FS_STRING sz_path  , U8 u8_size_path , Bool b_view_file_select  );
00573 
00590 Bool  nav_setcwd( FS_STRING sz_path , Bool b_match_case , Bool b_create );
00591 
00592 
00593 //**********************************************************************
00594 //*********************** File control functions ***********************
00595 
00596 
00605 Bool nav_file_getname( FS_STRING sz_name, U8 u8_size_max );
00606 
00622 Bool  nav_file_name( FS_STRING sz_name , U8 u8_size_max , Bool b_mode , Bool b_match_case  );
00623 
00628 U32   nav_file_lgt( void );
00629 
00634 U16   nav_file_lgtsector( void );
00635 
00641 Bool  nav_file_isreadonly( void );
00642 
00648 Bool  nav_file_isdir( void );
00649 
00657 Bool  nav_file_checkext( const FS_STRING sz_filterext );
00658 
00669 Bool  nav_file_dateget( FS_STRING sz_date , Bool type_date );
00670 
00675 U8    nav_file_attributget( void );
00676 
00687 Bool  nav_file_dateset( const FS_STRING sz_date , Bool type_date );
00688 
00696 Bool  nav_file_attributset( U8 u8_attribut );
00697 
00707 Bool  nav_file_del( Bool b_only_empty );
00708   
00716 Bool  nav_file_rename( const FS_STRING sz_name  );
00717 
00729 Bool  nav_file_create( const FS_STRING sz_name  );
00730 
00740 Bool  nav_file_copy( void );
00741 
00753 Bool  nav_file_paste_start( const FS_STRING sz_name  );
00754 
00764 U8    nav_file_paste_state( Bool b_stop );
00765 
00766 #endif  // _NAVIGATION_H_

Generated on Wed Sep 23 09:17:02 2009 for ATMEL by  doxygen 1.5.3