Subversion Repositories HelenOS

Rev

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

Rev 999 Rev 1006
Line 29... Line 29...
29
#ifndef __LIBIPC_IPC_H__
29
#ifndef __LIBIPC_IPC_H__
30
#define __LIBIPC_IPC_H__
30
#define __LIBIPC_IPC_H__
31
 
31
 
32
#include <kernel/ipc/ipc.h>
32
#include <kernel/ipc/ipc.h>
33
#include <libc.h>
33
#include <libc.h>
-
 
34
#include <types.h>
34
 
35
 
35
typedef sysarg_t ipcarg_t;
36
typedef sysarg_t ipcarg_t;
36
typedef ipcarg_t ipc_data_t[IPC_CALL_LEN];
37
typedef sysarg_t ipc_data_t[IPC_CALL_LEN];
-
 
38
typedef struct {
-
 
39
    unsigned long long taskid;
-
 
40
    ipc_data_t data;
-
 
41
}ipc_call_t;
37
typedef sysarg_t ipc_callid_t;
42
typedef sysarg_t ipc_callid_t;
38
 
43
 
39
typedef void (* ipc_async_callback_t)(void *private,
44
typedef void (* ipc_async_callback_t)(void *private,
40
                      int retval,
45
                      int retval,
41
                      ipc_data_t *data);
46
                      ipc_data_t *data);
Line 47... Line 52...
47
               ipcarg_t *result3);
52
               ipcarg_t *result3);
48
 
53
 
49
 
54
 
50
extern int ipc_call_sync(int phoneid, ipcarg_t method, ipcarg_t arg1,
55
extern int ipc_call_sync(int phoneid, ipcarg_t method, ipcarg_t arg1,
51
             ipcarg_t *result);
56
             ipcarg_t *result);
52
extern int ipc_wait_for_call(ipc_data_t *data, int flags);
57
extern int ipc_wait_for_call(ipc_call_t *data, int flags);
53
extern void ipc_answer(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
58
extern void ipc_answer(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
54
               ipcarg_t arg2);
59
               ipcarg_t arg2);
55
 
60
 
56
#define ipc_call_async(phoneid,method,arg1,private, callback) (ipc_call_async_2(phoneid, method, arg1, 0, private, callback))
61
#define ipc_call_async(phoneid,method,arg1,private, callback) (ipc_call_async_2(phoneid, method, arg1, 0, private, callback))
57
void ipc_call_async_2(int phoneid, ipcarg_t method, ipcarg_t arg1,
62
void ipc_call_async_2(int phoneid, ipcarg_t method, ipcarg_t arg1,