msghdr
struct msghdr mh;
struct msghdr msg;
struct msghdr msg;
struct msghdr cred_hdr;
memset(&cred_hdr, 0, sizeof(struct msghdr));
struct msghdr msg;
struct msghdr msg;
msg_freehdr(struct msqid_pool *msqpptr, struct msg *msghdr)
while (msghdr->msg_ts > 0) {
if (msghdr->msg_spot < 0 || msghdr->msg_spot >= msginfo.msgseg) {
next = msqpptr->msgmaps[msghdr->msg_spot].next;
msqpptr->msgmaps[msghdr->msg_spot].next =
msqpptr->free_msgmaps = msghdr->msg_spot;
msghdr->msg_spot = next;
if (msghdr->msg_ts >= msginfo.msgssz)
msghdr->msg_ts -= msginfo.msgssz;
msghdr->msg_ts = 0;
if (msghdr->msg_spot != -1) {
msghdr->msg_next = msqpptr->free_msghdrs;
msqpptr->free_msghdrs = (msghdr - &msqpptr->msghdrs[0]) /
struct msg *msghdr;
msghdr = &msqpptr->msghdrs[msqpptr->free_msghdrs];
msqpptr->free_msghdrs = msghdr->msg_next;
msghdr->msg_spot = -1;
msghdr->msg_ts = msgsz;
msqpptr->msgmaps[next].next = msghdr->msg_spot;
msghdr->msg_spot = next;
memcpy(&msghdr->msg_type, auxmsgp, sizeof(msghdr->msg_type));
auxmsgp = (char *)auxmsgp + sizeof(msghdr->msg_type);
sysv_print("msg_type = %ld\n", msghdr->msg_type);
if (msghdr->msg_type < 1) {
msg_freehdr(msqpptr, msghdr);
sysv_print_err("mtype (%ld) < 1\n", msghdr->msg_type);
next = msghdr->msg_spot;
_index = (msghdr - &msqpptr->msghdrs[0]) /
msqptr->msg_cbytes += msghdr->msg_ts;
struct msg *msghdr;
msghdr = &msqpptr->msghdrs[msghdr_index];
if (msgsz < msghdr->msg_ts &&
msgsz, msghdr->msg_ts);
msqptr->first.msg_first_index = msghdr->msg_next;
msghdr = &msqpptr->msghdrs[msghdr_index];
if (mtype == msghdr->msg_type ||
msghdr->msg_type <= -mtype) {
msghdr->msg_type, mtype);
if (msgsz < msghdr->msg_ts &&
msgsz, msghdr->msg_ts);
prev = msghdr->msg_next;
prev = msghdr->msg_next;
msqptr->msg_cbytes -= msghdr->msg_ts;
msghdr->msg_ts);
if (msgsz > msghdr->msg_ts)
msgsz = msghdr->msg_ts;
memcpy(auxmsgp, (caddr_t)&(msghdr->msg_type), sizeof(msghdr->msg_type));
auxmsgp = (char *)auxmsgp + sizeof(msghdr->msg_type);
next = msghdr->msg_spot;
msg_freehdr(msqpptr, msghdr);
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
memset(&msg, 0, sizeof(struct msghdr));
struct msghdr msg = { .msg_name = NULL };
extern ssize_t __sys_recvmsg(int, struct msghdr *, int);
extern ssize_t __sys_sendmsg(int, const struct msghdr *, int);
ssize_t __recvmsg(int, struct msghdr *, int);
ssize_t __sendmsg(int, const struct msghdr *, int);
__recvmsg(int s, struct msghdr *m, int f)
__sendmsg(int s, const struct msghdr *m, int f)
struct msghdr msg;
struct msghdr msg;
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)
struct msghdr smsghdr;
int get_hoplim(struct msghdr *);
int get_pathmtu(struct msghdr *);
struct in6_pktinfo *get_rcvpktinfo(struct msghdr *);
void pr_pack(u_char *, int, struct msghdr *);
void pr_exthdrs(struct msghdr *);
struct msghdr m;
msghdr->msg_ts);
if (msgsz > msghdr->msg_ts)
msgsz = msghdr->msg_ts;
eval = copyout((caddr_t)&(msghdr->msg_type), user_msgp,
sizeof(msghdr->msg_type));
msg_freehdr(msghdr);
user_msgp = (char *)user_msgp + sizeof(msghdr->msg_type);
next = msghdr->msg_spot;
msg_freehdr(msghdr);
msg_freehdr(msghdr);
msg_freehdr(struct msg *msghdr)
while (msghdr->msg_ts > 0) {
if (msghdr->msg_spot < 0 || msghdr->msg_spot >= msginfo.msgseg)
next = msgmaps[msghdr->msg_spot].next;
msgmaps[msghdr->msg_spot].next = free_msgmaps;
free_msgmaps = msghdr->msg_spot;
msghdr->msg_spot = next;
if (msghdr->msg_ts >= msginfo.msgssz)
msghdr->msg_ts -= msginfo.msgssz;
msghdr->msg_ts = 0;
if (msghdr->msg_spot != -1)
msghdr->msg_next = free_msghdrs;
free_msghdrs = msghdr;
struct msg *msghdr;
msghdr = msqptr->msg_first;
while (msghdr != NULL) {
msqptr->msg_cbytes -= msghdr->msg_ts;
msghdr_tmp = msghdr;
msghdr = msghdr->msg_next;
static void msg_freehdr (struct msg *msghdr);
struct msg *msghdr;
msghdr = free_msghdrs;
free_msghdrs = msghdr->msg_next;
msghdr->msg_spot = -1;
msghdr->msg_ts = msgsz;
msgmaps[next].next = msghdr->msg_spot;
msghdr->msg_spot = next;
if ((eval = copyin(user_msgp, &msghdr->msg_type,
sizeof(msghdr->msg_type))) != 0) {
msg_freehdr(msghdr);
user_msgp = (const char *)user_msgp + sizeof(msghdr->msg_type);
if (msghdr->msg_type < 1) {
msg_freehdr(msghdr);
kprintf("mtype (%d) < 1\n", msghdr->msg_type);
next = msghdr->msg_spot;
msg_freehdr(msghdr);
msg_freehdr(msghdr);
msqptr->msg_first = msghdr;
msqptr->msg_last = msghdr;
msqptr->msg_last->msg_next = msghdr;
msqptr->msg_last = msghdr;
msqptr->msg_cbytes += msghdr->msg_ts;
struct msg *msghdr;
msghdr = NULL;
while (msghdr == NULL) {
msghdr = msqptr->msg_first;
if (msghdr != NULL) {
if (msgsz < msghdr->msg_ts &&
msgsz, msghdr->msg_ts);
msqptr->msg_first = msghdr->msg_next;
while ((msghdr = *prev) != NULL) {
if (msgtyp == msghdr->msg_type ||
msghdr->msg_type <= -msgtyp) {
msghdr->msg_type, msgtyp);
if (msgsz < msghdr->msg_ts &&
msgsz, msghdr->msg_ts);
*prev = msghdr->msg_next;
if (msghdr == msqptr->msg_last) {
previous = msghdr;
prev = &(msghdr->msg_next);
if (msghdr != NULL)
msqptr->msg_cbytes -= msghdr->msg_ts;
struct msghdr msg;
ufromlenp = (socklen_t *)((caddr_t)uap->msg + offsetof(struct msghdr,
ucontrollenp = (socklen_t *)((caddr_t)uap->msg + offsetof(struct msghdr,
uflagsp = (int *)((caddr_t)uap->msg + offsetof(struct msghdr,
struct msghdr msg;
struct msghdr;
ssize_t recvmsg(int, struct msghdr *, int);
ssize_t sendmsg(int, const struct msghdr *, int);
struct msghdr * msg; char msg_[PAD_(struct msghdr *)];
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr mh;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
static struct msghdr m;
struct msghdr cred_hdr;
memset(&cred_hdr, 0, sizeof(struct msghdr));
struct msghdr cred_hdr;
memset(&cred_hdr, 0, sizeof(struct msghdr));
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr msg;
struct msghdr m;
struct msghdr m;
struct msghdr sndmhdr;
struct msghdr rcvmhdr;
struct msghdr rcvmhdr;
struct msghdr sndmhdr;
static struct msghdr sndmhdr;
static struct msghdr rcvmhdr;
static struct msghdr sndmhdr;
struct msghdr msg;
print(struct msghdr *mhdr, int cc)
static int wait_for_reply(int, struct msghdr *);
static int packet_ok(struct msghdr *, int, int);
static void print(struct msghdr *, int);
static struct msghdr rcvmhdr;
wait_for_reply(int sock, struct msghdr *mhdr)
packet_ok(struct msghdr *mhdr, int cc, int seq)