OSDN Git Service

(none)
[hos/hos-v4a.git] / aplfw / system / file / sysvol.h
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  sysvol.h
5  * @brief %jp{システムボリューム}
6  *
7  *  %jp{ルートディレクトリや /dev ディレクトリなど、システム上の仮想ボリュームを管理}
8  *
9  * Copyright (C) 2006-2007 by Project HOS
10  * http://sourceforge.jp/projects/hos/
11  */
12
13
14 #ifndef __HOS__sysvol_h__
15 #define __HOS__sysvol_h__
16
17
18 #include "system/file/file.h"
19 #include "system/file/volumeobj.h"
20
21
22 #define DEVVOL_MAX_DEVICE               16
23
24
25 /* デバイス情報 */
26 struct c_drvobj;
27 typedef struct t_sysvol_devinf
28 {
29         char                    szName[FILE_MAX_NAME];                  /* デバイス名 */
30         struct c_drvobj *pDrvObj;                                               /* デバイスドライバへの参照 */
31         int                             iAttr;                                                  /* デバイスの属性 */
32 } T_SYSVOL_DEVINF;
33
34
35 /* システムボリュームクラス */
36 typedef struct c_sysvol
37 {
38         C_VOLUMEOBJ             VolumeObj;              /* ボリュームオブジェクトを継承 */
39         
40         T_SYSVOL_DEVINF DevTable[DEVVOL_MAX_DEVICE];
41 } C_SYSVOL;
42
43
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47
48 void     SysVol_Create(C_SYSVOL *self);
49 void     SysVol_Delete(C_DRVOBJ *self);
50
51 FILE_ERR SysVol_AddDevice(C_SYSVOL *self, const char *pszName, struct c_drvobj *pDrvObj, int iAttr);
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif  /* __HOS__sysvol_h__ */
58
59
60
61 /* end of file */