msghdr
ssize_t recvmsg(int socket, struct msghdr *message, int flags);
ssize_t sendmsg(int socket, const struct msghdr *message, int flags);
ssize_t _user_recvmsg(int socket, struct msghdr *message, int flags);
ssize_t _user_sendmsg(int socket, const struct msghdr *message, int flags);
ssize_t (*receive)(net_socket* socket, struct msghdr* , void* data,
ssize_t (*send)(net_socket* socket, struct msghdr* , const void* data,
ssize_t (*recvmsg)(net_socket* socket, struct msghdr* message, int flags);
ssize_t (*sendmsg)(net_socket* socket, const struct msghdr* message,
extern ssize_t _kern_recvmsg(int socket, struct msghdr *message,
extern ssize_t _kern_sendmsg(int socket, const struct msghdr *message,
socket_receive(net_socket* socket, msghdr* header, void* data, size_t length,
socket_send(net_socket* socket, msghdr* header, const void* data, size_t length,
msghdr* messageHeader, int flags)
net_buffer* buffer, msghdr* messageHeader, int flags)
calculate_total_length(msghdr* header, void* data, size_t length)
socket_receive_no_buffer(net_socket* socket, msghdr* header, void* data,
stack_interface_recvmsg(net_socket* socket, struct msghdr* message, int flags)
msghdr message;
stack_interface_sendmsg(net_socket* socket, const struct msghdr* message,
return gNetSocketModule.send(socket, (msghdr*)message, buffer, length,
msghdr message;
format_pointer(Context &context, msghdr *h)
POINTER_TYPE(msghdr_ptr, msghdr);
struct msghdr;
DEFINE_FACTORY(msghdr_ptr, msghdr *);
DEFINE_FACTORY(msghdr_ptr, const msghdr *);
struct msghdr msg;
struct msghdr m;
pr_pack(u_char *buf, int cc, struct msghdr *mhdr)
pr_exthdrs(struct msghdr *mhdr)
get_hoplim(struct msghdr *mhdr)
get_rcvpktinfo(struct msghdr *mhdr)
get_pathmtu(struct msghdr *mhdr)
static struct msghdr smsghdr;
static int get_hoplim(struct msghdr *);
static int get_pathmtu(struct msghdr *);
static struct in6_pktinfo *get_rcvpktinfo(struct msghdr *);
static void pr_pack(u_char *, int, struct msghdr *);
static void pr_exthdrs(struct msghdr *);
print(struct msghdr *mhdr, int cc)
static ssize_t wait_for_reply(int, struct msghdr *);
static int packet_ok(struct msghdr *, ssize_t, int);
static void print(struct msghdr *, int);
static struct msghdr rcvmhdr;
wait_for_reply(int sock, struct msghdr *mhdr)
packet_ok(struct msghdr *mhdr, ssize_t cc, int seq)
_user_recvmsg(int socket, struct msghdr *userMessage, int flags)
msghdr message;
|| user_memcpy(userMessage, &message, sizeof(msghdr)) != B_OK) {
_user_sendmsg(int socket, const struct msghdr *userMessage, int flags)
msghdr message;
prepare_userland_msghdr(const msghdr* userMessage, msghdr& message,
|| user_memcpy(&message, userMessage, sizeof(msghdr)) != B_OK) {
struct msghdr message = {};
struct msghdr message = {};
common_recvmsg(int fd, struct msghdr *message, int flags, bool kernel)
common_sendmsg(int fd, const struct msghdr *message, int flags, bool kernel)
recvmsg(int socket, struct msghdr *message, int flags)
sendmsg(int socket, const struct msghdr *message, int flags)
recvmsg(int socket, struct msghdr *message, int flags)
sendmsg(int socket, const struct msghdr *message, int flags)
struct msghdr *msg = (struct msghdr *) args;
struct msghdr *msg = (struct msghdr *) args;
struct msghdr msg;
struct msghdr msg;