Lines Matching defs:algorithm

147 static const struct ccp_algorithm * const algorithm[] = {
156 #define NALGORITHMS (sizeof algorithm/sizeof algorithm[0])
179 if (ccp->in.algorithm != -1)
181 (*algorithm[ccp->in.algorithm]->Disp)(&ccp->in.opt));
183 if (ccp->out.algorithm != -1) {
185 for (f = 0; f < ccp->out.algorithm; f++)
186 if (IsEnabled(ccp->cfg.neg[algorithm[f]->Neg]))
189 (*algorithm[ccp->out.algorithm]->Disp)(&(*o)->val));
277 ccp->in.algorithm = ccp->out.algorithm = -1;
303 if (IsEnabled(ccp->cfg.neg[algorithm[f]->Neg]) &&
304 (*algorithm[f]->Required)(&ccp->fsm))
317 if (ccp->fsm.state == ST_OPENED && ccp->out.algorithm >= 0)
318 return algorithm[ccp->out.algorithm]->o.MTUOverhead;
357 ccp->out.algorithm = -1;
359 if (IsEnabled(ccp->cfg.neg[algorithm[f]->Neg]) &&
360 !REJECTED(ccp, algorithm[f]->id) &&
361 (*algorithm[f]->Usable)(fp)) {
365 if ((*o)->val.hdr.id == algorithm[f]->id && (*o)->algorithm == (int)f)
374 (*o)->val.hdr.id = algorithm[f]->id;
377 (*o)->algorithm = f;
378 (*algorithm[f]->o.OptInit)(fp->bundle, &(*o)->val, &ccp->cfg);
389 ccp->out.algorithm = f;
429 return (*algorithm[ccp->out.algorithm]->o.Reset)(ccp->out.state);
451 (*algorithm[ccp->in.algorithm]->i.Term)(ccp->in.state);
453 ccp->in.algorithm = -1;
456 (*algorithm[ccp->out.algorithm]->o.Term)(ccp->out.state);
458 ccp->out.algorithm = -1;
506 if (IsEnabled(ccp->cfg.neg[algorithm[f]->Neg]) &&
507 (*algorithm[f]->Required)(&ccp->fsm) &&
508 (ccp->in.algorithm != (int)f || ccp->out.algorithm != (int)f)) {
509 /* Blow it all away - we haven't negotiated a required algorithm */
511 fp->link->name, protoname(algorithm[f]->id));
524 if (ccp->in.state == NULL && ccp->in.algorithm >= 0 &&
525 ccp->in.algorithm < (int)NALGORITHMS) {
526 ccp->in.state = (*algorithm[ccp->in.algorithm]->i.Init)
538 if (ccp->out.algorithm > 0)
539 for (f = 0; f < (unsigned)ccp->out.algorithm; f++)
540 if (IsEnabled(ccp->cfg.neg[algorithm[f]->Neg]))
543 if (ccp->out.state == NULL && ccp->out.algorithm >= 0 &&
544 ccp->out.algorithm < (int)NALGORITHMS) {
545 ccp->out.state = (*algorithm[ccp->out.algorithm]->o.Init)
576 ccp->in.algorithm = -1; /* In case we've received two REQs in a row */
583 if (algorithm[f]->id == opt->hdr.id)
586 disp = f == -1 ? "" : (*algorithm[f]->Disp)(opt);
604 if (IsAccepted(ccp->cfg.neg[algorithm[f]->Neg]) &&
605 (*algorithm[f]->Usable)(fp) &&
606 ccp->in.algorithm == -1) {
608 switch ((*algorithm[f]->i.Set)(fp->bundle, &ccp->in.opt, &ccp->cfg)) {
618 ccp->in.algorithm = (int)f; /* This one'll do :-) */
634 if ((*algorithm[f]->o.Set)(fp->bundle, &o->val, &ccp->cfg) ==
636 ccp->my_proto = algorithm[f]->id;
640 if (algorithm[f]->Required(fp)) {
643 protoname(algorithm[f]->id));
652 if (algorithm[f]->Required(fp)) {
654 fp->link->name, protoname(algorithm[f]->id));
667 ccp->in.algorithm = -1;
714 (*algorithm[ccp->in.algorithm]->i.Reset)(ccp->in.state);
731 bp = (*algorithm[l->ccp.out.algorithm]->o.Write)
763 bp = (*algorithm[l->ccp.in.algorithm]->i.Read)
779 (*algorithm[l->ccp.in.algorithm]->i.DictSetup)