Changeset 4c6fd56 in mainline for uspace/srv
- Timestamp:
- 2023-09-16T19:58:18Z (2 years ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7d7f5e3
- Parents:
- 6a0b2cc
- git-author:
- Jiri Svoboda <jiri@…> (2023-09-16 19:48:07)
- git-committer:
- Jiri Svoboda <jiri@…> (2023-09-16 19:58:18)
- Location:
- uspace/srv
- Files:
-
- 33 edited
-
bd/file_bd/file_bd.c (modified) (6 diffs)
-
bd/rd/rd.c (modified) (4 diffs)
-
bd/sata_bd/sata_bd.c (modified) (5 diffs)
-
bd/vbd/disk.c (modified) (6 diffs)
-
bd/vbd/disk.h (modified) (2 diffs)
-
bd/vbd/vbd.c (modified) (3 diffs)
-
clipboard/clipboard.c (modified) (3 diffs)
-
devman/drv_conn.c (modified) (2 diffs)
-
devman/loc.c (modified) (4 diffs)
-
devman/main.c (modified) (4 diffs)
-
devman/main.h (modified) (2 diffs)
-
hid/console/console.c (modified) (4 diffs)
-
hid/display/main.c (modified) (4 diffs)
-
hid/input/input.c (modified) (4 diffs)
-
hid/isdv4_tablet/main.c (modified) (5 diffs)
-
hid/output/output.c (modified) (4 diffs)
-
hid/remcons/remcons.c (modified) (5 diffs)
-
hid/rfb/main.c (modified) (5 diffs)
-
hid/s3c24xx_ts/s3c24xx_ts.c (modified) (3 diffs)
-
hw/char/s3c24xx_uart/s3c24xx_uart.c (modified) (3 diffs)
-
net/dhcp/main.c (modified) (4 diffs)
-
net/dnsrsrv/dnsrsrv.c (modified) (4 diffs)
-
net/ethip/ethip.c (modified) (4 diffs)
-
net/inetsrv/inetsrv.c (modified) (4 diffs)
-
net/loopip/loopip.c (modified) (5 diffs)
-
net/nconfsrv/nconfsrv.c (modified) (5 diffs)
-
net/slip/slip.c (modified) (10 diffs)
-
net/tcp/service.c (modified) (3 diffs)
-
net/udp/service.c (modified) (3 diffs)
-
taskmon/taskmon.c (modified) (4 diffs)
-
test/chardev-test/main.c (modified) (4 diffs)
-
test/ipc-test/main.c (modified) (4 diffs)
-
volsrv/volsrv.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/file_bd/file_bd.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 09Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 61 61 static aoff64_t num_blocks; 62 62 static FILE *img; 63 static loc_srv_t *srv; 63 64 64 65 static service_id_t service_id; … … 137 138 return -1; 138 139 139 rc = loc_service_register( device_name, &service_id);140 rc = loc_service_register(srv, device_name, &service_id); 140 141 if (rc != EOK) { 141 142 printf("%s: Unable to register device '%s': %s.\n", … … 150 151 } 151 152 152 rc = loc_service_add_to_cat(s ervice_id, disk_cat);153 rc = loc_service_add_to_cat(srv, service_id, disk_cat); 153 154 if (rc != EOK) { 154 155 printf("%s: Failed adding %s to category: %s", … … 176 177 177 178 async_set_fallback_port_handler(file_bd_connection, NULL); 178 errno_t rc = loc_server_register(NAME );179 errno_t rc = loc_server_register(NAME, &srv); 179 180 if (rc != EOK) { 180 181 printf("%s: Unable to register driver.\n", NAME); … … 183 184 184 185 img = fopen(fname, "rb+"); 185 if (img == NULL) 186 return EINVAL; 186 if (img == NULL) { 187 rc = EINVAL; 188 goto error; 189 } 187 190 188 191 if (fseek(img, 0, SEEK_END) != 0) { 189 fclose(img);190 return EIO;192 rc = EIO; 193 goto error; 191 194 } 192 195 193 196 off64_t img_size = ftell(img); 194 197 if (img_size < 0) { 198 rc = EIO; 199 goto error; 200 } 201 202 num_blocks = img_size / block_size; 203 204 fibril_mutex_initialize(&dev_lock); 205 206 return EOK; 207 error: 208 if (img != NULL) { 195 209 fclose(img); 196 return EIO; 197 } 198 199 num_blocks = img_size / block_size; 200 201 fibril_mutex_initialize(&dev_lock); 202 203 return EOK; 210 img = NULL; 211 } 212 213 if (srv != NULL) { 214 loc_server_unregister(srv); 215 srv = NULL; 216 } 217 218 return rc; 204 219 } 205 220 -
uspace/srv/bd/rd/rd.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2007 Michal Konopa 3 4 * Copyright (c) 2007 Martin Jelen … … 93 94 94 95 static bd_srvs_t bd_srvs; 96 static loc_srv_t *srv; 95 97 96 98 static void rd_client_conn(ipc_call_t *icall, void *arg) … … 178 180 179 181 async_set_fallback_port_handler(rd_client_conn, NULL); 180 ret = loc_server_register(NAME );182 ret = loc_server_register(NAME, &srv); 181 183 if (ret != EOK) { 182 184 printf("%s: Unable to register driver: %s\n", NAME, str_error(ret)); … … 185 187 186 188 service_id_t service_id; 187 ret = loc_service_register( "bd/initrd", &service_id);189 ret = loc_service_register(srv, "bd/initrd", &service_id); 188 190 if (ret != EOK) { 189 191 printf("%s: Unable to register device service\n", NAME); -
uspace/srv/bd/sata_bd/sata_bd.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2012 Petr Jerman 3 4 * All rights reserved. … … 57 58 #define MAXDISKS 256 58 59 60 static loc_srv_t *srv; 59 61 static sata_bd_dev_t disk[MAXDISKS]; 60 62 static int disk_count; … … 249 251 250 252 async_set_fallback_port_handler(sata_bd_connection, NULL); 251 rc = loc_server_register(NAME );253 rc = loc_server_register(NAME, &srv); 252 254 if (rc != EOK) { 253 255 printf(NAME ": Unable to register driver: %s.\n", str_error(rc)); … … 270 272 char name[1024]; 271 273 snprintf(name, 1024, "%s/%s", NAMESPACE, disk[i].dev_name); 272 rc = loc_service_register( name, &disk[i].service_id);274 rc = loc_service_register(srv, name, &disk[i].service_id); 273 275 if (rc != EOK) { 274 276 printf(NAME ": Unable to register device %s: %s\n", name, str_error(rc)); … … 276 278 } 277 279 278 rc = loc_service_add_to_cat( disk[i].service_id, disk_cat);280 rc = loc_service_add_to_cat(srv, disk[i].service_id, disk_cat); 279 281 if (rc != EOK) { 280 282 printf("%s: Failed adding %s to category: %s.", -
uspace/srv/bd/vbd/disk.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 16Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 51 51 #include "types/vbd.h" 52 52 53 loc_srv_t *vbds_srv; 54 53 55 static fibril_mutex_t vbds_disks_lock; 54 56 static list_t vbds_disks; /* of vbds_disk_t */ … … 1122 1124 log_msg(LOG_DEFAULT, LVL_DEBUG, "loc_service_register('%s')", 1123 1125 name); 1124 rc = loc_service_register( name, &psid);1126 rc = loc_service_register(vbds_srv, name, &psid); 1125 1127 if (rc != EOK) { 1126 1128 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering " … … 1131 1133 } 1132 1134 1133 rc = loc_service_add_to_cat( psid, part_cid);1135 rc = loc_service_add_to_cat(vbds_srv, psid, part_cid); 1134 1136 if (rc != EOK) { 1135 1137 log_msg(LOG_DEFAULT, LVL_ERROR, "Failled adding partition " … … 1138 1140 free(part); 1139 1141 1140 rc = loc_service_unregister( psid);1142 rc = loc_service_unregister(vbds_srv, psid); 1141 1143 if (rc != EOK) { 1142 1144 log_msg(LOG_DEFAULT, LVL_ERROR, "Error unregistering " … … 1160 1162 "disk->svc_name='%s', id=%zu)", part->disk->svc_name, part->svc_id); 1161 1163 1162 rc = loc_service_unregister( part->svc_id);1164 rc = loc_service_unregister(vbds_srv, part->svc_id); 1163 1165 if (rc != EOK) 1164 1166 return EIO; -
uspace/srv/bd/vbd/disk.h
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 15Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 57 57 extern void vbds_bd_conn(ipc_call_t *, void *); 58 58 59 extern loc_srv_t *vbds_srv; 60 59 61 #endif 60 62 -
uspace/srv/bd/vbd/vbd.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 15Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 68 68 async_set_fallback_port_handler(vbds_client_conn, NULL); 69 69 70 rc = loc_server_register(NAME );70 rc = loc_server_register(NAME, &vbds_srv); 71 71 if (rc != EOK) { 72 72 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 74 74 } 75 75 76 rc = loc_service_register( SERVICE_NAME_VBD, &ctl_sid);76 rc = loc_service_register(vbds_srv, SERVICE_NAME_VBD, &ctl_sid); 77 77 if (rc != EOK) { 78 78 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); -
uspace/srv/clipboard/clipboard.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2009 Martin Decky 3 4 * All rights reserved. … … 185 186 { 186 187 errno_t rc; 188 loc_srv_t *srv; 187 189 188 190 printf("%s: HelenOS clipboard service\n", NAME); 189 191 async_set_fallback_port_handler(clip_connection, NULL); 190 192 191 rc = loc_server_register(NAME );193 rc = loc_server_register(NAME, &srv); 192 194 if (rc != EOK) { 193 195 printf("%s: Failed registering server: %s\n", NAME, str_error(rc)); … … 195 197 } 196 198 197 rc = loc_service_register( SERVICE_NAME_CLIPBOARD, &svc_id);199 rc = loc_service_register(srv, SERVICE_NAME_CLIPBOARD, &svc_id); 198 200 if (rc != EOK) { 201 loc_server_unregister(srv); 202 199 203 printf("%s: Failed registering service : %s\n", NAME, str_error(rc)); 200 204 return rc; -
uspace/srv/devman/drv_conn.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2010 Lenka Trochtova 3 4 * All rights reserved. … … 360 361 rc = loc_category_get_id(cat_name, &cat_id, IPC_FLAG_BLOCKING); 361 362 if (rc == EOK) 362 rc = loc_service_add_to_cat( fun->service_id, cat_id);363 rc = loc_service_add_to_cat(devman_srv, fun->service_id, cat_id); 363 364 if (rc == EOK) { 364 365 log_msg(LOG_DEFAULT, LVL_NOTE, "Function `%s' added to category `%s'.", -
uspace/srv/devman/loc.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2010 Lenka Trochtova 3 4 * All rights reserved. … … 37 38 #include "fun.h" 38 39 #include "loc.h" 40 #include "main.h" 39 41 40 42 /** Create loc path and name for the function. */ … … 59 61 } 60 62 61 loc_service_register( loc_pathname, &fun->service_id);63 loc_service_register(devman_srv, loc_pathname, &fun->service_id); 62 64 63 65 tree_add_loc_function(tree, fun); … … 69 71 errno_t loc_unregister_tree_function(fun_node_t *fun, dev_tree_t *tree) 70 72 { 71 errno_t rc = loc_service_unregister( fun->service_id);73 errno_t rc = loc_service_unregister(devman_srv, fun->service_id); 72 74 tree_rem_loc_function(tree, fun); 73 75 return rc; -
uspace/srv/devman/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2010 Lenka Trochtova 3 4 * All rights reserved. … … 64 65 driver_list_t drivers_list; 65 66 dev_tree_t device_tree; 67 loc_srv_t *devman_srv; 66 68 67 69 static void devman_connection_device(ipc_call_t *icall, void *arg) … … 280 282 static bool devman_init(void) 281 283 { 284 errno_t rc; 285 282 286 log_msg(LOG_DEFAULT, LVL_DEBUG, "devman_init - looking for available drivers."); 283 287 … … 305 309 * not work. 306 310 */ 307 loc_server_register(NAME); 311 rc = loc_server_register(NAME, &devman_srv); 312 if (rc != EOK) { 313 log_msg(LOG_DEFAULT, LVL_FATAL, "Error registering devman server."); 314 return false; 315 } 308 316 309 317 return true; -
uspace/srv/devman/main.h
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 13 Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 34 34 #define MAIN_H_ 35 35 36 #include <loc.h> 36 37 #include "devman.h" 37 38 38 39 extern driver_list_t drivers_list; 39 40 extern dev_tree_t device_tree; 41 extern loc_srv_t *devman_srv; 40 42 41 43 #endif -
uspace/srv/hid/console/console.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 2Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * Copyright (c) 2011 Martin Decky 4 4 * All rights reserved. … … 89 89 } console_t; 90 90 91 static loc_srv_t *console_srv; 92 91 93 /** Input server proxy */ 92 94 static input_t *input; … … 902 904 /* Register server */ 903 905 async_set_fallback_port_handler(client_connection, NULL); 904 rc = loc_server_register(NAME );906 rc = loc_server_register(NAME, &console_srv); 905 907 if (rc != EOK) { 906 908 printf("%s: Unable to register server (%s)\n", NAME, … … 952 954 snprintf(vc, LOC_NAME_MAXLEN, "%s/vc%zu", NAMESPACE, i); 953 955 954 if (loc_service_register(vc, &consoles[i].dsid) != EOK) { 956 if (loc_service_register(console_srv, vc, 957 &consoles[i].dsid) != EOK) { 955 958 printf("%s: Unable to register device %s\n", NAME, vc); 956 959 return false; -
uspace/srv/hid/display/main.c
r6a0b2cc r4c6fd56 127 127 port_id_t wm_port; 128 128 port_id_t dc_port; 129 loc_srv_t *srv = NULL; 130 service_id_t sid = 0; 129 131 errno_t rc; 130 132 … … 171 173 goto error; 172 174 173 rc = loc_server_register(NAME );175 rc = loc_server_register(NAME, &srv); 174 176 if (rc != EOK) { 175 177 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 178 180 } 179 181 180 service_id_t sid; 181 rc = loc_service_register(SERVICE_NAME_DISPLAY, &sid); 182 rc = loc_service_register(srv, SERVICE_NAME_DISPLAY, &sid); 182 183 if (rc != EOK) { 183 184 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); … … 189 190 return EOK; 190 191 error: 192 if (sid != 0) 193 loc_service_unregister(srv, sid); 194 if (srv != NULL) 195 loc_server_unregister(srv); 191 196 // XXX destroy disp_port 192 197 // XXX destroy gc_port -
uspace/srv/hid/input/input.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 2Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * Copyright (c) 2006 Josef Cejka 4 4 * All rights reserved. … … 878 878 { 879 879 errno_t rc; 880 loc_srv_t *srv; 880 881 881 882 if (argc < 2) { … … 901 902 async_set_fallback_port_handler(client_connection, NULL); 902 903 903 rc = loc_server_register(NAME );904 rc = loc_server_register(NAME, &srv); 904 905 if (rc != EOK) { 905 906 printf("%s: Unable to register server\n", NAME); … … 908 909 909 910 service_id_t service_id; 910 rc = loc_service_register( argv[1], &service_id);911 rc = loc_service_register(srv, argv[1], &service_id); 911 912 if (rc != EOK) { 912 913 printf("%s: Unable to register service %s\n", NAME, argv[1]); -
uspace/srv/hid/isdv4_tablet/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2012 Martin Sucha 3 4 * All rights reserved. … … 184 185 serial_t *serial; 185 186 char *serial_port_name = NULL; 187 loc_srv_t *srv; 186 188 187 189 int arg = 1; … … 315 317 316 318 async_set_fallback_port_handler(mouse_connection, NULL); 317 rc = loc_server_register(NAME );319 rc = loc_server_register(NAME, &srv); 318 320 if (rc != EOK) { 319 321 printf("%s: Unable to register driver.\n", NAME); … … 329 331 } 330 332 331 rc = loc_service_register(service_name, &service_id); 332 if (rc != EOK) { 333 rc = loc_service_register(srv, service_name, &service_id); 334 if (rc != EOK) { 335 loc_server_unregister(srv); 333 336 printf(NAME ": Unable to register service %s.\n", service_name); 334 337 return rc; … … 340 343 printf(NAME ": Unable to get mouse category id.\n"); 341 344 } else { 342 rc = loc_service_add_to_cat(s ervice_id, mouse_category);345 rc = loc_service_add_to_cat(srv, service_id, mouse_category); 343 346 if (rc != EOK) { 344 347 printf(NAME ": Unable to add device to mouse category.\n"); -
uspace/srv/hid/output/output.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2011 Martin Decky 3 4 * All rights reserved. … … 468 469 int main(int argc, char *argv[]) 469 470 { 471 loc_srv_t *srv; 472 470 473 if (argc < 2) { 471 474 usage(argv[0]); … … 477 480 /* Register server */ 478 481 async_set_fallback_port_handler(client_connection, NULL); 479 errno_t rc = loc_server_register(NAME );482 errno_t rc = loc_server_register(NAME, &srv); 480 483 if (rc != EOK) { 481 484 printf("%s: Unable to register driver\n", NAME); … … 484 487 485 488 service_id_t service_id; 486 rc = loc_service_register( argv[1], &service_id);489 rc = loc_service_register(srv, argv[1], &service_id); 487 490 if (rc != EOK) { 491 loc_server_unregister(srv); 492 488 493 printf("%s: Unable to register service %s\n", NAME, argv[1]); 489 494 return rc; -
uspace/srv/hid/remcons/remcons.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 2023 Jiri Svoboda 2 3 * Copyright (c) 2012 Vojtech Horky 3 4 * All rights reserved. … … 110 111 }; 111 112 113 static loc_srv_t *remcons_srv; 114 112 115 static telnet_user_t *srv_to_user(con_srv_t *srv) 113 116 { … … 301 304 telnet_user_add(user); 302 305 303 errno_t rc = loc_service_register(user->service_name, &user->service_id); 306 errno_t rc = loc_service_register(remcons_srv, user->service_name, 307 &user->service_id); 304 308 if (rc != EOK) { 305 309 telnet_user_error(user, "Unable to register %s with loc: %s.", … … 332 336 fibril_mutex_unlock(&user->guard); 333 337 334 rc = loc_service_unregister( user->service_id);338 rc = loc_service_unregister(remcons_srv, user->service_id); 335 339 if (rc != EOK) { 336 340 telnet_user_error(user, … … 351 355 352 356 async_set_fallback_port_handler(client_connection, NULL); 353 rc = loc_server_register(NAME );357 rc = loc_server_register(NAME, &remcons_srv); 354 358 if (rc != EOK) { 355 359 fprintf(stderr, "%s: Unable to register server\n", NAME); -
uspace/srv/hid/rfb/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * Copyright (c) 2013 Martin Sucha 4 4 * All rights reserved. … … 443 443 { 444 444 rfb_t rfb; 445 loc_srv_t *srv; 445 446 446 447 log_init(NAME); … … 482 483 async_set_fallback_port_handler(client_connection, &rfb); 483 484 484 errno_t rc = loc_server_register(NAME );485 errno_t rc = loc_server_register(NAME, &srv); 485 486 if (rc != EOK) { 486 487 printf("%s: Unable to register server.\n", NAME); … … 497 498 service_id_t service_id; 498 499 499 rc = loc_service_register(s ervice_name, &service_id);500 rc = loc_service_register(srv, service_name, &service_id); 500 501 if (rc != EOK) { 501 502 printf(NAME ": Unable to register service %s.\n", service_name); … … 512 513 } 513 514 514 rc = loc_service_add_to_cat(s ervice_id, ddev_cid);515 rc = loc_service_add_to_cat(srv, service_id, ddev_cid); 515 516 if (rc != EOK) { 516 517 fprintf(stderr, NAME ": Unable to add service to display device category.\n"); -
uspace/srv/hid/s3c24xx_ts/s3c24xx_ts.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 10Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 81 81 int main(int argc, char *argv[]) 82 82 { 83 loc_srv_t *srv; 84 83 85 printf("%s: S3C24xx touchscreen driver\n", NAME); 84 86 85 87 async_set_fallback_port_handler(s3c24xx_ts_connection, NULL); 86 errno_t rc = loc_server_register(NAME );88 errno_t rc = loc_server_register(NAME, &srv); 87 89 if (rc != EOK) { 88 90 printf("%s: Unable to register driver.\n", NAME); … … 91 93 92 94 ts = malloc(sizeof(s3c24xx_ts_t)); 93 if (ts == NULL) 95 if (ts == NULL) { 96 loc_server_unregister(srv); 94 97 return -1; 95 96 if (s3c24xx_ts_init(ts) != EOK) 98 } 99 100 if (s3c24xx_ts_init(ts) != EOK) { 101 free(ts); 102 loc_server_unregister(srv); 97 103 return -1; 98 99 rc = loc_service_register(NAMESPACE "/mouse", &ts->service_id); 104 } 105 106 rc = loc_service_register(srv, NAMESPACE "/mouse", &ts->service_id); 100 107 if (rc != EOK) { 108 // XXX s3c24xx_ts_fini(); 109 free(ts); 110 loc_server_unregister(srv); 101 111 printf(NAME ": Unable to register device %s.\n", 102 112 NAMESPACE "/mouse"); -
uspace/srv/hw/char/s3c24xx_uart/s3c24xx_uart.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 10Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 80 80 int main(int argc, char *argv[]) 81 81 { 82 loc_srv_t *srv; 83 82 84 printf("%s: S3C24xx on-chip UART driver\n", NAME); 83 85 84 86 async_set_fallback_port_handler(s3c24xx_uart_connection, uart); 85 errno_t rc = loc_server_register(NAME );87 errno_t rc = loc_server_register(NAME, &srv); 86 88 if (rc != EOK) { 87 89 printf("%s: Unable to register server.\n", NAME); … … 90 92 91 93 uart = malloc(sizeof(s3c24xx_uart_t)); 92 if (uart == NULL) 93 return -1; 94 95 if (s3c24xx_uart_init(uart) != EOK) 96 return -1; 97 98 rc = loc_service_register(NAMESPACE "/" NAME, &uart->service_id); 94 if (uart == NULL) { 95 loc_server_unregister(srv); 96 return -1; 97 } 98 99 if (s3c24xx_uart_init(uart) != EOK) { 100 free(uart); 101 loc_server_unregister(srv); 102 return -1; 103 } 104 105 rc = loc_service_register(srv, NAMESPACE "/" NAME, &uart->service_id); 99 106 if (rc != EOK) { 107 // XXX s3c24xx_uart_fini(uart); 108 free(uart); 109 loc_server_unregister(srv); 100 110 printf(NAME ": Unable to register device %s.\n", 101 111 NAMESPACE "/" NAME); -
uspace/srv/net/dhcp/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 13 Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 54 54 static errno_t dhcp_init(void) 55 55 { 56 loc_srv_t *srv; 56 57 errno_t rc; 57 58 … … 68 69 async_set_fallback_port_handler(dhcp_client_conn, NULL); 69 70 70 rc = loc_server_register(NAME );71 rc = loc_server_register(NAME, &srv); 71 72 if (rc != EOK) { 72 73 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 75 76 76 77 service_id_t sid; 77 rc = loc_service_register( SERVICE_NAME_DHCP, &sid);78 rc = loc_service_register(srv, SERVICE_NAME_DHCP, &sid); 78 79 if (rc != EOK) { 80 loc_server_unregister(srv); 79 81 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); 80 82 return EEXIST; -
uspace/srv/net/dnsrsrv/dnsrsrv.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 13 Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 57 57 static errno_t dnsr_init(void) 58 58 { 59 loc_srv_t *srv; 59 60 errno_t rc; 60 61 log_msg(LOG_DEFAULT, LVL_DEBUG, "dnsr_init()"); … … 68 69 async_set_fallback_port_handler(dnsr_client_conn, NULL); 69 70 70 rc = loc_server_register(NAME );71 rc = loc_server_register(NAME, &srv); 71 72 if (rc != EOK) { 72 73 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 76 77 77 78 service_id_t sid; 78 rc = loc_service_register(SERVICE_NAME_DNSR, &sid); 79 if (rc != EOK) { 79 rc = loc_service_register(srv, SERVICE_NAME_DNSR, &sid); 80 if (rc != EOK) { 81 loc_server_unregister(srv); 80 82 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); 81 83 transport_fini(); -
uspace/srv/net/ethip/ethip.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 78 78 }; 79 79 80 static loc_srv_t *ethip_srv; 81 80 82 static errno_t ethip_init(void) 81 83 { 82 84 async_set_fallback_port_handler(ethip_client_conn, NULL); 83 85 84 errno_t rc = loc_server_register(NAME );86 errno_t rc = loc_server_register(NAME, ðip_srv); 85 87 if (rc != EOK) { 86 88 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server."); … … 115 117 } 116 118 117 rc = loc_service_register( svc_name, &sid);119 rc = loc_service_register(ethip_srv, svc_name, &sid); 118 120 if (rc != EOK) { 119 121 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service %s.", svc_name); … … 129 131 } 130 132 131 rc = loc_service_add_to_cat( sid, iplink_cat);133 rc = loc_service_add_to_cat(ethip_srv, sid, iplink_cat); 132 134 if (rc != EOK) { 133 135 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed adding %s to category.", svc_name); -
uspace/srv/net/inetsrv/inetsrv.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 12Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 86 86 static errno_t inet_init(void) 87 87 { 88 loc_srv_t *srv; 89 88 90 log_msg(LOG_DEFAULT, LVL_DEBUG, "inet_init()"); 89 91 … … 104 106 return rc; 105 107 106 rc = loc_server_register(NAME );108 rc = loc_server_register(NAME, &srv); 107 109 if (rc != EOK) { 108 110 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 111 113 112 114 service_id_t sid; 113 rc = loc_service_register(SERVICE_NAME_INET, &sid); 114 if (rc != EOK) { 115 rc = loc_service_register(srv, SERVICE_NAME_INET, &sid); 116 if (rc != EOK) { 117 loc_server_unregister(srv); 115 118 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); 116 119 return EEXIST; -
uspace/srv/net/loopip/loopip.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 103 103 static errno_t loopip_init(void) 104 104 { 105 loc_srv_t *srv; 106 105 107 async_set_fallback_port_handler(loopip_client_conn, NULL); 106 108 107 errno_t rc = loc_server_register(NAME );109 errno_t rc = loc_server_register(NAME, &srv); 108 110 if (rc != EOK) { 109 111 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server."); … … 119 121 const char *svc_name = "net/loopback"; 120 122 service_id_t sid; 121 rc = loc_service_register(svc_name, &sid); 122 if (rc != EOK) { 123 rc = loc_service_register(srv, svc_name, &sid); 124 if (rc != EOK) { 125 loc_server_unregister(srv); 123 126 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service %s.", 124 127 svc_name); … … 129 132 rc = loc_category_get_id("iplink", &iplink_cat, IPC_FLAG_BLOCKING); 130 133 if (rc != EOK) { 134 loc_service_unregister(srv, sid); 135 loc_server_unregister(srv); 131 136 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed resolving category 'iplink'."); 132 137 return rc; 133 138 } 134 139 135 rc = loc_service_add_to_cat(sid, iplink_cat); 136 if (rc != EOK) { 140 rc = loc_service_add_to_cat(srv, sid, iplink_cat); 141 if (rc != EOK) { 142 loc_service_unregister(srv, sid); 143 loc_server_unregister(srv); 137 144 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed adding %s to category.", 138 145 svc_name); … … 141 148 142 149 fid_t fid = fibril_create(loopip_recv_fibril, NULL); 143 if (fid == 0) 144 return ENOMEM; 150 if (fid == 0) { 151 loc_service_unregister(srv, sid); 152 loc_server_unregister(srv); 153 return ENOMEM; 154 } 145 155 146 156 fibril_add_ready(fid); -
uspace/srv/net/nconfsrv/nconfsrv.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 13 Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 59 59 { 60 60 service_id_t sid; 61 loc_srv_t *srv; 61 62 errno_t rc; 62 63 … … 79 80 async_set_fallback_port_handler(ncs_client_conn, NULL); 80 81 81 rc = loc_server_register(NAME );82 rc = loc_server_register(NAME, &srv); 82 83 if (rc != EOK) { 83 84 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 85 86 } 86 87 87 rc = loc_service_register( SERVICE_NAME_NETCONF, &sid);88 rc = loc_service_register(srv, SERVICE_NAME_NETCONF, &sid); 88 89 if (rc != EOK) { 90 loc_server_unregister(srv); 89 91 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); 90 92 return EEXIST; … … 92 94 93 95 rc = ncs_link_discovery_start(); 94 if (rc != EOK) 96 if (rc != EOK) { 97 loc_service_unregister(srv, sid); 98 loc_server_unregister(srv); 95 99 return EEXIST; 100 } 96 101 97 102 return EOK; -
uspace/srv/net/slip/slip.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * Copyright (c) 2013 Jakub Jermar 4 4 * All rights reserved. … … 307 307 chardev_t *chardev_out = NULL; 308 308 fid_t fid; 309 loc_srv_t *srv; 309 310 errno_t rc; 310 311 … … 314 315 async_set_fallback_port_handler(slip_client_conn, NULL); 315 316 316 rc = loc_server_register(NAME );317 rc = loc_server_register(NAME, &srv); 317 318 if (rc != EOK) { 318 319 log_msg(LOG_DEFAULT, LVL_ERROR, … … 323 324 rc = loc_service_get_id(svcstr, &svcid, 0); 324 325 if (rc != EOK) { 326 loc_server_unregister(srv); 325 327 log_msg(LOG_DEFAULT, LVL_ERROR, 326 328 "Failed getting ID for service %s", svcstr); … … 330 332 rc = loc_category_get_id(CAT_IPLINK, &iplinkcid, 0); 331 333 if (rc != EOK) { 334 loc_server_unregister(srv); 332 335 log_msg(LOG_DEFAULT, LVL_ERROR, 333 336 "Failed to get category ID for %s", … … 342 345 sess_out = loc_service_connect(svcid, INTERFACE_DDF, 0); 343 346 if (!sess_out) { 347 loc_server_unregister(srv); 344 348 log_msg(LOG_DEFAULT, LVL_ERROR, 345 349 "Failed to connect to service %s (ID=%d)", … … 350 354 rc = chardev_open(sess_out, &chardev_out); 351 355 if (rc != EOK) { 356 loc_server_unregister(srv); 352 357 log_msg(LOG_DEFAULT, LVL_ERROR, 353 358 "Failed opening character device."); … … 373 378 } 374 379 375 rc = loc_service_register( linkstr, &linksid);380 rc = loc_service_register(srv, linkstr, &linksid); 376 381 if (rc != EOK) { 377 382 log_msg(LOG_DEFAULT, LVL_ERROR, … … 381 386 } 382 387 383 rc = loc_service_add_to_cat(linksid, iplinkcid); 384 if (rc != EOK) { 388 rc = loc_service_add_to_cat(srv, linksid, iplinkcid); 389 if (rc != EOK) { 390 loc_service_unregister(srv, linksid); 385 391 log_msg(LOG_DEFAULT, LVL_ERROR, 386 392 "Failed to add service %d (%s) to category %d (%s).", … … 401 407 402 408 fail: 409 loc_server_unregister(srv); 403 410 chardev_close(chardev_out); 404 411 if (sess_out) -
uspace/srv/net/tcp/service.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 15Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 1242 1242 errno_t rc; 1243 1243 service_id_t sid; 1244 loc_srv_t *srv; 1244 1245 1245 1246 async_set_fallback_port_handler(tcp_client_conn, NULL); 1246 1247 1247 rc = loc_server_register(NAME );1248 rc = loc_server_register(NAME, &srv); 1248 1249 if (rc != EOK) { 1249 1250 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server."); … … 1251 1252 } 1252 1253 1253 rc = loc_service_register(SERVICE_NAME_TCP, &sid); 1254 if (rc != EOK) { 1254 rc = loc_service_register(srv, SERVICE_NAME_TCP, &sid); 1255 if (rc != EOK) { 1256 loc_server_unregister(srv); 1255 1257 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service."); 1256 1258 return EIO; -
uspace/srv/net/udp/service.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 15Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 647 647 errno_t rc; 648 648 service_id_t sid; 649 loc_srv_t *srv; 649 650 650 651 async_set_fallback_port_handler(udp_client_conn, NULL); 651 652 652 rc = loc_server_register(NAME );653 rc = loc_server_register(NAME, &srv); 653 654 if (rc != EOK) { 654 655 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server."); … … 656 657 } 657 658 658 rc = loc_service_register(SERVICE_NAME_UDP, &sid); 659 if (rc != EOK) { 659 rc = loc_service_register(srv, SERVICE_NAME_UDP, &sid); 660 if (rc != EOK) { 661 loc_server_unregister(srv); 660 662 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service."); 661 663 return EIO; -
uspace/srv/taskmon/taskmon.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 13 Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 136 136 int main(int argc, char *argv[]) 137 137 { 138 loc_srv_t *srv; 139 138 140 printf("%s: Task Monitoring Service\n", NAME); 139 141 … … 150 152 async_set_fallback_port_handler(corecfg_client_conn, NULL); 151 153 152 errno_t rc = loc_server_register(NAME );154 errno_t rc = loc_server_register(NAME, &srv); 153 155 if (rc != EOK) { 154 156 printf("%s: Failed registering server: %s.\n", … … 158 160 159 161 service_id_t sid; 160 rc = loc_service_register( SERVICE_NAME_CORECFG, &sid);162 rc = loc_service_register(srv, SERVICE_NAME_CORECFG, &sid); 161 163 if (rc != EOK) { 164 loc_server_unregister(srv); 162 165 printf("%s: Failed registering service: %s.\n", 163 166 NAME, str_error(rc)); -
uspace/srv/test/chardev-test/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 17Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 118 118 { 119 119 errno_t rc; 120 loc_srv_t *srv; 120 121 121 122 printf("%s: Character device test service\n", NAME); 122 123 async_set_fallback_port_handler(chardev_test_connection, NULL); 123 124 124 rc = loc_server_register(NAME );125 rc = loc_server_register(NAME, &srv); 125 126 if (rc != EOK) { 126 127 printf("%s: Failed registering server.: %s\n", NAME, str_error(rc)); … … 140 141 partialx_srvs.sarg = NULL; 141 142 142 rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_SMALLX, &smallx_svc_id); 143 rc = loc_service_register(srv, SERVICE_NAME_CHARDEV_TEST_SMALLX, 144 &smallx_svc_id); 143 145 if (rc != EOK) { 144 146 printf("%s: Failed registering service.: %s\n", NAME, str_error(rc)); 145 return rc; 146 } 147 148 rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_LARGEX, &largex_svc_id); 147 goto error; 148 } 149 150 rc = loc_service_register(srv, SERVICE_NAME_CHARDEV_TEST_LARGEX, 151 &largex_svc_id); 149 152 if (rc != EOK) { 150 153 printf("%s: Failed registering service.: %s\n", NAME, str_error(rc)); 151 return rc; 152 } 153 154 rc = loc_service_register(SERVICE_NAME_CHARDEV_TEST_PARTIALX, &partialx_svc_id); 154 goto error; 155 } 156 157 rc = loc_service_register(srv, SERVICE_NAME_CHARDEV_TEST_PARTIALX, 158 &partialx_svc_id); 155 159 if (rc != EOK) { 156 160 printf("%s: Failed registering service.: %s\n", NAME, str_error(rc)); 157 return rc;161 goto error; 158 162 } 159 163 … … 164 168 /* Not reached */ 165 169 return 0; 170 error: 171 if (smallx_svc_id != 0) 172 loc_service_unregister(srv, smallx_svc_id); 173 if (largex_svc_id != 0) 174 loc_service_unregister(srv, largex_svc_id); 175 if (partialx_svc_id != 0) 176 loc_service_unregister(srv, partialx_svc_id); 177 loc_server_unregister(srv); 178 return rc; 166 179 } 167 180 -
uspace/srv/test/ipc-test/main.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 18Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 222 222 { 223 223 errno_t rc; 224 loc_srv_t *srv; 224 225 225 226 printf("%s: IPC test service\n", NAME); … … 232 233 } 233 234 234 rc = loc_server_register(NAME );235 rc = loc_server_register(NAME, &srv); 235 236 if (rc != EOK) { 236 237 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server. (%s)\n", … … 239 240 } 240 241 241 rc = loc_service_register(SERVICE_NAME_IPC_TEST, &svc_id); 242 if (rc != EOK) { 242 rc = loc_service_register(srv, SERVICE_NAME_IPC_TEST, &svc_id); 243 if (rc != EOK) { 244 loc_server_unregister(srv); 243 245 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service. (%s)\n", 244 246 str_error(rc)); -
uspace/srv/volsrv/volsrv.c
r6a0b2cc r4c6fd56 1 1 /* 2 * Copyright (c) 20 15Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 62 62 vol_volumes_t *volumes = NULL; 63 63 vol_parts_t *parts = NULL; 64 loc_srv_t *srv = NULL; 64 65 65 66 log_msg(LOG_DEFAULT, LVL_DEBUG, "vol_init()"); … … 79 80 async_set_fallback_port_handler(vol_client_conn, parts); 80 81 81 rc = loc_server_register(NAME );82 rc = loc_server_register(NAME, &srv); 82 83 if (rc != EOK) { 83 84 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc)); … … 86 87 87 88 service_id_t sid; 88 rc = loc_service_register( SERVICE_NAME_VOLSRV, &sid);89 rc = loc_service_register(srv, SERVICE_NAME_VOLSRV, &sid); 89 90 if (rc != EOK) { 90 91 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc)); … … 95 96 return EOK; 96 97 error: 98 if (srv != NULL) 99 loc_server_unregister(srv); 97 100 vol_volumes_destroy(volumes); 98 101 vol_parts_destroy(parts);
Note:
See TracChangeset
for help on using the changeset viewer.
