Lines Matching refs:pk
83 struct pack *pk; local
89 if ((pk = (struct pack *) calloc(1, sizeof (struct pack))) == NULL)
91 pk->p_ifn = ifn;
92 pk->p_ofn = ofn;
110 pk->p_xsize = pk->p_rsize = xpacksize = packsize;
111 pk->p_rwindow = pk->p_swindow = windows;
116 for (i = 0; i < pk->p_rwindow; i++) {
117 if ((bp = (char **) malloc((unsigned) pk->p_xsize)) == NULL)
119 *bp = (char *) pk->p_ipool;
120 pk->p_ipool = bp;
124 pk->p_rwindow = i;
129 pk->p_msg = pk->p_rmsg = M_INITA;
130 pkoutput(pk);
133 pkgetpack(pk);
134 if ((pk->p_state & LIVE) != 0)
140 pkreset(pk);
141 return(pk);
168 struct pack *pk; local
174 pk = ipk;
179 if ((pk->p_state & DOWN) || Connodata > CONNODATA || Ntimeout > NTIMEOUT)
181 ifn = pk->p_ifn;
182 h = &pk->p_ihbuf;
223 if ((noise += HDRSIZ) > 3 * pk->p_rsize) {
243 pkcntl(h->cntl, pk);
244 xlatestate(pk, 7);
248 pk->p_state |= BADFRAME;
253 if (k && pksizes[k] != pk->p_rsize)
255 pk->p_rpr = h->cntl & MOD8;
256 pksack(pk);
257 if ((bp = pk->p_ipool) == NULL) {
261 pk->p_ipool = (char **) *bp;
263 if (pkcget(pk->p_ifn, (char *) bp, pk->p_rsize) == SUCCESS) {
264 pkdata(h->cntl, h->sum, pk, bp);
277 pk->p_msg |= pk->p_rmsg;
278 if (pk->p_msg == 0)
279 pk->p_msg |= M_RR;
280 if ((pk->p_state & LIVE) == LIVE)
281 pk->p_state |= RXMIT;
282 pkoutput(pk);
292 xlatestate(pk, dbglvl) in xlatestate() argument
293 struct pack *pk; in xlatestate()
304 if (pk->p_state&st_trans[i].state){
310 sprintf(buf, " (0%o)\n", pk->p_state);
316 pkdata(c, sum, pk, bp) in pkdata() argument
317 struct pack *pk; in pkdata()
326 if (pk->p_state & DRAINO || !(pk->p_state & LIVE)) {
327 pk->p_msg |= pk->p_rmsg;
328 pkoutput(pk);
331 t = next[pk->p_pr];
332 for(x=pk->p_pr; x!=t; x = (x-1)&7) {
333 if (pk->p_is[x] == 0)
337 *bp = (char *)pk->p_ipool;
338 pk->p_ipool = bp;
343 pk->p_imap |= m;
344 pk->p_is[x] = c;
345 pk->p_isum[x] = sum;
346 pk->p_ib[x] = (char *)bp;
357 pkxstart(pk, cntl, x) in pkxstart() argument
358 struct pack *pk; in pkxstart()
366 p = (caddr_t) &pk->p_ohbuf;
372 *p++ = hdchk = pk->p_lpsize;
373 checkword = pk->p_osum[x] ^ (unsigned)(cntl & 0377);
390 p = (caddr_t) & pk->p_ohbuf;
392 if ((*Write)(pk->p_ofn, p, HDRSIZ) != HDRSIZ) {
403 memcpy(buf+HDRSIZ, pk->p_ob[x], pk->p_xsize);
404 if ((*Write)(pk->p_ofn, buf, pk->p_xsize + HDRSIZ) !=
405 pk->p_xsize + HDRSIZ) {
414 if (pk->p_msg)
415 pkoutput(pk);