annotate test/test2.c @ 630:557b2a266f75

Intel continue...
author kono
date Tue, 10 Oct 2006 23:26:06 +0900
parents 682c8ec38d45
children 6b7372e17970
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
1 #include <stdio.h>
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
2 int sender_bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
3
622
682c8ec38d45 _code へ
kono
parents: 604
diff changeset
4 __code (*ret)(int);
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
5 void *env;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
6
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
7 struct packet {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
8 int bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
9 char *msg;
622
682c8ec38d45 _code へ
kono
parents: 604
diff changeset
10 __code (*next)();
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
11 };
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
12
622
682c8ec38d45 _code へ
kono
parents: 604
diff changeset
13 __code print_struct(struct packet pkt)
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
14 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
15 printf("bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
16 printf("message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
17 goto ret(0), env;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
18 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
19
622
682c8ec38d45 _code へ
kono
parents: 604
diff changeset
20 __code initSender(int init_bit, struct packet pkt)
604
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
21 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
22 sender_bit = init_bit;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
23 pkt.next = print_struct;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
24 printf("initSender bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
25 printf("initSender message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
26 printf("sender_bit: %d\n", sender_bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
27 goto print_struct(pkt);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
28 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
29
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
30 int main(void)
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
31 {
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
32 struct packet pkt;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
33 pkt.bit = 1;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
34 pkt.msg = "hogehoge";
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
35 pkt.next = initSender;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
36 ret = return;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
37 env = environment;
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
38 printf("main bit: %d\n", pkt.bit);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
39 printf("main message: %s\n", pkt.msg);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
40 goto initSender(0, pkt);
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
41 }
ff033b46cac5 *** empty log message ***
kono
parents:
diff changeset
42