Subversion Repositories Kolibri OS

Rev

Rev 3247 | Rev 8634 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2502 Albom 1
 
2
3
 
4
 
5
{
6
7
 
8
char *buffer;
9
char *buf1k;
8633 turbocat 10
int result;
2502 Albom 11
int i;
12
char command;
13
int size;
14
int is_end;
15
16
 
2735 Albom 17
strcat(name, "-SHELL");
2502 Albom 18
19
 
20
buf1k = NULL;
8633 turbocat 21
2502 Albom 22
 
23
	{
24
	result = kol_buffer_open(name, SHM_OPEN | SHM_WRITE, 0, &buffer);
25
	if (buffer != NULL)
26
		break;
27
28
 
29
	}
30
31
 
32
		return 0;
33
	else
34
		size = result;
35
36
 
37
	for (;;)
38
		{
39
40
 
41
42
 
43
			{
44
			case SC_EXIT:
45
				*buffer = SC_OK;
46
				is_end = 1;
47
				break;
48
49
 
50
				kol_sleep(5);
51
				break;
52
53
 
54
				con_cls();
55
				*buffer = SC_OK;
56
				break;
57
58
 
59
				printf("%c", *(buffer+1));
60
				*buffer = SC_OK;
61
				break;
62
63
 
64
				printf("%s", buffer+1 );
65
				*buffer = SC_OK;
66
				break;
8633 turbocat 67
68
 
2502 Albom 69
				*(buffer+1) = (char) getch() ;
70
				*buffer = SC_OK;
71
				break;
72
73
 
74
				gets(buffer+1, size-2);
75
				*buffer = SC_OK;
76
				break;
77
8633 turbocat 78
 
79
				buf1k=malloc(1024);
80
				kol_process_info(-1, buf1k);
81
                memcpy(buffer+1, buf1k+30, sizeof(unsigned));
82
				*buffer = SC_OK;
83
				free(buf1k);
84
				break;
85
86
 
2502 Albom 87
				#if LANG_ENG
88
					printf ("  Error in console application.\n\r");
89
				#elif LANG_RUS
90
					printf ("  Ошибка в консольном приложении.\n\r");
3245 Albom 91
				#endif
2502 Albom 92
				return 0;
93
			};
94
		if (is_end)
95
			{
96
			printf("\n\r");
97
			return 1;
98
			}
99
		}
100
101
 
102
}
2735 Albom 103