/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- write_data
- read_data
- main
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 /* This is creating a program that has
6 * a few more text pages than the average
7 * program we usually have.
8 */
9
10 extern void call_all();
11 void write_data(void);
12 void read_data(void);
13
14 #define PAGE_SIZE (4096)
15 #define PAGES (128)
16 #define SIZE (PAGE_SIZE * PAGES / sizeof(int))
17 #define NUM_REFS (2)
18
19 unsigned int array[SIZE];
20
21 void
22 write_data(void)
23 {
24 unsigned int refs = 0;
25 unsigned int i = 0;
26
27 for (refs = 0; refs < NUM_REFS-1; refs++) {
28 for (i=0; i<SIZE; i+= PAGE_SIZE) {
29 array[i] = i;
30 }
31 }
32 }
33
34 void
35 read_data(void)
36 {
37 unsigned int i = 0;
38
39 for (i=0; i<SIZE; i+= PAGE_SIZE) {
40 if (array[i] != i) {
41 printf("FAILED array[%d] = %u != %d\n", i, array[i], i);
42 exit(1);
43 }
44 }
45 }
46
47
48 int
49 main()
50 {
51 unsigned int i = 0;
52
53 for (i=0; i<5; i++) {
54 call_all();
55 write_data();
56 call_all();
57 read_data();
58 }
59
60 printf("SUCCEEDED\n");
61 exit(0);
62 }