Subversion Repositories Kolibri OS

Rev

Rev 2735 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2502 Albom 1
 
2
#include "system/string.h"
3
4
 
5
6
 
3268 Albom 7
char		name[32]; // имя нужно как для создания области, так и для удаления, поэтому можно сделать её глобальной переменной
8
2502 Albom 9
 
3268 Albom 10
{
2502 Albom 11
12
 
13
unsigned	PID;
14
int			result;
15
16
 
17
 
18
if (NULL == buf1k)
19
	return -1;
20
21
 
3268 Albom 22
PID = *(buf1k+30);
2502 Albom 23
free(buf1k);
24
25
 
3268 Albom 26
strcat(name, "-SHELL");
2502 Albom 27
28
 
29
result = kol_buffer_open(name, SHM_OPEN_ALWAYS | SHM_WRITE, 1024*16, &buffer); // создаём область (16 кбайт)
3268 Albom 30
2502 Albom 31
 
32
}
33
34
 
35
 
36
 
37
{
38
*buffer = SC_PUTS;
39
strcpy(buffer+1, str);
40
while (*buffer) kol_sleep(5);
41
}
42
43
 
44
 
45
{
46
*buffer = SC_EXIT;
47
while (*buffer) kol_sleep(5);
48
kol_buffer_close(name);
49
}
50
51
 
52
 
53
{
54
*buffer = SC_GETS;
55
while (*buffer) kol_sleep(5);
56
strcpy(str, buffer+1);
57
}
58
59
 
60
 
61
{
62
*buffer = SC_GETC;
63
while (*buffer) kol_sleep(5);
64
return *(buffer+1);
65
}
66
67
 
68
 
69
{
70
*buffer = SC_PUTC;
71
*(buffer+1) = c;
72
while (*buffer) kol_sleep(5);
73
}
74
75
 
76
 
77
 
78
{
79
*buffer = SC_CLS;
80
while (*buffer) kol_sleep(5);
81
}
82
83
 
84
 
85
 
86
 
87
{
88
89
 
90
91
 
92
93
 
94
sc_puts("This is a test console application for Shell\n\r");
95
sc_puts("Type a string (255 symbols max): ");
96
sc_gets(string);
97
sc_puts("You typed:\n\r");
98
sc_puts(string);
99
sc_puts("Press any key: ");
100
string[0] = sc_getc();
101
sc_puts("\n\rYou pressed: ");
102
sc_putc(string[0]);
103
104
 
105
106
 
107
 
108
 
109