1 /* 2 ******************************************************************************************************************** 3 * usb_host 4 * 5 * (c) Copyright 2007-2009, javen.China 6 * All Rights Reserved 7 * 8 * File Name : usbh_disk_remove_time.c 9 * 10 * Author : javen 11 * 12 * Version : 1.0 13 * 14 * Date : 2010.05.03 15 * 16 * Description : 17 * 18 * History : 19 * 20 ******************************************************************************************************************** 21 */ 22 //#include "usb_host_base_types.h" 23 #include "usb_os_platform.h" 24 #include "usbh_disk_remove_time.h" 25 #include "error.h" 26 #include "usb_msc_i.h" 27 28 static unsigned int usbh_disk_time[USBH_DISK_REMOVE_TIME_UNIT]; 29 30 /* 31 ********************************************************************* 32 * usbh_disk_save_time 33 * 34 * Description: 35 * 36 * Arguments: 37 * void 38 * Returns: 39 * void 40 * note: 41 * 无 42 * 43 ********************************************************************* 44 */ usbh_disk_save_time(unsigned int time)45void usbh_disk_save_time(unsigned int time) 46 { 47 unsigned int i = 0; 48 49 for (i = 0; i < USBH_DISK_REMOVE_TIME_UNIT; i++) 50 { 51 if (usbh_disk_time[i] == 0) 52 { 53 usbh_disk_time[i] = time; 54 break; 55 } 56 } 57 58 return; 59 } 60 61 /* 62 ********************************************************************* 63 * usbh_disk_del_time 64 * 65 * Description: 66 * 67 * Arguments: 68 * void 69 * Returns: 70 * void 71 * note: 72 * 无 73 * 74 ********************************************************************* 75 */ usbh_disk_del_time(unsigned int time)76void usbh_disk_del_time(unsigned int time) 77 { 78 unsigned int i = 0; 79 80 for (i = 0; i < USBH_DISK_REMOVE_TIME_UNIT; i++) 81 { 82 if (usbh_disk_time[i] == time) 83 { 84 usbh_disk_time[i] = 0; 85 break; 86 } 87 } 88 89 return; 90 } 91 92 /* 93 ********************************************************************* 94 * get_max_disk_time 95 * 96 * Description: 97 * 98 * Arguments: 99 * void 100 * Returns: 101 * void 102 * note: 103 * 无 104 * 105 ********************************************************************* 106 */ get_max_disk_time(void)107unsigned int get_max_disk_time(void) 108 { 109 unsigned int i = 0; 110 unsigned int max = 0; 111 112 for (i = 0; i < USBH_DISK_REMOVE_TIME_UNIT; i++) 113 { 114 if (usbh_disk_time[i] > max) 115 { 116 max = usbh_disk_time[i]; 117 } 118 } 119 120 return max; 121 } 122 123 /* 124 ********************************************************************* 125 * usbh_disk_time_init 126 * 127 * Description: 128 * 129 * Arguments: 130 * void 131 * Returns: 132 * void 133 * note: 134 * 无 135 * 136 ********************************************************************* 137 */ usbh_disk_time_init(void)138void usbh_disk_time_init(void) 139 { 140 memset(usbh_disk_time, 0, 4 * USBH_DISK_REMOVE_TIME_UNIT); 141 } 142 143 /* 144 ********************************************************************* 145 * usbh_disk_time_exit 146 * 147 * Description: 148 * 149 * Arguments: 150 * void 151 * Returns: 152 * void 153 * note: 154 * 无 155 * 156 ********************************************************************* 157 */ usbh_disk_time_exit(void)158void usbh_disk_time_exit(void) 159 { 160 memset(usbh_disk_time, 0, 4 * USBH_DISK_REMOVE_TIME_UNIT); 161 } 162 163