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)45 void 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)76 void 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)107 unsigned 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)138 void 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)158 void usbh_disk_time_exit(void)
159 {
160     memset(usbh_disk_time, 0, 4 * USBH_DISK_REMOVE_TIME_UNIT);
161 }
162 
163