/* $Header: fsmdef.h,v 1.4 85/06/18 14:28:45 walsh Exp $ */
char fstab
[TCP_NSTATES
][INOP
] = {
/* CLOSED X from U:OPEN(await) */ 1,
/* CLOSED X from N:RECEIVE(response) */ 0,
/* CLOSED X from U:OPEN(request) */ 4,
/* user may close a socket after socket() or bind() */
/* CLOSED X from U:CLOSE(request) */ 6, /* was 0 in 4.1 */
/* CLOSED X from S:TIMER(response) */ 24,
/* CLOSED X from U:RECEIVE(request) */ 0,
/* CLOSED X from U:SEND(normal) */ 0,
/* CLOSED X from U:ABORT(request) */ 0,
/* CLOSED X from N:CLEAR(indication) */ 24,
/* LISTEN X from U:OPEN(await) */ 0,
/* LISTEN X from N:RECEIVE(response) */ 2,
/* LISTEN X from U:OPEN(request) */ 0,
/* LISTEN X from U:CLOSE(request) */ 6,
/* LISTEN X from S:TIMER(response) */ 9,
/* LISTEN X from U:RECEIVE(request) */ 24,
/* LISTEN X from U:SEND(normal) */ 24,
/* LISTEN X from U:ABORT(request) */ 21,
/* LISTEN X from N:CLEAR(indication) */ 23,
/* SYN_SENT X unused */ 0,
/* SYN_SENT X from U:OPEN(await) */ 0,
/* SYN_SENT X from N:RECEIVE(response) */ 5,
/* SYN_SENT X from U:OPEN(request) */ 0,
/* SYN_SENT X from U:CLOSE(request) */ 6,
/* SYN_SENT X from S:TIMER(response) */ 9,
/* SYN_SENT X from U:RECEIVE(request) */ 24,
/* SYN_SENT X from U:SEND(normal) */ 19, /* was 24 in 4.1 */
/* SYN_SENT X from U:ABORT(request) */ 21,
/* SYN_SENT X from N:CLEAR(indication) */ 23,
/* SYN_RCVD X unused */ 0,
/* SYN_RCVD X from U:OPEN(await) */ 0,
/* SYN_RCVD X from N:RECEIVE(response) */ 3,
/* SYN_RCVD X from U:OPEN(request) */ 0,
/* SYN_RCVD X from U:CLOSE(request) */ 14,
/* SYN_RCVD X from S:TIMER(response) */ 9,
/* SYN_RCVD X from U:RECEIVE(request) */ 24,
/* SYN_RCVD X from U:SEND(normal) */ 24,
/* SYN_RCVD X from U:ABORT(request) */ 21,
/* SYN_RCVD X from N:CLEAR(indication) */ 23,
/* L_SYN_RCVD X unused */ 0,
/* L_SYN_RCVD X from U:OPEN(await) */ 0,
/* L_SYN_RCVD X from N:RECEIVE(response) */ 3,
/* L_SYN_RCVD X from U:OPEN(request) */ 0,
/* L_SYN_RCVD X from U:CLOSE(request) */ 14,
/* L_SYN_RCVD X from S:TIMER(response) */ 9,
/* L_SYN_RCVD X from U:RECEIVE(request) */ 24,
/* L_SYN_RCVD X from U:SEND(normal) */ 24,
/* L_SYN_RCVD X from U:ABORT(request) */ 21,
/* L_SYN_RCVD X from N:CLEAR(indication) */ 23,
}, /* STATE L_SYN_RCVD */
/* ESTAB X from U:OPEN(await) */ 0,
/* ESTAB X from N:RECEIVE(response) */ 7,
/* ESTAB X from U:OPEN(request) */ 0,
/* ESTAB X from U:CLOSE(request) */ 14,
/* ESTAB X from S:TIMER(response) */ 9,
/* ESTAB X from U:RECEIVE(request) */ 20,
/* ESTAB X from U:SEND(normal) */ 19,
/* ESTAB X from U:ABORT(request) */ 22,
/* ESTAB X from N:CLEAR(indication) */ 23,
/* FIN_WAIT_1 X unused */ 0,
/* FIN_WAIT_1 X from U:OPEN(await) */ 0,
/* FIN_WAIT_1 X from N:RECEIVE(response) */ 15,
/* FIN_WAIT_1 X from U:OPEN(request) */ 0,
/* FIN_WAIT_1 X from U:CLOSE(request) */ 24,
/* FIN_WAIT_1 X from S:TIMER(response) */ 9,
/* FIN_WAIT_1 X from U:RECEIVE(request) */ 20,
/* FIN_WAIT_1 X from U:SEND(normal) */ 25,
/* FIN_WAIT_1 X from U:ABORT(request) */ 22,
/* FIN_WAIT_1 X from N:CLEAR(indication) */ 23,
}, /* STATE FIN_WAIT_1 */
/* FIN_WAIT_2 X unused */ 0,
/* FIN_WAIT_2 X from U:OPEN(await) */ 0,
/* FIN_WAIT_2 X from N:RECEIVE(response) */ 16,
/* FIN_WAIT_2 X from U:OPEN(request) */ 0,
/* FIN_WAIT_2 X from U:CLOSE(request) */ 24,
/* FIN_WAIT_2 X from S:TIMER(response) */ 9,
/* FIN_WAIT_2 X from U:RECEIVE(request) */ 20,
/* FIN_WAIT_2 X from U:SEND(normal) */ 24,
/* FIN_WAIT_2 X from U:ABORT(request) */ 22,
/* FIN_WAIT_2 X from N:CLEAR(indication) */ 23,
}, /* STATE FIN_WAIT_2 */
/* TIME_WAIT X unused */ 0,
/* TIME_WAIT X from U:OPEN(await) */ 0,
/* TIME_WAIT X from N:RECEIVE(response) */ 18,
/* TIME_WAIT X from U:OPEN(request) */ 0,
/* TIME_WAIT X from U:CLOSE(request) */ 24,
/* TIME_WAIT X from S:TIMER(response) */ 9,
/* TIME_WAIT X from U:RECEIVE(request) */ 20,
/* TIME_WAIT X from U:SEND(normal) */ 25,
/* TIME_WAIT X from U:ABORT(request) */ 22,
/* TIME_WAIT X from N:CLEAR(indication) */ 23,
/* CLOSE_WAIT X unused */ 0,
/* CLOSE_WAIT X from U:OPEN(await) */ 0,
/* CLOSE_WAIT X from N:RECEIVE(response) */ 17,
/* CLOSE_WAIT X from U:OPEN(request) */ 0,
/* CLOSE_WAIT X from U:CLOSE(request) */ 8,
/* CLOSE_WAIT X from S:TIMER(response) */ 9,
/* CLOSE_WAIT X from U:RECEIVE(request) */ 20,
/* CLOSE_WAIT X from U:SEND(normal) */ 19,
/* CLOSE_WAIT X from U:ABORT(request) */ 22,
/* CLOSE_WAIT X from N:CLEAR(indication) */ 23,
}, /* STATE CLOSE_WAIT */
/* CLOSING_1 X unused */ 0,
/* CLOSING_1 X from U:OPEN(await) */ 0,
/* CLOSING_1 X from N:RECEIVE(response) */ 10,
/* CLOSING_1 X from U:OPEN(request) */ 0,
/* CLOSING_1 X from U:CLOSE(request) */ 25,
/* CLOSING_1 X from S:TIMER(response) */ 9,
/* CLOSING_1 X from U:RECEIVE(request) */ 20,
/* CLOSING_1 X from U:SEND(normal) */ 25,
/* CLOSING_1 X from U:ABORT(request) */ 22,
/* CLOSING_1 X from N:CLEAR(indication) */ 23,
/* CLOSING_2 X unused */ 0,
/* CLOSING_2 X from U:OPEN(await) */ 0,
/* CLOSING_2 X from N:RECEIVE(response) */ 11,
/* CLOSING_2 X from U:OPEN(request) */ 0,
/* CLOSING_2 X from U:CLOSE(request) */ 25,
/* CLOSING_2 X from S:TIMER(response) */ 9,
/* CLOSING_2 X from U:RECEIVE(request) */ 20,
/* CLOSING_2 X from U:SEND(normal) */ 25,
/* CLOSING_2 X from U:ABORT(request) */ 22,
/* CLOSING_2 X from N:CLEAR(indication) */ 23,
/* RCV_WAIT X unused */ 0,
/* RCV_WAIT X from U:OPEN(await) */ 0,
/* RCV_WAIT X from N:RECEIVE(response) */ 13,
/* RCV_WAIT X from U:OPEN(request) */ 0,
/* RCV_WAIT X from U:CLOSE(request) */ 25,
/* RCV_WAIT X from S:TIMER(response) */ 9,
/* RCV_WAIT X from U:RECEIVE(request) */ 12,
/* RCV_WAIT X from U:SEND(normal) */ 25,
/* RCV_WAIT X from U:ABORT(request) */ 22,
/* RCV_WAIT X from N:CLEAR(indication) */ 23,
/* CLOSED X from U:OPEN(await) */ 1,
/* CLOSED X from N:RECEIVE(response) */ 0,
/* CLOSED X from U:OPEN(request) */ 4,
/* CLOSED X from U:CLOSE(request) */ 0,
/* CLOSED X from S:TIMER(response) */ 24,
/* CLOSED X from U:RECEIVE(request) */ 0,
/* CLOSED X from U:SEND(normal) */ 0,
/* CLOSED X from U:ABORT(request) */ 0,
/* CLOSED X from N:CLEAR(indication) */ 24
/* 2 */ lis_netr
, /* 3,4 */
/* 3 */ syr_netr
, /* 5,33 */
/* 5 */ sys_netr
, /* 8,9,11,32 */
/* 6 */ cls_opn
, /* 10 */
/* 7 */ est_netr
, /* 12,39 */
/* 8 */ cl2_clw
, /* 13 */
/* 9 */ timers
, /* 14,17,35,36,37,38 */
/* 10 */ cl1_netr
, /* 15,18,22,23,30,39 */
/* 11 */ cl2_netr
, /* 16,19,31,39 */
/* 12 */ cls_rwt
, /* 20 */
/* 13 */ rwt_netr
, /* 21,30 */
/* 14 */ fw1_syr
, /* 24 */
/* 15 */ fw1_netr
, /* 26,27,28,39 */
/* 16 */ fw2_netr
, /* 29,39 */
/* 17 */ cwt_netr
, /* 30,31,39 */
/* 18 */ sss_syn
, /* 39 */
/* 19 */ sss_snd
, /* 40,41 */
/* 20 */ sss_rcv
, /* 42 */
/* 21 */ cls_nsy
, /* 44 */
/* 22 */ cls_syn
, /* 45 */
/* 23 */ cls_act
, /* 47 ### this & INCLEAR unused on 4.2 */