Subversion Repositories Kolibri OS

Rev

Rev 7356 | Rev 7774 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7356 Rev 7515
1
#define MEMSIZE 0xA0000
1
#define MEMSIZE 0xA0000
2
#include "..\lib\kolibri.h" 
2
#include "..\lib\kolibri.h" 
3
#include "..\lib\mem.h" 
3
#include "..\lib\mem.h" 
4
#include "..\lib\strings.h"
4
#include "..\lib\strings.h"
5
#include "..\lib\fs.h"
5
#include "..\lib\fs.h"
6
 
-
 
7
#include "..\lib\dll.h"
-
 
8
#include "..\lib\obj\libio.h"
-
 
9
#include "..\lib\obj\libini.h"
-
 
10
 
6
 
11
#ifndef AUTOBUILD
7
#ifndef AUTOBUILD
12
#include "lang.h--"
8
#include "lang.h--"
13
#endif
9
#endif
14
 
10
 
15
/////////////////////////////////////////////////////////////////////////////////////////
11
/////////////////////////////////////////////////////////////////////////////////////////
16
/////////////////////////              Program data                  ////////////////////
12
/////////////////////////              Program data                  ////////////////////
17
/////////////////////////////////////////////////////////////////////////////////////////
13
/////////////////////////////////////////////////////////////////////////////////////////
18
 
14
 
19
struct ioctl_struct
15
struct ioctl_struct
20
{
16
{
21
	dword	handle;
17
	dword	handle;
22
	dword	io_code;
18
	dword	io_code;
23
	dword	input;
19
	dword	input;
24
	dword	inp_size;
20
	dword	inp_size;
25
	dword	output;
21
	dword	output;
26
	dword	out_size;
22
	dword	out_size;
27
};
23
};
28
 
24
 
29
#define DEV_ADD_DISK 1	//input = structure add_disk_struc
25
#define DEV_ADD_DISK 1	//input = structure add_disk_struc
30
#define DEV_DEL_DISK 2	//input = structure del_disk_struc
26
#define DEV_DEL_DISK 2	//input = structure del_disk_struc
31
 
27
 
32
struct add_disk_struc
28
struct add_disk_struc
33
{
29
{
34
	dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data
30
	dword DiskSize; // in sectors, 1 sector = 512 bytes. Include FAT service data
35
	unsigned char DiskId; // from 0 to 9
31
	unsigned char DiskId; // from 0 to 9
36
};
32
};
37
 
33
 
38
struct del_disk_struc
34
struct del_disk_struc
39
{
35
{
40
	unsigned char DiskId; //from 0 to 9
36
	unsigned char DiskId; //from 0 to 9
41
};
37
};
42
 
38
 
43
 
39
 
44
ioctl_struct ioctl;
40
ioctl_struct ioctl;
45
add_disk_struc add_disk;
41
add_disk_struc add_disk;
46
del_disk_struc del_disk;
42
del_disk_struc del_disk;
47
 
43
 
48
int driver_handle;
44
int driver_handle;
49
 
-
 
50
dword disk_sizes[10];
-
 
51
 
-
 
52
_ini ini = { "/sys/settings/system.ini", "DiskSizes" };
-
 
53
 
45
 
54
/////////////////////////////////////////////////////////////////////////////////////////
46
/////////////////////////////////////////////////////////////////////////////////////////
55
/////////////////////////                    Code                    ////////////////////
47
/////////////////////////                    Code                    ////////////////////
56
/////////////////////////////////////////////////////////////////////////////////////////
48
/////////////////////////////////////////////////////////////////////////////////////////
57
#include "t_console.c"
49
#include "t_console.c"
58
#include "t_gui.c"
50
#include "t_gui.c"
59
 
51
 
60
 
52
 
61
void main()
53
void main()
62
{   
54
{   
63
	driver_handle = LoadDriver("tmpdisk");
55
	driver_handle = LoadDriver("tmpdisk");
64
	if (driver_handle==0)
56
	if (driver_handle==0)
65
	{
57
	{
66
		notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE");
58
		notify("'TmpDisk\nError: /rd1/1/drivers/tmpdisk.obj driver loading failed\nvirtual disk wouldn't be added' -tE");
67
		ExitProcess();
59
		ExitProcess();
68
	}
60
	}
69
 
-
 
70
	GetDiskSizesFromIni();
-
 
71
	
61
 
72
	if (param)
62
	if (param)
73
		Console_Work();
63
		Console_Work();
74
	else
64
	else
75
		Main_Window();
65
		Main_Window();
76
		
-
 
77
	SaveDiskSizesToIni();
66
		
78
	ExitProcess();
67
	ExitProcess();
79
}
68
}
80
 
-
 
81
 
-
 
82
void GetDiskSizesFromIni()
-
 
83
{
-
 
84
	char i, key[2];
-
 
85
	load_dll(libini, #lib_init, 1);
-
 
86
	key[1]=0;
-
 
87
	for (i=0; i<=9; i++)
-
 
88
	{
-
 
89
		key[0]=i+'0';
-
 
90
		disk_sizes[i] = ini.GetInt(#key, 0);
-
 
91
	}
-
 
92
}
-
 
93
 
-
 
94
void SaveDiskSizesToIni()
-
 
95
{
-
 
96
	char i, key[2];
-
 
97
	key[1]=0;
-
 
98
	for (i=0; i<=9; i++)
-
 
99
	{
-
 
100
		key[0]=i+'0';
-
 
101
		if (disk_sizes[i]) ini.SetInt(#key, disk_sizes[i]);
-
 
102
	}
-
 
103
}
-
 
104
 
-
 
105
 
69
 
106
stop:
70
stop: