Changeset b7fd2a0 in mainline for uspace/lib/c/generic/inet
- Timestamp:
- 2018-01-13T03:10:29Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a53ed3a
- Parents:
- 36f0738
- Location:
- uspace/lib/c/generic/inet
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/inet/addr.c
r36f0738 rb7fd2a0 290 290 } 291 291 292 static int inet_addr_parse_v4(const char *str, inet_addr_t *raddr,292 static errno_t inet_addr_parse_v4(const char *str, inet_addr_t *raddr, 293 293 int *prefix, char **endptr) 294 294 { … … 299 299 300 300 while (i < 4) { 301 int rc = str_uint8_t(cur, (const char **)&cur, 10, false, &b);301 errno_t rc = str_uint8_t(cur, (const char **)&cur, 10, false, &b); 302 302 if (rc != EOK) 303 303 return rc; … … 339 339 } 340 340 341 static int inet_addr_parse_v6(const char *str, inet_addr_t *raddr, int *prefix,341 static errno_t inet_addr_parse_v6(const char *str, inet_addr_t *raddr, int *prefix, 342 342 char **endptr) 343 343 { … … 362 362 uint16_t bioctet; 363 363 const char *gend; 364 int rc = str_uint16_t(cur, &gend, 16, false, &bioctet);364 errno_t rc = str_uint16_t(cur, &gend, 16, false, &bioctet); 365 365 if (rc != EOK) 366 366 break; … … 446 446 * 447 447 */ 448 int inet_addr_parse(const char *text, inet_addr_t *addr, char **endptr)449 { 450 int rc;448 errno_t inet_addr_parse(const char *text, inet_addr_t *addr, char **endptr) 449 { 450 errno_t rc; 451 451 452 452 rc = inet_addr_parse_v4(text, addr, NULL, endptr); … … 473 473 * 474 474 */ 475 int inet_naddr_parse(const char *text, inet_naddr_t *naddr, char **endptr)476 { 477 int rc;475 errno_t inet_naddr_parse(const char *text, inet_naddr_t *naddr, char **endptr) 476 { 477 errno_t rc; 478 478 inet_addr_t addr; 479 479 int prefix; … … 494 494 } 495 495 496 static int inet_addr_format_v4(addr32_t addr, char **bufp)496 static errno_t inet_addr_format_v4(addr32_t addr, char **bufp) 497 497 { 498 498 int rc; … … 506 506 } 507 507 508 static int inet_addr_format_v6(const addr128_t addr, char **bufp)508 static errno_t inet_addr_format_v6(const addr128_t addr, char **bufp) 509 509 { 510 510 *bufp = (char *) malloc(INET6_ADDRSTRLEN); … … 581 581 * 582 582 */ 583 int inet_addr_format(const inet_addr_t *addr, char **bufp)584 { 585 int rc;583 errno_t inet_addr_format(const inet_addr_t *addr, char **bufp) 584 { 585 errno_t rc; 586 586 int ret; 587 587 … … 616 616 * 617 617 */ 618 int inet_naddr_format(const inet_naddr_t *naddr, char **bufp)619 { 620 int rc;618 errno_t inet_naddr_format(const inet_naddr_t *naddr, char **bufp) 619 { 620 errno_t rc; 621 621 int ret; 622 622 char *astr; -
uspace/lib/c/generic/inet/host.c
r36f0738 rb7fd2a0 54 54 * extra characters at the end. ENOMEM if out of memory 55 55 */ 56 int inet_host_parse(const char *str, inet_host_t **rhost,56 errno_t inet_host_parse(const char *str, inet_host_t **rhost, 57 57 char **endptr) 58 58 { … … 61 61 char *name; 62 62 char *aend; 63 int rc;63 errno_t rc; 64 64 65 65 host = calloc(1, sizeof(inet_host_t)); … … 106 106 * @return EOK on success, ENOMEM if out of memory 107 107 */ 108 int inet_host_format(inet_host_t *host, char **rstr)109 { 110 int rc;108 errno_t inet_host_format(inet_host_t *host, char **rstr) 109 { 110 errno_t rc; 111 111 char *str = NULL; 112 112 … … 161 161 * @reutrn EOK on success, ENOENT on resolurion failure 162 162 */ 163 int inet_host_lookup_one(inet_host_t *host, ip_ver_t version, inet_addr_t *addr)163 errno_t inet_host_lookup_one(inet_host_t *host, ip_ver_t version, inet_addr_t *addr) 164 164 { 165 165 dnsr_hostinfo_t *hinfo = NULL; 166 int rc;166 errno_t rc; 167 167 168 168 switch (host->hform) { … … 201 201 * ENOMEM if out of memory 202 202 */ 203 int inet_host_plookup_one(const char *str, ip_ver_t version, inet_addr_t *addr,203 errno_t inet_host_plookup_one(const char *str, ip_ver_t version, inet_addr_t *addr, 204 204 char **endptr, const char **errmsg) 205 205 { 206 206 inet_host_t *host = NULL; 207 207 char *eptr; 208 int rc;208 errno_t rc; 209 209 210 210 rc = inet_host_parse(str, &host, endptr != NULL ? &eptr : NULL); -
uspace/lib/c/generic/inet/hostname.c
r36f0738 rb7fd2a0 58 58 * extra characters at the end. ENOMEM if out of memory 59 59 */ 60 int inet_hostname_parse(const char *str, char **rname, char **endptr)60 errno_t inet_hostname_parse(const char *str, char **rname, char **endptr) 61 61 { 62 62 const char *c; -
uspace/lib/c/generic/inet/hostport.c
r36f0738 rb7fd2a0 56 56 * extra characters at the end. ENOMEM if out of memory 57 57 */ 58 int inet_hostport_parse(const char *str, inet_hostport_t **rhp,58 errno_t inet_hostport_parse(const char *str, inet_hostport_t **rhp, 59 59 char **endptr) 60 60 { … … 65 65 char *aend; 66 66 const char *pend; 67 int rc;67 errno_t rc; 68 68 69 69 hp = calloc(1, sizeof(inet_hostport_t)); … … 137 137 * @return EOK on success, ENOMEM if out of memory 138 138 */ 139 int inet_hostport_format(inet_hostport_t *hp, char **rstr)140 { 141 int rc;139 errno_t inet_hostport_format(inet_hostport_t *hp, char **rstr) 140 { 141 errno_t rc; 142 142 int ret; 143 143 char *astr, *str; … … 211 211 * @return EOK on success, ENOENT on resolution failure 212 212 */ 213 int inet_hostport_lookup_one(inet_hostport_t *hp, ip_ver_t version,213 errno_t inet_hostport_lookup_one(inet_hostport_t *hp, ip_ver_t version, 214 214 inet_ep_t *ep) 215 215 { 216 216 dnsr_hostinfo_t *hinfo = NULL; 217 int rc;217 errno_t rc; 218 218 219 219 inet_ep_init(ep); … … 255 255 * ENOMEM if out of memory 256 256 */ 257 int inet_hostport_plookup_one(const char *str, ip_ver_t version, inet_ep_t *ep,257 errno_t inet_hostport_plookup_one(const char *str, ip_ver_t version, inet_ep_t *ep, 258 258 char **endptr, const char **errmsg) 259 259 { 260 260 inet_hostport_t *hp = NULL; 261 261 char *eptr; 262 int rc;262 errno_t rc; 263 263 264 264 rc = inet_hostport_parse(str, &hp, endptr != NULL ? &eptr : NULL); -
uspace/lib/c/generic/inet/tcp.c
r36f0738 rb7fd2a0 42 42 43 43 static void tcp_cb_conn(ipc_callid_t, ipc_call_t *, void *); 44 static int tcp_conn_fibril(void *);44 static errno_t tcp_conn_fibril(void *); 45 45 46 46 /** Incoming TCP connection info … … 61 61 * @return EOK on success or an error code 62 62 */ 63 static int tcp_callback_create(tcp_t *tcp)63 static errno_t tcp_callback_create(tcp_t *tcp) 64 64 { 65 65 async_exch_t *exch = async_exchange_begin(tcp->sess); … … 68 68 69 69 port_id_t port; 70 int rc = async_create_callback_port(exch, INTERFACE_TCP_CB, 0, 0,70 errno_t rc = async_create_callback_port(exch, INTERFACE_TCP_CB, 0, 0, 71 71 tcp_cb_conn, tcp, &port); 72 72 … … 76 76 return rc; 77 77 78 int retval;78 errno_t retval; 79 79 async_wait_for(req, &retval); 80 80 … … 88 88 * cannot be contacted 89 89 */ 90 int tcp_create(tcp_t **rtcp)90 errno_t tcp_create(tcp_t **rtcp) 91 91 { 92 92 tcp_t *tcp; 93 93 service_id_t tcp_svcid; 94 int rc;94 errno_t rc; 95 95 96 96 tcp = calloc(1, sizeof(tcp_t)); … … 161 161 * @return EOK on success, ENOMEM if out of memory 162 162 */ 163 static int tcp_conn_new(tcp_t *tcp, sysarg_t id, tcp_cb_t *cb, void *arg,163 static errno_t tcp_conn_new(tcp_t *tcp, sysarg_t id, tcp_cb_t *cb, void *arg, 164 164 tcp_conn_t **rconn) 165 165 { … … 207 207 * @return EOK on success or an error code. 208 208 */ 209 int tcp_conn_create(tcp_t *tcp, inet_ep2_t *epp, tcp_cb_t *cb, void *arg,209 errno_t tcp_conn_create(tcp_t *tcp, inet_ep2_t *epp, tcp_cb_t *cb, void *arg, 210 210 tcp_conn_t **rconn) 211 211 { … … 216 216 exch = async_exchange_begin(tcp->sess); 217 217 aid_t req = async_send_0(exch, TCP_CONN_CREATE, &answer); 218 int rc = async_data_write_start(exch, (void *)epp,218 errno_t rc = async_data_write_start(exch, (void *)epp, 219 219 sizeof(inet_ep2_t)); 220 220 async_exchange_end(exch); 221 221 222 222 if (rc != EOK) { 223 int rc_orig;223 errno_t rc_orig; 224 224 async_wait_for(req, &rc_orig); 225 225 if (rc_orig != EOK) … … 240 240 return EOK; 241 241 error: 242 return ( int) rc;242 return (errno_t) rc; 243 243 } 244 244 … … 260 260 261 261 exch = async_exchange_begin(conn->tcp->sess); 262 int rc = async_req_1_0(exch, TCP_CONN_DESTROY, conn->id);262 errno_t rc = async_req_1_0(exch, TCP_CONN_DESTROY, conn->id); 263 263 async_exchange_end(exch); 264 264 … … 275 275 * @return EOK on success, EINVAL if no connection with the given ID exists 276 276 */ 277 static int tcp_conn_get(tcp_t *tcp, sysarg_t id, tcp_conn_t **rconn)277 static errno_t tcp_conn_get(tcp_t *tcp, sysarg_t id, tcp_conn_t **rconn) 278 278 { 279 279 list_foreach(tcp->conn, ltcp, tcp_conn_t, conn) { … … 318 318 * @return EOK on success or an error code 319 319 */ 320 int tcp_listener_create(tcp_t *tcp, inet_ep_t *ep, tcp_listen_cb_t *lcb,320 errno_t tcp_listener_create(tcp_t *tcp, inet_ep_t *ep, tcp_listen_cb_t *lcb, 321 321 void *larg, tcp_cb_t *cb, void *arg, tcp_listener_t **rlst) 322 322 { … … 331 331 exch = async_exchange_begin(tcp->sess); 332 332 aid_t req = async_send_0(exch, TCP_LISTENER_CREATE, &answer); 333 int rc = async_data_write_start(exch, (void *)ep,333 errno_t rc = async_data_write_start(exch, (void *)ep, 334 334 sizeof(inet_ep_t)); 335 335 async_exchange_end(exch); 336 336 337 337 if (rc != EOK) { 338 int rc_orig;338 errno_t rc_orig; 339 339 async_wait_for(req, &rc_orig); 340 340 if (rc_orig != EOK) … … 360 360 error: 361 361 free(lst); 362 return ( int) rc;362 return (errno_t) rc; 363 363 } 364 364 … … 377 377 378 378 exch = async_exchange_begin(lst->tcp->sess); 379 int rc = async_req_1_0(exch, TCP_LISTENER_DESTROY, lst->id);379 errno_t rc = async_req_1_0(exch, TCP_LISTENER_DESTROY, lst->id); 380 380 async_exchange_end(exch); 381 381 … … 392 392 * @return EOK on success, EINVAL if no listener with the given ID is found 393 393 */ 394 static int tcp_listener_get(tcp_t *tcp, sysarg_t id, tcp_listener_t **rlst)394 static errno_t tcp_listener_get(tcp_t *tcp, sysarg_t id, tcp_listener_t **rlst) 395 395 { 396 396 list_foreach(tcp->listener, ltcp, tcp_listener_t, lst) { … … 424 424 * @return EOK if connection is established, EIO otherwise 425 425 */ 426 int tcp_conn_wait_connected(tcp_conn_t *conn)426 errno_t tcp_conn_wait_connected(tcp_conn_t *conn) 427 427 { 428 428 fibril_mutex_lock(&conn->lock); … … 448 448 * @return EOK on success or an error code 449 449 */ 450 int tcp_conn_send(tcp_conn_t *conn, const void *data, size_t bytes)451 { 452 async_exch_t *exch; 453 int rc;450 errno_t tcp_conn_send(tcp_conn_t *conn, const void *data, size_t bytes) 451 { 452 async_exch_t *exch; 453 errno_t rc; 454 454 455 455 exch = async_exchange_begin(conn->tcp->sess); … … 480 480 * @return EOK on success or an error code 481 481 */ 482 int tcp_conn_send_fin(tcp_conn_t *conn)482 errno_t tcp_conn_send_fin(tcp_conn_t *conn) 483 483 { 484 484 async_exch_t *exch; 485 485 486 486 exch = async_exchange_begin(conn->tcp->sess); 487 int rc = async_req_1_0(exch, TCP_CONN_SEND_FIN, conn->id);487 errno_t rc = async_req_1_0(exch, TCP_CONN_SEND_FIN, conn->id); 488 488 async_exchange_end(exch); 489 489 … … 496 496 * @return EOK on success or an error code 497 497 */ 498 int tcp_conn_push(tcp_conn_t *conn)498 errno_t tcp_conn_push(tcp_conn_t *conn) 499 499 { 500 500 async_exch_t *exch; 501 501 502 502 exch = async_exchange_begin(conn->tcp->sess); 503 int rc = async_req_1_0(exch, TCP_CONN_PUSH, conn->id);503 errno_t rc = async_req_1_0(exch, TCP_CONN_PUSH, conn->id); 504 504 async_exchange_end(exch); 505 505 … … 512 512 * @return EOK on success or an error code 513 513 */ 514 int tcp_conn_reset(tcp_conn_t *conn)514 errno_t tcp_conn_reset(tcp_conn_t *conn) 515 515 { 516 516 async_exch_t *exch; 517 517 518 518 exch = async_exchange_begin(conn->tcp->sess); 519 int rc = async_req_1_0(exch, TCP_CONN_RESET, conn->id);519 errno_t rc = async_req_1_0(exch, TCP_CONN_RESET, conn->id); 520 520 async_exchange_end(exch); 521 521 … … 540 540 * error code in case of other error 541 541 */ 542 int tcp_conn_recv(tcp_conn_t *conn, void *buf, size_t bsize, size_t *nrecv)542 errno_t tcp_conn_recv(tcp_conn_t *conn, void *buf, size_t bsize, size_t *nrecv) 543 543 { 544 544 async_exch_t *exch; … … 553 553 exch = async_exchange_begin(conn->tcp->sess); 554 554 aid_t req = async_send_1(exch, TCP_CONN_RECV, conn->id, &answer); 555 int rc = async_data_read_start(exch, buf, bsize);555 errno_t rc = async_data_read_start(exch, buf, bsize); 556 556 async_exchange_end(exch); 557 557 … … 562 562 } 563 563 564 int retval;564 errno_t retval; 565 565 async_wait_for(req, &retval); 566 566 if (retval != EOK) { … … 588 588 * @return EOK on success or an error code 589 589 */ 590 int tcp_conn_recv_wait(tcp_conn_t *conn, void *buf, size_t bsize,590 errno_t tcp_conn_recv_wait(tcp_conn_t *conn, void *buf, size_t bsize, 591 591 size_t *nrecv) 592 592 { … … 602 602 exch = async_exchange_begin(conn->tcp->sess); 603 603 aid_t req = async_send_1(exch, TCP_CONN_RECV_WAIT, conn->id, &answer); 604 int rc = async_data_read_start(exch, buf, bsize);604 errno_t rc = async_data_read_start(exch, buf, bsize); 605 605 async_exchange_end(exch); 606 606 … … 616 616 } 617 617 618 int retval;618 errno_t retval; 619 619 async_wait_for(req, &retval); 620 620 if (retval != EOK) { … … 641 641 tcp_conn_t *conn; 642 642 sysarg_t conn_id; 643 int rc;643 errno_t rc; 644 644 645 645 conn_id = IPC_GET_ARG1(*icall); … … 669 669 tcp_conn_t *conn; 670 670 sysarg_t conn_id; 671 int rc;671 errno_t rc; 672 672 673 673 conn_id = IPC_GET_ARG1(*icall); … … 697 697 tcp_conn_t *conn; 698 698 sysarg_t conn_id; 699 int rc;699 errno_t rc; 700 700 701 701 conn_id = IPC_GET_ARG1(*icall); … … 725 725 tcp_conn_t *conn; 726 726 sysarg_t conn_id; 727 int rc;727 errno_t rc; 728 728 729 729 conn_id = IPC_GET_ARG1(*icall); … … 769 769 fid_t fid; 770 770 tcp_in_conn_t *cinfo; 771 int rc;771 errno_t rc; 772 772 773 773 lst_id = IPC_GET_ARG1(*icall); … … 863 863 * @param arg Argument, incoming connection information (@c tcp_in_conn_t) 864 864 */ 865 static int tcp_conn_fibril(void *arg)865 static errno_t tcp_conn_fibril(void *arg) 866 866 { 867 867 tcp_in_conn_t *cinfo = (tcp_in_conn_t *)arg; -
uspace/lib/c/generic/inet/udp.c
r36f0738 rb7fd2a0 48 48 * @return EOK on success or an error code 49 49 */ 50 static int udp_callback_create(udp_t *udp)50 static errno_t udp_callback_create(udp_t *udp) 51 51 { 52 52 async_exch_t *exch = async_exchange_begin(udp->sess); … … 55 55 56 56 port_id_t port; 57 int rc = async_create_callback_port(exch, INTERFACE_UDP_CB, 0, 0,57 errno_t rc = async_create_callback_port(exch, INTERFACE_UDP_CB, 0, 0, 58 58 udp_cb_conn, udp, &port); 59 59 … … 63 63 return rc; 64 64 65 int retval;65 errno_t retval; 66 66 async_wait_for(req, &retval); 67 67 … … 75 75 * cannot be contacted 76 76 */ 77 int udp_create(udp_t **rudp)77 errno_t udp_create(udp_t **rudp) 78 78 { 79 79 udp_t *udp; 80 80 service_id_t udp_svcid; 81 int rc;81 errno_t rc; 82 82 83 83 udp = calloc(1, sizeof(udp_t)); … … 160 160 * @return EOK on success or an error code. 161 161 */ 162 int udp_assoc_create(udp_t *udp, inet_ep2_t *epp, udp_cb_t *cb, void *arg,162 errno_t udp_assoc_create(udp_t *udp, inet_ep2_t *epp, udp_cb_t *cb, void *arg, 163 163 udp_assoc_t **rassoc) 164 164 { … … 173 173 exch = async_exchange_begin(udp->sess); 174 174 aid_t req = async_send_0(exch, UDP_ASSOC_CREATE, &answer); 175 int rc = async_data_write_start(exch, (void *)epp,175 errno_t rc = async_data_write_start(exch, (void *)epp, 176 176 sizeof(inet_ep2_t)); 177 177 async_exchange_end(exch); 178 178 179 179 if (rc != EOK) { 180 int rc_orig;180 errno_t rc_orig; 181 181 async_wait_for(req, &rc_orig); 182 182 if (rc_orig != EOK) … … 200 200 error: 201 201 free(assoc); 202 return ( int) rc;202 return (errno_t) rc; 203 203 } 204 204 … … 220 220 221 221 exch = async_exchange_begin(assoc->udp->sess); 222 int rc = async_req_1_0(exch, UDP_ASSOC_DESTROY, assoc->id);222 errno_t rc = async_req_1_0(exch, UDP_ASSOC_DESTROY, assoc->id); 223 223 async_exchange_end(exch); 224 224 … … 232 232 * @param flags Flags 233 233 */ 234 int udp_assoc_set_nolocal(udp_assoc_t *assoc)234 errno_t udp_assoc_set_nolocal(udp_assoc_t *assoc) 235 235 { 236 236 async_exch_t *exch; 237 237 238 238 exch = async_exchange_begin(assoc->udp->sess); 239 int rc = async_req_1_0(exch, UDP_ASSOC_SET_NOLOCAL, assoc->id);239 errno_t rc = async_req_1_0(exch, UDP_ASSOC_SET_NOLOCAL, assoc->id); 240 240 async_exchange_end(exch); 241 241 … … 252 252 * @return EOK on success or an error code 253 253 */ 254 int udp_assoc_send_msg(udp_assoc_t *assoc, inet_ep_t *dest, void *data,254 errno_t udp_assoc_send_msg(udp_assoc_t *assoc, inet_ep_t *dest, void *data, 255 255 size_t bytes) 256 256 { … … 260 260 aid_t req = async_send_1(exch, UDP_ASSOC_SEND_MSG, assoc->id, NULL); 261 261 262 int rc = async_data_write_start(exch, (void *)dest,262 errno_t rc = async_data_write_start(exch, (void *)dest, 263 263 sizeof(inet_ep_t)); 264 264 if (rc != EOK) { … … 318 318 * @return EOK on success or an error code. 319 319 */ 320 int udp_rmsg_read(udp_rmsg_t *rmsg, size_t off, void *buf, size_t bsize)320 errno_t udp_rmsg_read(udp_rmsg_t *rmsg, size_t off, void *buf, size_t bsize) 321 321 { 322 322 async_exch_t *exch; … … 325 325 exch = async_exchange_begin(rmsg->udp->sess); 326 326 aid_t req = async_send_1(exch, UDP_RMSG_READ, off, &answer); 327 int rc = async_data_read_start(exch, buf, bsize);327 errno_t rc = async_data_read_start(exch, buf, bsize); 328 328 async_exchange_end(exch); 329 329 … … 333 333 } 334 334 335 int retval;335 errno_t retval; 336 336 async_wait_for(req, &retval); 337 337 if (retval != EOK) { … … 382 382 * @return EOK on success or an error code 383 383 */ 384 static int udp_rmsg_info(udp_t *udp, udp_rmsg_t *rmsg)384 static errno_t udp_rmsg_info(udp_t *udp, udp_rmsg_t *rmsg) 385 385 { 386 386 async_exch_t *exch; … … 390 390 exch = async_exchange_begin(udp->sess); 391 391 aid_t req = async_send_0(exch, UDP_RMSG_INFO, &answer); 392 int rc = async_data_read_start(exch, &ep, sizeof(inet_ep_t));392 errno_t rc = async_data_read_start(exch, &ep, sizeof(inet_ep_t)); 393 393 async_exchange_end(exch); 394 394 … … 398 398 } 399 399 400 int retval;400 errno_t retval; 401 401 async_wait_for(req, &retval); 402 402 if (retval != EOK) … … 415 415 * @return EOK on success or an error code 416 416 */ 417 static int udp_rmsg_discard(udp_t *udp)417 static errno_t udp_rmsg_discard(udp_t *udp) 418 418 { 419 419 async_exch_t *exch; 420 420 421 421 exch = async_exchange_begin(udp->sess); 422 int rc = async_req_0_0(exch, UDP_RMSG_DISCARD);422 errno_t rc = async_req_0_0(exch, UDP_RMSG_DISCARD); 423 423 async_exchange_end(exch); 424 424 … … 434 434 * @return EOK on success, EINVAL if no association with the given ID exists 435 435 */ 436 static int udp_assoc_get(udp_t *udp, sysarg_t id, udp_assoc_t **rassoc)436 static errno_t udp_assoc_get(udp_t *udp, sysarg_t id, udp_assoc_t **rassoc) 437 437 { 438 438 list_foreach(udp->assoc, ludp, udp_assoc_t, assoc) { … … 459 459 udp_rmsg_t rmsg; 460 460 udp_assoc_t *assoc; 461 int rc;461 errno_t rc; 462 462 463 463 while (true) {
Note:
See TracChangeset
for help on using the changeset viewer.