Subversion Repositories HelenOS-historic

Rev

Rev 995 | Rev 1028 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 995 Rev 999
Line 30... Line 30...
30
#include <ipc.h>
30
#include <ipc.h>
31
#include <ns.h>
31
#include <ns.h>
32
#include <stdio.h>
32
#include <stdio.h>
33
#include <unistd.h>
33
#include <unistd.h>
34
#include <stdlib.h>
34
#include <stdlib.h>
-
 
35
 
35
/*
36
/*
36
static void test_printf(void)
37
static void test_printf(void)
37
{
38
{
38
    printf("Simple text.\n");
39
    printf("Simple text.\n");
39
    printf("Now insert '%s' string.\n","this");
40
    printf("Now insert '%s' string.\n","this");
Line 42... Line 43...
42
    printf(" '%Q' Q! Another '%q' q! \n", 0x1234567887654321ll, 0x1234567887654321ll);
43
    printf(" '%Q' Q! Another '%q' q! \n", 0x1234567887654321ll, 0x1234567887654321ll);
43
    printf(" '%P' with 64bit value and '%p' with 32 bit value. \n", 0x1234567887654321ll, 0x12345678 );
44
    printf(" '%P' with 64bit value and '%p' with 32 bit value. \n", 0x1234567887654321ll, 0x12345678 );
44
    printf("Thats all, folks!\n");
45
    printf("Thats all, folks!\n");
45
}
46
}
46
*/
47
*/
-
 
48
 
47
/*
49
/*
48
static void test_mremap(void)
50
static void test_mremap(void)
49
{
51
{
50
    printf("Writing to good memory\n");
52
    printf("Writing to good memory\n");
51
    mremap(&_heap, 120000, 0);
53
    mremap(&_heap, 120000, 0);
Line 87... Line 89...
87
    data[0] = 'a';
89
    data[0] = 'a';
88
    free(data);
90
    free(data);
89
}
91
}
90
*/
92
*/
91
 
93
 
-
 
94
/*
-
 
95
static void got_answer(void *private, int retval, ipc_data_t *data)
-
 
96
{
-
 
97
    printf("Retval: %d...%s...%X, %X\n", retval, private,
-
 
98
           IPC_GET_ARG1(*data), IPC_GET_ARG2(*data));
-
 
99
}
-
 
100
static void test_async_ipc(void)
-
 
101
{
-
 
102
    ipc_data_t data;
-
 
103
    int i;
-
 
104
 
-
 
105
    printf("Sending ping\n");
-
 
106
    ipc_call_async_2(PHONE_NS, NS_PING, 1, 0xbeefbee2,
-
 
107
             "Pong1", got_answer);
-
 
108
    ipc_call_async_2(PHONE_NS, NS_PING, 2, 0xbeefbee4,
-
 
109
             "Pong2", got_answer);
-
 
110
    ipc_call_async_2(PHONE_NS, NS_PING, 3, 0xbeefbee4,
-
 
111
             "Pong3", got_answer);
-
 
112
    ipc_call_async_2(PHONE_NS, NS_PING, 4, 0xbeefbee4,
-
 
113
             "Pong4", got_answer);
-
 
114
    ipc_call_async_2(PHONE_NS, NS_PING, 5, 0xbeefbee4,
-
 
115
             "Pong5", got_answer);
-
 
116
    ipc_call_async_2(PHONE_NS, NS_PING, 6, 0xbeefbee4,
-
 
117
             "Pong6", got_answer);
-
 
118
    printf("Waiting forever...\n");
-
 
119
    for (i=0; i<100;i++)
-
 
120
        printf(".");
-
 
121
    printf("\n");
-
 
122
    ipc_wait_for_call(&data, NULL);
-
 
123
    printf("Received call???\n");
-
 
124
}
-
 
125
*/
-
 
126
 
92
int main(int argc, char *argv[])
127
int main(int argc, char *argv[])
93
{
128
{
-
 
129
    ipcarg_t arg1, arg2;
-
 
130
 
94
    version_print();
131
    version_print();
95
 
132
 
96
    ipc_call_sync_2(PHONE_NS, NS_PING, 2, 0, 0, 0);
133
    ipc_call_sync_2(PHONE_NS, NS_PING, 0xaaaa, 0xbbbb, &arg1, &arg2);
-
 
134
    printf("Pong: %P %P\n", arg1, arg2);
97
   
135
   
98
    return 0;
136
    return 0;
99
}
137
}