Home | History | Annotate | Download | only in kern

Lines Matching defs:msghdr

303 		struct __msg *nmsghdr, *msghdr, *pmsghdr;
323 msghdr = mptr->_msg_first;
324 while (msghdr) {
340 nmsghdr->msg_ts = msghdr->msg_ts;
344 msgsz = msghdr->msg_ts;
358 next = msghdr->msg_spot;
380 msghdr = msghdr->msg_next;
419 msg_freehdr(struct __msg *msghdr)
424 while (msghdr->msg_ts > 0) {
426 KASSERT(msghdr->msg_spot >= 0);
427 KASSERT(msghdr->msg_spot < msginfo.msgseg);
429 next = msgmaps[msghdr->msg_spot].next;
430 msgmaps[msghdr->msg_spot].next = free_msgmaps;
431 free_msgmaps = msghdr->msg_spot;
433 msghdr->msg_spot = next;
434 if (msghdr->msg_ts >= msginfo.msgssz)
435 msghdr->msg_ts -= msginfo.msgssz;
437 msghdr->msg_ts = 0;
439 KASSERT(msghdr->msg_spot == -1);
440 msghdr->msg_next = free_msghdrs;
441 free_msghdrs = msghdr;
511 struct __msg *msghdr;
515 msghdr = msqptr->_msg_first;
516 while (msghdr != NULL) {
520 msqptr->_msg_cbytes -= msghdr->msg_ts;
522 msghdr_tmp = msghdr;
523 msghdr = msghdr->msg_next;
711 struct __msg *msghdr;
873 msghdr = free_msghdrs;
874 free_msghdrs = msghdr->msg_next;
875 msghdr->msg_spot = -1;
876 msghdr->msg_ts = msgsz;
891 msgmaps[next].next = msghdr->msg_spot;
892 msghdr->msg_spot = next;
900 error = (*fetch_type)(user_msgp, &msghdr->msg_type, typesz);
904 msg_freehdr(msghdr);
915 if (msghdr->msg_type < 1) {
916 msg_freehdr(msghdr);
919 MSG_PRINTF(("mtype (%ld) < 1\n", msghdr->msg_type));
928 next = msghdr->msg_spot;
944 msg_freehdr(msghdr);
966 msg_freehdr(msghdr);
977 msqptr->_msg_first = msghdr;
978 msqptr->_msg_last = msghdr;
980 msqptr->_msg_last->msg_next = msghdr;
981 msqptr->_msg_last = msghdr;
985 msqptr->_msg_cbytes += msghdr->msg_ts;
1020 struct __msg *msghdr;
1065 msghdr = NULL;
1066 while (msghdr == NULL) {
1068 msghdr = msqptr->_msg_first;
1069 if (msghdr != NULL) {
1070 if (msgsz < msghdr->msg_ts &&
1074 (long long)msgsz, msghdr->msg_ts));
1082 msqptr->_msg_first = msghdr->msg_next;
1091 (msghdr = *prev) != NULL;
1092 previous = msghdr, prev = &msghdr->msg_next) {
1102 if (msgtyp != msghdr->msg_type &&
1104 msghdr->msg_type > -msgtyp)
1108 msghdr->msg_type, msgtyp));
1109 if (msgsz < msghdr->msg_ts &&
1113 (long long)msgsz, msghdr->msg_ts));
1117 *prev = msghdr->msg_next;
1118 if (msghdr != msqptr->_msg_last)
1133 * We've either extracted the msghdr for the appropriate
1137 if (msghdr != NULL)
1195 msqptr->_msg_cbytes -= msghdr->msg_ts;
1207 (long long)msgsz, msghdr->msg_ts));
1208 if (msgsz > msghdr->msg_ts)
1209 msgsz = msghdr->msg_ts;
1215 error = (*put_type)(&msghdr->msg_type, user_msgp, typesz);
1219 msg_freehdr(msghdr);
1229 next = msghdr->msg_spot;
1246 msg_freehdr(msghdr);
1258 msg_freehdr(msghdr);