mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-11-24 01:39:35 +03:00
Add fs info header
git-svn-id: svn://kolibrios.org@8077 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
66bc551a95
commit
bc232804f3
81
programs/system/shell/system/fs.h
Normal file
81
programs/system/shell/system/fs.h
Normal file
@ -0,0 +1,81 @@
|
||||
typedef unsigned char byte;
|
||||
typedef unsigned short word;
|
||||
typedef unsigned int dword;
|
||||
typedef unsigned long long qword;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
unsigned p00;
|
||||
unsigned p04;
|
||||
unsigned p08;
|
||||
unsigned p12;
|
||||
unsigned p16;
|
||||
char p20;
|
||||
char *p21;
|
||||
} FS_struct70;
|
||||
#pragma pack(pop)
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
byte d;
|
||||
byte m;
|
||||
word y;
|
||||
}date;
|
||||
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
byte s;
|
||||
byte m;
|
||||
byte h;
|
||||
byte zero;
|
||||
}time;
|
||||
|
||||
#pragma pack(push,1)
|
||||
typedef struct
|
||||
{
|
||||
dword attrib;
|
||||
byte enc_name;
|
||||
byte res[3];
|
||||
time c_time;
|
||||
date c_date;
|
||||
time a_time;
|
||||
date a_date;
|
||||
time m_time;
|
||||
date m_date;
|
||||
dword size;
|
||||
byte name[520];
|
||||
} FS_struct_BDVK;
|
||||
#pragma pack(pop)
|
||||
|
||||
static inline int FS_file_70(FS_struct70 *k)
|
||||
{
|
||||
int err=0;
|
||||
asm volatile ("int $0x40":"=a"(err):"a"(70), "b"(k));
|
||||
return err;
|
||||
}
|
||||
|
||||
FS_struct_BDVK ret_struct;
|
||||
|
||||
static inline FS_struct_BDVK* get_bdvk(char *path)
|
||||
{
|
||||
FS_struct70 file_read_struct;
|
||||
file_read_struct.p00 = 5;
|
||||
file_read_struct.p04 = 0;
|
||||
file_read_struct.p08 = 0;
|
||||
file_read_struct.p12 = 0;
|
||||
file_read_struct.p16 = (unsigned)&ret_struct;
|
||||
file_read_struct.p20 = 0;
|
||||
file_read_struct.p21 = path;
|
||||
if(!FS_file_70(&file_read_struct))
|
||||
{
|
||||
return (FS_struct_BDVK*)&ret_struct;
|
||||
}
|
||||
else
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user