| 107 | } |
| 108 | |
| 109 | int |
| 110 | find_handler(int8_t dir, int8_t proto, struct libalias *la, struct ip *ip, |
| 111 | struct alias_data *ad) |
| 112 | { |
| 113 | struct proto_handler *p; |
| 114 | |
| 115 | TAILQ_FOREACH(p, &handler_chain, link) |
| 116 | if ((p->dir & dir) && (p->proto & proto) && |
| 117 | p->fingerprint(la, ad) == 0) |
| 118 | return (p->protohandler(la, ip, ad)); |
| 119 | |
| 120 | return (ENOENT); |
| 121 | } |
| 122 | |
| 123 | struct proto_handler * |
| 124 | first_handler(void) |
no outgoing calls
no test coverage detected