Subversion Repositories Kolibri OS

Rev

Rev 8633 | 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
 
8634 turbocat 79
				buf1k=malloc(1024);
8633 turbocat 80
				kol_process_info(-1, buf1k);
81
				memcpy(buffer+1, buf1k+30, sizeof(unsigned));
8634 turbocat 82
				*buffer = SC_OK;
8633 turbocat 83
				free(buf1k);
84
				break;
85
86
 
8634 turbocat 87
				*buffer = SC_OK;
88
				break;
89
90
 
2502 Albom 91
				#if LANG_ENG
92
					printf ("  Error in console application.\n\r");
93
				#elif LANG_RUS
94
					printf ("  Ошибка в консольном приложении.\n\r");
3245 Albom 95
				#endif
2502 Albom 96
				return 0;
97
			};
98
		if (is_end)
99
			{
100
			printf("\n\r");
101
			return 1;
102
			}
103
		}
104
105
 
106
}
2735 Albom 107