Lines Matching refs:message

395 ssize_t SysSendMsg(int s, const struct msghdr *message, int flags)
401 CHECK_ASPACE(message, sizeof(struct msghdr));
402 CPY_FROM_CONST_USER(struct msghdr, message);
404 if (message && (size_t)message->msg_iovlen > IOV_MAX) {
409 CHECK_FIELD_ASPACE(message, msg_name, message->msg_namelen);
410 CHECK_FIELD_ASPACE(message, msg_iov, message->msg_iovlen * sizeof(struct iovec));
411 CHECK_FIELD_ASPACE(message, msg_control, message->msg_controllen);
413 DUP_FIELD_FROM_USER(message, msg_iov, message->msg_iovlen * sizeof(struct iovec));
414 CHECK_ARRAY_FIELD_ASPACE(message, msg_iov, message->msg_iovlen, iov_base, iov_len,
415 FREE_DUP_FIELD(message, msg_iov));
416 DUP_FIELD_FROM_USER(message, msg_name, message->msg_namelen,
417 FREE_DUP_FIELD(message, msg_iov));
418 DUP_FIELD_FROM_USER(message, msg_control, message->msg_controllen,
419 FREE_DUP_FIELD(message, msg_iov);
420 FREE_DUP_FIELD(message, msg_name));
421 DUP_ARRAY_FIELD_FROM_USER(message, msg_iov, message->msg_iovlen, iov_base, iov_len,
422 FREE_DUP_FIELD(message, msg_control);
423 FREE_DUP_FIELD(message, msg_iov);
424 FREE_DUP_FIELD(message, msg_name));
426 if (message == NULL) {
430 ret = sendmsg(s, message, flags);
432 FREE_DUP_ARRAY_FIELD(message, msg_iov, message->msg_iovlen, iov_base);
433 FREE_DUP_FIELD(message, msg_control);
434 FREE_DUP_FIELD(message, msg_iov);
435 FREE_DUP_FIELD(message, msg_name);
443 ssize_t SysRecvMsg(int s, struct msghdr *message, int flags)
449 CHECK_ASPACE(message, sizeof(struct msghdr));
450 CPY_FROM_NONCONST_USER(message);
452 if (message && (size_t)message->msg_iovlen > IOV_MAX) {
457 CHECK_FIELD_ASPACE(message, msg_name, message->msg_namelen);
458 CHECK_FIELD_ASPACE(message, msg_iov, message->msg_iovlen * sizeof(struct iovec));
459 CHECK_FIELD_ASPACE(message, msg_control, message->msg_controllen);
461 DUP_FIELD_FROM_USER(message, msg_iov, message->msg_iovlen * sizeof(struct iovec));
462 CHECK_ARRAY_FIELD_ASPACE(message, msg_iov, message->msg_iovlen, iov_base, iov_len,
463 FREE_DUP_FIELD(message, msg_iov));
464 DUP_FIELD_FROM_USER_NOCOPY(message, msg_name, message->msg_namelen,
465 FREE_DUP_FIELD(message, msg_iov));
466 DUP_FIELD_FROM_USER_NOCOPY(message, msg_control, message->msg_controllen,
467 FREE_DUP_FIELD(message, msg_iov);
468 FREE_DUP_FIELD(message, msg_name));
469 DUP_ARRAY_FIELD_FROM_USER_NOCOPY(message, msg_iov, message->msg_iovlen, iov_base, iov_len,
470 FREE_DUP_FIELD(message, msg_control);
471 FREE_DUP_FIELD(message, msg_iov);
472 FREE_DUP_FIELD(message, msg_name));
474 if (message == NULL) {
478 ret = recvmsg(s, message, flags);
484 CPY_TO_USER(message, ret = -1; goto OUT);
485 DUP_FIELD_TO_USER(message, msg_control, message->msg_controllen, ret = -1; goto OUT);
486 DUP_FIELD_TO_USER(message, msg_iov, message->msg_iovlen * sizeof(struct iovec), ret = -1; goto OUT);
487 DUP_FIELD_TO_USER(message, msg_name, message->msg_namelen, ret = -1; goto OUT);
488 DUP_ARRAY_FIELD_TO_USER(message, msg_iov, message->msg_iovlen, iov_base, iov_len, ret = -1; goto OUT);
490 FREE_DUP_ARRAY_FIELD(message, msg_iov, message->msg_iovlen, iov_base);
491 FREE_DUP_FIELD(message, msg_control);
492 FREE_DUP_FIELD(message, msg_iov);
493 FREE_DUP_FIELD(message, msg_name);