604
|
1 #include <stdio.h>
|
|
2 int sender_bit;
|
|
3
|
622
|
4 __code (*ret)(int);
|
604
|
5 void *env;
|
|
6
|
|
7 struct packet {
|
|
8 int bit;
|
|
9 char *msg;
|
622
|
10 __code (*next)();
|
604
|
11 };
|
|
12
|
622
|
13 __code print_struct(struct packet pkt)
|
604
|
14 {
|
|
15 printf("bit: %d\n", pkt.bit);
|
|
16 printf("message: %s\n", pkt.msg);
|
|
17 goto ret(0), env;
|
|
18 }
|
|
19
|
622
|
20 __code initSender(int init_bit, struct packet pkt)
|
604
|
21 {
|
|
22 sender_bit = init_bit;
|
|
23 pkt.next = print_struct;
|
|
24 printf("initSender bit: %d\n", pkt.bit);
|
|
25 printf("initSender message: %s\n", pkt.msg);
|
|
26 printf("sender_bit: %d\n", sender_bit);
|
|
27 goto print_struct(pkt);
|
|
28 }
|
|
29
|
|
30 int main(void)
|
|
31 {
|
|
32 struct packet pkt;
|
|
33 pkt.bit = 1;
|
|
34 pkt.msg = "hogehoge";
|
|
35 pkt.next = initSender;
|
|
36 ret = return;
|
|
37 env = environment;
|
|
38 printf("main bit: %d\n", pkt.bit);
|
|
39 printf("main message: %s\n", pkt.msg);
|
|
40 goto initSender(0, pkt);
|
|
41 }
|
|
42
|