Subversion Repositories HelenOS

Rev

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

Rev 3424 Rev 4377
Line 130... Line 130...
130
    aid_t req;
130
    aid_t req;
131
    ipc_call_t answer;
131
    ipc_call_t answer;
132
    int phone;
132
    int phone;
133
    ipcarg_t callback_phonehash;
133
    ipcarg_t callback_phonehash;
134
 
134
 
135
    phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0);
135
    phone = ipc_connect_me_to_blocking(PHONE_NS, SERVICE_DEVMAP, DEVMAP_DRIVER, 0);
136
 
-
 
137
    while (phone < 0) {
136
    if (phone < 0) {
138
        usleep(100000);
-
 
139
        phone = ipc_connect_me_to(PHONE_NS, SERVICE_DEVMAP,
137
        printf("Failed to connect to device mapper\n");
140
            DEVMAP_DRIVER, 0);
138
        return -1;
141
    }
139
    }
142
   
140
   
143
    req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer);
141
    req = async_send_2(phone, DEVMAP_DRIVER_REGISTER, 0, 0, &answer);
144
 
142
 
145
    retval = ipc_data_write_start(phone, (char *)name, strlen(name) + 1);
143
    retval = ipc_data_write_start(phone, (char *)name, str_size(name) + 1);
146
 
144
 
147
    if (retval != EOK) {
145
    if (retval != EOK) {
148
        async_wait_for(req, NULL);
146
        async_wait_for(req, NULL);
149
        return -1;
147
        return -1;
150
    }
148
    }
Line 173... Line 171...
173
    ipc_call_t answer;
171
    ipc_call_t answer;
174
 
172
 
175
    req = async_send_2(driver_phone, DEVMAP_DEVICE_GET_HANDLE, 0, 0,
173
    req = async_send_2(driver_phone, DEVMAP_DEVICE_GET_HANDLE, 0, 0,
176
        &answer);
174
        &answer);
177
 
175
 
178
    retval = ipc_data_write_start(driver_phone, name, strlen(name) + 1);
176
    retval = ipc_data_write_start(driver_phone, name, str_size(name) + 1);
179
 
177
 
180
    if (retval != EOK) {
178
    if (retval != EOK) {
181
        printf("Failed to send device name '%s'.\n", name);
179
        printf("Failed to send device name '%s'.\n", name);
182
        async_wait_for(req, NULL);
180
        async_wait_for(req, NULL);
183
        return retval;
181
        return retval;
Line 215... Line 213...
215
    ipc_call_t answer;
213
    ipc_call_t answer;
216
 
214
 
217
    req = async_send_2(driver_phone, DEVMAP_DEVICE_REGISTER, 0, 0, &answer);
215
    req = async_send_2(driver_phone, DEVMAP_DEVICE_REGISTER, 0, 0, &answer);
218
 
216
 
219
    retval = ipc_data_write_start(driver_phone, (char *)name,
217
    retval = ipc_data_write_start(driver_phone, (char *)name,
220
        strlen(name) + 1);
218
        str_size(name) + 1);
221
 
219
 
222
    if (retval != EOK) {
220
    if (retval != EOK) {
223
        printf("Failed to send device name '%s'.\n", name);
221
        printf("Failed to send device name '%s'.\n", name);
224
        async_wait_for(req, NULL);
222
        async_wait_for(req, NULL);
225
        return retval;
223
        return retval;