Subversion Repositories HelenOS

Rev

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

Rev 2637 Rev 2677
Line 101... Line 101...
101
    }
101
    }
102
 
102
 
103
    /*
103
    /*
104
     * Now we wait for the client to send us its communication as_area.
104
     * Now we wait for the client to send us its communication as_area.
105
     */
105
     */
106
    callid = async_get_call(&call);
106
    size_t size;
107
    if (IPC_GET_METHOD(call) == IPC_M_AS_AREA_SEND) {
107
    if (ipc_share_out_receive(&callid, &size, NULL)) {
108
        if (IPC_GET_ARG1(call) >= (ipcarg_t) BLOCK_SIZE) {
108
        if (size >= BLOCK_SIZE) {
109
            /*
109
            /*
110
             * The client sends an as_area that can absorb the whole
110
             * The client sends an as_area that can absorb the whole
111
             * block.
111
             * block.
112
             */
112
             */
113
            ipc_answer_1(callid, EOK, (uintptr_t) fs_va);
113
            (void) ipc_share_out_deliver(callid, fs_va);
114
        } else {
114
        } else {
115
            /*
115
            /*
116
             * The client offered as_area too small.
116
             * The client offered as_area too small.
117
             * Close the connection.
117
             * Close the connection.
118
             */
118
             */