Lines Matching defs:nrrsp

2635 nfs_rpc_record_state_init(struct nfs_rpc_record_state *nrrsp)
2637 bzero(nrrsp, sizeof(*nrrsp));
2638 nrrsp->nrrs_markerleft = sizeof(nrrsp->nrrs_fragleft);
2645 nfs_rpc_record_state_cleanup(struct nfs_rpc_record_state *nrrsp)
2647 if (nrrsp->nrrs_m) {
2648 mbuf_freem(nrrsp->nrrs_m);
2649 nrrsp->nrrs_m = nrrsp->nrrs_mlast = NULL;
2660 nfs_rpc_record_read(socket_t so, struct nfs_rpc_record_state *nrrsp, int flags, int *recvp, mbuf_t *mp)
2672 while (!error && nrrsp->nrrs_markerleft) {
2673 aio.iov_base = ((char*)&nrrsp->nrrs_fragleft +
2674 sizeof(nrrsp->nrrs_fragleft) - nrrsp->nrrs_markerleft);
2675 aio.iov_len = nrrsp->nrrs_markerleft;
2683 nrrsp->nrrs_markerleft -= rcvlen;
2684 if (nrrsp->nrrs_markerleft)
2687 nrrsp->nrrs_fragleft = ntohl(nrrsp->nrrs_fragleft);
2688 if (nrrsp->nrrs_fragleft & 0x80000000) {
2689 nrrsp->nrrs_lastfrag = 1;
2690 nrrsp->nrrs_fragleft &= ~0x80000000;
2692 nrrsp->nrrs_reclen += nrrsp->nrrs_fragleft;
2693 if (nrrsp->nrrs_reclen > NFS_MAXPACKET) {
2695 log(LOG_ERR, "impossible RPC record length (%d) on callback", nrrsp->nrrs_reclen);
2701 while (!error && !nrrsp->nrrs_markerleft && nrrsp->nrrs_fragleft) {
2703 rcvlen = nrrsp->nrrs_fragleft;
2709 nrrsp->nrrs_fragleft -= rcvlen;
2710 if (!nrrsp->nrrs_m) {
2711 nrrsp->nrrs_m = m;
2713 error = mbuf_setnext(nrrsp->nrrs_mlast, m);
2722 nrrsp->nrrs_mlast = m;
2726 if (!error && !nrrsp->nrrs_markerleft && !nrrsp->nrrs_fragleft) {
2728 nrrsp->nrrs_markerleft = sizeof(nrrsp->nrrs_fragleft);
2729 if (nrrsp->nrrs_lastfrag) {
2731 *mp = nrrsp->nrrs_m;
2733 nrrsp->nrrs_reclen = 0;
2734 nrrsp->nrrs_m = nrrsp->nrrs_mlast = NULL;
2735 nrrsp->nrrs_lastfrag = 0;