navigation.h

Go to the documentation of this file.
00001 /*This file has been 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  * THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED
00029  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00030  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE EXPRESSLY AND
00031  * SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
00032  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00033  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00034  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00035  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00036  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00037  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00038  */
00039 
00040 #ifndef _NAVIGATION_H_
00041 #define _NAVIGATION_H_
00042 
00043 #include "fs_com.h"
00044 #include "fat.h"
00045 
00048 #define  FS_FIND_NEXT      TRUE     
00049 #define  FS_FIND_PREV      FALSE    
00050 
00051 
00052 
00053 //**********************************************************************
00054 //************************ String format select ************************
00055 
00063 void  nav_string_unicode( void );
00064 
00072 void  nav_string_ascii( void );
00073 
00081 void  nav_string_length_enable( void );
00082 
00090 void  nav_string_length_disable( void );
00091 
00092 //**********************************************************************
00093 //********************** To optimize speed access **********************
00094 
00102 void  nav_checkdisk_disable( void );
00103 
00111 void  nav_checkdisk_enable( void );
00112 
00113 
00114 //**********************************************************************
00115 //************** Initialise or Stop navigation module ****************** 
00116 
00117 
00124 void  nav_reset( void );
00125 
00132 void  nav_exit( void );
00133 
00141 Bool  nav_select( U8 u8_idnav );
00142 
00147 U8    nav_get( void );
00148 
00160 Bool  nav_copy( U8 u8_idnav );
00161 
00162 
00163 //**********************************************************************
00164 //********************* Drive navigation functions *********************
00165 
00166 
00175 U8    nav_drive_nb( void );
00176 
00184 Bool  nav_drive_set( U8 u8_number );
00185 
00191 U8    nav_drive_get( void );
00192 
00198 U8    nav_drive_getname( void );
00199 
00216 Bool  nav_drive_format( U8 u8_fat_type );
00217 
00218 
00219 //**********************************************************************
00220 //******************* Partition navigation functions ******************* 
00221 
00222 
00227 U8    nav_partition_nb( void );
00228 
00236 Bool  nav_partition_set( U8 partition_number );
00237 
00249 Bool  nav_partition_mount( void );
00250 
00256 U8    nav_partition_type( void );
00257 
00270 Bool  nav_partition_serialnumber( Bool b_action , U8 _MEM_TYPE_SLOW_ *a_u8_sn );
00271 
00284 Bool  nav_partition_label( Bool b_action , FS_STRING sz_label );
00285 
00295 U32   nav_partition_space( void );
00296 
00301 U8    nav_partition_cluster_size( void );
00302 
00312 U32   nav_partition_freespace( void );
00313 
00323 U8    nav_partition_freespace_percent( void );
00324 
00325 
00326 //**********************************************************************
00327 //****************** File list navigation functions ******************** 
00328 
00337 Bool  nav_filelist_single_enable( Bool b_type );
00338 
00344 Bool  nav_filelist_single_disable( void );
00345 
00351 Bool  nav_filelist_reset( void );
00352 
00358 Bool  nav_filelist_validpos( void );
00359 
00365 Bool  nav_filelist_fileisnotopen( void );
00366 
00384 Bool  nav_filelist_set( U16 u16_nb , Bool b_direction );
00385 
00391 U16   nav_filelist_get( void );
00392 
00400 Bool  nav_filelist_goto( U16 u16_newpos );
00401 
00415 Bool  nav_filelist_findname( const FS_STRING sz_name , Bool b_match_case );
00416 
00422 Bool  nav_filelist_eol( void );
00423 
00429 Bool  nav_filelist_bol( void );
00430 
00439 Bool  nav_filelist_exist( Bool b_type );
00440 
00448 U16   nav_filelist_nb( Bool b_type );
00449 
00458 Bool  nav_filelist_first( Bool b_type );
00459 
00468 Bool  nav_filelist_last( Bool b_type );
00469 
00470 //**********************************************************************
00471 //************************ Index functions *****************************
00472 
00473 
00483 Fs_index nav_getindex( void );
00484 
00497 Bool  nav_gotoindex( const Fs_index _MEM_TYPE_SLOW_ *index );
00498 
00499 //**********************************************************************
00500 //************************ Directory functions *************************
00501 
00502 
00508 Bool  nav_dir_root( void );
00509 
00515 Bool  nav_dir_is_root( void );
00516 
00527 Bool  nav_dir_cd( void );
00528 
00539 Bool  nav_dir_gotoparent( void );
00540 
00549 Bool  nav_dir_name( FS_STRING sz_path  , U8 u8_size_max  );
00550 
00558 Bool  nav_dir_make( const FS_STRING sz_name  );
00559 
00569 Bool  nav_getcwd( FS_STRING sz_path  , U8 u8_size_path , Bool b_view_file_select  );
00570 
00587 Bool  nav_setcwd( FS_STRING sz_path , Bool b_match_case , Bool b_create );
00588 
00589 
00590 //**********************************************************************
00591 //*********************** File control functions ***********************
00592 
00593 
00602 Bool nav_file_getname( FS_STRING sz_name, U8 u8_size_max );
00603 
00619 Bool  nav_file_name( FS_STRING sz_name , U8 u8_size_max , Bool b_mode , Bool b_match_case  );
00620 
00625 U32   nav_file_lgt( void );
00626 
00631 U16   nav_file_lgtsector( void );
00632 
00638 Bool  nav_file_isreadonly( void );
00639 
00645 Bool  nav_file_isdir( void );
00646 
00654 Bool  nav_file_checkext( const FS_STRING sz_filterext );
00655 
00666 Bool  nav_file_dateget( FS_STRING sz_date , Bool type_date );
00667 
00672 U8    nav_file_attributget( void );
00673 
00684 Bool  nav_file_dateset( const FS_STRING sz_date , Bool type_date );
00685 
00693 Bool  nav_file_attributset( U8 u8_attribut );
00694 
00704 Bool  nav_file_del( Bool b_only_empty );
00705   
00713 Bool  nav_file_rename( const FS_STRING sz_name  );
00714 
00726 Bool  nav_file_create( const FS_STRING sz_name  );
00727 
00737 Bool  nav_file_copy( void );
00738 
00750 Bool  nav_file_paste_start( const FS_STRING sz_name  );
00751 
00761 U8    nav_file_paste_state( Bool b_stop );
00762 
00763 #endif  // _NAVIGATION_H_

Generated on Fri May 15 15:41:36 2009 for ATMEL by  doxygen 1.5.3