Subversion Repositories Kolibri OS

Rev

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