Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2675 → Rev 2676

/trunk/uspace/lib/libc/include/ipc/ipc.h
266,8 → 266,7
extern int ipc_data_read_receive(ipc_callid_t *callid, size_t *size);
extern int ipc_data_read_deliver(ipc_callid_t callid, void *src, size_t size);
extern int ipc_data_write_send(int phoneid, void *src, size_t size);
extern int ipc_data_write_receive(ipc_callid_t *callid, void **dst,
size_t *size);
extern int ipc_data_write_receive(ipc_callid_t *callid, size_t *size);
extern int ipc_data_write_deliver(ipc_callid_t callid, void *dst, size_t size);
 
#endif
/trunk/uspace/lib/libc/generic/ipc.c
735,7 → 735,7
*/
int ipc_data_write_send(int phoneid, void *src, size_t size)
{
return ipc_call_sync_3_0(phoneid, IPC_M_DATA_WRITE, 0, (ipcarg_t) src,
return ipc_call_sync_2_0(phoneid, IPC_M_DATA_WRITE, (ipcarg_t) src,
(ipcarg_t) size);
}
 
748,14 → 748,12
*
* @param callid Storage where the hash of the IPC_M_DATA_WRITE call will
* be stored.
* @param dst Storage where the suggested destination address will
* be stored. May be NULL.
* @param size Storage where the suggested size will be stored. May be
* NULL
*
* @return Non-zero on success, zero on failure.
*/
int ipc_data_write_receive(ipc_callid_t *callid, void **dst, size_t *size)
int ipc_data_write_receive(ipc_callid_t *callid, size_t *size)
{
ipc_call_t data;
764,10 → 762,8
*callid = async_get_call(&data);
if (IPC_GET_METHOD(data) != IPC_M_DATA_WRITE)
return 0;
if (dst)
*dst = (void *) IPC_GET_ARG1(data);
if (size)
*size = (size_t) IPC_GET_ARG3(data);
*size = (size_t) IPC_GET_ARG2(data);
return 1;
}
 
784,7 → 780,7
*/
int ipc_data_write_deliver(ipc_callid_t callid, void *dst, size_t size)
{
return ipc_answer_3(callid, EOK, (ipcarg_t) dst, 0, (ipcarg_t) size);
return ipc_answer_2(callid, EOK, (ipcarg_t) dst, (ipcarg_t) size);
}
/** @}
/trunk/uspace/srv/fs/tmpfs/tmpfs_ops.c
338,7 → 338,7
*/
ipc_callid_t callid;
size_t len;
if (!ipc_data_write_receive(&callid, NULL, &len)) {
if (!ipc_data_write_receive(&callid, &len)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
/trunk/uspace/srv/devmap/devmap.c
202,7 → 202,7
/*
* Get driver name
*/
if (!ipc_data_write_receive(&callid, NULL, &name_size)) {
if (!ipc_data_write_receive(&callid, &name_size)) {
printf("Unexpected request.\n");
free(driver);
ipc_answer_0(callid, EREFUSED);
368,7 → 368,7
}
/* Get device name */
if (!ipc_data_write_receive(&callid, NULL, &size)) {
if (!ipc_data_write_receive(&callid, &size)) {
free(device);
printf("Cannot read device name.\n");
ipc_answer_0(iid, EREFUSED);
489,7 → 489,7
* Wait for incoming message with device name (but do not
* read the name itself until the buffer is allocated).
*/
if (!ipc_data_write_receive(&callid, NULL, &name_size)) {
if (!ipc_data_write_receive(&callid, &name_size)) {
ipc_answer_0(callid, EREFUSED);
ipc_answer_0(iid, EREFUSED);
return;
/trunk/uspace/srv/vfs/vfs_open.c
61,7 → 61,7
 
ipc_callid_t callid;
 
if (!ipc_data_write_receive(&callid, NULL, &size)) {
if (!ipc_data_write_receive(&callid, &size)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
/trunk/uspace/srv/vfs/vfs_mount.c
86,7 → 86,7
* Now, we expect the client to send us data with the name of the file
* system.
*/
if (!ipc_data_write_receive(&callid, NULL, &size)) {
if (!ipc_data_write_receive(&callid, &size)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
122,7 → 122,7
/*
* Now, we want the client to send us the mount point.
*/
if (!ipc_data_write_receive(&callid, NULL, &size)) {
if (!ipc_data_write_receive(&callid, &size)) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);
return;
/trunk/uspace/srv/vfs/vfs_register.c
164,7 → 164,7
* The first call has to be IPC_M_DATA_SEND in which we receive the
* VFS info structure from the client FS.
*/
if (!ipc_data_write_receive(&callid, NULL, &size)) {
if (!ipc_data_write_receive(&callid, &size)) {
/*
* The client doesn't obey the same protocol as we do.
*/
/trunk/uspace/srv/vfs/vfs_rdwr.c
73,7 → 73,7
if (read)
res = ipc_data_read_receive(&callid, NULL);
else
res = ipc_data_write_receive(&callid, NULL, NULL);
res = ipc_data_write_receive(&callid, NULL);
if (!res) {
ipc_answer_0(callid, EINVAL);
ipc_answer_0(rid, EINVAL);