Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2871 → Rev 2872

/branches/tracing/uspace/app/sctrace/ipc.c
9,12 → 9,30
#include "ipc_desc.h"
#include "ipc.h"
 
void ipc_parse_call_out(int phone, ipc_call_t *call)
void ipc_m_print(ipcarg_t method)
{
printf("ipc_parse_call_out()\n");
printf("phone: %d, method: %d, args: (%u, %u, %u, %u, %u)\n",
phone,
IPC_GET_METHOD(*call),
ipc_m_desc_t *desc;
 
/* FIXME: too slow */
desc = ipc_methods;
while (desc->number != 0) {
if (desc->number == method) {
printf("%s (%d)", desc->name, method);
return;
}
 
++desc;
}
 
printf("%d", method);
}
 
void ipc_parse_call_out(int phone, ipc_call_t *call, ipc_callid_t hash)
{
// printf("ipc_parse_call_out()\n");
printf("call id: 0x%x, phone: %d, method: ", hash, phone);
ipc_m_print(IPC_GET_METHOD(*call));
printf(" args: (%u, %u, %u, %u, %u)\n",
IPC_GET_ARG1(*call),
IPC_GET_ARG2(*call),
IPC_GET_ARG3(*call),
23,20 → 41,30
);
}
 
void ipc_parse_call_in(ipc_call_t *call)
void ipc_parse_call_in(ipc_call_t *call, ipc_callid_t hash)
{
printf("ipc_parse_call_in()\n");
printf("phone: %d, method: %d, args: (%u, %u, %u, %u, %u)\n",
call->in_phone_hash,
IPC_GET_METHOD(*call),
// printf("ipc_parse_call_in()\n");
/* printf("phone: %d, method: ", call->in_phone_hash);
ipc_m_print(IPC_GET_METHOD(*call));
printf(" args: (%u, %u, %u, %u, %u)\n",
IPC_GET_ARG1(*call),
IPC_GET_ARG2(*call),
IPC_GET_ARG3(*call),
IPC_GET_ARG4(*call),
IPC_GET_ARG5(*call)
);
);*/
}
 
void ipc_parse_call_sync(int phone, ipc_call_t *call, ipc_call_t *answer)
{
ipc_parse_call_out(phone, call, 0);
ipc_parse_call_in(answer, 0);
}
 
void ipc_parse_hangup(int phone, int rc)
{
printf("hangup phone %d -> %d\n", phone, rc);
}
 
/** @}
*/