OSDN Git Service

AI003:config.txt, words.txtを追加。
[chnosproject/CHNOSProject.git] / CHNOSProject / chnos / tolset_chn_000 / chnos_008 / chnos / uuid.c
1 \r
2 #include "core.h"\r
3 \r
4 void gen_UUID(UUID *uuid)\r
5 {\r
6         uint tsc[2];\r
7 \r
8         /*from date*/\r
9         srand((uint)readcmos(0x32));\r
10         uuid->data[0] = (uchar)rand();\r
11 \r
12         srand((uint)readcmos(0x09));\r
13         uuid->data[1] = (uchar)rand();\r
14 \r
15         srand((uint)readcmos(0x08));\r
16         uuid->data[2] = (uchar)rand();\r
17 \r
18         srand((uint)readcmos(0x07));\r
19         uuid->data[3] = (uchar)rand();\r
20 \r
21         srand((uint)readcmos(0x04));\r
22         uuid->data[4] = (uchar)rand();\r
23 \r
24         srand((uint)readcmos(0x02));\r
25         uuid->data[5] = (uchar)rand();\r
26 \r
27         srand((uint)readcmos(0x00));\r
28         uuid->data[6] = (uchar)rand();\r
29 \r
30         /*from tsc*/\r
31         read_tsc(tsc);\r
32         srand((uint)(tsc[0] & 0x000000ff));\r
33         uuid->data[7] = (uchar)rand();\r
34 \r
35         read_tsc(tsc);\r
36         srand((uint)(tsc[0] & 0x0000ff00) >> 8);\r
37         uuid->data[8] = (uchar)rand();\r
38 \r
39         read_tsc(tsc);\r
40         srand((uint)(tsc[0] & 0x00ff0000) >> 16);\r
41         uuid->data[9] = (uchar)rand();\r
42 \r
43         read_tsc(tsc);\r
44         srand((uint)(tsc[0] >> 24));\r
45         uuid->data[10] = (uchar)rand();\r
46 \r
47         read_tsc(tsc);\r
48         srand((uint)(tsc[1] & 0x000000ff));\r
49         uuid->data[11] = (uchar)rand();\r
50 \r
51         read_tsc(tsc);\r
52         srand((uint)(tsc[1] & 0x0000ff00) >> 8);\r
53         uuid->data[12] = (uchar)rand();\r
54 \r
55         read_tsc(tsc);\r
56         srand((uint)(tsc[1] & 0x00ff0000) >> 16);\r
57         uuid->data[13] = (uchar)rand();\r
58 \r
59         read_tsc(tsc);\r
60         srand((uint)(tsc[1] >> 24));\r
61         uuid->data[14] = (uchar)rand();\r
62 \r
63         read_tsc(tsc);\r
64         uuid->data[15] = (uchar)(tsc[1] & 0x000000ff);\r
65 \r
66         return;\r
67 }\r