Subversion Repositories HelenOS

Rev

Rev 4581 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4581 Rev 4718
Line 106... Line 106...
106
        ipc_callid_t callid = ipc_wait_for_call(&call);
106
        ipc_callid_t callid = ipc_wait_for_call(&call);
107
       
107
       
108
        task_id_t id;
108
        task_id_t id;
109
        ipcarg_t retval;
109
        ipcarg_t retval;
110
       
110
       
111
        if (callid & IPC_CALLID_NOTIFICATION) {
-
 
112
            id = (task_id_t)
-
 
113
                MERGE_LOUP32(IPC_GET_ARG2(call), IPC_GET_ARG3(call));
-
 
114
            wait_notification((wait_type_t) IPC_GET_ARG1(call), id);
-
 
115
            continue;
-
 
116
        }
-
 
117
       
-
 
118
        switch (IPC_GET_METHOD(call)) {
111
        switch (IPC_GET_METHOD(call)) {
119
        case IPC_M_SHARE_IN:
112
        case IPC_M_SHARE_IN:
120
            switch (IPC_GET_ARG3(call)) {
113
            switch (IPC_GET_ARG3(call)) {
121
            case SERVICE_MEM_REALTIME:
114
            case SERVICE_MEM_REALTIME:
122
                get_as_area(callid, &call,
115
                get_as_area(callid, &call,
Line 131... Line 124...
131
            default:
124
            default:
132
                ipc_answer_0(callid, ENOENT);
125
                ipc_answer_0(callid, ENOENT);
133
            }
126
            }
134
            continue;
127
            continue;
135
        case IPC_M_PHONE_HUNGUP:
128
        case IPC_M_PHONE_HUNGUP:
136
            retval = EOK;
129
            retval = ns_task_disconnect(&call);
137
            break;
130
            break;
138
        case IPC_M_CONNECT_TO_ME:
131
        case IPC_M_CONNECT_TO_ME:
139
            /*
132
            /*
140
             * Server requests service registration.
133
             * Server requests service registration.
141
             */
134
             */
Line 168... Line 161...
168
        case NS_TASK_WAIT:
161
        case NS_TASK_WAIT:
169
            id = (task_id_t)
162
            id = (task_id_t)
170
                MERGE_LOUP32(IPC_GET_ARG1(call), IPC_GET_ARG2(call));
163
                MERGE_LOUP32(IPC_GET_ARG1(call), IPC_GET_ARG2(call));
171
            wait_for_task(id, &call, callid);
164
            wait_for_task(id, &call, callid);
172
            continue;
165
            continue;
-
 
166
        case NS_ID_INTRO:
-
 
167
            retval = ns_task_id_intro(&call);
-
 
168
            break;
-
 
169
        case NS_RETVAL:
-
 
170
            retval = ns_task_retval(&call);
-
 
171
            break;
173
        default:
172
        default:
174
            retval = ENOENT;
173
            retval = ENOENT;
175
            break;
174
            break;
176
        }
175
        }
177
       
176