version 1.4, 2000/09/07 20:27:51 |
version 1.5, 2000/09/21 11:25:34 |
|
|
dispatch_fn *dispatch[DISPATCH_MAX]; |
dispatch_fn *dispatch[DISPATCH_MAX]; |
|
|
void |
void |
dispatch_protocol_error(int type, int plen) |
dispatch_protocol_error(int type, int plen, void *ctxt) |
{ |
{ |
error("Hm, dispatch protocol error: type %d plen %d", type, plen); |
error("Hm, dispatch protocol error: type %d plen %d", type, plen); |
} |
} |
|
|
dispatch[type] = fn; |
dispatch[type] = fn; |
} |
} |
void |
void |
dispatch_run(int mode, int *done) |
dispatch_run(int mode, int *done, void *ctxt) |
{ |
{ |
for (;;) { |
for (;;) { |
int plen; |
int plen; |
|
|
return; |
return; |
} |
} |
if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL) |
if (type > 0 && type < DISPATCH_MAX && dispatch[type] != NULL) |
(*dispatch[type])(type, plen); |
(*dispatch[type])(type, plen, ctxt); |
else |
else |
packet_disconnect("protocol error: rcvd type %d", type); |
packet_disconnect("protocol error: rcvd type %d", type); |
if (done != NULL && *done) |
if (done != NULL && *done) |