summaryrefslogtreecommitdiff
path: root/sys/netiso/xebec/test.trans
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netiso/xebec/test.trans')
-rw-r--r--sys/netiso/xebec/test.trans64
1 files changed, 64 insertions, 0 deletions
diff --git a/sys/netiso/xebec/test.trans b/sys/netiso/xebec/test.trans
new file mode 100644
index 00000000000..bc0dcc2613a
--- /dev/null
+++ b/sys/netiso/xebec/test.trans
@@ -0,0 +1,64 @@
+/* $NetBSD: test.trans,v 1.4 1994/06/29 06:41:18 cgd Exp $ */
+
+*PROTOCOL test
+
+*INCLUDE
+
+{
+#include "test_def.h"
+}
+
+*PCB test_pcbstruct SYNONYM P
+
+*STATES
+
+STATE_A
+STATE_B
+STATE_C
+ALL_STATES = [STATE_A, STATE_B, STATE_C]
+
+*EVENTS { int ev_all; } SYNONYM E
+
+EV_1 { char *ev1_char; }
+EV_2 { int ev2_int; char ev2_char; }
+EV_3
+EV_4 { struct blah *ev4_blahptr;
+ unsigned int ev4_uint;
+ int ev4_int;
+ }
+
+*TRANSITIONS
+
+SAME <== [ STATE_A, STATE_B ] [ EV_1, EV_2, EV_3 ]
+ ( $E.ev_all > 0 )
+ {
+ if( $P.test_state == STATE_A )
+ printf("state is STATE_A\n");
+ else
+ printf("state is STATE_B\n");
+ printf("action first transition\n");
+ }
+
+;
+STATE_C <== [ STATE_A, STATE_B ] [ EV_1, EV_2, EV_3 ]
+ DEFAULT
+ {
+ printf("default - transition 2\n");
+ MACRO1( $P.test_pcbfield );
+ }
+;
+
+STATE_C <== [ STATE_A, STATE_B ] EV_4
+ ( $$.ev4_blahptr->blahfield & 0x1 )
+ NULLACTION
+;
+
+STATE_C <== ALL_STATES EV_4
+ DEFAULT
+ {
+ printf("default - transition 4\n");
+ printf("pcb is 0x%x, event is 0x%x \n", $P, $E);
+ printf("ev4 values are : blahptr 0x%x uint 0x%x int 0x%x\n",
+ $$.ev4_blahptr, $$.ev4_uint, $$.ev4_int);
+ }
+;