Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1027 → Rev 1028

/uspace/trunk/init/init.c
28,10 → 28,10
 
#include "version.h"
#include <ipc.h>
#include <ns.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <ns.h>
 
/*
static void test_printf(void)
46,7 → 46,7
}
*/
 
/*
extern char _heap;
static void test_mremap(void)
{
printf("Writing to good memory\n");
61,7 → 61,6
 
printf("memory done\n");
}
*/
/*
static void test_sbrk(void)
{
91,7 → 90,16
}
*/
 
/*
 
static void test_ping(void)
{
ipcarg_t result;
int retval;
 
retval = ipc_call_sync(PHONE_NS, NS_PING, 0xbeef,&result);
printf("Retval: %d - received: %P\n", retval, result);
}
 
static void got_answer(void *private, int retval, ipc_data_t *data)
{
printf("Retval: %d...%s...%X, %X\n", retval, private,
99,7 → 107,7
}
static void test_async_ipc(void)
{
ipc_data_t data;
ipc_call_t data;
int i;
 
printf("Sending ping\n");
122,16 → 130,39
ipc_wait_for_call(&data, NULL);
printf("Received call???\n");
}
*/
 
 
static void got_answer_2(void *private, int retval, ipc_data_t *data)
{
printf("Pong\n");
}
static void test_advanced_ipc(void)
{
int res;
unsigned long long taskid;
ipc_callid_t callid;
ipc_call_t data;
 
printf("Asking 0 to connect to me...\n");
res = ipc_connect_to_me(0, 1, 2, &taskid);
printf("Result: %d - taskid: %Q\n", res, taskid);
// while (1) {
printf("----------------\n");
ipc_call_async(PHONE_NS, NS_PING_SVC, 0, "prov",
got_answer_2);
callid = ipc_wait_for_call(&data, NULL);
printf("Received ping\n");
ipc_answer(callid, 0, 0, 0);
// }
callid = ipc_wait_for_call(&data, NULL);
}
 
int main(int argc, char *argv[])
{
ipcarg_t arg1, arg2;
 
version_print();
 
ipc_call_sync_2(PHONE_NS, NS_PING, 0xaaaa, 0xbbbb, &arg1, &arg2);
printf("Pong: %P %P\n", arg1, arg2);
// test_ping();
// test_async_ipc();
test_advanced_ipc();
return 0;
}