Changeset b4ca0a9c in mainline for uspace/srv
- Timestamp:
- 2012-07-10T11:53:50Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1e01a35
- Parents:
- a33706e (diff), 33fc3ae (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/srv
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/ata_bd/ata_bd.c
ra33706e rb4ca0a9c 191 191 } 192 192 193 printf( NAME ": Accepting connections\n");193 printf("%s: Accepting connections\n", NAME); 194 194 task_retval(0); 195 195 async_manager(); … … 243 243 static int ata_bd_init(void) 244 244 { 245 async_set_client_connection(ata_bd_connection); 246 int rc = loc_server_register(NAME); 247 if (rc != EOK) { 248 printf("%s: Unable to register driver.\n", NAME); 249 return rc; 250 } 251 245 252 void *vaddr; 246 int rc;247 248 async_set_client_connection(ata_bd_connection);249 rc = loc_server_register(NAME);250 if (rc < 0) {251 printf(NAME ": Unable to register driver.\n");252 return rc;253 }254 255 253 rc = pio_enable((void *) cmd_physical, sizeof(ata_cmd_t), &vaddr); 256 254 if (rc != EOK) { 257 printf( NAME ": Could not initialize device I/O space.\n");255 printf("%s: Could not initialize device I/O space.\n", NAME); 258 256 return rc; 259 257 } 260 258 261 259 cmd = vaddr; 262 260 263 261 rc = pio_enable((void *) ctl_physical, sizeof(ata_ctl_t), &vaddr); 264 262 if (rc != EOK) { 265 printf( NAME ": Could not initialize device I/O space.\n");263 printf("%s: Could not initialize device I/O space.\n", NAME); 266 264 return rc; 267 265 } 268 266 269 267 ctl = vaddr; 270 271 268 272 269 return EOK; 273 270 } … … 311 308 312 309 (void) async_share_out_finalize(callid, &fs_va); 313 if (fs_va == (void *) -1) {310 if (fs_va == AS_MAP_FAILED) { 314 311 async_answer_0(callid, EHANGUP); 315 312 return; -
uspace/srv/bd/file_bd/file_bd.c
ra33706e rb4ca0a9c 119 119 rc = loc_service_register(device_name, &service_id); 120 120 if (rc != EOK) { 121 printf( NAME ": Unable to register device '%s'.\n",122 121 printf("%s: Unable to register device '%s'.\n", 122 NAME, device_name); 123 123 return rc; 124 124 } 125 126 printf( NAME ": Accepting connections\n");125 126 printf("%s: Accepting connections\n", NAME); 127 127 task_retval(0); 128 128 async_manager(); 129 129 130 130 /* Not reached */ 131 131 return 0; … … 139 139 static int file_bd_init(const char *fname) 140 140 { 141 int rc;142 long img_size;143 144 141 async_set_client_connection(file_bd_connection); 145 rc = loc_server_register(NAME);146 if (rc < 0) {147 printf( NAME ": Unable to register driver.\n");142 int rc = loc_server_register(NAME); 143 if (rc != EOK) { 144 printf("%s: Unable to register driver.\n", NAME); 148 145 return rc; 149 146 } 150 147 151 148 img = fopen(fname, "rb+"); 152 149 if (img == NULL) 153 150 return EINVAL; 154 151 155 152 if (fseek(img, 0, SEEK_END) != 0) { 156 153 fclose(img); 157 154 return EIO; 158 155 } 159 160 img_size = ftell(img);156 157 off64_t img_size = ftell(img); 161 158 if (img_size < 0) { 162 159 fclose(img); 163 160 return EIO; 164 161 } 165 162 166 163 num_blocks = img_size / block_size; 167 164 168 165 fibril_mutex_initialize(&dev_lock); 169 166 170 167 return EOK; 171 168 } … … 192 189 193 190 (void) async_share_out_finalize(callid, &fs_va); 194 if (fs_va == (void *) -1) {191 if (fs_va == AS_MAP_FAILED) { 195 192 async_answer_0(callid, EHANGUP); 196 193 return; -
uspace/srv/bd/gxe_bd/gxe_bd.c
ra33706e rb4ca0a9c 122 122 static int gxe_bd_init(void) 123 123 { 124 async_set_client_connection(gxe_bd_connection); 125 int rc = loc_server_register(NAME); 126 if (rc != EOK) { 127 printf("%s: Unable to register driver.\n", NAME); 128 return rc; 129 } 130 124 131 void *vaddr; 125 int rc, i;126 char name[16];127 128 async_set_client_connection(gxe_bd_connection);129 rc = loc_server_register(NAME);130 if (rc < 0) {131 printf(NAME ": Unable to register driver.\n");132 return rc;133 }134 135 132 rc = pio_enable((void *) dev_physical, sizeof(gxe_bd_t), &vaddr); 136 133 if (rc != EOK) { 137 printf( NAME ": Could not initialize device I/O space.\n");134 printf("%s: Could not initialize device I/O space.\n", NAME); 138 135 return rc; 139 136 } 140 137 141 138 dev = vaddr; 142 143 for (i = 0; i < MAX_DISKS; i++) { 144 snprintf(name, 16, "%s/disk%d", NAMESPACE, i); 139 140 for (unsigned int i = 0; i < MAX_DISKS; i++) { 141 char name[16]; 142 143 snprintf(name, 16, "%s/disk%u", NAMESPACE, i); 145 144 rc = loc_service_register(name, &service_id[i]); 146 145 if (rc != EOK) { 147 printf(NAME ": Unable to register device %s.\n", name); 146 printf("%s: Unable to register device %s.\n", NAME, 147 name); 148 148 return rc; 149 149 } 150 150 151 fibril_mutex_initialize(&dev_lock[i]); 151 152 } 152 153 153 154 return EOK; 154 155 } … … 195 196 196 197 (void) async_share_out_finalize(callid, &fs_va); 197 if (fs_va == (void *) -1) {198 if (fs_va == AS_MAP_FAILED) { 198 199 async_answer_0(callid, EHANGUP); 199 200 return; -
uspace/srv/bd/part/guid_part/guid_part.c
ra33706e rb4ca0a9c 170 170 return rc; 171 171 } 172 172 173 173 /* 174 174 * Create partition devices. … … 350 350 351 351 (void) async_share_out_finalize(callid, &fs_va); 352 if (fs_va == (void *) -1) {352 if (fs_va == AS_MAP_FAILED) { 353 353 async_answer_0(callid, EHANGUP); 354 354 return; -
uspace/srv/bd/part/mbr_part/mbr_part.c
ra33706e rb4ca0a9c 427 427 428 428 (void) async_share_out_finalize(callid, &fs_va); 429 if (fs_va == (void *) -1) {429 if (fs_va == AS_MAP_FAILED) { 430 430 async_answer_0(callid, EHANGUP); 431 431 return; -
uspace/srv/bd/rd/rd.c
ra33706e rb4ca0a9c 106 106 if (async_share_out_receive(&callid, &comm_size, &flags)) { 107 107 (void) async_share_out_finalize(callid, &fs_va); 108 if (fs_va == (void *) -1) {108 if (fs_va == AS_MAP_FAILED) { 109 109 async_answer_0(callid, EHANGUP); 110 110 return; … … 237 237 async_set_client_connection(rd_connection); 238 238 ret = loc_server_register(NAME); 239 if (ret < 0) {239 if (ret != EOK) { 240 240 printf("%s: Unable to register driver (%d)\n", NAME, ret); 241 241 return false; -
uspace/srv/clipboard/clipboard.c
ra33706e rb4ca0a9c 181 181 182 182 async_set_client_connection(clip_connection); 183 184 if ( service_register(SERVICE_CLIPBOARD)!= EOK)185 return -1;183 int rc = service_register(SERVICE_CLIPBOARD); 184 if (rc != EOK) 185 return rc; 186 186 187 187 printf("%s: Accepting connections\n", NAME); -
uspace/srv/devman/devman.h
ra33706e rb4ca0a9c 210 210 }; 211 211 212 213 212 /** Represents device tree. */ 214 213 typedef struct dev_tree { -
uspace/srv/devman/main.c
ra33706e rb4ca0a9c 245 245 246 246 fibril_rwlock_write_lock(&device_tree.rwlock); 247 247 248 248 if (fun->state == FUN_ON_LINE) { 249 249 fibril_rwlock_write_unlock(&device_tree.rwlock); … … 259 259 return ENOMEM; 260 260 } 261 261 262 262 insert_dev_node(&device_tree, dev, fun); 263 263 dev_add_ref(dev); … … 272 272 /* Give one reference over to assign_driver_fibril(). */ 273 273 dev_add_ref(dev); 274 274 275 /* 275 276 * Try to find a suitable driver and assign it to the device. We do … … 288 289 } 289 290 fibril_add_ready(assign_fibril); 290 } else {291 } else 291 292 loc_register_tree_function(fun, &device_tree); 292 }293 293 294 294 fibril_rwlock_write_unlock(&device_tree.rwlock); … … 419 419 420 420 /* Check that function with same name is not there already. */ 421 if (find_fun_node_in_device(tree, pdev, fun_name) != NULL) { 421 fun_node_t *tfun = find_fun_node_in_device(tree, pdev, fun_name); 422 if (tfun) { 423 fun_del_ref(tfun); /* drop the new unwanted reference */ 422 424 fibril_rwlock_write_unlock(&tree->rwlock); 423 425 dev_del_ref(pdev); … … 855 857 } 856 858 859 /** Get function driver name. */ 860 static void devman_fun_get_driver_name(ipc_callid_t iid, ipc_call_t *icall) 861 { 862 devman_handle_t handle = IPC_GET_ARG1(*icall); 863 864 fun_node_t *fun = find_fun_node(&device_tree, handle); 865 if (fun == NULL) { 866 async_answer_0(iid, ENOMEM); 867 return; 868 } 869 870 ipc_callid_t data_callid; 871 size_t data_len; 872 if (!async_data_read_receive(&data_callid, &data_len)) { 873 async_answer_0(iid, EINVAL); 874 fun_del_ref(fun); 875 return; 876 } 877 878 void *buffer = malloc(data_len); 879 if (buffer == NULL) { 880 async_answer_0(data_callid, ENOMEM); 881 async_answer_0(iid, ENOMEM); 882 fun_del_ref(fun); 883 return; 884 } 885 886 fibril_rwlock_read_lock(&device_tree.rwlock); 887 888 /* Check function state */ 889 if (fun->state == FUN_REMOVED) { 890 fibril_rwlock_read_unlock(&device_tree.rwlock); 891 free(buffer); 892 893 async_answer_0(data_callid, ENOENT); 894 async_answer_0(iid, ENOENT); 895 fun_del_ref(fun); 896 return; 897 } 898 899 /* Check whether function has a driver */ 900 if (fun->child == NULL || fun->child->drv == NULL) { 901 fibril_rwlock_read_unlock(&device_tree.rwlock); 902 free(buffer); 903 904 async_answer_0(data_callid, EINVAL); 905 async_answer_0(iid, EINVAL); 906 fun_del_ref(fun); 907 return; 908 } 909 910 size_t sent_length = str_size(fun->child->drv->name); 911 if (sent_length > data_len) { 912 sent_length = data_len; 913 } 914 915 async_data_read_finalize(data_callid, fun->child->drv->name, 916 sent_length); 917 async_answer_0(iid, EOK); 918 919 fibril_rwlock_read_unlock(&device_tree.rwlock); 920 fun_del_ref(fun); 921 free(buffer); 922 } 857 923 858 924 /** Get device path. */ … … 1083 1149 devman_fun_get_name(callid, &call); 1084 1150 break; 1151 case DEVMAN_FUN_GET_DRIVER_NAME: 1152 devman_fun_get_driver_name(callid, &call); 1153 break; 1085 1154 case DEVMAN_FUN_GET_PATH: 1086 1155 devman_fun_get_path(callid, &call); … … 1149 1218 if (dev->pfun->dev != NULL) 1150 1219 driver = dev->pfun->dev->drv; 1220 1151 1221 fwd_h = dev->pfun->handle; 1152 1222 } else if (dev->state == DEVICE_USABLE) { … … 1154 1224 driver = dev->drv; 1155 1225 assert(driver != NULL); 1156 1226 1157 1227 fwd_h = handle; 1158 1228 } … … 1181 1251 1182 1252 if (fun != NULL) { 1183 log_msg(LVL_DEBUG, 1253 log_msg(LVL_DEBUG, 1184 1254 "Forwarding request for `%s' function to driver `%s'.", 1185 1255 fun->pathname, driver->name); 1186 1256 } else { 1187 log_msg(LVL_DEBUG, 1257 log_msg(LVL_DEBUG, 1188 1258 "Forwarding request for `%s' device to driver `%s'.", 1189 1259 dev->pfun->pathname, driver->name); … … 1193 1263 async_forward_fast(iid, exch, method, fwd_h, 0, IPC_FF_NONE); 1194 1264 async_exchange_end(exch); 1195 1265 1196 1266 cleanup: 1197 1267 if (dev != NULL) 1198 1268 dev_del_ref(dev); 1269 1199 1270 if (fun != NULL) 1200 1271 fun_del_ref(fun); … … 1299 1370 return false; 1300 1371 } 1301 1372 1302 1373 log_msg(LVL_DEBUG, "devman_init - list of drivers has been initialized."); 1303 1374 1304 1375 /* Create root device node. */ 1305 1376 if (!init_device_tree(&device_tree, &drivers_list)) { … … 1307 1378 return false; 1308 1379 } 1309 1380 1310 1381 /* 1311 1382 * Caution: As the device manager is not a real loc … … 1322 1393 int main(int argc, char *argv[]) 1323 1394 { 1324 printf(NAME ": HelenOS Device Manager\n"); 1325 1326 if (log_init(NAME, LVL_WARN) != EOK) { 1327 printf(NAME ": Error initializing logging subsystem.\n"); 1328 return -1; 1395 printf("%s: HelenOS Device Manager\n", NAME); 1396 1397 int rc = log_init(NAME, LVL_WARN); 1398 if (rc != EOK) { 1399 printf("%s: Error initializing logging subsystem.\n", NAME); 1400 return rc; 1329 1401 } 1330 1402 … … 1333 1405 async_set_client_data_destructor(devman_client_data_destroy); 1334 1406 async_set_client_connection(devman_connection); 1335 1407 1336 1408 if (!devman_init()) { 1337 1409 log_msg(LVL_ERROR, "Error while initializing service."); 1338 1410 return -1; 1339 1411 } 1340 1412 1341 1413 /* Register device manager at naming service. */ 1342 if (service_register(SERVICE_DEVMAN) != EOK) { 1414 rc = service_register(SERVICE_DEVMAN); 1415 if (rc != EOK) { 1343 1416 log_msg(LVL_ERROR, "Failed registering as a service."); 1344 return -1;1345 } 1346 1347 printf( NAME ": Accepting connections.\n");1417 return rc; 1418 } 1419 1420 printf("%s: Accepting connections.\n", NAME); 1348 1421 task_retval(0); 1349 1422 async_manager(); 1350 1423 1351 1424 /* Never reached. */ 1352 1425 return 0; -
uspace/srv/fs/fat/fat_dentry.c
ra33706e rb4ca0a9c 43 43 #include <byteorder.h> 44 44 #include <assert.h> 45 #include <unistd.h> 45 46 46 47 /** Compare path component with the name read from the dentry. -
uspace/srv/hid/console/console.c
ra33706e rb4ca0a9c 852 852 async_set_client_connection(client_connection); 853 853 int rc = loc_server_register(NAME); 854 if (rc < 0) {854 if (rc != EOK) { 855 855 printf("%s: Unable to register server (%s)\n", NAME, 856 856 str_error(rc)); -
uspace/srv/hid/fb/fb.c
ra33706e rb4ca0a9c 305 305 306 306 int rc = async_share_out_finalize(callid, &frontbuf->data); 307 if ((rc != EOK) || (frontbuf->data == (void *) -1)) {307 if ((rc != EOK) || (frontbuf->data == AS_MAP_FAILED)) { 308 308 free(frontbuf); 309 309 async_answer_0(iid, ENOMEM); … … 348 348 349 349 int rc = async_share_out_finalize(callid, &imagemap->data); 350 if ((rc != EOK) || (imagemap->data == (void *) -1)) {350 if ((rc != EOK) || (imagemap->data == AS_MAP_FAILED)) { 351 351 free(imagemap); 352 352 async_answer_0(iid, ENOMEM); … … 990 990 int rc = loc_server_register(NAME); 991 991 if (rc != EOK) { 992 printf("%s: Unable to register driver (%d)\n", NAME, rc);993 return 1;992 printf("%s: Unable to register driver\n", NAME); 993 return rc; 994 994 } 995 995 -
uspace/srv/hid/input/ctl/kbdev.c
ra33706e rb4ca0a9c 68 68 /** Link to generic keyboard device */ 69 69 kbd_dev_t *kbd_dev; 70 70 71 71 /** Session with kbdev device */ 72 72 async_sess_t *sess; … … 75 75 static kbdev_t *kbdev_new(kbd_dev_t *kdev) 76 76 { 77 kbdev_t *kbdev; 78 79 kbdev = calloc(1, sizeof(kbdev_t)); 77 kbdev_t *kbdev = calloc(1, sizeof(kbdev_t)); 80 78 if (kbdev == NULL) 81 79 return NULL; 82 80 83 81 kbdev->kbd_dev = kdev; 84 82 … … 90 88 if (kbdev->sess != NULL) 91 89 async_hangup(kbdev->sess); 90 92 91 free(kbdev); 93 92 } … … 95 94 static int kbdev_ctl_init(kbd_dev_t *kdev) 96 95 { 97 async_sess_t *sess; 98 async_exch_t *exch; 99 kbdev_t *kbdev; 100 int rc; 101 102 sess = loc_service_connect(EXCHANGE_SERIALIZE, kdev->svc_id, 0); 96 async_sess_t *sess = loc_service_connect(EXCHANGE_SERIALIZE, 97 kdev->svc_id, 0); 103 98 if (sess == NULL) { 104 99 printf("%s: Failed starting session with '%s.'\n", NAME, 105 100 kdev->svc_name); 106 return -1;101 return ENOENT; 107 102 } 108 109 kbdev = kbdev_new(kdev);103 104 kbdev_t *kbdev = kbdev_new(kdev); 110 105 if (kbdev == NULL) { 111 106 printf("%s: Failed allocating device structure for '%s'.\n", 112 107 NAME, kdev->svc_name); 113 108 async_hangup(sess); 114 return -1;109 return ENOMEM; 115 110 } 116 111 117 112 kbdev->sess = sess; 118 119 exch = async_exchange_begin(sess);113 114 async_exch_t *exch = async_exchange_begin(sess); 120 115 if (exch == NULL) { 121 116 printf("%s: Failed starting exchange with '%s'.\n", NAME, 122 117 kdev->svc_name); 123 118 kbdev_destroy(kbdev); 124 return -1;119 return ENOENT; 125 120 } 126 127 rc = async_connect_to_me(exch, 0, 0, 0, kbdev_callback_conn, kbdev);121 122 int rc = async_connect_to_me(exch, 0, 0, 0, kbdev_callback_conn, kbdev); 128 123 if (rc != EOK) { 129 124 printf("%s: Failed creating callback connection from '%s'.\n", … … 131 126 async_exchange_end(exch); 132 127 kbdev_destroy(kbdev); 133 return -1;128 return rc; 134 129 } 135 130 136 131 async_exchange_end(exch); 137 132 138 133 kdev->ctl_private = (void *) kbdev; 139 134 return 0; … … 142 137 static void kbdev_ctl_set_ind(kbd_dev_t *kdev, unsigned mods) 143 138 { 144 async_sess_t *sess; 145 async_exch_t *exch; 146 147 sess = ((kbdev_t *) kdev->ctl_private)->sess; 148 149 exch = async_exchange_begin(sess); 139 async_sess_t *sess = ((kbdev_t *) kdev->ctl_private)->sess; 140 async_exch_t *exch = async_exchange_begin(sess); 150 141 if (!exch) 151 142 return; 152 143 153 144 async_msg_1(exch, KBDEV_SET_IND, mods); 154 145 async_exchange_end(exch); -
uspace/srv/hid/input/generic/input.c
ra33706e rb4ca0a9c 662 662 async_set_client_connection(client_connection); 663 663 int rc = loc_server_register(NAME); 664 if (rc < 0) {665 printf("%s: Unable to register server (%d)\n", NAME, rc);666 return -1;664 if (rc != EOK) { 665 printf("%s: Unable to register server\n", NAME); 666 return rc; 667 667 } 668 668 … … 671 671 672 672 service_id_t service_id; 673 if (loc_service_register(kbd, &service_id) != EOK) { 673 rc = loc_service_register(kbd, &service_id); 674 if (rc != EOK) { 674 675 printf("%s: Unable to register service %s\n", NAME, kbd); 675 return -1;676 return rc; 676 677 } 677 678 -
uspace/srv/hid/input/port/adb.c
ra33706e rb4ca0a9c 65 65 static int adb_port_init(kbd_dev_t *kdev) 66 66 { 67 kbd_dev = kdev; 68 67 69 const char *dev = "adb/kbd"; 68 70 service_id_t service_id; 69 async_exch_t *exch; 70 int rc; 71 72 kbd_dev = kdev; 73 74 rc = loc_service_get_id(dev, &service_id, 0); 71 int rc = loc_service_get_id(dev, &service_id, 0); 75 72 if (rc != EOK) 76 73 return rc; … … 82 79 } 83 80 84 exch = async_exchange_begin(dev_sess);81 async_exch_t *exch = async_exchange_begin(dev_sess); 85 82 if (exch == NULL) { 86 83 printf("%s: Failed starting exchange with device\n", NAME); … … 89 86 } 90 87 91 /* NB: The callback connection is slotted for removal */92 88 rc = async_connect_to_me(exch, 0, 0, 0, kbd_port_events, NULL); 93 89 async_exchange_end(exch); -
uspace/srv/hid/input/proto/mousedev.c
ra33706e rb4ca0a9c 117 117 printf("%s: Failed starting session with '%s'\n", NAME, 118 118 mdev->svc_name); 119 return -1;119 return ENOENT; 120 120 } 121 121 … … 125 125 NAME, mdev->svc_name); 126 126 async_hangup(sess); 127 return -1;127 return ENOMEM; 128 128 } 129 129 … … 134 134 mousedev_destroy(mousedev); 135 135 async_hangup(sess); 136 return -1;136 return ENOENT; 137 137 } 138 138 … … 145 145 NAME, mdev->svc_name); 146 146 mousedev_destroy(mousedev); 147 return -1;147 return rc; 148 148 } 149 149 150 return 0;150 return EOK; 151 151 } 152 152 -
uspace/srv/hid/remcons/remcons.c
ra33706e rb4ca0a9c 71 71 TELNET_IAC, TELNET_WONT, TELNET_LINEMODE 72 72 }; 73 73 74 static const size_t telnet_force_character_mode_command_count = 74 75 sizeof(telnet_force_character_mode_command) / sizeof(telnet_cmd_t); … … 272 273 static int network_user_fibril(void *arg) 273 274 { 274 int rc;275 275 telnet_user_t *user = arg; 276 276 277 rc = loc_service_register(user->service_name, &user->service_id);277 int rc = loc_service_register(user->service_name, &user->service_id); 278 278 if (rc != EOK) { 279 279 telnet_user_error(user, "Unable to register %s with loc: %s.", … … 284 284 telnet_user_log(user, "Service %s registerd with id %" PRIun ".", 285 285 user->service_name, user->service_id); 286 286 287 287 fid_t spawn_fibril = fibril_create(spawn_task_fibril, user); 288 288 assert(spawn_fibril); 289 289 fibril_add_ready(spawn_fibril); 290 290 291 291 /* Wait for all clients to exit. */ 292 292 fibril_mutex_lock(&user->guard); … … 304 304 } 305 305 fibril_mutex_unlock(&user->guard); 306 306 307 307 rc = loc_service_unregister(user->service_id); 308 308 if (rc != EOK) { … … 324 324 async_set_client_connection(client_connection); 325 325 int rc = loc_server_register(NAME); 326 if (rc < 0) { 327 fprintf(stderr, NAME ": Unable to register server: %s.\n", 328 str_error(rc)); 329 return 1; 330 } 331 326 if (rc != EOK) { 327 fprintf(stderr, "%s: Unable to register server\n", NAME); 328 return rc; 329 } 330 332 331 struct sockaddr_in addr; 333 332 334 333 addr.sin_family = AF_INET; 335 334 addr.sin_port = htons(port); 336 335 337 336 rc = inet_pton(AF_INET, "127.0.0.1", (void *) 338 337 &addr.sin_addr.s_addr); -
uspace/srv/hid/remcons/telnet.h
ra33706e rb4ca0a9c 57 57 #define TELNET_LINEMODE 34 58 58 59 60 59 #endif 61 60 -
uspace/srv/hid/remcons/user.h
ra33706e rb4ca0a9c 76 76 } telnet_user_t; 77 77 78 telnet_user_t *telnet_user_create(int socket);79 void telnet_user_destroy(telnet_user_t *user);80 telnet_user_t *telnet_user_get_for_client_connection(service_id_t id);81 bool telnet_user_is_zombie(telnet_user_t *user);82 void telnet_user_notify_client_disconnected(telnet_user_t *user);83 int telnet_user_get_next_keyboard_event(telnet_user_t *user, kbd_event_t *event);84 int telnet_user_send_data(telnet_user_t *user, uint8_t *data, size_t size);85 void telnet_user_update_cursor_x(telnet_user_t *user, int new_x);78 extern telnet_user_t *telnet_user_create(int); 79 extern void telnet_user_destroy(telnet_user_t *); 80 extern telnet_user_t *telnet_user_get_for_client_connection(service_id_t); 81 extern bool telnet_user_is_zombie(telnet_user_t *); 82 extern void telnet_user_notify_client_disconnected(telnet_user_t *); 83 extern int telnet_user_get_next_keyboard_event(telnet_user_t *, kbd_event_t *); 84 extern int telnet_user_send_data(telnet_user_t *, uint8_t *, size_t); 85 extern void telnet_user_update_cursor_x(telnet_user_t *, int); 86 86 87 87 /** Print informational message about connected user. */ 88 88 #ifdef CONFIG_DEBUG 89 89 #define telnet_user_log(user, fmt, ...) \ 90 printf(NAME " [console %d (%d)]: " fmt "\n", user->id, (int) user->service_id, ##__VA_ARGS__) 90 printf(NAME " [console %d (%d)]: " fmt "\n", \ 91 user->id, (int) user->service_id, ##__VA_ARGS__) 91 92 #else 92 #define telnet_user_log(user, fmt, ...) ( void)093 #define telnet_user_log(user, fmt, ...) ((void) 0) 93 94 #endif 94 95 95 96 /** Print error message associated with connected user. */ 96 97 #define telnet_user_error(user, fmt, ...) \ 97 fprintf(stderr, NAME " [console %d (%d)]: ERROR: " fmt "\n", user->id, (int) user->service_id, ##__VA_ARGS__) 98 fprintf(stderr, NAME " [console %d (%d)]: ERROR: " fmt "\n", \ 99 user->id, (int) user->service_id, ##__VA_ARGS__) 98 100 99 101 #endif -
uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c
ra33706e rb4ca0a9c 84 84 int main(int argc, char *argv[]) 85 85 { 86 int rc; 87 88 printf(NAME ": S3C24xx touchscreen driver\n"); 86 printf("%s: S3C24xx touchscreen driver\n", NAME); 89 87 90 88 async_set_client_connection(s3c24xx_ts_connection); 91 rc = loc_server_register(NAME);92 if (rc < 0) {93 printf( NAME ": Unable to register driver.\n");94 return -1;89 int rc = loc_server_register(NAME); 90 if (rc != EOK) { 91 printf("%s: Unable to register driver.\n", NAME); 92 return rc; 95 93 } 96 94 -
uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
ra33706e rb4ca0a9c 77 77 int main(int argc, char *argv[]) 78 78 { 79 int rc; 80 81 printf(NAME ": S3C24xx on-chip UART driver\n"); 82 79 printf("%s: S3C24xx on-chip UART driver\n", NAME); 80 83 81 async_set_client_connection(s3c24xx_uart_connection); 84 rc = loc_server_register(NAME);85 if (rc < 0) {86 printf( NAME ": Unable to register server.\n");87 return -1;82 int rc = loc_server_register(NAME); 83 if (rc != EOK) { 84 printf("%s: Unable to register server.\n", NAME); 85 return rc; 88 86 } 89 87 -
uspace/srv/loader/main.c
ra33706e rb4ca0a9c 450 450 int rc = ns_intro(id); 451 451 if (rc != EOK) 452 return -1;452 return rc; 453 453 454 454 /* Register at naming service. */ 455 if (service_register(SERVICE_LOAD) != EOK) 456 return -2; 455 rc = service_register(SERVICE_LOAD); 456 if (rc != EOK) 457 return rc; 457 458 458 459 async_manager(); -
uspace/srv/locsrv/locsrv.c
ra33706e rb4ca0a9c 390 390 */ 391 391 list_initialize(&server->services); 392 393 392 link_initialize(&server->servers); 394 393 … … 651 650 min(size, act_size)); 652 651 free(fqn); 652 653 fibril_mutex_unlock(&services_list_mutex); 654 655 async_answer_0(iid, retval); 656 } 657 658 static void loc_service_get_server_name(ipc_callid_t iid, ipc_call_t *icall) 659 { 660 ipc_callid_t callid; 661 size_t size; 662 size_t act_size; 663 loc_service_t *svc; 664 665 if (!async_data_read_receive(&callid, &size)) { 666 async_answer_0(callid, EREFUSED); 667 async_answer_0(iid, EREFUSED); 668 return; 669 } 670 671 fibril_mutex_lock(&services_list_mutex); 672 673 svc = loc_service_find_id(IPC_GET_ARG1(*icall)); 674 if (svc == NULL) { 675 fibril_mutex_unlock(&services_list_mutex); 676 async_answer_0(callid, ENOENT); 677 async_answer_0(iid, ENOENT); 678 return; 679 } 680 681 if (svc->server == NULL) { 682 fibril_mutex_unlock(&services_list_mutex); 683 async_answer_0(callid, EINVAL); 684 async_answer_0(iid, EINVAL); 685 return; 686 } 687 688 act_size = str_size(svc->server->name); 689 if (act_size > size) { 690 fibril_mutex_unlock(&services_list_mutex); 691 async_answer_0(callid, EOVERFLOW); 692 async_answer_0(iid, EOVERFLOW); 693 return; 694 } 695 696 sysarg_t retval = async_data_read_finalize(callid, svc->server->name, 697 min(size, act_size)); 653 698 654 699 fibril_mutex_unlock(&services_list_mutex); … … 1405 1450 case LOC_SERVICE_GET_NAME: 1406 1451 loc_service_get_name(callid, &call); 1452 break; 1453 case LOC_SERVICE_GET_SERVER_NAME: 1454 loc_service_get_server_name(callid, &call); 1407 1455 break; 1408 1456 case LOC_NAMESPACE_GET_ID: … … 1490 1538 1491 1539 /* Register location service at naming service */ 1492 if (service_register(SERVICE_LOC) != EOK) 1493 return -1; 1540 int rc = service_register(SERVICE_LOC); 1541 if (rc != EOK) 1542 return rc; 1494 1543 1495 1544 printf("%s: Accepting connections\n", NAME); -
uspace/srv/locsrv/locsrv.h
ra33706e rb4ca0a9c 86 86 /** Link to global list of services (services_list) */ 87 87 link_t services; 88 88 89 /** Link to server list of services (loc_server_t.services) */ 89 90 link_t server_services; 91 90 92 /** Link to list of services in category (category_t.services) */ 91 93 link_t cat_services; 94 92 95 /** List of category memberships (svc_categ_t) */ 93 96 list_t cat_memb; 97 94 98 /** Unique service identifier */ 95 99 service_id_t id; 100 96 101 /** Service namespace */ 97 102 loc_namespace_t *namespace; 103 98 104 /** Service name */ 99 105 char *name; 106 100 107 /** Supplier of this service */ 101 108 loc_server_t *server; 109 102 110 /** Use this interface when forwarding to server. */ 103 111 sysarg_t forward_interface; -
uspace/srv/net/ethip/ethip.c
ra33706e rb4ca0a9c 73 73 static int ethip_init(void) 74 74 { 75 int rc;76 77 75 async_set_client_connection(ethip_client_conn); 78 79 rc = loc_server_register(NAME);76 77 int rc = loc_server_register(NAME); 80 78 if (rc != EOK) { 81 79 log_msg(LVL_ERROR, "Failed registering server."); 82 80 return rc; 83 81 } 84 82 85 83 rc = ethip_nic_discovery_start(); 86 84 if (rc != EOK) 87 85 return rc; 88 86 89 87 return EOK; 90 88 } -
uspace/srv/net/ethip/ethip_nic.c
ra33706e rb4ca0a9c 150 150 static int ethip_nic_open(service_id_t sid) 151 151 { 152 ethip_nic_t *nic;153 int rc;154 152 bool in_list = false; 155 153 nic_address_t nic_address; 156 154 157 155 log_msg(LVL_DEBUG, "ethip_nic_open()"); 158 nic = ethip_nic_new();156 ethip_nic_t *nic = ethip_nic_new(); 159 157 if (nic == NULL) 160 158 return ENOMEM; 161 162 rc = loc_service_get_name(sid, &nic->svc_name);159 160 int rc = loc_service_get_name(sid, &nic->svc_name); 163 161 if (rc != EOK) { 164 162 log_msg(LVL_ERROR, "Failed getting service name."); 165 163 goto error; 166 164 } 167 165 168 166 nic->sess = loc_service_connect(EXCHANGE_SERIALIZE, sid, 0); 169 167 if (nic->sess == NULL) { … … 171 169 goto error; 172 170 } 173 171 174 172 nic->svc_id = sid; 175 173 176 174 rc = nic_callback_create(nic->sess, ethip_nic_cb_conn, nic); 177 175 if (rc != EOK) { … … 298 296 int ethip_nic_discovery_start(void) 299 297 { 300 int rc; 301 302 rc = loc_register_cat_change_cb(ethip_nic_cat_change_cb); 298 int rc = loc_register_cat_change_cb(ethip_nic_cat_change_cb); 303 299 if (rc != EOK) { 304 300 log_msg(LVL_ERROR, "Failed registering callback for NIC " … … 306 302 return rc; 307 303 } 308 304 309 305 return ethip_nic_check_new(); 310 306 } -
uspace/srv/net/inetsrv/inetsrv.c
ra33706e rb4ca0a9c 66 66 static int inet_init(void) 67 67 { 68 service_id_t sid;69 int rc;70 71 68 log_msg(LVL_DEBUG, "inet_init()"); 72 69 73 70 async_set_client_connection(inet_client_conn); 74 75 rc = loc_server_register(NAME);71 72 int rc = loc_server_register(NAME); 76 73 if (rc != EOK) { 77 74 log_msg(LVL_ERROR, "Failed registering server (%d).", rc); 78 75 return EEXIST; 79 76 } 80 77 78 service_id_t sid; 81 79 rc = loc_service_register_with_iface(SERVICE_NAME_INET, &sid, 82 80 INET_PORT_DEFAULT); … … 85 83 return EEXIST; 86 84 } 87 85 88 86 rc = loc_service_register_with_iface(SERVICE_NAME_INETCFG, &sid, 89 87 INET_PORT_CFG); … … 92 90 return EEXIST; 93 91 } 94 92 95 93 rc = loc_service_register_with_iface(SERVICE_NAME_INETPING, &sid, 96 94 INET_PORT_PING); … … 99 97 return EEXIST; 100 98 } 101 99 102 100 rc = inet_link_discovery_start(); 103 101 if (rc != EOK) 104 102 return EEXIST; 105 103 106 104 return EOK; 107 105 } -
uspace/srv/net/loopip/loopip.c
ra33706e rb4ca0a9c 91 91 category_id_t iplink_cat; 92 92 const char *svc_name = "net/loopback"; 93 93 94 94 async_set_client_connection(loopip_client_conn); 95 95 96 96 rc = loc_server_register(NAME); 97 97 if (rc != EOK) { -
uspace/srv/net/tcp/sock.c
ra33706e rb4ca0a9c 68 68 int tcp_sock_init(void) 69 69 { 70 int rc;71 72 70 socket_ports_initialize(&gsock); 73 71 74 72 async_set_client_connection(tcp_sock_connection); 75 76 rc = service_register(SERVICE_TCP);73 74 int rc = service_register(SERVICE_TCP); 77 75 if (rc != EOK) 78 76 return EEXIST; 79 77 80 78 return EOK; 81 79 } … … 153 151 sock, sock_id); 154 152 155 if (rc != EOK) 153 if (rc != EOK) { 154 fibril_destroy(sock->recv_fibril); 155 sock->recv_fibril = 0; 156 156 return rc; 157 } 157 158 158 159 sock_core = socket_cores_find(&sock->client->sockets, *sock_id); -
uspace/srv/net/udp/sock.c
ra33706e rb4ca0a9c 51 51 #include "ucall.h" 52 52 53 #define FRAGMENT_SIZE 102454 55 53 /** Free ports pool start. */ 56 54 #define UDP_FREE_PORTS_START 1025 … … 63 61 64 62 static void udp_sock_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg); 63 static int udp_sock_recv_fibril(void *arg); 65 64 66 65 int udp_sock_init(void) 67 66 { 68 int rc;69 70 67 socket_ports_initialize(&gsock); 71 68 72 69 async_set_client_connection(udp_sock_connection); 73 74 rc = service_register(SERVICE_UDP);70 71 int rc = service_register(SERVICE_UDP); 75 72 if (rc != EOK) 76 73 return EEXIST; 77 74 78 75 return EOK; 79 76 } … … 84 81 85 82 socket = (udp_sockdata_t *)sock_core->specific_data; 86 assert(socket->assoc != NULL); 87 udp_uc_destroy(socket->assoc); 83 (void)socket; 84 85 /* XXX We need to force the receive fibril to quit */ 88 86 } 89 87 … … 93 91 async_exch_t *exch = async_exchange_begin(sock_core->sess); 94 92 async_msg_5(exch, NET_SOCKET_RECEIVED, (sysarg_t)sock_core->socket_id, 95 FRAGMENT_SIZE, 0, 0, 1);93 UDP_FRAGMENT_SIZE, 0, 0, 1); 96 94 async_exchange_end(exch); 97 95 } … … 115 113 sock->client = client; 116 114 115 sock->recv_buffer_used = 0; 116 sock->recv_error = UDP_EOK; 117 fibril_mutex_initialize(&sock->recv_buffer_lock); 118 fibril_condvar_initialize(&sock->recv_buffer_cv); 119 117 120 rc = udp_uc_create(&sock->assoc); 118 121 if (rc != EOK) { 122 free(sock); 123 async_answer_0(callid, rc); 124 return; 125 } 126 127 sock->recv_fibril = fibril_create(udp_sock_recv_fibril, sock); 128 if (sock->recv_fibril == 0) { 129 udp_uc_destroy(sock->assoc); 130 free(sock); 131 async_answer_0(callid, ENOMEM); 132 return; 133 } 134 135 sock_id = SOCKET_GET_SOCKET_ID(call); 136 rc = socket_create(&client->sockets, client->sess, sock, &sock_id); 137 if (rc != EOK) { 138 fibril_destroy(sock->recv_fibril); 119 139 udp_uc_destroy(sock->assoc); 120 140 free(sock); … … 123 143 } 124 144 125 sock_id = SOCKET_GET_SOCKET_ID(call); 126 rc = socket_create(&client->sockets, client->sess, sock, &sock_id); 127 if (rc != EOK) { 128 async_answer_0(callid, rc); 129 return; 130 } 145 fibril_add_ready(sock->recv_fibril); 131 146 132 147 sock_core = socket_cores_find(&client->sockets, sock_id); … … 136 151 SOCKET_SET_SOCKET_ID(answer, sock_id); 137 152 138 SOCKET_SET_DATA_FRAGMENT_SIZE(answer, FRAGMENT_SIZE);153 SOCKET_SET_DATA_FRAGMENT_SIZE(answer, UDP_FRAGMENT_SIZE); 139 154 SOCKET_SET_HEADER_SIZE(answer, sizeof(udp_header_t)); 140 155 async_answer_3(callid, EOK, IPC_GET_ARG1(answer), … … 207 222 } 208 223 209 udp_sock_notify_data(sock_core);210 211 224 log_msg(LVL_DEBUG, " - success"); 212 225 async_answer_0(callid, rc); … … 247 260 ipc_callid_t wcallid; 248 261 size_t length; 249 uint8_t buffer[ FRAGMENT_SIZE];262 uint8_t buffer[UDP_FRAGMENT_SIZE]; 250 263 udp_error_t urc; 251 264 int rc; … … 294 307 goto out; 295 308 } 296 297 udp_sock_notify_data(sock_core);298 309 } 299 310 … … 332 343 } 333 344 334 if (length > FRAGMENT_SIZE)335 length = FRAGMENT_SIZE;345 if (length > UDP_FRAGMENT_SIZE) 346 length = UDP_FRAGMENT_SIZE; 336 347 337 348 rc = async_data_write_finalize(wcallid, buffer, length); … … 369 380 370 381 IPC_SET_ARG1(answer, 0); 371 SOCKET_SET_DATA_FRAGMENT_SIZE(answer, FRAGMENT_SIZE);382 SOCKET_SET_DATA_FRAGMENT_SIZE(answer, UDP_FRAGMENT_SIZE); 372 383 async_answer_2(callid, EOK, IPC_GET_ARG1(answer), 373 384 IPC_GET_ARG2(answer)); … … 388 399 ipc_call_t answer; 389 400 ipc_callid_t rcallid; 390 uint8_t buffer[FRAGMENT_SIZE];391 401 size_t data_len; 392 xflags_t xflags;393 402 udp_error_t urc; 403 udp_sock_t rsock; 394 404 struct sockaddr_in addr; 395 udp_sock_t rsock;396 405 int rc; 397 406 … … 418 427 (void)flags; 419 428 420 urc = udp_uc_receive(socket->assoc, buffer, FRAGMENT_SIZE, &data_len, 421 &xflags, &rsock); 422 log_msg(LVL_DEBUG, "**** udp_uc_receive done, data_len=%zu", data_len); 429 log_msg(LVL_DEBUG, "udp_sock_recvfrom(): lock recv_buffer lock"); 430 fibril_mutex_lock(&socket->recv_buffer_lock); 431 while (socket->recv_buffer_used == 0 && socket->recv_error == UDP_EOK) { 432 log_msg(LVL_DEBUG, "udp_sock_recvfrom(): wait for cv"); 433 fibril_condvar_wait(&socket->recv_buffer_cv, 434 &socket->recv_buffer_lock); 435 } 436 437 log_msg(LVL_DEBUG, "Got data in sock recv_buffer"); 438 439 rsock = socket->recv_fsock; 440 data_len = socket->recv_buffer_used; 441 urc = socket->recv_error; 442 443 log_msg(LVL_DEBUG, "**** recv data_len=%zu", data_len); 423 444 424 445 switch (urc) { … … 439 460 log_msg(LVL_DEBUG, "**** udp_uc_receive -> %d", rc); 440 461 if (rc != EOK) { 462 fibril_mutex_unlock(&socket->recv_buffer_lock); 441 463 fibril_mutex_unlock(&socket->lock); 442 464 async_answer_0(callid, rc); … … 452 474 log_msg(LVL_DEBUG, "addr read receive"); 453 475 if (!async_data_read_receive(&rcallid, &addr_length)) { 476 fibril_mutex_unlock(&socket->recv_buffer_lock); 454 477 fibril_mutex_unlock(&socket->lock); 455 478 async_answer_0(callid, EINVAL); … … 463 486 rc = async_data_read_finalize(rcallid, &addr, addr_length); 464 487 if (rc != EOK) { 488 fibril_mutex_unlock(&socket->recv_buffer_lock); 465 489 fibril_mutex_unlock(&socket->lock); 466 490 async_answer_0(callid, EINVAL); … … 471 495 log_msg(LVL_DEBUG, "data read receive"); 472 496 if (!async_data_read_receive(&rcallid, &length)) { 497 fibril_mutex_unlock(&socket->recv_buffer_lock); 473 498 fibril_mutex_unlock(&socket->lock); 474 499 async_answer_0(callid, EINVAL); … … 480 505 481 506 log_msg(LVL_DEBUG, "data read finalize"); 482 rc = async_data_read_finalize(rcallid, buffer, length);507 rc = async_data_read_finalize(rcallid, socket->recv_buffer, length); 483 508 484 509 if (length < data_len && rc == EOK) … … 491 516 async_answer_3(callid, EOK, IPC_GET_ARG1(answer), 492 517 IPC_GET_ARG2(answer), IPC_GET_ARG3(answer)); 493 494 /* Push one fragment notification to client's queue */ 495 udp_sock_notify_data(sock_core); 518 519 socket->recv_buffer_used = 0; 520 521 fibril_condvar_broadcast(&socket->recv_buffer_cv); 522 fibril_mutex_unlock(&socket->recv_buffer_lock); 496 523 fibril_mutex_unlock(&socket->lock); 497 524 } … … 540 567 } 541 568 569 static int udp_sock_recv_fibril(void *arg) 570 { 571 udp_sockdata_t *sock = (udp_sockdata_t *)arg; 572 udp_error_t urc; 573 xflags_t xflags; 574 size_t rcvd; 575 576 log_msg(LVL_DEBUG, "udp_sock_recv_fibril()"); 577 578 while (true) { 579 log_msg(LVL_DEBUG, "[] wait for rcv buffer empty()"); 580 fibril_mutex_lock(&sock->recv_buffer_lock); 581 while (sock->recv_buffer_used != 0) { 582 fibril_condvar_wait(&sock->recv_buffer_cv, 583 &sock->recv_buffer_lock); 584 } 585 586 log_msg(LVL_DEBUG, "[] call udp_uc_receive()"); 587 urc = udp_uc_receive(sock->assoc, sock->recv_buffer, 588 UDP_FRAGMENT_SIZE, &rcvd, &xflags, &sock->recv_fsock); 589 sock->recv_error = urc; 590 591 udp_sock_notify_data(sock->sock_core); 592 593 if (urc != UDP_EOK) { 594 fibril_condvar_broadcast(&sock->recv_buffer_cv); 595 fibril_mutex_unlock(&sock->recv_buffer_lock); 596 break; 597 } 598 599 log_msg(LVL_DEBUG, "[] got data - broadcast recv_buffer_cv"); 600 601 sock->recv_buffer_used = rcvd; 602 fibril_mutex_unlock(&sock->recv_buffer_lock); 603 fibril_condvar_broadcast(&sock->recv_buffer_cv); 604 } 605 606 udp_uc_destroy(sock->assoc); 607 608 return 0; 609 } 610 542 611 static void udp_sock_connection(ipc_callid_t iid, ipc_call_t *icall, void *arg) 543 612 { -
uspace/srv/net/udp/udp.c
ra33706e rb4ca0a9c 73 73 printf(NAME ": UDP (User Datagram Protocol) service\n"); 74 74 75 rc = log_init(NAME, LVL_ WARN);75 rc = log_init(NAME, LVL_DEBUG); 76 76 if (rc != EOK) { 77 77 printf(NAME ": Failed to initialize log.\n"); -
uspace/srv/net/udp/udp_type.h
ra33706e rb4ca0a9c 36 36 #define UDP_TYPE_H 37 37 38 #include <fibril.h> 38 39 #include <fibril_synch.h> 39 40 #include <socket_core.h> 40 41 #include <sys/types.h> 42 43 #define UDP_FRAGMENT_SIZE 4096 44 41 45 42 46 typedef enum { … … 141 145 /** Connection */ 142 146 udp_assoc_t *assoc; 147 /** Receiving fibril */ 148 fid_t recv_fibril; 149 uint8_t recv_buffer[UDP_FRAGMENT_SIZE]; 150 size_t recv_buffer_used; 151 udp_sock_t recv_fsock; 152 fibril_mutex_t recv_buffer_lock; 153 fibril_condvar_t recv_buffer_cv; 154 udp_error_t recv_error; 143 155 } udp_sockdata_t; 144 156 -
uspace/srv/ns/ns.c
ra33706e rb4ca0a9c 48 48 int main(int argc, char **argv) 49 49 { 50 printf( NAME ": HelenOS IPC Naming Service\n");50 printf("%s: HelenOS IPC Naming Service\n", NAME); 51 51 52 52 int rc = service_init(); -
uspace/srv/vfs/vfs.c
ra33706e rb4ca0a9c 159 159 int main(int argc, char **argv) 160 160 { 161 printf( NAME ": HelenOS VFS server\n");161 printf("%s: HelenOS VFS server\n", NAME); 162 162 163 163 /* … … 165 165 */ 166 166 if (!vfs_nodes_init()) { 167 printf(NAME ": Failed to initialize VFS node hash table\n"); 167 printf("%s: Failed to initialize VFS node hash table\n", 168 NAME); 168 169 return ENOMEM; 169 170 } … … 172 173 * Allocate and initialize the Path Lookup Buffer. 173 174 */ 174 plb = as_area_create( (void *) -1, PLB_SIZE,175 plb = as_area_create(AS_AREA_ANY, PLB_SIZE, 175 176 AS_AREA_READ | AS_AREA_WRITE | AS_AREA_CACHEABLE); 176 if (plb == (void *) -1) {177 printf( NAME ": Cannot create address space area\n");177 if (plb == AS_MAP_FAILED) { 178 printf("%s: Cannot create address space area\n", NAME); 178 179 return ENOMEM; 179 180 } … … 196 197 async_set_interrupt_received(notification_received); 197 198 event_task_subscribe(EVENT_TASK_STATE_CHANGE, VFS_TASK_STATE_CHANGE); 198 199 199 200 /* 200 201 * Register at the naming service. 201 202 */ 202 if (service_register(SERVICE_VFS) != EOK) { 203 int rc = service_register(SERVICE_VFS); 204 if (rc != EOK) { 203 205 printf("%s: Cannot register VFS service\n", NAME); 204 return EINVAL;206 return rc; 205 207 } 206 208 … … 208 210 * Start accepting connections. 209 211 */ 210 printf( NAME ": Accepting connections\n");212 printf("%s: Accepting connections\n", NAME); 211 213 async_manager(); 212 214 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.