OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / driver / serial / at91 / at91usartdrv_close.c
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  at91usartdrv_close.c
5  * @brief %jp{ATMEL AT91シリーズUSART用デバイスドライバ}
6  *
7  * Copyright (C) 2006-2007 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #include "at91usartdrv_local.h"
13
14
15 /** クローズ */
16 void At91UsartDrv_Close(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj)
17 {
18         C_AT91USARTDRV  *self;
19         C_CHRFILE               *pChrFile;
20         
21         /* upper cast */
22         self     = (C_AT91USARTDRV *)pDrvObj;
23         pChrFile = (C_CHRFILE *)pFileObj;
24
25         /* クローズ処理 */
26         if ( --self->iOpenCount == 0 )
27         {
28                 SysInt_Disable(self->iIntNum);
29                 StreamBuf_ClearBuf(&self->StmBufRecv);
30         }
31         
32         /* ディスクリプタ削除 */
33         ChrFile_Delete(pChrFile);       
34         SysMem_Free(pFileObj);
35 }
36
37
38 /* end of file */