Rev 8634 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2502 | Albom | 1 | |
2 | |||
3 | |||
4 | |||
8827 | rgimad | 5 | char name[32]; |
6 | char *buffer; |
||
7 | char *buf1k; |
||
8 | int result; |
||
9 | int i; |
||
10 | char command; |
||
11 | int size; |
||
12 | int is_end; |
||
13 | |||
2502 | Albom | 14 | |
8827 | rgimad | 15 | strcat(name, "-SHELL"); |
16 | |||
2502 | Albom | 17 | |
8827 | rgimad | 18 | buf1k = NULL; |
19 | |||
2502 | Albom | 20 | |
8827 | rgimad | 21 | result = kol_buffer_open(name, SHM_OPEN | SHM_WRITE, 0, &buffer); |
22 | if (buffer != NULL) |
||
23 | break; |
||
24 | |||
2502 | Albom | 25 | |
8827 | rgimad | 26 | } |
27 | |||
2502 | Albom | 28 | |
8827 | rgimad | 29 | return 0; |
30 | else |
||
31 | size = result; |
||
32 | |||
2502 | Albom | 33 | |
8827 | rgimad | 34 | for (;;) { |
35 | command = *(buffer); |
||
36 | |||
37 | |||
38 | case SC_EXIT: |
||
39 | *buffer = SC_OK; |
||
40 | is_end = 1; |
||
41 | break; |
||
42 | |||
43 | |||
44 | kol_sleep(5); |
||
45 | break; |
||
46 | |||
2502 | Albom | 47 | |
8827 | rgimad | 48 | con_cls(); |
49 | *buffer = SC_OK; |
||
50 | break; |
||
51 | |||
52 | |||
53 | printf("%c", *(buffer+1)); |
||
54 | *buffer = SC_OK; |
||
55 | break; |
||
56 | |||
2502 | Albom | 57 | |
8827 | rgimad | 58 | printf("%s", buffer+1 ); |
59 | *buffer = SC_OK; |
||
60 | break; |
||
61 | |||
8633 | turbocat | 62 | |
8827 | rgimad | 63 | *(buffer+1) = (char) getch() ; |
64 | *buffer = SC_OK; |
||
65 | break; |
||
66 | |||
2502 | Albom | 67 | |
8827 | rgimad | 68 | gets(buffer+1, size-2); |
69 | *buffer = SC_OK; |
||
70 | break; |
||
71 | |||
8633 | turbocat | 72 | |
8827 | rgimad | 73 | buf1k=malloc(1024); |
74 | kol_process_info(-1, buf1k); |
||
75 | memcpy(buffer+1, buf1k+30, sizeof(unsigned)); |
||
76 | *buffer = SC_OK; |
||
77 | free(buf1k); |
||
78 | break; |
||
79 | |||
8633 | turbocat | 80 | |
8827 | rgimad | 81 | *buffer = SC_OK; |
82 | break; |
||
83 | |||
8634 | turbocat | 84 | |
8827 | rgimad | 85 | printf (CON_APP_ERROR); |
86 | return 0; |
||
87 | }; |
||
88 | if (is_end) { |
||
89 | printf("\n\r"); |
||
90 | return 1; |
||
91 | } |
||
92 | } // for end |
||
93 | return 9; |
||
94 | }> |
||
2735 | Albom | 95 |