Subversion Repositories HelenOS-historic

Rev

Rev 1441 | Rev 1452 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1441 Rev 1449
1
#ifndef _libc_ASYNC_H_
1
#ifndef _libc_ASYNC_H_
2
#define _libc_ASYNC_H_
2
#define _libc_ASYNC_H_
3
 
3
 
4
#include <ipc/ipc.h>
4
#include <ipc/ipc.h>
5
#include <psthread.h>
5
#include <psthread.h>
6
#include <time.h>
6
#include <sys/time.h>
7
 
7
 
8
typedef ipc_callid_t aid_t;
8
typedef ipc_callid_t aid_t;
9
 
9
 
10
int async_manager(void);
10
int async_manager(void);
11
void async_create_manager(void);
11
void async_create_manager(void);
12
void async_destroy_manager(void);
12
void async_destroy_manager(void);
13
int _async_init(void);
13
int _async_init(void);
14
ipc_callid_t async_get_call(ipc_call_t *data);
14
ipc_callid_t async_get_call(ipc_call_t *data);
15
 
15
 
16
pstid_t async_new_connection(ipc_callid_t callid, ipc_call_t *call,
16
pstid_t async_new_connection(ipc_callid_t callid, ipc_call_t *call,
17
                 void (*cthread)(ipc_callid_t,ipc_call_t *));
17
                 void (*cthread)(ipc_callid_t,ipc_call_t *));
18
aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
18
aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
19
           ipc_call_t *dataptr);
19
           ipc_call_t *dataptr);
20
void async_wait_for(aid_t amsgid, ipcarg_t *result);
20
void async_wait_for(aid_t amsgid, ipcarg_t *result);
21
int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout);
21
int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout);
22
 
22
 
23
 
23
 
24
/* Should be defined by application */
24
/* Should be defined by application */
25
void client_connection(ipc_callid_t callid, ipc_call_t *call) __attribute__((weak));
25
void client_connection(ipc_callid_t callid, ipc_call_t *call) __attribute__((weak));
26
 
26
 
27
#endif
27
#endif
28
 
28