Chameleon Applications

Chameleon Applications Commit Details

Date:2011-05-30 19:50:46 (12 years 10 months ago)
Author:ErmaC
Commit:302
Parents: 301
Message:Last mqin trunk change. update the buildpkg: now the fdisk440 will be included into the pkg from the sym/i386 folder. Add a dmg folder into pakage folder.
Changes:
D/branches/iFabio/Chameleon/package/fdisk440
A/branches/iFabio/Chameleon/i386/util/fdisk/opendev.c
A/branches/iFabio/Chameleon/i386/util/fdisk/cmd.c
A/branches/iFabio/Chameleon/i386/util/fdisk/auto.c
A/branches/iFabio/Chameleon/i386/util/fdisk/cmd.h
A/branches/iFabio/Chameleon/package/dmg
A/branches/iFabio/Chameleon/i386/util/fdisk/auto.h
A/branches/iFabio/Chameleon/i386/util/fdisk
A/branches/iFabio/Chameleon/i386/util/fdisk/getrawpartition.c
A/branches/iFabio/Chameleon/i386/util/fdisk/Cconfig
A/branches/iFabio/Chameleon/i386/util/fdisk/misc.c
A/branches/iFabio/Chameleon/i386/util/fdisk/fdisk.c
A/branches/iFabio/Chameleon/i386/util/fdisk/misc.h
A/branches/iFabio/Chameleon/i386/util/fdisk/part.c
A/branches/iFabio/Chameleon/i386/util/fdisk/part.h
A/branches/iFabio/Chameleon/i386/util/fdisk/user.c
A/branches/iFabio/Chameleon/i386/util/fdisk/mbr.c
A/branches/iFabio/Chameleon/i386/util/fdisk/mbrcode.h
A/branches/iFabio/Chameleon/i386/util/fdisk/util.h
A/branches/iFabio/Chameleon/i386/util/fdisk/user.h
A/branches/iFabio/Chameleon/i386/util/fdisk/fdisk.8
A/branches/iFabio/Chameleon/i386/util/fdisk/mbr.h
A/branches/iFabio/Chameleon/i386/util/fdisk/disk.c
A/branches/iFabio/Chameleon/i386/util/fdisk/Makefile
A/branches/iFabio/Chameleon/i386/util/fdisk/disk.h
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOMedia.h
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOApplePartitionScheme.h
M/branches/iFabio/Chameleon/i386/libsaio/console.c
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOBlockStorageDriver.h
M/branches/iFabio/Chameleon/i386/libsaio/ati.c
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOBlockStorageDevice.h
M/branches/iFabio/Chameleon/Makefile
M/branches/iFabio/Chameleon/i386/modules/Makefile
M/branches/iFabio/Chameleon/i386/util/Cconfig
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOStorage.h
M/branches/iFabio/Chameleon/i386/libsaio/cpu.c
M/branches/iFabio/Chameleon/i386/boot2/Makefile
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOFDiskPartitionScheme.h
M/branches/iFabio/Chameleon/package/buildpkg
M/branches/iFabio/Chameleon/package/slimpkg
M/branches/iFabio/Chameleon/i386/boot2/boot.c
M/branches/iFabio/Chameleon/i386/include/IOKit/IOLib.h
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOCDBlockStorageDriver.h
M/branches/iFabio/Chameleon/Chameleon.xcodeproj/project.pbxproj
M/branches/iFabio/Chameleon/i386/include/architecture/byte_order.h
M/branches/iFabio/Chameleon/i386/util/Makefile
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOCDBlockStorageDevice.h
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOGUIDPartitionScheme.h
M/branches/iFabio/Chameleon/i386/include/IOKit/storage/IOMediaBSDClient.h
M/branches/iFabio/Chameleon/i386/modules/MakeInc.dir

File differences

branches/iFabio/Chameleon/Chameleon.xcodeproj/project.pbxproj
77
88
99
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
5721356
5731357
5741358
575
1359
5761360
5771361
578
579
580
581
582
583
584
585
586
587
588
589
590
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
5911379
592
1380
5931381
5941382
595
1383
5961384
5971385
598
599
600
1386
6011387
602
1388
6031389
6041390
605
1391
6061392
6071393
1394
1395
1396
1397
1398
1399
1400
6081401
609
1402
6101403
6111404
612
1405
6131406
6141407
615
616
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
6171439
618
1440
6191441
6201442
621
1443
6221444
6231445
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
6951491
696
1492
6971493
6981494
699
1495
7001496
7011497
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
7681529
769
1530
7701531
7711532
772
1533
7731534
7741535
775
776
777
778
779
780
781
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
7821566
783
1567
7841568
7851569
786
1570
7871571
7881572
789
1573
1574
7901575
791
1576
7921577
7931578
794
1579
7951580
7961581
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
1582
1583
8441584
845
1585
8461586
8471587
848
1588
8491589
8501590
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
1591
1592
1593
9161594
917
1595
9181596
9191597
920
1598
9211599
9221600
923
924
925
926
927
1601
9281602
929
1603
9301604
9311605
932
1606
9331607
9341608
935
936
937
938
939
1609
9401610
941
1611
9421612
9431613
944
1614
9451615
9461616
947
948
949
950
951
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
9521628
953
1629
9541630
9551631
956
1632
9571633
9581634
959
960
961
962
963
1635
1636
9641637
965
1638
9661639
9671640
968
1641
9691642
9701643
971
972
973
974
975
976
977
978
979
980
981
982
983
1644
1645
1646
1647
1648
1649
9841650
985
1651
9861652
9871653
988
1654
9891655
9901656
991
992
993
994
995
996
997
998
999
1000
1001
1002
1657
1658
1659
10031660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
10041701
10051702
10061703
1007
1704
10081705
10091706
1010
1011
1012
1707
1708
1709
1710
10131711
10141712
10151713
10161714
1017
1715
10181716
10191717
1020
1021
1022
1023
1024
1025
1026
1718
1719
1720
1721
1722
1723
1724
10271725
10281726
10291727
10301728
1031
1729
10321730
10331731
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
10621764
10631765
10641766
10651767
1066
1768
10671769
10681770
1069
1070
1071
1771
1772
1773
10721774
10731775
10741776
10751777
1076
1778
10771779
10781780
1079
1080
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
10811802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
10821829
10831830
10841831
1085
1832
10861833
10871834
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
11011872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
11022949
11032950
11042951
1105
2952
11062953
11072954
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
11963049
11973050
11983051
11993052
1200
3053
12013054
12023055
1203
1204
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
12053069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
12063393
12073394
12083395
1209
3396
12103397
12113398
1212
1213
1214
1215
1216
1217
1218
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
12193411
12203412
12213413
12223414
1223
3415
12243416
12253417
1226
1227
1228
1229
1230
3418
3419
3420
12313421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
12323533
12333534
12343535
1235
3536
12363537
12373538
1238
1239
1240
1241
1242
3539
3540
3541
3542
3543
3544
12433545
12443546
12453547
12463548
1247
3549
12483550
12493551
1250
1251
1252
1253
1254
3552
3553
3554
3555
3556
3557
3558
12553559
12563560
12573561
12583562
1259
3563
12603564
12613565
1262
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
12633581
1264
3582
12653583
12663584
1267
3585
12683586
12693587
1270
3588
12713589
1272
3590
12733591
12743592
1275
3593
12763594
12773595
1278
1279
1280
1281
1282
1283
1284
3596
12853597
1286
3598
12873599
12883600
1289
3601
12903602
12913603
1292
3604
12933605
1294
3606
12953607
12963608
1297
3609
12983610
12993611
1300
3612
13013613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
13023741
13033742
13043743
1305
3744
13063745
13073746
1308
3747
13093748
1310
3749
13113750
13123751
1313
3752
13143753
13153754
1316
3755
13173756
1318
3757
13193758
13203759
1321
3760
13223761
13233762
1324
3763
13253764
13263765
13273766
13283767
1329
3768
13303769
13313770
1332
3771
13333772
1334
3773
13353774
13363775
1337
3776
13383777
13393778
1340
3779
13413780
1342
3781
13433782
13443783
1345
3784
13463785
13473786
1348
3787
13493788
1350
3789
13513790
13523791
1353
3792
13543793
13553794
1356
3795
3796
3797
3798
3799
3800
3801
13573802
1358
3803
13593804
13603805
1361
3806
13623807
13633808
1364
3809
13653810
1366
3811
13673812
13683813
1369
3814
13703815
13713816
1372
1373
1374
1375
1376
3817
13773818
1378
3819
13793820
13803821
1381
3822
13823823
13833824
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
3825
14153826
1416
3827
14173828
14183829
1419
3830
14203831
14213832
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
3833
14533834
1454
3835
14553836
14563837
1457
3838
14583839
14593840
1460
1461
3841
14623842
1463
3843
14643844
14653845
1466
3846
14673847
14683848
1469
1470
3849
14713850
1472
3851
14733852
14743853
1475
3854
14763855
14773856
1478
1479
1480
3857
14813858
1482
3859
14833860
14843861
1485
3862
14863863
14873864
1488
1489
1490
1491
1492
1493
3865
14943866
1495
3867
14963868
14973869
1498
3870
14993871
15003872
1501
1502
1503
3873
3874
3875
3876
3877
3878
3879
15043880
1505
3881
15063882
15073883
1508
3884
15093885
15103886
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
3887
15223888
1523
3889
15243890
15253891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
15263948
15273949
15283950
......
15553977
15563978
15573979
3980
15583981
15593982
15603983
......
15663989
15673990
15683991
1569
3992
15703993
15713994
1572
1573
1574
1575
3995
3996
3997
3998
3999
15764000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
15774049
15784050
15794051
1580
4052
15814053
15824054
1583
1584
1585
1586
4055
15874056
15884057
15894058
15904059
1591
4060
15924061
15934062
1594
1595
1596
1597
4063
15984064
15994065
16004066
16014067
1602
4068
16034069
16044070
1605
1606
4071
16074072
16084073
16094074
objects = {
/* Begin PBXFileReference section */
012E60F7137AC68F00E35218 /* ati_reg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati_reg.h; sourceTree = "<group>"; };
012E60F8137AC68F00E35218 /* smbios_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios_decode.c; sourceTree = "<group>"; };
012E60F9137AC68F00E35218 /* smbios_getters.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios_getters.c; sourceTree = "<group>"; };
012E60FA137AC68F00E35218 /* smbios_getters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smbios_getters.h; sourceTree = "<group>"; };
012E60FB137AC68F00E35218 /* smbios.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios.c; sourceTree = "<group>"; };
0172D0DC11FB66820030222E /* dram_controllers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dram_controllers.h; sourceTree = "<group>"; };
0172D0DD11FB66820030222E /* dram_controllers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dram_controllers.c; sourceTree = "<group>"; };
019DFBAF11FB94090013E8CC /* MEMTEST86_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MEMTEST86_LICENSE; sourceTree = "<group>"; };
0389369E137D4A74004AD9DC /* HelloWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelloWorld.cpp; sourceTree = "<group>"; };
038936A0137D4A74004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
038936A2137D4A74004AD9DC /* modules */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = modules; sourceTree = "<group>"; };
038936A3137D4A74004AD9DC /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
038936A5137D4A74004AD9DC /* __ashldi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __ashldi3.c; sourceTree = "<group>"; };
038936A6137D4A74004AD9DC /* __ashrdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __ashrdi3.c; sourceTree = "<group>"; };
038936A7137D4A74004AD9DC /* __clzsi2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __clzsi2.c; sourceTree = "<group>"; };
038936A8137D4A74004AD9DC /* __divdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __divdi3.c; sourceTree = "<group>"; };
038936A9137D4A74004AD9DC /* __divsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __divsi3.c; sourceTree = "<group>"; };
038936AA137D4A74004AD9DC /* __lshrdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __lshrdi3.c; sourceTree = "<group>"; };
038936AB137D4A74004AD9DC /* __moddi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __moddi3.c; sourceTree = "<group>"; };
038936AC137D4A74004AD9DC /* __modsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __modsi3.c; sourceTree = "<group>"; };
038936AD137D4A74004AD9DC /* __udivdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivdi3.c; sourceTree = "<group>"; };
038936AE137D4A74004AD9DC /* __udivmoddi4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivmoddi4.c; sourceTree = "<group>"; };
038936AF137D4A74004AD9DC /* __udivmodsi4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivmodsi4.c; sourceTree = "<group>"; };
038936B0137D4A74004AD9DC /* __udivsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivsi3.c; sourceTree = "<group>"; };
038936B1137D4A74004AD9DC /* __umoddi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __umoddi3.c; sourceTree = "<group>"; };
038936B2137D4A74004AD9DC /* __umodsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __umodsi3.c; sourceTree = "<group>"; };
038936B3137D4A74004AD9DC /* atexit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atexit.c; sourceTree = "<group>"; };
038936B4137D4A74004AD9DC /* atexit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atexit.h; sourceTree = "<group>"; };
038936B5137D4A74004AD9DC /* atoi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atoi.c; sourceTree = "<group>"; };
038936B6137D4A74004AD9DC /* atol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atol.c; sourceTree = "<group>"; };
038936B7137D4A74004AD9DC /* atoll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atoll.c; sourceTree = "<group>"; };
038936B8137D4A74004AD9DC /* atox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atox.c; sourceTree = "<group>"; };
038936B9137D4A74004AD9DC /* bsearch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bsearch.c; sourceTree = "<group>"; };
038936BA137D4A74004AD9DC /* calloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = calloc.c; sourceTree = "<group>"; };
038936BB137D4A74004AD9DC /* exit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = exit.c; sourceTree = "<group>"; };
038936BC137D4A74004AD9DC /* jrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = jrand48.c; sourceTree = "<group>"; };
038936BD137D4A74004AD9DC /* klibc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = klibc.c; sourceTree = "<group>"; };
038936BE137D4A74004AD9DC /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
038936BF137D4A74004AD9DC /* limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limits.h; sourceTree = "<group>"; };
038936C0137D4A74004AD9DC /* lrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lrand48.c; sourceTree = "<group>"; };
038936C1137D4A74004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
038936C2137D4A74004AD9DC /* memccpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memccpy.c; sourceTree = "<group>"; };
038936C3137D4A74004AD9DC /* memchr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memchr.c; sourceTree = "<group>"; };
038936C4137D4A74004AD9DC /* memmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memmem.c; sourceTree = "<group>"; };
038936C5137D4A74004AD9DC /* memmove.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memmove.c; sourceTree = "<group>"; };
038936C6137D4A74004AD9DC /* memrchr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memrchr.c; sourceTree = "<group>"; };
038936C7137D4A74004AD9DC /* memswap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memswap.c; sourceTree = "<group>"; };
038936C8137D4A74004AD9DC /* mrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mrand48.c; sourceTree = "<group>"; };
038936C9137D4A74004AD9DC /* nrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nrand48.c; sourceTree = "<group>"; };
038936CA137D4A74004AD9DC /* onexit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = onexit.c; sourceTree = "<group>"; };
038936CB137D4A74004AD9DC /* qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qsort.c; sourceTree = "<group>"; };
038936CC137D4A74004AD9DC /* seed48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = seed48.c; sourceTree = "<group>"; };
038936CD137D4A74004AD9DC /* sha1hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sha1hash.c; sourceTree = "<group>"; };
038936CE137D4A74004AD9DC /* snprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = snprintf.c; sourceTree = "<group>"; };
038936CF137D4A74004AD9DC /* srand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = srand48.c; sourceTree = "<group>"; };
038936D0137D4A74004AD9DC /* sscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sscanf.c; sourceTree = "<group>"; };
038936D1137D4A74004AD9DC /* strcasecmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strcasecmp.c; sourceTree = "<group>"; };
038936D2137D4A74004AD9DC /* strdup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strdup.c; sourceTree = "<group>"; };
038936D3137D4A74004AD9DC /* strlcat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strlcat.c; sourceTree = "<group>"; };
038936D4137D4A74004AD9DC /* strncasecmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strncasecmp.c; sourceTree = "<group>"; };
038936D5137D4A74004AD9DC /* strndup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strndup.c; sourceTree = "<group>"; };
038936D6137D4A74004AD9DC /* strnlen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strnlen.c; sourceTree = "<group>"; };
038936D7137D4A74004AD9DC /* strntoimax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strntoimax.c; sourceTree = "<group>"; };
038936D8137D4A74004AD9DC /* strntoumax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strntoumax.c; sourceTree = "<group>"; };
038936D9137D4A74004AD9DC /* strpbrk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strpbrk.c; sourceTree = "<group>"; };
038936DA137D4A74004AD9DC /* strsep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strsep.c; sourceTree = "<group>"; };
038936DB137D4A74004AD9DC /* strtoimax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoimax.c; sourceTree = "<group>"; };
038936DC137D4A74004AD9DC /* strtok.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtok.c; sourceTree = "<group>"; };
038936DD137D4A74004AD9DC /* strtok_r.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtok_r.c; sourceTree = "<group>"; };
038936DE137D4A74004AD9DC /* strtol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtol.c; sourceTree = "<group>"; };
038936DF137D4A74004AD9DC /* strtoll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoll.c; sourceTree = "<group>"; };
038936E0137D4A74004AD9DC /* strtotimespec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimespec.c; sourceTree = "<group>"; };
038936E1137D4A74004AD9DC /* strtotimeval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimeval.c; sourceTree = "<group>"; };
038936E2137D4A74004AD9DC /* strtotimex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimex.c; sourceTree = "<group>"; };
038936E3137D4A74004AD9DC /* strtoul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoul.c; sourceTree = "<group>"; };
038936E4137D4A74004AD9DC /* strtoull.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoull.c; sourceTree = "<group>"; };
038936E5137D4A74004AD9DC /* strtoumax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoumax.c; sourceTree = "<group>"; };
038936E6137D4A74004AD9DC /* strtox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtox.c; sourceTree = "<group>"; };
038936E7137D4A74004AD9DC /* strxspn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strxspn.c; sourceTree = "<group>"; };
038936E8137D4A74004AD9DC /* strxspn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strxspn.h; sourceTree = "<group>"; };
038936E9137D4A74004AD9DC /* version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = version; sourceTree = "<group>"; };
038936EA137D4A74004AD9DC /* vsnprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vsnprintf.c; sourceTree = "<group>"; };
038936EB137D4A74004AD9DC /* vsscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vsscanf.c; sourceTree = "<group>"; };
038936EC137D4A74004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
038936ED137D4A74004AD9DC /* MakeInc.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakeInc.dir; sourceTree = "<group>"; };
038936EF137D4A74004AD9DC /* algorithm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = algorithm; sourceTree = "<group>"; };
038936F0137D4A74004AD9DC /* associative_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = associative_base; sourceTree = "<group>"; };
038936F1137D4A74004AD9DC /* basic_definitions */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = basic_definitions; sourceTree = "<group>"; };
038936F2137D4A74004AD9DC /* bitset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = bitset; sourceTree = "<group>"; };
038936F3137D4A74004AD9DC /* cassert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cassert; sourceTree = "<group>"; };
038936F4137D4A74004AD9DC /* cctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cctype; sourceTree = "<group>"; };
038936F5137D4A74004AD9DC /* cerrno */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cerrno; sourceTree = "<group>"; };
038936F6137D4A74004AD9DC /* cfloat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cfloat; sourceTree = "<group>"; };
038936F7137D4A74004AD9DC /* char_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = char_traits; sourceTree = "<group>"; };
038936F8137D4A74004AD9DC /* climits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = climits; sourceTree = "<group>"; };
038936F9137D4A74004AD9DC /* clocale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = clocale; sourceTree = "<group>"; };
038936FA137D4A74004AD9DC /* cmath */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cmath; sourceTree = "<group>"; };
038936FB137D4A74004AD9DC /* complex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = complex; sourceTree = "<group>"; };
038936FC137D4A74004AD9DC /* csetjmp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csetjmp; sourceTree = "<group>"; };
038936FD137D4A74004AD9DC /* csignal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csignal; sourceTree = "<group>"; };
038936FE137D4A74004AD9DC /* cstdarg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdarg; sourceTree = "<group>"; };
038936FF137D4A74004AD9DC /* cstddef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstddef; sourceTree = "<group>"; };
03893700137D4A74004AD9DC /* cstdio */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdio; sourceTree = "<group>"; };
03893701137D4A74004AD9DC /* cstdlib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdlib; sourceTree = "<group>"; };
03893702137D4A74004AD9DC /* cstring */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstring; sourceTree = "<group>"; };
03893703137D4A74004AD9DC /* ctime */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ctime; sourceTree = "<group>"; };
03893704137D4A74004AD9DC /* cwchar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwchar; sourceTree = "<group>"; };
03893705137D4A74004AD9DC /* cwctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwctype; sourceTree = "<group>"; };
03893706137D4A74004AD9DC /* deque */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = deque; sourceTree = "<group>"; };
03893707137D4A74004AD9DC /* edid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = edid.h; sourceTree = "<group>"; };
03893708137D4A74004AD9DC /* exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = exception; sourceTree = "<group>"; };
03893709137D4A74004AD9DC /* fstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = fstream; sourceTree = "<group>"; };
0389370A137D4A74004AD9DC /* func_exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = func_exception; sourceTree = "<group>"; };
0389370B137D4A74004AD9DC /* functional */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = functional; sourceTree = "<group>"; };
0389370C137D4A74004AD9DC /* iomanip */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iomanip; sourceTree = "<group>"; };
0389370D137D4A74004AD9DC /* ios */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ios; sourceTree = "<group>"; };
0389370E137D4A74004AD9DC /* iosfwd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iosfwd; sourceTree = "<group>"; };
0389370F137D4A74004AD9DC /* iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iostream; sourceTree = "<group>"; };
03893710137D4A74004AD9DC /* istream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream; sourceTree = "<group>"; };
03893711137D4A74004AD9DC /* istream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream_helpers; sourceTree = "<group>"; };
03893712137D4A74004AD9DC /* iterator */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator; sourceTree = "<group>"; };
03893713137D4A74004AD9DC /* iterator_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator_base; sourceTree = "<group>"; };
03893714137D4A75004AD9DC /* limits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = limits; sourceTree = "<group>"; };
03893715137D4A75004AD9DC /* list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = list; sourceTree = "<group>"; };
03893716137D4A75004AD9DC /* locale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = locale; sourceTree = "<group>"; };
03893717137D4A75004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03893718137D4A75004AD9DC /* map */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map; sourceTree = "<group>"; };
03893719137D4A75004AD9DC /* map.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map.old; sourceTree = "<group>"; };
0389371A137D4A75004AD9DC /* memory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = memory; sourceTree = "<group>"; };
0389371B137D4A75004AD9DC /* new */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = new; sourceTree = "<group>"; };
0389371C137D4A75004AD9DC /* numeric */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = numeric; sourceTree = "<group>"; };
0389371D137D4A75004AD9DC /* ostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream; sourceTree = "<group>"; };
0389371E137D4A75004AD9DC /* ostream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream_helpers; sourceTree = "<group>"; };
0389371F137D4A75004AD9DC /* queue */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = queue; sourceTree = "<group>"; };
03893720137D4A75004AD9DC /* set */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set; sourceTree = "<group>"; };
03893721137D4A75004AD9DC /* set.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set.old; sourceTree = "<group>"; };
03893722137D4A75004AD9DC /* sstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = sstream; sourceTree = "<group>"; };
03893723137D4A75004AD9DC /* stack */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stack; sourceTree = "<group>"; };
03893724137D4A75004AD9DC /* stdexcept */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stdexcept; sourceTree = "<group>"; };
03893725137D4A75004AD9DC /* streambuf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = streambuf; sourceTree = "<group>"; };
03893726137D4A75004AD9DC /* string */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string; sourceTree = "<group>"; };
03893727137D4A75004AD9DC /* string_iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string_iostream; sourceTree = "<group>"; };
03893728137D4A75004AD9DC /* support */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = support; sourceTree = "<group>"; };
03893729137D4A75004AD9DC /* system_configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system_configuration.h; sourceTree = "<group>"; };
0389372A137D4A75004AD9DC /* type_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = type_traits; sourceTree = "<group>"; };
0389372B137D4A75004AD9DC /* typeinfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = typeinfo; sourceTree = "<group>"; };
0389372C137D4A75004AD9DC /* types */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = types; sourceTree = "<group>"; };
0389372D137D4A75004AD9DC /* unwind-cxx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "unwind-cxx.h"; sourceTree = "<group>"; };
0389372E137D4A75004AD9DC /* utility */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = utility; sourceTree = "<group>"; };
0389372F137D4A75004AD9DC /* valarray */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = valarray; sourceTree = "<group>"; };
03893730137D4A75004AD9DC /* vector */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vector; sourceTree = "<group>"; };
03893731137D4A75004AD9DC /* Modules.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Modules.txt; sourceTree = "<group>"; };
03893733137D4A75004AD9DC /* 915resolution.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = 915resolution.c; sourceTree = "<group>"; };
03893734137D4A75004AD9DC /* 915resolution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 915resolution.h; sourceTree = "<group>"; };
03893735137D4A75004AD9DC /* edid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = edid.c; sourceTree = "<group>"; };
03893737137D4A75004AD9DC /* edid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = edid.h; sourceTree = "<group>"; };
03893738137D4A75004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03893739137D4A75004AD9DC /* Resolution.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Resolution.c; sourceTree = "<group>"; };
0389373A137D4A75004AD9DC /* shortatombios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shortatombios.h; sourceTree = "<group>"; };
0389373D137D4A75004AD9DC /* abi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abi.cpp; sourceTree = "<group>"; };
0389373E137D4A75004AD9DC /* algorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = algorithm.cpp; sourceTree = "<group>"; };
0389373F137D4A75004AD9DC /* associative_base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = associative_base.cpp; sourceTree = "<group>"; };
03893740137D4A75004AD9DC /* bitset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitset.cpp; sourceTree = "<group>"; };
03893741137D4A75004AD9DC /* char_traits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = char_traits.cpp; sourceTree = "<group>"; };
03893742137D4A75004AD9DC /* complex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = complex.cpp; sourceTree = "<group>"; };
03893743137D4A75004AD9DC /* del_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_op.cpp; sourceTree = "<group>"; };
03893744137D4A75004AD9DC /* del_opnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opnt.cpp; sourceTree = "<group>"; };
03893745137D4A75004AD9DC /* del_opv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opv.cpp; sourceTree = "<group>"; };
03893746137D4A75004AD9DC /* del_opvnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opvnt.cpp; sourceTree = "<group>"; };
03893747137D4A75004AD9DC /* deque.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deque.cpp; sourceTree = "<group>"; };
03893748137D4A75004AD9DC /* eh_alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eh_alloc.cpp; sourceTree = "<group>"; };
03893749137D4A75004AD9DC /* eh_globals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eh_globals.cpp; sourceTree = "<group>"; };
0389374A137D4A75004AD9DC /* exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = exception.cpp; sourceTree = "<group>"; };
0389374B137D4A75004AD9DC /* fstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fstream.cpp; sourceTree = "<group>"; };
0389374C137D4A75004AD9DC /* func_exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = func_exception.cpp; sourceTree = "<group>"; };
0389374E137D4A75004AD9DC /* algorithm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = algorithm; sourceTree = "<group>"; };
0389374F137D4A75004AD9DC /* associative_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = associative_base; sourceTree = "<group>"; };
03893750137D4A75004AD9DC /* basic_definitions */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = basic_definitions; sourceTree = "<group>"; };
03893751137D4A75004AD9DC /* bitset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = bitset; sourceTree = "<group>"; };
03893752137D4A75004AD9DC /* cassert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cassert; sourceTree = "<group>"; };
03893753137D4A75004AD9DC /* cctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cctype; sourceTree = "<group>"; };
03893754137D4A75004AD9DC /* cerrno */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cerrno; sourceTree = "<group>"; };
03893755137D4A75004AD9DC /* cfloat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cfloat; sourceTree = "<group>"; };
03893756137D4A75004AD9DC /* char_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = char_traits; sourceTree = "<group>"; };
03893757137D4A75004AD9DC /* climits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = climits; sourceTree = "<group>"; };
03893758137D4A75004AD9DC /* clocale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = clocale; sourceTree = "<group>"; };
03893759137D4A75004AD9DC /* cmath */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cmath; sourceTree = "<group>"; };
0389375A137D4A75004AD9DC /* complex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = complex; sourceTree = "<group>"; };
0389375B137D4A75004AD9DC /* csetjmp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csetjmp; sourceTree = "<group>"; };
0389375C137D4A75004AD9DC /* csignal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csignal; sourceTree = "<group>"; };
0389375D137D4A75004AD9DC /* cstdarg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdarg; sourceTree = "<group>"; };
0389375E137D4A75004AD9DC /* cstddef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstddef; sourceTree = "<group>"; };
0389375F137D4A75004AD9DC /* cstdio */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdio; sourceTree = "<group>"; };
03893760137D4A75004AD9DC /* cstdlib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdlib; sourceTree = "<group>"; };
03893761137D4A75004AD9DC /* cstring */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstring; sourceTree = "<group>"; };
03893762137D4A75004AD9DC /* ctime */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ctime; sourceTree = "<group>"; };
03893763137D4A75004AD9DC /* cwchar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwchar; sourceTree = "<group>"; };
03893764137D4A75004AD9DC /* cwctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwctype; sourceTree = "<group>"; };
03893765137D4A75004AD9DC /* deque */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = deque; sourceTree = "<group>"; };
03893766137D4A75004AD9DC /* exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = exception; sourceTree = "<group>"; };
03893767137D4A75004AD9DC /* fstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = fstream; sourceTree = "<group>"; };
03893768137D4A75004AD9DC /* func_exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = func_exception; sourceTree = "<group>"; };
03893769137D4A75004AD9DC /* functional */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = functional; sourceTree = "<group>"; };
0389376A137D4A75004AD9DC /* iomanip */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iomanip; sourceTree = "<group>"; };
0389376B137D4A75004AD9DC /* ios */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ios; sourceTree = "<group>"; };
0389376C137D4A75004AD9DC /* iosfwd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iosfwd; sourceTree = "<group>"; };
0389376D137D4A75004AD9DC /* iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iostream; sourceTree = "<group>"; };
0389376E137D4A75004AD9DC /* istream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream; sourceTree = "<group>"; };
0389376F137D4A75004AD9DC /* istream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream_helpers; sourceTree = "<group>"; };
03893770137D4A75004AD9DC /* iterator */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator; sourceTree = "<group>"; };
03893771137D4A75004AD9DC /* iterator_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator_base; sourceTree = "<group>"; };
03893772137D4A75004AD9DC /* limits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = limits; sourceTree = "<group>"; };
03893773137D4A75004AD9DC /* list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = list; sourceTree = "<group>"; };
03893774137D4A75004AD9DC /* locale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = locale; sourceTree = "<group>"; };
03893775137D4A75004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03893776137D4A75004AD9DC /* map */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map; sourceTree = "<group>"; };
03893777137D4A75004AD9DC /* map.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map.old; sourceTree = "<group>"; };
03893778137D4A75004AD9DC /* memory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = memory; sourceTree = "<group>"; };
03893779137D4A75004AD9DC /* new */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = new; sourceTree = "<group>"; };
0389377A137D4A75004AD9DC /* numeric */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = numeric; sourceTree = "<group>"; };
0389377B137D4A75004AD9DC /* ostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream; sourceTree = "<group>"; };
0389377C137D4A75004AD9DC /* ostream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream_helpers; sourceTree = "<group>"; };
0389377D137D4A75004AD9DC /* queue */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = queue; sourceTree = "<group>"; };
0389377E137D4A75004AD9DC /* set */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set; sourceTree = "<group>"; };
0389377F137D4A75004AD9DC /* set.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set.old; sourceTree = "<group>"; };
03893780137D4A75004AD9DC /* sstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = sstream; sourceTree = "<group>"; };
03893781137D4A75004AD9DC /* stack */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stack; sourceTree = "<group>"; };
03893782137D4A75004AD9DC /* stdexcept */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stdexcept; sourceTree = "<group>"; };
03893783137D4A75004AD9DC /* streambuf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = streambuf; sourceTree = "<group>"; };
03893784137D4A75004AD9DC /* string */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string; sourceTree = "<group>"; };
03893785137D4A75004AD9DC /* string_iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string_iostream; sourceTree = "<group>"; };
03893786137D4A75004AD9DC /* support */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = support; sourceTree = "<group>"; };
03893787137D4A75004AD9DC /* system_configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system_configuration.h; sourceTree = "<group>"; };
03893788137D4A75004AD9DC /* type_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = type_traits; sourceTree = "<group>"; };
03893789137D4A75004AD9DC /* typeinfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = typeinfo; sourceTree = "<group>"; };
0389378A137D4A75004AD9DC /* types */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = types; sourceTree = "<group>"; };
0389378B137D4A75004AD9DC /* unwind-cxx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "unwind-cxx.h"; sourceTree = "<group>"; };
0389378C137D4A75004AD9DC /* utility */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = utility; sourceTree = "<group>"; };
0389378D137D4A75004AD9DC /* valarray */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = valarray; sourceTree = "<group>"; };
0389378E137D4A75004AD9DC /* vector */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vector; sourceTree = "<group>"; };
0389378F137D4A75004AD9DC /* iomanip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iomanip.cpp; sourceTree = "<group>"; };
03893790137D4A75004AD9DC /* ios.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ios.cpp; sourceTree = "<group>"; };
03893791137D4A75004AD9DC /* iostream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iostream.cpp; sourceTree = "<group>"; };
03893792137D4A75004AD9DC /* istream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = istream.cpp; sourceTree = "<group>"; };
03893793137D4A75004AD9DC /* iterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iterator.cpp; sourceTree = "<group>"; };
03893794137D4A75004AD9DC /* limits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limits.cpp; sourceTree = "<group>"; };
03893795137D4A75004AD9DC /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
03893796137D4A75004AD9DC /* locale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locale.cpp; sourceTree = "<group>"; };
03893797137D4A75004AD9DC /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03893798137D4A75004AD9DC /* map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = map.cpp; sourceTree = "<group>"; };
03893799137D4A75004AD9DC /* new_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_handler.cpp; sourceTree = "<group>"; };
0389379A137D4A75004AD9DC /* new_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_op.cpp; sourceTree = "<group>"; };
0389379B137D4A75004AD9DC /* new_opnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opnt.cpp; sourceTree = "<group>"; };
0389379C137D4A75004AD9DC /* new_opv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opv.cpp; sourceTree = "<group>"; };
0389379D137D4A75004AD9DC /* new_opvnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opvnt.cpp; sourceTree = "<group>"; };
0389379E137D4A75004AD9DC /* numeric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = numeric.cpp; sourceTree = "<group>"; };
0389379F137D4A75004AD9DC /* ostream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ostream.cpp; sourceTree = "<group>"; };
038937A0137D4A75004AD9DC /* queue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = queue.cpp; sourceTree = "<group>"; };
038937A1137D4A75004AD9DC /* set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = set.cpp; sourceTree = "<group>"; };
038937A2137D4A75004AD9DC /* sstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sstream.cpp; sourceTree = "<group>"; };
038937A3137D4A75004AD9DC /* stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stack.cpp; sourceTree = "<group>"; };
038937A4137D4A75004AD9DC /* stdexcept.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stdexcept.cpp; sourceTree = "<group>"; };
038937A5137D4A75004AD9DC /* streambuf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = streambuf.cpp; sourceTree = "<group>"; };
038937A6137D4A75004AD9DC /* string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string.cpp; sourceTree = "<group>"; };
038937A7137D4A75004AD9DC /* support.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = support.cpp; sourceTree = "<group>"; };
038937A8137D4A75004AD9DC /* typeinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = typeinfo.cpp; sourceTree = "<group>"; };
038937A9137D4A75004AD9DC /* uClibc++.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "uClibc++.c"; sourceTree = "<group>"; };
038937AA137D4A75004AD9DC /* utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utility.cpp; sourceTree = "<group>"; };
038937AB137D4A75004AD9DC /* valarray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = valarray.cpp; sourceTree = "<group>"; };
038937AC137D4A75004AD9DC /* vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector.cpp; sourceTree = "<group>"; };
03DA89351389338300B43B35 /* AMDGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = AMDGraphicsEnabler.c; sourceTree = "<group>"; };
03DA89361389338300B43B35 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
03DA89371389338300B43B35 /* ati_reg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati_reg.h; sourceTree = "<group>"; };
03DA89381389338300B43B35 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03DA89391389338300B43B35 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
03DA893B1389338300B43B35 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
03DA893C1389338300B43B35 /* ati.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati.h; sourceTree = "<group>"; };
03DA893D1389338300B43B35 /* ATiGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ATiGraphicsEnabler.c; sourceTree = "<group>"; };
03DA893E1389338300B43B35 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03DA89401389338300B43B35 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
03DA89421389338300B43B35 /* gma.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gma.c; sourceTree = "<group>"; };
03DA89431389338300B43B35 /* gma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gma.h; sourceTree = "<group>"; };
03DA89441389338300B43B35 /* IntelGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = IntelGraphicsEnabler.c; sourceTree = "<group>"; };
03DA89451389338300B43B35 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03DA89461389338300B43B35 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
03DA89481389338300B43B35 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
03DA89491389338300B43B35 /* nvidia.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nvidia.c; sourceTree = "<group>"; };
03DA894A1389338300B43B35 /* nvidia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nvidia.h; sourceTree = "<group>"; };
03DA894B1389338300B43B35 /* NVIDIAGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = NVIDIAGraphicsEnabler.c; sourceTree = "<group>"; };
03DA894C1389338300B43B35 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
1D145307137073F40050C0CD /* bootargs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootargs.h; sourceTree = "<group>"; };
1D2A1AF513743A2600787720 /* bootargs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootargs.h; sourceTree = "<group>"; };
65ED53931204B83200B22507 /* disk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disk.h; sourceTree = "<group>"; };
B0056CE711F3868000754B65 /* boot0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot0.s; sourceTree = "<group>"; };
B0056CE811F3868000754B65 /* chain0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = chain0.s; sourceTree = "<group>"; };
B0056CE911F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056CEB11F3868000754B65 /* boot1.asm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm.asm; path = boot1.asm; sourceTree = "<group>"; };
B0056CEC11F3868000754B65 /* boot1.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1.s; sourceTree = "<group>"; };
B0056CED11F3868000754B65 /* boot1f32-install.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "boot1f32-install.sh"; sourceTree = "<group>"; };
B0056CEE11F3868000754B65 /* boot1f32.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1f32.s; sourceTree = "<group>"; };
B0056CEF11F3868000754B65 /* boot1he.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1he.s; sourceTree = "<group>"; };
B0056CF011F3868000754B65 /* boot1hp.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1hp.s; sourceTree = "<group>"; };
B0056CF111F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056CF311F3868000754B65 /* appleboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appleboot.h; sourceTree = "<group>"; };
B0056CF411F3868000754B65 /* appleClut8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appleClut8.h; sourceTree = "<group>"; };
B0056CF511F3868000754B65 /* bmdecompress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bmdecompress.c; sourceTree = "<group>"; };
B0056CF611F3868000754B65 /* boot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = boot.c; sourceTree = "<group>"; };
B0056CF711F3868000754B65 /* boot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boot.h; sourceTree = "<group>"; };
B0056CF811F3868000754B65 /* boot2.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot2.s; sourceTree = "<group>"; };
B0056CF911F3868000754B65 /* drivers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = drivers.c; sourceTree = "<group>"; };
B0056CFA11F3868000754B65 /* graphic_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graphic_utils.c; sourceTree = "<group>"; };
B0056CFB11F3868000754B65 /* graphic_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphic_utils.h; sourceTree = "<group>"; };
B0056CFC11F3868000754B65 /* graphics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graphics.c; sourceTree = "<group>"; };
B0056CFD11F3868000754B65 /* graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics.h; sourceTree = "<group>"; };
B0056CFE11F3868000754B65 /* gui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gui.c; sourceTree = "<group>"; };
B0056CFF11F3868000754B65 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = "<group>"; };
B0056D0011F3868000754B65 /* IOHibernatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHibernatePrivate.h; sourceTree = "<group>"; };
B0056D0111F3868000754B65 /* lzss.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lzss.c; sourceTree = "<group>"; };
B0056D0211F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D0311F3868000754B65 /* mboot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mboot.c; sourceTree = "<group>"; };
B0056D0411F3868000754B65 /* mboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboot.h; sourceTree = "<group>"; };
B0056D0511F3868000754B65 /* multiboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multiboot.h; sourceTree = "<group>"; };
B0056D0611F3868000754B65 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = "<group>"; };
B0056D0711F3868000754B65 /* picopng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picopng.c; sourceTree = "<group>"; };
B0056D0811F3868000754B65 /* picopng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picopng.h; sourceTree = "<group>"; };
B0056D0911F3868000754B65 /* prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prompt.c; sourceTree = "<group>"; };
B0056D0A11F3868000754B65 /* ramdisk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ramdisk.c; sourceTree = "<group>"; };
B0056D0B11F3868000754B65 /* ramdisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ramdisk.h; sourceTree = "<group>"; };
B0056D0C11F3868000754B65 /* resume.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resume.c; sourceTree = "<group>"; };
B0056D0D11F3868000754B65 /* WKdm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKdm.h; sourceTree = "<group>"; };
B0056D0E11F3868000754B65 /* WKdmDecompress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = WKdmDecompress.c; sourceTree = "<group>"; };
B0056D1011F3868000754B65 /* cdboot.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = cdboot.s; sourceTree = "<group>"; };
B0056D1111F3868000754B65 /* cdboothdd.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = cdboothdd.s; sourceTree = "<group>"; };
B0056D1211F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D1411F3868000754B65 /* Limits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Limits; sourceTree = "<group>"; };
B0056D1511F3868000754B65 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
B0056D1711F3868000754B65 /* efi_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = efi_tables.c; sourceTree = "<group>"; };
B0056D1811F3868000754B65 /* efi_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = efi_tables.h; sourceTree = "<group>"; };
B0056D1911F3868000754B65 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = "<group>"; };
B0056D1A11F3868000754B65 /* libsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libsa.h; sourceTree = "<group>"; };
B0056D1B11F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D1C11F3868000754B65 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = "<group>"; };
B0056D1D11F3868000754B65 /* prf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prf.c; sourceTree = "<group>"; };
B0056D1E11F3868000754B65 /* printf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = printf.c; sourceTree = "<group>"; };
B0056D1F11F3868000754B65 /* qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qsort.c; sourceTree = "<group>"; };
B0056D2011F3868000754B65 /* setjmp.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = setjmp.s; sourceTree = "<group>"; };
B0056D2111F3868000754B65 /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = string.c; sourceTree = "<group>"; };
B0056D2211F3868000754B65 /* strtol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtol.c; sourceTree = "<group>"; };
B0056D2311F3868000754B65 /* zalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zalloc.c; sourceTree = "<group>"; };
B0056D2511F3868000754B65 /* acpi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi.h; sourceTree = "<group>"; };
B0056D2611F3868000754B65 /* acpi_patcher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpi_patcher.c; sourceTree = "<group>"; };
B0056D2711F3868000754B65 /* acpi_patcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi_patcher.h; sourceTree = "<group>"; };
B0056D2811F3868000754B65 /* allocate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = allocate.c; sourceTree = "<group>"; };
B0056D2911F3868000754B65 /* asm.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = asm.s; sourceTree = "<group>"; };
B0056D2A11F3868000754B65 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
B0056D2C11F3868000754B65 /* bios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bios.h; sourceTree = "<group>"; };
B0056D2D11F3868000754B65 /* bios.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = bios.s; sourceTree = "<group>"; };
B0056D2E11F3868000754B65 /* biosfn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = biosfn.c; sourceTree = "<group>"; };
B0056D2F11F3868000754B65 /* bootstruct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bootstruct.c; sourceTree = "<group>"; };
B0056D3011F3868000754B65 /* bootstruct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootstruct.h; sourceTree = "<group>"; };
B0056D3111F3868000754B65 /* cache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cache.c; sourceTree = "<group>"; };
B0056D3211F3868000754B65 /* console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = console.c; sourceTree = "<group>"; };
B0056D3311F3868000754B65 /* convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = convert.c; sourceTree = "<group>"; };
B0056D3411F3868000754B65 /* convert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convert.h; sourceTree = "<group>"; };
B0056D3511F3868000754B65 /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpu.c; sourceTree = "<group>"; };
B0056D3611F3868000754B65 /* cpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = "<group>"; };
B0056D3711F3868000754B65 /* device_inject.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = device_inject.c; sourceTree = "<group>"; };
B0056D3811F3868000754B65 /* device_inject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_inject.h; sourceTree = "<group>"; };
B0056D3911F3868000754B65 /* device_tree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = device_tree.c; sourceTree = "<group>"; };
B0056D3A11F3868000754B65 /* device_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_tree.h; sourceTree = "<group>"; };
B0056D3B11F3868000754B65 /* disk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = disk.c; sourceTree = "<group>"; };
B0056D3C11F3868000754B65 /* efi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = efi.h; sourceTree = "<group>"; };
B0056D3D11F3868000754B65 /* ext2fs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ext2fs.c; sourceTree = "<group>"; };
B0056D3E11F3868000754B65 /* ext2fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext2fs.h; sourceTree = "<group>"; };
B0056D3F11F3868000754B65 /* fake_efi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fake_efi.c; sourceTree = "<group>"; };
B0056D4011F3868000754B65 /* fake_efi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fake_efi.h; sourceTree = "<group>"; };
B0056D4111F3868000754B65 /* fdisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fdisk.h; sourceTree = "<group>"; };
B0056D4211F3868000754B65 /* hfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs.c; sourceTree = "<group>"; };
B0056D4311F3868000754B65 /* hfs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs.h; sourceTree = "<group>"; };
B0056D4411F3868000754B65 /* hfs_CaseTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs_CaseTables.h; sourceTree = "<group>"; };
B0056D4511F3868000754B65 /* hfs_compare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs_compare.c; sourceTree = "<group>"; };
B0056D4611F3868000754B65 /* hpet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hpet.c; sourceTree = "<group>"; };
B0056D4711F3868000754B65 /* hpet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hpet.h; sourceTree = "<group>"; };
B0056D4811F3868000754B65 /* io_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = io_inline.h; sourceTree = "<group>"; };
B0056D4911F3868000754B65 /* libsaio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libsaio.h; sourceTree = "<group>"; };
B0056D4A11F3868000754B65 /* load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = load.c; sourceTree = "<group>"; };
B0056D4B11F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D4C11F3868000754B65 /* md5c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5c.c; sourceTree = "<group>"; };
B0056D4F11F3868000754B65 /* memvendors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memvendors.h; sourceTree = "<group>"; };
B0056D5011F3868000754B65 /* misc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = misc.c; sourceTree = "<group>"; };
B0056D5111F3868000754B65 /* msdos.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msdos.c; sourceTree = "<group>"; };
B0056D5211F3868000754B65 /* msdos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msdos.h; sourceTree = "<group>"; };
B0056D5311F3868000754B65 /* msdos_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msdos_private.h; sourceTree = "<group>"; };
B0056D5411F3868000754B65 /* nbp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nbp.c; sourceTree = "<group>"; };
B0056D5511F3868000754B65 /* nbp_cmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nbp_cmd.h; sourceTree = "<group>"; };
B0056D5611F3868000754B65 /* ntfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ntfs.c; sourceTree = "<group>"; };
B0056D5711F3868000754B65 /* ntfs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ntfs.h; sourceTree = "<group>"; };
B0056D5811F3868000754B65 /* ntfs_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ntfs_private.h; sourceTree = "<group>"; };
B0056D5911F3868000754B65 /* nvidia.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nvidia.c; sourceTree = "<group>"; };
B0056D5A11F3868000754B65 /* nvidia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nvidia.h; sourceTree = "<group>"; };
B0056D5B11F3868000754B65 /* pci.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci.c; sourceTree = "<group>"; };
B0056D5C11F3868000754B65 /* pci.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pci.h; sourceTree = "<group>"; };
B0056D5D11F3868000754B65 /* pci_root.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci_root.c; sourceTree = "<group>"; };
B0056D5E11F3868000754B65 /* pci_root.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pci_root.h; sourceTree = "<group>"; };
B0056D5F11F3868000754B65 /* pci_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci_setup.c; sourceTree = "<group>"; };
B0056D6011F3868000754B65 /* platform.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = platform.c; sourceTree = "<group>"; };
B0056D6111F3868000754B65 /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = "<group>"; };
B0056D6211F3868000754B65 /* saio_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saio_internal.h; sourceTree = "<group>"; };
B0056D6311F3868000754B65 /* saio_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saio_types.h; sourceTree = "<group>"; };
B0056D6411F3868000754B65 /* sl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sl.h; sourceTree = "<group>"; };
B0056D6511F3868000754B65 /* SMBIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SMBIOS.h; sourceTree = "<group>"; };
B0056D6811F3868000754B65 /* spd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spd.c; sourceTree = "<group>"; };
B0056D6911F3868000754B65 /* spd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spd.h; sourceTree = "<group>"; };
B0056D6A11F3868000754B65 /* stringTable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stringTable.c; sourceTree = "<group>"; };
B0056D6B11F3868000754B65 /* sys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sys.c; sourceTree = "<group>"; };
B0056D6C11F3868000754B65 /* table.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = table.c; sourceTree = "<group>"; };
B0056D6D11F3868000754B65 /* ufs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufs.c; sourceTree = "<group>"; };
B0056D6E11F3868000754B65 /* ufs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufs.h; sourceTree = "<group>"; };
B0056D6F11F3868000754B65 /* ufs_byteorder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufs_byteorder.c; sourceTree = "<group>"; };
B0056D7011F3868000754B65 /* ufs_byteorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufs_byteorder.h; sourceTree = "<group>"; };
B0056D7111F3868000754B65 /* usb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = usb.c; sourceTree = "<group>"; };
B0056D7211F3868000754B65 /* vbe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vbe.c; sourceTree = "<group>"; };
B0056D7311F3868000754B65 /* vbe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbe.h; sourceTree = "<group>"; };
B0056D7411F3868000754B65 /* xml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xml.c; sourceTree = "<group>"; };
B0056D7511F3868000754B65 /* xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xml.h; sourceTree = "<group>"; };
B0056D7611F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D7711F3868000754B65 /* MakeInc.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakeInc.dir; sourceTree = "<group>"; };
B0056D7811F3868000754B65 /* MakePaths.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakePaths.dir; sourceTree = "<group>"; };
B0056D7A11F3868000754B65 /* machOconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = machOconv.c; sourceTree = "<group>"; };
B0056D7B11F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D7C11F3868000754B65 /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = "<group>"; };
B0056D7D11F3868000754B65 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
B0056D7F11F3868000754B65 /* CREDITS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CREDITS; sourceTree = "<group>"; };
B0056D8011F3868000754B65 /* coding_standards.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coding_standards.txt; sourceTree = "<group>"; };
B0056D8111F3868000754B65 /* CHANGES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGES; sourceTree = "<group>"; };
B0056D8211F3868000754B65 /* APPLE_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = APPLE_LICENSE; sourceTree = "<group>"; };
B0056D8411F3868000754B65 /* buildpkg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = buildpkg; sourceTree = "<group>"; };
B0056D8511F3868000754B65 /* Distribution */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Distribution; sourceTree = "<group>"; };
B0056D8611F3868000754B65 /* fdisk */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = fdisk; sourceTree = "<group>"; };
B0056D8811F3868000754B65 /* AHCIPortInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = AHCIPortInjector.kext; sourceTree = "<group>"; };
B0056D8911F3868000754B65 /* ATAPortInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = ATAPortInjector.kext; sourceTree = "<group>"; };
B0056D8A11F3868000754B65 /* Disabler.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = Disabler.kext; sourceTree = "<group>"; };
B0056D8B11F3868000754B65 /* IOAHCIBlockStorageInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = IOAHCIBlockStorageInjector.kext; sourceTree = "<group>"; };
B0056D8C11F3868000754B65 /* JMicronATAInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = JMicronATAInjector.kext; sourceTree = "<group>"; };
B0056D8E11F3868000754B65 /* background.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = background.tiff; sourceTree = "<group>"; };
B0056D9011F3868000754B65 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/Description.html; sourceTree = "<group>"; };
B0056D9211F3868000754B65 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/License.rtf; sourceTree = "<group>"; };
B0056D9411F3868000754B65 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
B0056D9611F3868000754B65 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = English; path = English.lproj/Welcome.rtfd; sourceTree = "<group>"; };
B0056D9711F3868000754B65 /* French */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = French; path = French.lproj/Description.html; sourceTree = "<group>"; };
B0056D9811F3868000754B65 /* French */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = French; path = French.lproj/License.rtf; sourceTree = "<group>"; };
B0056D9911F3868000754B65 /* French */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = French; path = French.lproj/Localizable.strings; sourceTree = "<group>"; };
B0056D9A11F3868000754B65 /* German */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = German; path = German.lproj/Description.html; sourceTree = "<group>"; };
B0056D9B11F3868000754B65 /* German */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = German; path = German.lproj/License.rtf; sourceTree = "<group>"; };
B0056D9C11F3868000754B65 /* German */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Localizable.strings; sourceTree = "<group>"; };
B0056D9D11F3868000754B65 /* Spanish */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = Spanish; path = Spanish.lproj/Description.html; sourceTree = "<group>"; };
B0056D9E11F3868000754B65 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = Spanish; path = Spanish.lproj/License.rtf; sourceTree = "<group>"; };
B0056D9F11F3868000754B65 /* Spanish */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/Localizable.strings; sourceTree = "<group>"; };
B0056DA011F3868000754B65 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = Spanish; path = Spanish.lproj/Welcome.rtfd; sourceTree = "<group>"; };
B0056DA311F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DA511F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DA811F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DAA11F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DAC11F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DAE11F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB011F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB211F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB411F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB611F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB811F3868000754B65 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
B0056DB911F3868000754B65 /* smbios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = smbios.plist; sourceTree = "<group>"; };
B0056DBD11F3868000754B65 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
B0056DBE11F3868000754B65 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
B0056DBF11F3868000754B65 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
B0056DC011F3868000754B65 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
B0056DC111F3868000754B65 /* device_fat16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat16.png; sourceTree = "<group>"; };
B0056DC211F3868000754B65 /* device_fat32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat32.png; sourceTree = "<group>"; };
B0056DC311F3868000754B65 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
B0056DC411F3868000754B65 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
B0056DC511F3868000754B65 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
B0056DC611F3868000754B65 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
B0056DC711F3868000754B65 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
B0056DC811F3868000754B65 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
B0056DC911F3868000754B65 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
B0056DCA11F3868000754B65 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
B0056DCB11F3868000754B65 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
B0056DCC11F3868000754B65 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
B0056DCD11F3868000754B65 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
B0056DCE11F3868000754B65 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
B0056DCF11F3868000754B65 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
B0056DD011F3868000754B65 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
B0056DD111F3868000754B65 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
B0056DD211F3868000754B65 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
B0056DD311F3868000754B65 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
B0056DD411F3868000754B65 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
B0056DD511F3868000754B65 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
B0056DD611F3868000754B65 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
B0056DD711F3868000754B65 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
B0056DD811F3868000754B65 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
B0056DD911F3868000754B65 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
B0056DDA11F3868000754B65 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
B0056DDB11F3868000754B65 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
B0056DDD11F3868000754B65 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
B0056DDE11F3868000754B65 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
B0056DDF11F3868000754B65 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
B0056DE011F3868000754B65 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
B0056DE111F3868000754B65 /* device_fat16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat16.png; sourceTree = "<group>"; };
B0056DE211F3868000754B65 /* device_fat32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat32.png; sourceTree = "<group>"; };
B0056DE311F3868000754B65 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
B0056DE411F3868000754B65 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
B0056DE511F3868000754B65 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
B0056DE611F3868000754B65 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
B0056DE711F3868000754B65 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
B0056DE811F3868000754B65 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
B0056DE911F3868000754B65 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
B0056DEA11F3868000754B65 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
B0056DEB11F3868000754B65 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
B0056DEC11F3868000754B65 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
B0056DED11F3868000754B65 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
B0056DEE11F3868000754B65 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
B0056DEF11F3868000754B65 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
B0056DF011F3868000754B65 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
B0056DF111F3868000754B65 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
B0056DF211F3868000754B65 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
B0056DF311F3868000754B65 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
B0056DF411F3868000754B65 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
B0056DF511F3868000754B65 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
B0056DF611F3868000754B65 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
B0056DF711F3868000754B65 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
B0056DF811F3868000754B65 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
B0056DF911F3868000754B65 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
B0056DFA11F3868000754B65 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
B0056DFB11F3868000754B65 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
B0056DFD11F3868000754B65 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
B0056DFE11F3868000754B65 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
B0056E0011F3868000754B65 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
B0056E0111F3868000754B65 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
B0056E0311F3868000754B65 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
B0056E0411F3868000754B65 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
B0056E0511F3868000754B65 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
B0056E0811F3868000754B65 /* Users_Guide0.4.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide0.4.pdf; sourceTree = "<group>"; };
B0056E0911F3868000754B65 /* Users_Guide_v0.3.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide_v0.3.pdf; sourceTree = "<group>"; };
B0056E0A11F3868000754B65 /* UsersGuide-v0.2.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "UsersGuide-v0.2.pdf"; sourceTree = "<group>"; };
B0056E0B11F3868000754B65 /* BootHelp.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BootHelp.txt; sourceTree = "<group>"; };
B0056E0C11F3868000754B65 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
B0056E0D11F3868000754B65 /* themeinfo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = themeinfo.png; sourceTree = "<group>"; };
B0056E0F11F3868000754B65 /* Chameleon 2 v0.4.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Chameleon 2 v0.4.xml"; sourceTree = "<group>"; };
B0056E1011F3868000754B65 /* Chameleon 2 v0.5.docx */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Chameleon 2 v0.5.docx"; sourceTree = "<group>"; };
B0056E1111F3868000754B65 /* chameleon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chameleon.png; sourceTree = "<group>"; };
B0056E1211F3868000754B65 /* colorchart.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = colorchart.png; sourceTree = "<group>"; };
B0056E1311F3868000754B65 /* install_complete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_complete.png; sourceTree = "<group>"; };
B0056E1411F3868000754B65 /* install_cust.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_cust.png; sourceTree = "<group>"; };
B0056E1511F3868000754B65 /* install_dest.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_dest.png; sourceTree = "<group>"; };
B0056E1611F3868000754B65 /* install_stand.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_stand.png; sourceTree = "<group>"; };
B0056E1711F3868000754B65 /* install_start.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_start.png; sourceTree = "<group>"; };
B0056E1811F3868000754B65 /* screen_format.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = screen_format.png; sourceTree = "<group>"; };
B0056E1911F3868000754B65 /* xnulogo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = xnulogo.png; sourceTree = "<group>"; };
B0056E1A11F3868000754B65 /* Users_Guide0.5.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide0.5.pdf; sourceTree = "<group>"; };
B00F494911F6089500B1D7C5 /* aml_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aml_generator.h; sourceTree = "<group>"; };
B00F494A11F6089500B1D7C5 /* aml_generator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aml_generator.c; sourceTree = "<group>"; };
B0146EFF11FDEF550010765C /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
B0146F0011FDEFB90010765C /* GPL_V2_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GPL_V2_LICENSE; sourceTree = "<group>"; };
619A50C11391DC74001AAD40 /* APPLE_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = APPLE_LICENSE; sourceTree = "<group>"; };
619A50C51391DC74001AAD40 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
619A50C61391DC74001AAD40 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
619A50C71391DC74001AAD40 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
619A50C81391DC74001AAD40 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
619A50C91391DC74001AAD40 /* device_fat16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat16.png; sourceTree = "<group>"; };
619A50CA1391DC74001AAD40 /* device_fat32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat32.png; sourceTree = "<group>"; };
619A50CB1391DC74001AAD40 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
619A50CC1391DC74001AAD40 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
619A50CD1391DC74001AAD40 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
619A50CE1391DC74001AAD40 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
619A50CF1391DC74001AAD40 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
619A50D01391DC74001AAD40 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
619A50D11391DC74001AAD40 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
619A50D21391DC74001AAD40 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
619A50D31391DC74001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A50D41391DC74001AAD40 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
619A50D51391DC74001AAD40 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
619A50D61391DC74001AAD40 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
619A50D71391DC74001AAD40 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
619A50D81391DC74001AAD40 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
619A50D91391DC74001AAD40 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
619A50DA1391DC74001AAD40 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
619A50DB1391DC74001AAD40 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
619A50DC1391DC74001AAD40 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
619A50DD1391DC74001AAD40 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
619A50DE1391DC74001AAD40 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
619A50DF1391DC74001AAD40 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
619A50E01391DC74001AAD40 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
619A50E11391DC74001AAD40 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
619A50E21391DC74001AAD40 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
619A50E31391DC74001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A50E51391DC74001AAD40 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
619A50E61391DC74001AAD40 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
619A50E71391DC74001AAD40 /* device_befs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_befs.png; sourceTree = "<group>"; };
619A50E81391DC74001AAD40 /* device_befs_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_befs_o.png; sourceTree = "<group>"; };
619A50E91391DC74001AAD40 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
619A50EA1391DC74001AAD40 /* device_cdrom_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom_o.png; sourceTree = "<group>"; };
619A50EB1391DC74001AAD40 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
619A50EC1391DC74001AAD40 /* device_ext3_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3_o.png; sourceTree = "<group>"; };
619A50ED1391DC74001AAD40 /* device_fat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat.png; sourceTree = "<group>"; };
619A50EE1391DC74001AAD40 /* device_fat_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat_o.png; sourceTree = "<group>"; };
619A50EF1391DC74001AAD40 /* device_freebsd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_freebsd.png; sourceTree = "<group>"; };
619A50F01391DC74001AAD40 /* device_freebsd_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_freebsd_o.png; sourceTree = "<group>"; };
619A50F11391DC74001AAD40 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
619A50F21391DC74001AAD40 /* device_generic_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic_o.png; sourceTree = "<group>"; };
619A50F31391DC74001AAD40 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
619A50F41391DC74001AAD40 /* device_hfsplus_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus_o.png; sourceTree = "<group>"; };
619A50F51391DC74001AAD40 /* device_hfsraid.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsraid.png; sourceTree = "<group>"; };
619A50F61391DC74001AAD40 /* device_hfsraid_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsraid_o.png; sourceTree = "<group>"; };
619A50F71391DC74001AAD40 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
619A50F81391DC74001AAD40 /* device_ntfs_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs_o.png; sourceTree = "<group>"; };
619A50F91391DC74001AAD40 /* device_openbsd.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_openbsd.png; sourceTree = "<group>"; };
619A50FA1391DC74001AAD40 /* device_openbsd_o.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_openbsd_o.png; sourceTree = "<group>"; };
619A50FB1391DC74001AAD40 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
619A50FC1391DC74001AAD40 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
619A50FD1391DC74001AAD40 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
619A50FE1391DC74001AAD40 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
619A50FF1391DC75001AAD40 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
619A51001391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A51011391DC75001AAD40 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
619A51021391DC75001AAD40 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
619A51031391DC75001AAD40 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
619A51041391DC75001AAD40 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
619A51051391DC75001AAD40 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
619A51061391DC75001AAD40 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
619A51071391DC75001AAD40 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
619A51081391DC75001AAD40 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
619A51091391DC75001AAD40 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
619A510A1391DC75001AAD40 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
619A510B1391DC75001AAD40 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
619A510C1391DC75001AAD40 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
619A510D1391DC75001AAD40 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
619A510E1391DC75001AAD40 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
619A510F1391DC75001AAD40 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
619A51101391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A51111391DC75001AAD40 /* thumb.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = thumb.png; sourceTree = "<group>"; };
619A51131391DC75001AAD40 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
619A51141391DC75001AAD40 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
619A51151391DC75001AAD40 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
619A51161391DC75001AAD40 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
619A51171391DC75001AAD40 /* device_fat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat.png; sourceTree = "<group>"; };
619A51181391DC75001AAD40 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
619A51191391DC75001AAD40 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
619A511A1391DC75001AAD40 /* device_hfsraid.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsraid.png; sourceTree = "<group>"; };
619A511B1391DC75001AAD40 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
619A511C1391DC75001AAD40 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
619A511D1391DC75001AAD40 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
619A511E1391DC75001AAD40 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
619A511F1391DC75001AAD40 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
619A51201391DC75001AAD40 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
619A51211391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A51221391DC75001AAD40 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
619A51231391DC75001AAD40 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
619A51241391DC75001AAD40 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
619A51251391DC75001AAD40 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
619A51261391DC75001AAD40 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
619A51271391DC75001AAD40 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
619A51281391DC75001AAD40 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
619A51291391DC75001AAD40 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
619A512A1391DC75001AAD40 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
619A512B1391DC75001AAD40 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
619A512C1391DC75001AAD40 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
619A512D1391DC75001AAD40 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
619A512E1391DC75001AAD40 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
619A512F1391DC75001AAD40 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
619A51301391DC75001AAD40 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
619A51311391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A51331391DC75001AAD40 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
619A51341391DC75001AAD40 /* boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boot.png; sourceTree = "<group>"; };
619A51351391DC75001AAD40 /* device_cdrom.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_cdrom.png; sourceTree = "<group>"; };
619A51361391DC75001AAD40 /* device_ext3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ext3.png; sourceTree = "<group>"; };
619A51371391DC75001AAD40 /* device_fat.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_fat.png; sourceTree = "<group>"; };
619A51381391DC75001AAD40 /* device_generic.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_generic.png; sourceTree = "<group>"; };
619A51391391DC75001AAD40 /* device_hfsplus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_hfsplus.png; sourceTree = "<group>"; };
619A513A1391DC75001AAD40 /* device_ntfs.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_ntfs.png; sourceTree = "<group>"; };
619A513B1391DC75001AAD40 /* device_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_next.png; sourceTree = "<group>"; };
619A513C1391DC75001AAD40 /* device_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_scroll_prev.png; sourceTree = "<group>"; };
619A513D1391DC75001AAD40 /* device_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = device_selection.png; sourceTree = "<group>"; };
619A513E1391DC75001AAD40 /* font_console.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_console.png; sourceTree = "<group>"; };
619A513F1391DC75001AAD40 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
619A51401391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A51411391DC75001AAD40 /* menu_boot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_boot.png; sourceTree = "<group>"; };
619A51421391DC75001AAD40 /* menu_help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_help.png; sourceTree = "<group>"; };
619A51431391DC75001AAD40 /* menu_ignore_caches.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches.png; sourceTree = "<group>"; };
619A51441391DC75001AAD40 /* menu_ignore_caches_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_ignore_caches_disabled.png; sourceTree = "<group>"; };
619A51451391DC75001AAD40 /* menu_memory_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_memory_info.png; sourceTree = "<group>"; };
619A51461391DC75001AAD40 /* menu_selection.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_selection.png; sourceTree = "<group>"; };
619A51471391DC75001AAD40 /* menu_single_user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user.png; sourceTree = "<group>"; };
619A51481391DC75001AAD40 /* menu_single_user_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_single_user_disabled.png; sourceTree = "<group>"; };
619A51491391DC75001AAD40 /* menu_verbose.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose.png; sourceTree = "<group>"; };
619A514A1391DC75001AAD40 /* menu_verbose_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_verbose_disabled.png; sourceTree = "<group>"; };
619A514B1391DC75001AAD40 /* menu_video_info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menu_video_info.png; sourceTree = "<group>"; };
619A514C1391DC75001AAD40 /* progress_bar.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar.png; sourceTree = "<group>"; };
619A514D1391DC75001AAD40 /* progress_bar_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = progress_bar_background.png; sourceTree = "<group>"; };
619A514E1391DC75001AAD40 /* text_scroll_next.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_next.png; sourceTree = "<group>"; };
619A514F1391DC75001AAD40 /* text_scroll_prev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = text_scroll_prev.png; sourceTree = "<group>"; };
619A51501391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A51521391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A51531391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A51551391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A51561391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A51581391DC75001AAD40 /* font_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = font_small.png; sourceTree = "<group>"; };
619A51591391DC75001AAD40 /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo.png; sourceTree = "<group>"; };
619A515A1391DC75001AAD40 /* theme.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = theme.plist; sourceTree = "<group>"; };
619A515E1391DC75001AAD40 /* categories.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = categories.pbxbtree; sourceTree = "<group>"; };
619A515F1391DC75001AAD40 /* cdecls.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = cdecls.pbxbtree; sourceTree = "<group>"; };
619A51601391DC75001AAD40 /* decls.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = decls.pbxbtree; sourceTree = "<group>"; };
619A51611391DC75001AAD40 /* files.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = files.pbxbtree; sourceTree = "<group>"; };
619A51621391DC75001AAD40 /* imports.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = imports.pbxbtree; sourceTree = "<group>"; };
619A51631391DC75001AAD40 /* pbxindex.header */ = {isa = PBXFileReference; lastKnownFileType = file; path = pbxindex.header; sourceTree = "<group>"; };
619A51641391DC75001AAD40 /* protocols.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = protocols.pbxbtree; sourceTree = "<group>"; };
619A51651391DC75001AAD40 /* refs.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = refs.pbxbtree; sourceTree = "<group>"; };
619A51671391DC75001AAD40 /* control */ = {isa = PBXFileReference; lastKnownFileType = file; path = control; sourceTree = "<group>"; };
619A51681391DC75001AAD40 /* strings */ = {isa = PBXFileReference; lastKnownFileType = file; path = strings; sourceTree = "<group>"; };
619A51691391DC75001AAD40 /* subclasses.pbxbtree */ = {isa = PBXFileReference; lastKnownFileType = file; path = subclasses.pbxbtree; sourceTree = "<group>"; };
619A516A1391DC75001AAD40 /* symbols0.pbxsymbols */ = {isa = PBXFileReference; lastKnownFileType = file; path = symbols0.pbxsymbols; sourceTree = "<group>"; };
619A516B1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A516C1391DC75001AAD40 /* CHANGES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGES; sourceTree = "<group>"; };
619A516D1391DC75001AAD40 /* coding_standards.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = coding_standards.txt; sourceTree = "<group>"; };
619A516E1391DC75001AAD40 /* CREDITS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CREDITS; sourceTree = "<group>"; };
619A51711391DC75001AAD40 /* Users_Guide0.4.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide0.4.pdf; sourceTree = "<group>"; };
619A51721391DC75001AAD40 /* Users_Guide_v0.3.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide_v0.3.pdf; sourceTree = "<group>"; };
619A51731391DC75001AAD40 /* UsersGuide-v0.2.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = "UsersGuide-v0.2.pdf"; sourceTree = "<group>"; };
619A51741391DC75001AAD40 /* BootHelp.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BootHelp.txt; sourceTree = "<group>"; };
619A51751391DC75001AAD40 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
619A51761391DC75001AAD40 /* themeinfo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = themeinfo.png; sourceTree = "<group>"; };
619A51781391DC75001AAD40 /* Chameleon 2 v0.4.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = "Chameleon 2 v0.4.xml"; sourceTree = "<group>"; };
619A51791391DC75001AAD40 /* Chameleon 2 v0.5.docx */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Chameleon 2 v0.5.docx"; sourceTree = "<group>"; };
619A517A1391DC75001AAD40 /* chameleon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chameleon.png; sourceTree = "<group>"; };
619A517B1391DC75001AAD40 /* colorchart.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = colorchart.png; sourceTree = "<group>"; };
619A517C1391DC75001AAD40 /* install_complete.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_complete.png; sourceTree = "<group>"; };
619A517D1391DC75001AAD40 /* install_cust.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_cust.png; sourceTree = "<group>"; };
619A517E1391DC75001AAD40 /* install_dest.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_dest.png; sourceTree = "<group>"; };
619A517F1391DC75001AAD40 /* install_stand.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_stand.png; sourceTree = "<group>"; };
619A51801391DC75001AAD40 /* install_start.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = install_start.png; sourceTree = "<group>"; };
619A51811391DC75001AAD40 /* screen_format.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = screen_format.png; sourceTree = "<group>"; };
619A51821391DC75001AAD40 /* xnulogo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = xnulogo.png; sourceTree = "<group>"; };
619A51831391DC75001AAD40 /* Users_Guide0.5.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide0.5.pdf; sourceTree = "<group>"; };
619A51841391DC75001AAD40 /* GPL_V2_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GPL_V2_LICENSE; sourceTree = "<group>"; };
619A51871391DC75001AAD40 /* boot0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot0.s; sourceTree = "<group>"; };
619A51881391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A51891391DC75001AAD40 /* chain0.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = chain0.s; sourceTree = "<group>"; };
619A518A1391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A518C1391DC75001AAD40 /* boot1f32-install.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "boot1f32-install.sh"; sourceTree = "<group>"; };
619A518D1391DC75001AAD40 /* boot1f32.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1f32.s; sourceTree = "<group>"; };
619A518E1391DC75001AAD40 /* boot1h.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1h.s; sourceTree = "<group>"; };
619A518F1391DC75001AAD40 /* boot1he.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1he.s; sourceTree = "<group>"; };
619A51901391DC75001AAD40 /* boot1hp.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot1hp.s; sourceTree = "<group>"; };
619A51911391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A51921391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A51941391DC75001AAD40 /* appleboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appleboot.h; sourceTree = "<group>"; };
619A51951391DC75001AAD40 /* appleClut8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appleClut8.h; sourceTree = "<group>"; };
619A51961391DC75001AAD40 /* bmdecompress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bmdecompress.c; sourceTree = "<group>"; };
619A51971391DC75001AAD40 /* boot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = boot.c; sourceTree = "<group>"; };
619A51981391DC75001AAD40 /* boot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boot.h; sourceTree = "<group>"; };
619A51991391DC75001AAD40 /* boot2.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = boot2.s; sourceTree = "<group>"; };
619A519A1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A519B1391DC75001AAD40 /* drivers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = drivers.c; sourceTree = "<group>"; };
619A519C1391DC75001AAD40 /* graphic_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graphic_utils.c; sourceTree = "<group>"; };
619A519D1391DC75001AAD40 /* graphic_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphic_utils.h; sourceTree = "<group>"; };
619A519E1391DC75001AAD40 /* graphics.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = graphics.c; sourceTree = "<group>"; };
619A519F1391DC75001AAD40 /* graphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphics.h; sourceTree = "<group>"; };
619A51A01391DC75001AAD40 /* gui.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gui.c; sourceTree = "<group>"; };
619A51A11391DC75001AAD40 /* gui.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gui.h; sourceTree = "<group>"; };
619A51A21391DC75001AAD40 /* IOHibernatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHibernatePrivate.h; sourceTree = "<group>"; };
619A51A31391DC75001AAD40 /* lzss.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lzss.c; sourceTree = "<group>"; };
619A51A41391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A51A51391DC75001AAD40 /* mboot.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mboot.c; sourceTree = "<group>"; };
619A51A61391DC75001AAD40 /* mboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mboot.h; sourceTree = "<group>"; };
619A51A71391DC75001AAD40 /* modules.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = modules.c; sourceTree = "<group>"; };
619A51A81391DC75001AAD40 /* modules.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = modules.h; sourceTree = "<group>"; };
619A51A91391DC75001AAD40 /* modules_support.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = modules_support.s; sourceTree = "<group>"; };
619A51AA1391DC75001AAD40 /* multiboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = multiboot.h; sourceTree = "<group>"; };
619A51AB1391DC75001AAD40 /* options.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = options.c; sourceTree = "<group>"; };
619A51AC1391DC75001AAD40 /* picopng.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picopng.c; sourceTree = "<group>"; };
619A51AD1391DC75001AAD40 /* picopng.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picopng.h; sourceTree = "<group>"; };
619A51AE1391DC75001AAD40 /* prompt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prompt.c; sourceTree = "<group>"; };
619A51AF1391DC75001AAD40 /* ramdisk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ramdisk.c; sourceTree = "<group>"; };
619A51B01391DC75001AAD40 /* ramdisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ramdisk.h; sourceTree = "<group>"; };
619A51B11391DC75001AAD40 /* resume.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = resume.c; sourceTree = "<group>"; };
619A51B21391DC75001AAD40 /* WKdm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKdm.h; sourceTree = "<group>"; };
619A51B31391DC75001AAD40 /* WKdmDecompress.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = WKdmDecompress.c; sourceTree = "<group>"; };
619A51B41391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A51B61391DC75001AAD40 /* cdboot.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = cdboot.s; sourceTree = "<group>"; };
619A51B71391DC75001AAD40 /* cdboothdd.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = cdboothdd.s; sourceTree = "<group>"; };
619A51B81391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A51BA1391DC75001AAD40 /* cconfig.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cconfig.c; sourceTree = "<group>"; };
619A51BB1391DC75001AAD40 /* checklist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = checklist.c; sourceTree = "<group>"; };
619A51BC1391DC75001AAD40 /* confdata.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = confdata.c; sourceTree = "<group>"; };
619A51BD1391DC75001AAD40 /* dialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dialog.h; sourceTree = "<group>"; };
619A51BE1391DC75001AAD40 /* expr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = expr.c; sourceTree = "<group>"; };
619A51BF1391DC75001AAD40 /* expr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = expr.h; sourceTree = "<group>"; };
619A51C01391DC75001AAD40 /* inputbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inputbox.c; sourceTree = "<group>"; };
619A51C11391DC75001AAD40 /* lex.zconf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lex.zconf.c; sourceTree = "<group>"; };
619A51C21391DC75001AAD40 /* lkc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lkc.h; sourceTree = "<group>"; };
619A51C31391DC75001AAD40 /* lkc_proto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lkc_proto.h; sourceTree = "<group>"; };
619A51C51391DC75001AAD40 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = "<group>"; };
619A51C61391DC75001AAD40 /* BIG.FAT.WARNING */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BIG.FAT.WARNING; sourceTree = "<group>"; };
619A51C71391DC75001AAD40 /* check-lxdialog.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = "check-lxdialog.sh"; sourceTree = "<group>"; };
619A51C81391DC75001AAD40 /* checklist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = checklist.c; sourceTree = "<group>"; };
619A51C91391DC75001AAD40 /* dialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dialog.h; sourceTree = "<group>"; };
619A51CA1391DC75001AAD40 /* inputbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = inputbox.c; sourceTree = "<group>"; };
619A51CB1391DC75001AAD40 /* menubox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = menubox.c; sourceTree = "<group>"; };
619A51CC1391DC75001AAD40 /* textbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = textbox.c; sourceTree = "<group>"; };
619A51CD1391DC75001AAD40 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = "<group>"; };
619A51CE1391DC75001AAD40 /* yesno.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yesno.c; sourceTree = "<group>"; };
619A51CF1391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A51D01391DC75001AAD40 /* menu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = menu.c; sourceTree = "<group>"; };
619A51D11391DC75001AAD40 /* menubox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = menubox.c; sourceTree = "<group>"; };
619A51D21391DC75001AAD40 /* nconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nconf.h; sourceTree = "<group>"; };
619A51D31391DC75001AAD40 /* symbol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = symbol.c; sourceTree = "<group>"; };
619A51D41391DC75001AAD40 /* textbox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = textbox.c; sourceTree = "<group>"; };
619A51D51391DC75001AAD40 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = util.c; sourceTree = "<group>"; };
619A51D61391DC75001AAD40 /* yesno.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = yesno.c; sourceTree = "<group>"; };
619A51D71391DC75001AAD40 /* zconf.hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zconf.hash.c; sourceTree = "<group>"; };
619A51D81391DC75001AAD40 /* zconf.tab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zconf.tab.c; sourceTree = "<group>"; };
619A51DA1391DC75001AAD40 /* Limits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Limits; sourceTree = "<group>"; };
619A51DB1391DC75001AAD40 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
619A51DD1391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A51DE1391DC75001AAD40 /* _types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _types.h; sourceTree = "<group>"; };
619A51E01391DC75001AAD40 /* alignment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alignment.h; sourceTree = "<group>"; };
619A51E11391DC75001AAD40 /* byte_order.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = byte_order.h; sourceTree = "<group>"; };
619A51E31391DC75001AAD40 /* alignment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alignment.h; sourceTree = "<group>"; };
619A51E41391DC75001AAD40 /* asm_help.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_help.h; sourceTree = "<group>"; };
619A51E51391DC75001AAD40 /* byte_order.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = byte_order.h; sourceTree = "<group>"; };
619A51E61391DC75001AAD40 /* cpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = "<group>"; };
619A51E71391DC75001AAD40 /* desc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = desc.h; sourceTree = "<group>"; };
619A51E81391DC75001AAD40 /* fenv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fenv.h; sourceTree = "<group>"; };
619A51E91391DC75001AAD40 /* fpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fpu.h; sourceTree = "<group>"; };
619A51EA1391DC75001AAD40 /* frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = frame.h; sourceTree = "<group>"; };
619A51EB1391DC75001AAD40 /* io.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = io.h; sourceTree = "<group>"; };
619A51EC1391DC75001AAD40 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = "<group>"; };
619A51ED1391DC75001AAD40 /* pio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pio.h; sourceTree = "<group>"; };
619A51EE1391DC75001AAD40 /* reg_help.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reg_help.h; sourceTree = "<group>"; };
619A51EF1391DC75001AAD40 /* sel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sel.h; sourceTree = "<group>"; };
619A51F01391DC75001AAD40 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
619A51F11391DC75001AAD40 /* tss.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tss.h; sourceTree = "<group>"; };
619A51F31391DC75001AAD40 /* alignment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alignment.h; sourceTree = "<group>"; };
619A51F41391DC75001AAD40 /* asm_help.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm_help.h; sourceTree = "<group>"; };
619A51F51391DC75001AAD40 /* basic_regs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = basic_regs.h; sourceTree = "<group>"; };
619A51F61391DC75001AAD40 /* byte_order.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = byte_order.h; sourceTree = "<group>"; };
619A51F71391DC75001AAD40 /* cframe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cframe.h; sourceTree = "<group>"; };
619A51F81391DC75001AAD40 /* fenv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fenv.h; sourceTree = "<group>"; };
619A51F91391DC75001AAD40 /* fp_regs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fp_regs.h; sourceTree = "<group>"; };
619A51FA1391DC75001AAD40 /* macro_help.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macro_help.h; sourceTree = "<group>"; };
619A51FB1391DC75001AAD40 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = "<group>"; };
619A51FC1391DC75001AAD40 /* mode_independent_asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mode_independent_asm.h; sourceTree = "<group>"; };
619A51FD1391DC75001AAD40 /* pseudo_inst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pseudo_inst.h; sourceTree = "<group>"; };
619A51FE1391DC75001AAD40 /* reg_help.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reg_help.h; sourceTree = "<group>"; };
619A51FF1391DC75001AAD40 /* assert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assert.h; sourceTree = "<group>"; };
619A52001391DC75001AAD40 /* ctype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ctype.h; sourceTree = "<group>"; };
619A52021391DC75001AAD40 /* device_port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_port.h; sourceTree = "<group>"; };
619A52031391DC75001AAD40 /* device_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_types.h; sourceTree = "<group>"; };
619A52041391DC75001AAD40 /* errno.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = errno.h; sourceTree = "<group>"; };
619A52051391DC75001AAD40 /* float.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = float.h; sourceTree = "<group>"; };
619A52071391DC75001AAD40 /* hfs_encodings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs_encodings.h; sourceTree = "<group>"; };
619A52081391DC75001AAD40 /* hfs_format.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs_format.h; sourceTree = "<group>"; };
619A52091391DC75001AAD40 /* hfs_mount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs_mount.h; sourceTree = "<group>"; };
619A520B1391DC75001AAD40 /* _limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _limits.h; sourceTree = "<group>"; };
619A520C1391DC75001AAD40 /* _param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _param.h; sourceTree = "<group>"; };
619A520D1391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A520E1391DC75001AAD40 /* _types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _types.h; sourceTree = "<group>"; };
619A520F1391DC75001AAD40 /* eflags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = eflags.h; sourceTree = "<group>"; };
619A52101391DC75001AAD40 /* endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = endian.h; sourceTree = "<group>"; };
619A52111391DC75001AAD40 /* fasttrap_isa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fasttrap_isa.h; sourceTree = "<group>"; };
619A52121391DC75001AAD40 /* limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limits.h; sourceTree = "<group>"; };
619A52131391DC75001AAD40 /* param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = param.h; sourceTree = "<group>"; };
619A52141391DC75001AAD40 /* profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = profile.h; sourceTree = "<group>"; };
619A52151391DC75001AAD40 /* setjmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setjmp.h; sourceTree = "<group>"; };
619A52161391DC75001AAD40 /* signal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal.h; sourceTree = "<group>"; };
619A52171391DC75001AAD40 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
619A52181391DC75001AAD40 /* user_ldt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_ldt.h; sourceTree = "<group>"; };
619A52191391DC75001AAD40 /* vmparam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vmparam.h; sourceTree = "<group>"; };
619A521A1391DC75001AAD40 /* inttypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inttypes.h; sourceTree = "<group>"; };
619A521D1391DC75001AAD40 /* IOACPIPlatformDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOACPIPlatformDevice.h; sourceTree = "<group>"; };
619A521E1391DC75001AAD40 /* IOACPIPlatformExpert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOACPIPlatformExpert.h; sourceTree = "<group>"; };
619A521F1391DC75001AAD40 /* IOACPITypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOACPITypes.h; sourceTree = "<group>"; };
619A52201391DC75001AAD40 /* assert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = assert.h; sourceTree = "<group>"; };
619A52221391DC75001AAD40 /* ATADeviceNub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ATADeviceNub.h; sourceTree = "<group>"; };
619A52231391DC75001AAD40 /* ATATimerEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ATATimerEventSource.h; sourceTree = "<group>"; };
619A52241391DC75001AAD40 /* IOATABusCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATABusCommand.h; sourceTree = "<group>"; };
619A52251391DC75001AAD40 /* IOATABusInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATABusInfo.h; sourceTree = "<group>"; };
619A52261391DC75001AAD40 /* IOATACommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATACommand.h; sourceTree = "<group>"; };
619A52271391DC75001AAD40 /* IOATAController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATAController.h; sourceTree = "<group>"; };
619A52281391DC75001AAD40 /* IOATADevConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATADevConfig.h; sourceTree = "<group>"; };
619A52291391DC75001AAD40 /* IOATADevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATADevice.h; sourceTree = "<group>"; };
619A522A1391DC75001AAD40 /* IOATARegI386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATARegI386.h; sourceTree = "<group>"; };
619A522B1391DC75001AAD40 /* IOATATypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATATypes.h; sourceTree = "<group>"; };
619A522C1391DC75001AAD40 /* IOPCIATA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPCIATA.h; sourceTree = "<group>"; };
619A522D1391DC75001AAD40 /* MacIOATA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacIOATA.h; sourceTree = "<group>"; };
619A522F1391DC75001AAD40 /* IOAudioControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioControl.h; sourceTree = "<group>"; };
619A52301391DC75001AAD40 /* IOAudioControlUserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioControlUserClient.h; sourceTree = "<group>"; };
619A52311391DC75001AAD40 /* IOAudioDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioDebug.h; sourceTree = "<group>"; };
619A52321391DC75001AAD40 /* IOAudioDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioDefines.h; sourceTree = "<group>"; };
619A52331391DC75001AAD40 /* IOAudioDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioDevice.h; sourceTree = "<group>"; };
619A52341391DC75001AAD40 /* IOAudioEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioEngine.h; sourceTree = "<group>"; };
619A52351391DC75001AAD40 /* IOAudioEngineUserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioEngineUserClient.h; sourceTree = "<group>"; };
619A52361391DC75001AAD40 /* IOAudioLevelControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioLevelControl.h; sourceTree = "<group>"; };
619A52371391DC75001AAD40 /* IOAudioPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioPort.h; sourceTree = "<group>"; };
619A52381391DC75001AAD40 /* IOAudioSelectorControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioSelectorControl.h; sourceTree = "<group>"; };
619A52391391DC75001AAD40 /* IOAudioStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioStream.h; sourceTree = "<group>"; };
619A523A1391DC75001AAD40 /* IOAudioToggleControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioToggleControl.h; sourceTree = "<group>"; };
619A523B1391DC75001AAD40 /* IOAudioTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAudioTypes.h; sourceTree = "<group>"; };
619A523D1391DC75001AAD40 /* IOFireWireAVCCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCCommand.h; sourceTree = "<group>"; };
619A523E1391DC75001AAD40 /* IOFireWireAVCConsts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCConsts.h; sourceTree = "<group>"; };
619A523F1391DC75001AAD40 /* IOFireWireAVCRequestSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCRequestSpace.h; sourceTree = "<group>"; };
619A52401391DC75001AAD40 /* IOFireWireAVCTargetSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCTargetSpace.h; sourceTree = "<group>"; };
619A52411391DC75001AAD40 /* IOFireWireAVCUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCUnit.h; sourceTree = "<group>"; };
619A52421391DC75001AAD40 /* IOFireWireAVCUserClientCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireAVCUserClientCommon.h; sourceTree = "<group>"; };
619A52431391DC75001AAD40 /* IOFireWirePCRSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWirePCRSpace.h; sourceTree = "<group>"; };
619A52451391DC75001AAD40 /* Bluetooth.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Bluetooth.h; sourceTree = "<group>"; };
619A52461391DC75001AAD40 /* BluetoothAssignedNumbers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BluetoothAssignedNumbers.h; sourceTree = "<group>"; };
619A52471391DC75001AAD40 /* IOBluetoothHCIController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothHCIController.h; sourceTree = "<group>"; };
619A52481391DC75001AAD40 /* IOBluetoothHCIRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothHCIRequest.h; sourceTree = "<group>"; };
619A52491391DC75001AAD40 /* IOBluetoothHIDDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothHIDDriver.h; sourceTree = "<group>"; };
619A524A1391DC75001AAD40 /* IOBluetoothHIDDriverTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothHIDDriverTypes.h; sourceTree = "<group>"; };
619A524B1391DC75001AAD40 /* IOBluetoothInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothInternal.h; sourceTree = "<group>"; };
619A524C1391DC75001AAD40 /* IOBluetoothTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBluetoothTypes.h; sourceTree = "<group>"; };
619A524E1391DC75001AAD40 /* IOConfigDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOConfigDirectory.h; sourceTree = "<group>"; };
619A524F1391DC75001AAD40 /* IOFireWireBus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireBus.h; sourceTree = "<group>"; };
619A52501391DC75001AAD40 /* IOFireWireController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireController.h; sourceTree = "<group>"; };
619A52511391DC75001AAD40 /* IOFireWireDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireDevice.h; sourceTree = "<group>"; };
619A52521391DC75001AAD40 /* IOFireWireFamilyCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireFamilyCommon.h; sourceTree = "<group>"; };
619A52531391DC75001AAD40 /* IOFireWireIRMAllocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireIRMAllocation.h; sourceTree = "<group>"; };
619A52541391DC75001AAD40 /* IOFireWireLocalNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireLocalNode.h; sourceTree = "<group>"; };
619A52551391DC75001AAD40 /* IOFireWireMultiIsochReceive.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireMultiIsochReceive.h; sourceTree = "<group>"; };
619A52561391DC75001AAD40 /* IOFireWireNub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireNub.h; sourceTree = "<group>"; };
619A52571391DC75001AAD40 /* IOFireWirePowerManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWirePowerManager.h; sourceTree = "<group>"; };
619A52581391DC75001AAD40 /* IOFireWireUnit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireUnit.h; sourceTree = "<group>"; };
619A52591391DC75001AAD40 /* IOFWAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWAddressSpace.h; sourceTree = "<group>"; };
619A525A1391DC75001AAD40 /* IOFWAsyncStreamListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWAsyncStreamListener.h; sourceTree = "<group>"; };
619A525B1391DC75001AAD40 /* IOFWCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWCommand.h; sourceTree = "<group>"; };
619A525C1391DC75001AAD40 /* IOFWDCL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWDCL.h; sourceTree = "<group>"; };
619A525D1391DC75001AAD40 /* IOFWDCLPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWDCLPool.h; sourceTree = "<group>"; };
619A525E1391DC75001AAD40 /* IOFWDCLProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWDCLProgram.h; sourceTree = "<group>"; };
619A525F1391DC75001AAD40 /* IOFWDCLTranslator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWDCLTranslator.h; sourceTree = "<group>"; };
619A52601391DC75001AAD40 /* IOFWIsochChannel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWIsochChannel.h; sourceTree = "<group>"; };
619A52611391DC75001AAD40 /* IOFWIsochPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWIsochPort.h; sourceTree = "<group>"; };
619A52621391DC75001AAD40 /* IOFWLocalIsochPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWLocalIsochPort.h; sourceTree = "<group>"; };
619A52631391DC75001AAD40 /* IOFWPHYPacketListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWPHYPacketListener.h; sourceTree = "<group>"; };
619A52641391DC75001AAD40 /* IOFWPhysicalAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWPhysicalAddressSpace.h; sourceTree = "<group>"; };
619A52651391DC75001AAD40 /* IOFWPseudoAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWPseudoAddressSpace.h; sourceTree = "<group>"; };
619A52661391DC75001AAD40 /* IOFWRegs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWRegs.h; sourceTree = "<group>"; };
619A52671391DC75001AAD40 /* IOFWSimpleContiguousPhysicalAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWSimpleContiguousPhysicalAddressSpace.h; sourceTree = "<group>"; };
619A52681391DC75001AAD40 /* IOFWSimplePhysicalAddressSpace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWSimplePhysicalAddressSpace.h; sourceTree = "<group>"; };
619A52691391DC75001AAD40 /* IOFWSyncer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWSyncer.h; sourceTree = "<group>"; };
619A526A1391DC75001AAD40 /* IOFWUserObjectExporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWUserObjectExporter.h; sourceTree = "<group>"; };
619A526B1391DC75001AAD40 /* IOFWUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFWUtils.h; sourceTree = "<group>"; };
619A526C1391DC75001AAD40 /* IOLocalConfigDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOLocalConfigDirectory.h; sourceTree = "<group>"; };
619A526D1391DC75001AAD40 /* IORemoteConfigDirectory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IORemoteConfigDirectory.h; sourceTree = "<group>"; };
619A526F1391DC75001AAD40 /* IOAccelClientConnect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAccelClientConnect.h; sourceTree = "<group>"; };
619A52701391DC75001AAD40 /* IOAccelerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAccelerator.h; sourceTree = "<group>"; };
619A52711391DC75001AAD40 /* IOAccelSurfaceConnect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAccelSurfaceConnect.h; sourceTree = "<group>"; };
619A52721391DC75001AAD40 /* IOAccelTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAccelTypes.h; sourceTree = "<group>"; };
619A52731391DC75001AAD40 /* IODisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODisplay.h; sourceTree = "<group>"; };
619A52741391DC75001AAD40 /* IOFramebuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFramebuffer.h; sourceTree = "<group>"; };
619A52751391DC75001AAD40 /* IOFramebufferShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFramebufferShared.h; sourceTree = "<group>"; };
619A52761391DC75001AAD40 /* IOGraphicsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGraphicsDevice.h; sourceTree = "<group>"; };
619A52771391DC75001AAD40 /* IOGraphicsEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGraphicsEngine.h; sourceTree = "<group>"; };
619A52781391DC75001AAD40 /* IOGraphicsInterfaceTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGraphicsInterfaceTypes.h; sourceTree = "<group>"; };
619A52791391DC75001AAD40 /* IOGraphicsTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGraphicsTypes.h; sourceTree = "<group>"; };
619A527B1391DC75001AAD40 /* IOHIDDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDDevice.h; sourceTree = "<group>"; };
619A527C1391DC75001AAD40 /* IOHIDElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDElement.h; sourceTree = "<group>"; };
619A527D1391DC75001AAD40 /* IOHIDInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDInterface.h; sourceTree = "<group>"; };
619A527E1391DC75001AAD40 /* IOHIDKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDKeys.h; sourceTree = "<group>"; };
619A527F1391DC75001AAD40 /* IOHIDUsageTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDUsageTables.h; sourceTree = "<group>"; };
619A52811391DC75001AAD40 /* IOHIDEventDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDEventDriver.h; sourceTree = "<group>"; };
619A52821391DC75001AAD40 /* IOHIDEventService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDEventService.h; sourceTree = "<group>"; };
619A52841391DC75001AAD40 /* ev_keymap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ev_keymap.h; sourceTree = "<group>"; };
619A52851391DC75001AAD40 /* IOHIDDescriptorParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDDescriptorParser.h; sourceTree = "<group>"; };
619A52861391DC75001AAD40 /* IOHIDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDevice.h; sourceTree = "<group>"; };
619A52871391DC75001AAD40 /* IOHIDParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDParameter.h; sourceTree = "<group>"; };
619A52881391DC75001AAD40 /* IOHIDShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDShared.h; sourceTree = "<group>"; };
619A52891391DC75001AAD40 /* IOHIDSystem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDSystem.h; sourceTree = "<group>"; };
619A528A1391DC75001AAD40 /* IOHIDTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDTypes.h; sourceTree = "<group>"; };
619A528B1391DC75001AAD40 /* IOHIDUsageTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIDUsageTables.h; sourceTree = "<group>"; };
619A528C1391DC75001AAD40 /* IOHIKeyboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIKeyboard.h; sourceTree = "<group>"; };
619A528D1391DC75001AAD40 /* IOHIKeyboardMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIKeyboardMapper.h; sourceTree = "<group>"; };
619A528E1391DC75001AAD40 /* IOHIPointing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOHIPointing.h; sourceTree = "<group>"; };
619A528F1391DC75001AAD40 /* IOLLEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOLLEvent.h; sourceTree = "<group>"; };
619A52911391DC75001AAD40 /* IOI2CInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOI2CInterface.h; sourceTree = "<group>"; };
619A52921391DC75001AAD40 /* IOBSD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBSD.h; sourceTree = "<group>"; };
619A52931391DC75001AAD40 /* IOBufferMemoryDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBufferMemoryDescriptor.h; sourceTree = "<group>"; };
619A52941391DC75001AAD40 /* IOCatalogue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCatalogue.h; sourceTree = "<group>"; };
619A52951391DC75001AAD40 /* IOCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCommand.h; sourceTree = "<group>"; };
619A52961391DC75001AAD40 /* IOCommandGate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCommandGate.h; sourceTree = "<group>"; };
619A52971391DC75001AAD40 /* IOCommandPool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCommandPool.h; sourceTree = "<group>"; };
619A52981391DC75001AAD40 /* IOConditionLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOConditionLock.h; sourceTree = "<group>"; };
619A52991391DC75001AAD40 /* IODataQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODataQueue.h; sourceTree = "<group>"; };
619A529A1391DC75001AAD40 /* IODataQueueShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODataQueueShared.h; sourceTree = "<group>"; };
619A529B1391DC75001AAD40 /* IODeviceMemory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODeviceMemory.h; sourceTree = "<group>"; };
619A529C1391DC75001AAD40 /* IODeviceTreeSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODeviceTreeSupport.h; sourceTree = "<group>"; };
619A529D1391DC75001AAD40 /* IODMACommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODMACommand.h; sourceTree = "<group>"; };
619A529E1391DC75001AAD40 /* IODMAController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODMAController.h; sourceTree = "<group>"; };
619A529F1391DC75001AAD40 /* IODMAEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODMAEventSource.h; sourceTree = "<group>"; };
619A52A01391DC75001AAD40 /* IOEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOEventSource.h; sourceTree = "<group>"; };
619A52A11391DC75001AAD40 /* IOFilterInterruptEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFilterInterruptEventSource.h; sourceTree = "<group>"; };
619A52A21391DC75001AAD40 /* IOInterleavedMemoryDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOInterleavedMemoryDescriptor.h; sourceTree = "<group>"; };
619A52A31391DC75001AAD40 /* IOInterruptController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOInterruptController.h; sourceTree = "<group>"; };
619A52A41391DC75001AAD40 /* IOInterruptEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOInterruptEventSource.h; sourceTree = "<group>"; };
619A52A51391DC75001AAD40 /* IOInterrupts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOInterrupts.h; sourceTree = "<group>"; };
619A52A61391DC75001AAD40 /* IOKitDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOKitDebug.h; sourceTree = "<group>"; };
619A52A71391DC75001AAD40 /* IOKitKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOKitKeys.h; sourceTree = "<group>"; };
619A52A81391DC75001AAD40 /* IOKitServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOKitServer.h; sourceTree = "<group>"; };
619A52A91391DC75001AAD40 /* IOLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOLib.h; sourceTree = "<group>"; };
619A52AA1391DC75001AAD40 /* IOLocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOLocks.h; sourceTree = "<group>"; };
619A52AB1391DC75001AAD40 /* IOMapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMapper.h; sourceTree = "<group>"; };
619A52AC1391DC75001AAD40 /* IOMemoryCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMemoryCursor.h; sourceTree = "<group>"; };
619A52AD1391DC75001AAD40 /* IOMemoryDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMemoryDescriptor.h; sourceTree = "<group>"; };
619A52AE1391DC75001AAD40 /* IOMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMessage.h; sourceTree = "<group>"; };
619A52AF1391DC75001AAD40 /* IOMultiMemoryDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMultiMemoryDescriptor.h; sourceTree = "<group>"; };
619A52B01391DC75001AAD40 /* IONotifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONotifier.h; sourceTree = "<group>"; };
619A52B11391DC75001AAD40 /* IONVRAM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONVRAM.h; sourceTree = "<group>"; };
619A52B21391DC75001AAD40 /* IOPlatformExpert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPlatformExpert.h; sourceTree = "<group>"; };
619A52B31391DC75001AAD40 /* IORangeAllocator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IORangeAllocator.h; sourceTree = "<group>"; };
619A52B41391DC75001AAD40 /* IORegistryEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IORegistryEntry.h; sourceTree = "<group>"; };
619A52B51391DC75001AAD40 /* IOReturn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOReturn.h; sourceTree = "<group>"; };
619A52B61391DC75001AAD40 /* IOService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOService.h; sourceTree = "<group>"; };
619A52B71391DC75001AAD40 /* IOServicePM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOServicePM.h; sourceTree = "<group>"; };
619A52B81391DC75001AAD40 /* IOSharedDataQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSharedDataQueue.h; sourceTree = "<group>"; };
619A52B91391DC75001AAD40 /* IOSharedLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSharedLock.h; sourceTree = "<group>"; };
619A52BA1391DC75001AAD40 /* IOSubMemoryDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSubMemoryDescriptor.h; sourceTree = "<group>"; };
619A52BB1391DC75001AAD40 /* IOSyncer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSyncer.h; sourceTree = "<group>"; };
619A52BC1391DC75001AAD40 /* IOTimerEventSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOTimerEventSource.h; sourceTree = "<group>"; };
619A52BD1391DC75001AAD40 /* IOTimeStamp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOTimeStamp.h; sourceTree = "<group>"; };
619A52BE1391DC75001AAD40 /* IOTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOTypes.h; sourceTree = "<group>"; };
619A52BF1391DC75001AAD40 /* IOUserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUserClient.h; sourceTree = "<group>"; };
619A52C01391DC75001AAD40 /* IOWorkLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOWorkLoop.h; sourceTree = "<group>"; };
619A52C21391DC75001AAD40 /* IOMacOSTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMacOSTypes.h; sourceTree = "<group>"; };
619A52C31391DC75001AAD40 /* IOMacOSVideo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMacOSVideo.h; sourceTree = "<group>"; };
619A52C41391DC75001AAD40 /* IONDRVFramebuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONDRVFramebuffer.h; sourceTree = "<group>"; };
619A52C51391DC75001AAD40 /* IONDRVLibraries.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONDRVLibraries.h; sourceTree = "<group>"; };
619A52C61391DC75001AAD40 /* IONDRVSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONDRVSupport.h; sourceTree = "<group>"; };
619A52C81391DC75001AAD40 /* IOBasicOutputQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBasicOutputQueue.h; sourceTree = "<group>"; };
619A52C91391DC75001AAD40 /* IOEthernetController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOEthernetController.h; sourceTree = "<group>"; };
619A52CA1391DC75001AAD40 /* IOEthernetInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOEthernetInterface.h; sourceTree = "<group>"; };
619A52CB1391DC75001AAD40 /* IOEthernetStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOEthernetStats.h; sourceTree = "<group>"; };
619A52CC1391DC75001AAD40 /* IOGatedOutputQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGatedOutputQueue.h; sourceTree = "<group>"; };
619A52CD1391DC75001AAD40 /* IOKernelDebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOKernelDebugger.h; sourceTree = "<group>"; };
619A52CE1391DC75001AAD40 /* IOMbufMemoryCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMbufMemoryCursor.h; sourceTree = "<group>"; };
619A52CF1391DC75001AAD40 /* IONetworkController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONetworkController.h; sourceTree = "<group>"; };
619A52D01391DC75001AAD40 /* IONetworkData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONetworkData.h; sourceTree = "<group>"; };
619A52D11391DC75001AAD40 /* IONetworkInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONetworkInterface.h; sourceTree = "<group>"; };
619A52D21391DC75001AAD40 /* IONetworkMedium.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONetworkMedium.h; sourceTree = "<group>"; };
619A52D31391DC75001AAD40 /* IONetworkStats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONetworkStats.h; sourceTree = "<group>"; };
619A52D41391DC75001AAD40 /* IOOutputQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOOutputQueue.h; sourceTree = "<group>"; };
619A52D51391DC75001AAD40 /* IOPacketQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPacketQueue.h; sourceTree = "<group>"; };
619A52D71391DC75001AAD40 /* IONVRAMController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IONVRAMController.h; sourceTree = "<group>"; };
619A52D81391DC75001AAD40 /* OSMessageNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSMessageNotification.h; sourceTree = "<group>"; };
619A52DA1391DC75001AAD40 /* IOAGPDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAGPDevice.h; sourceTree = "<group>"; };
619A52DB1391DC75001AAD40 /* IOPCIBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPCIBridge.h; sourceTree = "<group>"; };
619A52DC1391DC75001AAD40 /* IOPCIDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPCIDevice.h; sourceTree = "<group>"; };
619A52DE1391DC75001AAD40 /* AppleMacIO.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppleMacIO.h; sourceTree = "<group>"; };
619A52DF1391DC75001AAD40 /* AppleMacIODevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppleMacIODevice.h; sourceTree = "<group>"; };
619A52E01391DC75001AAD40 /* AppleNMI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppleNMI.h; sourceTree = "<group>"; };
619A52E11391DC75001AAD40 /* ApplePlatformExpert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApplePlatformExpert.h; sourceTree = "<group>"; };
619A52E31391DC75001AAD40 /* IOPwrController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPwrController.h; sourceTree = "<group>"; };
619A52E51391DC75001AAD40 /* IODBDMA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODBDMA.h; sourceTree = "<group>"; };
619A52E71391DC75001AAD40 /* IOPM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPM.h; sourceTree = "<group>"; };
619A52E81391DC75001AAD40 /* IOPMDeprecated.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMDeprecated.h; sourceTree = "<group>"; };
619A52E91391DC75001AAD40 /* IOPMLibDefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMLibDefs.h; sourceTree = "<group>"; };
619A52EA1391DC75001AAD40 /* IOPMPowerSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMPowerSource.h; sourceTree = "<group>"; };
619A52EB1391DC75001AAD40 /* IOPMPowerSourceList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMPowerSourceList.h; sourceTree = "<group>"; };
619A52EC1391DC75001AAD40 /* IOPMpowerState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMpowerState.h; sourceTree = "<group>"; };
619A52ED1391DC75001AAD40 /* IOPMPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPMPrivate.h; sourceTree = "<group>"; };
619A52EE1391DC75001AAD40 /* IOPowerConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPowerConnection.h; sourceTree = "<group>"; };
619A52EF1391DC75001AAD40 /* RootDomain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RootDomain.h; sourceTree = "<group>"; };
619A52F11391DC75001AAD40 /* IORTCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IORTCController.h; sourceTree = "<group>"; };
619A52F31391DC75001AAD40 /* IOFireWireSBP2Login.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2Login.h; sourceTree = "<group>"; };
619A52F41391DC75001AAD40 /* IOFireWireSBP2LSIWorkaroundDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2LSIWorkaroundDescriptor.h; sourceTree = "<group>"; };
619A52F51391DC75001AAD40 /* IOFireWireSBP2LUN.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2LUN.h; sourceTree = "<group>"; };
619A52F61391DC75001AAD40 /* IOFireWireSBP2ManagementORB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2ManagementORB.h; sourceTree = "<group>"; };
619A52F71391DC75001AAD40 /* IOFireWireSBP2ORB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2ORB.h; sourceTree = "<group>"; };
619A52F81391DC75001AAD40 /* IOFireWireSBP2Target.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2Target.h; sourceTree = "<group>"; };
619A52F91391DC75001AAD40 /* IOFireWireSBP2UserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2UserClient.h; sourceTree = "<group>"; };
619A52FA1391DC75001AAD40 /* IOFireWireSBP2UserClientCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSBP2UserClientCommon.h; sourceTree = "<group>"; };
619A52FB1391DC75001AAD40 /* IOFireWireSerialBusProtocolTransport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireSerialBusProtocolTransport.h; sourceTree = "<group>"; };
619A52FD1391DC75001AAD40 /* IOBDServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDServices.h; sourceTree = "<group>"; };
619A52FE1391DC75001AAD40 /* IOBlockStorageServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBlockStorageServices.h; sourceTree = "<group>"; };
619A52FF1391DC75001AAD40 /* IOCompactDiscServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCompactDiscServices.h; sourceTree = "<group>"; };
619A53001391DC75001AAD40 /* IODVDServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDServices.h; sourceTree = "<group>"; };
619A53011391DC75001AAD40 /* IOReducedBlockServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOReducedBlockServices.h; sourceTree = "<group>"; };
619A53021391DC75001AAD40 /* IOSCSIBlockCommandsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIBlockCommandsDevice.h; sourceTree = "<group>"; };
619A53031391DC75001AAD40 /* IOSCSIMultimediaCommandsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIMultimediaCommandsDevice.h; sourceTree = "<group>"; };
619A53041391DC75001AAD40 /* IOSCSIPeripheralDeviceNub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPeripheralDeviceNub.h; sourceTree = "<group>"; };
619A53051391DC75001AAD40 /* IOSCSIPeripheralDeviceType00.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPeripheralDeviceType00.h; sourceTree = "<group>"; };
619A53061391DC75001AAD40 /* IOSCSIPeripheralDeviceType05.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPeripheralDeviceType05.h; sourceTree = "<group>"; };
619A53071391DC75001AAD40 /* IOSCSIPeripheralDeviceType07.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPeripheralDeviceType07.h; sourceTree = "<group>"; };
619A53081391DC75001AAD40 /* IOSCSIPeripheralDeviceType0E.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPeripheralDeviceType0E.h; sourceTree = "<group>"; };
619A53091391DC75001AAD40 /* IOSCSIPrimaryCommandsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIPrimaryCommandsDevice.h; sourceTree = "<group>"; };
619A530A1391DC75001AAD40 /* IOSCSIProtocolInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIProtocolInterface.h; sourceTree = "<group>"; };
619A530B1391DC75001AAD40 /* IOSCSIProtocolServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIProtocolServices.h; sourceTree = "<group>"; };
619A530C1391DC75001AAD40 /* IOSCSIReducedBlockCommandsDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIReducedBlockCommandsDevice.h; sourceTree = "<group>"; };
619A530D1391DC75001AAD40 /* SCSICmds_INQUIRY_Definitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICmds_INQUIRY_Definitions.h; sourceTree = "<group>"; };
619A530E1391DC75001AAD40 /* SCSICmds_MODE_Definitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICmds_MODE_Definitions.h; sourceTree = "<group>"; };
619A530F1391DC75001AAD40 /* SCSICmds_READ_CAPACITY_Definitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICmds_READ_CAPACITY_Definitions.h; sourceTree = "<group>"; };
619A53101391DC75001AAD40 /* SCSICmds_REPORT_LUNS_Definitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICmds_REPORT_LUNS_Definitions.h; sourceTree = "<group>"; };
619A53111391DC75001AAD40 /* SCSICmds_REQUEST_SENSE_Defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICmds_REQUEST_SENSE_Defs.h; sourceTree = "<group>"; };
619A53121391DC75001AAD40 /* SCSICommandDefinitions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICommandDefinitions.h; sourceTree = "<group>"; };
619A53131391DC75001AAD40 /* SCSICommandOperationCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSICommandOperationCodes.h; sourceTree = "<group>"; };
619A53141391DC75001AAD40 /* SCSIPort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSIPort.h; sourceTree = "<group>"; };
619A53151391DC75001AAD40 /* SCSITask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SCSITask.h; sourceTree = "<group>"; };
619A53171391DC75001AAD40 /* IOSCSIParallelInterfaceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSCSIParallelInterfaceController.h; sourceTree = "<group>"; };
619A53191391DC75001AAD40 /* IOModemSerialStreamSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOModemSerialStreamSync.h; sourceTree = "<group>"; };
619A531A1391DC75001AAD40 /* IORS232SerialStreamSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IORS232SerialStreamSync.h; sourceTree = "<group>"; };
619A531B1391DC75001AAD40 /* IOSerialDriverSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSerialDriverSync.h; sourceTree = "<group>"; };
619A531C1391DC75001AAD40 /* IOSerialKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSerialKeys.h; sourceTree = "<group>"; };
619A531D1391DC75001AAD40 /* IOSerialStreamSync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOSerialStreamSync.h; sourceTree = "<group>"; };
619A53201391DC75001AAD40 /* IOATAPIProtocolTransport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATAPIProtocolTransport.h; sourceTree = "<group>"; };
619A53211391DC75001AAD40 /* IOATAStorageDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOATAStorageDefines.h; sourceTree = "<group>"; };
619A53221391DC75001AAD40 /* IOAppleLabelScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOAppleLabelScheme.h; sourceTree = "<group>"; };
619A53231391DC75001AAD40 /* IOApplePartitionScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOApplePartitionScheme.h; sourceTree = "<group>"; };
619A53241391DC75001AAD40 /* IOBDBlockStorageDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDBlockStorageDevice.h; sourceTree = "<group>"; };
619A53251391DC75001AAD40 /* IOBDBlockStorageDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDBlockStorageDriver.h; sourceTree = "<group>"; };
619A53261391DC75001AAD40 /* IOBDMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDMedia.h; sourceTree = "<group>"; };
619A53271391DC75001AAD40 /* IOBDMediaBSDClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDMediaBSDClient.h; sourceTree = "<group>"; };
619A53281391DC75001AAD40 /* IOBDTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBDTypes.h; sourceTree = "<group>"; };
619A53291391DC75001AAD40 /* IOBlockStorageDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBlockStorageDevice.h; sourceTree = "<group>"; };
619A532A1391DC75001AAD40 /* IOBlockStorageDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOBlockStorageDriver.h; sourceTree = "<group>"; };
619A532B1391DC75001AAD40 /* IOCDBlockStorageDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDBlockStorageDevice.h; sourceTree = "<group>"; };
619A532C1391DC75001AAD40 /* IOCDBlockStorageDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDBlockStorageDriver.h; sourceTree = "<group>"; };
619A532D1391DC75001AAD40 /* IOCDMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDMedia.h; sourceTree = "<group>"; };
619A532E1391DC75001AAD40 /* IOCDMediaBSDClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDMediaBSDClient.h; sourceTree = "<group>"; };
619A532F1391DC75001AAD40 /* IOCDPartitionScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDPartitionScheme.h; sourceTree = "<group>"; };
619A53301391DC75001AAD40 /* IOCDTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOCDTypes.h; sourceTree = "<group>"; };
619A53311391DC75001AAD40 /* IODVDBlockStorageDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDBlockStorageDevice.h; sourceTree = "<group>"; };
619A53321391DC75001AAD40 /* IODVDBlockStorageDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDBlockStorageDriver.h; sourceTree = "<group>"; };
619A53331391DC75001AAD40 /* IODVDMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDMedia.h; sourceTree = "<group>"; };
619A53341391DC75001AAD40 /* IODVDMediaBSDClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDMediaBSDClient.h; sourceTree = "<group>"; };
619A53351391DC75001AAD40 /* IODVDTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IODVDTypes.h; sourceTree = "<group>"; };
619A53361391DC75001AAD40 /* IOFDiskPartitionScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFDiskPartitionScheme.h; sourceTree = "<group>"; };
619A53371391DC75001AAD40 /* IOFilterScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFilterScheme.h; sourceTree = "<group>"; };
619A53381391DC75001AAD40 /* IOFireWireStorageCharacteristics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOFireWireStorageCharacteristics.h; sourceTree = "<group>"; };
619A53391391DC75001AAD40 /* IOGUIDPartitionScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOGUIDPartitionScheme.h; sourceTree = "<group>"; };
619A533A1391DC75001AAD40 /* IOMedia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMedia.h; sourceTree = "<group>"; };
619A533B1391DC75001AAD40 /* IOMediaBSDClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOMediaBSDClient.h; sourceTree = "<group>"; };
619A533C1391DC75001AAD40 /* IOPartitionScheme.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOPartitionScheme.h; sourceTree = "<group>"; };
619A533D1391DC75001AAD40 /* IOStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStorage.h; sourceTree = "<group>"; };
619A533E1391DC75001AAD40 /* IOStorageDeviceCharacteristics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStorageDeviceCharacteristics.h; sourceTree = "<group>"; };
619A533F1391DC75001AAD40 /* IOStorageProtocolCharacteristics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStorageProtocolCharacteristics.h; sourceTree = "<group>"; };
619A53411391DC75001AAD40 /* IOStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStream.h; sourceTree = "<group>"; };
619A53421391DC75001AAD40 /* IOStreamFamily.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStreamFamily.h; sourceTree = "<group>"; };
619A53431391DC75001AAD40 /* IOStreamShared.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStreamShared.h; sourceTree = "<group>"; };
619A53441391DC75001AAD40 /* IOStreamUserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOStreamUserClient.h; sourceTree = "<group>"; };
619A53451391DC75001AAD40 /* system.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system.h; sourceTree = "<group>"; };
619A53471391DC75001AAD40 /* IOWatchDogTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOWatchDogTimer.h; sourceTree = "<group>"; };
619A53491391DC75001AAD40 /* IOUFIStorageServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUFIStorageServices.h; sourceTree = "<group>"; };
619A534A1391DC75001AAD40 /* IOUSBBus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBBus.h; sourceTree = "<group>"; };
619A534B1391DC75001AAD40 /* IOUSBCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBCommand.h; sourceTree = "<group>"; };
619A534C1391DC75001AAD40 /* IOUSBCompositeDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBCompositeDriver.h; sourceTree = "<group>"; };
619A534D1391DC75001AAD40 /* IOUSBController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBController.h; sourceTree = "<group>"; };
619A534E1391DC75001AAD40 /* IOUSBControllerListElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBControllerListElement.h; sourceTree = "<group>"; };
619A534F1391DC75001AAD40 /* IOUSBControllerV2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBControllerV2.h; sourceTree = "<group>"; };
619A53501391DC75001AAD40 /* IOUSBControllerV3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBControllerV3.h; sourceTree = "<group>"; };
619A53511391DC75001AAD40 /* IOUSBDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBDevice.h; sourceTree = "<group>"; };
619A53521391DC75001AAD40 /* IOUSBHIDDriver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBHIDDriver.h; sourceTree = "<group>"; };
619A53531391DC75001AAD40 /* IOUSBHubDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBHubDevice.h; sourceTree = "<group>"; };
619A53541391DC75001AAD40 /* IOUSBHubPolicyMaker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBHubPolicyMaker.h; sourceTree = "<group>"; };
619A53551391DC75001AAD40 /* IOUSBInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBInterface.h; sourceTree = "<group>"; };
619A53561391DC75001AAD40 /* IOUSBLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBLog.h; sourceTree = "<group>"; };
619A53571391DC75001AAD40 /* IOUSBMassStorageClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBMassStorageClass.h; sourceTree = "<group>"; };
619A53581391DC75001AAD40 /* IOUSBMassStorageUFISubclass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBMassStorageUFISubclass.h; sourceTree = "<group>"; };
619A53591391DC75001AAD40 /* IOUSBNub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBNub.h; sourceTree = "<group>"; };
619A535A1391DC75001AAD40 /* IOUSBPipe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBPipe.h; sourceTree = "<group>"; };
619A535B1391DC75001AAD40 /* IOUSBRootHubDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBRootHubDevice.h; sourceTree = "<group>"; };
619A535C1391DC75001AAD40 /* IOUSBUserClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBUserClient.h; sourceTree = "<group>"; };
619A535D1391DC75001AAD40 /* IOUSBWorkLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOUSBWorkLoop.h; sourceTree = "<group>"; };
619A535E1391DC75001AAD40 /* USB.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = USB.h; sourceTree = "<group>"; };
619A535F1391DC75001AAD40 /* USBHub.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = USBHub.h; sourceTree = "<group>"; };
619A53601391DC75001AAD40 /* USBSpec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = USBSpec.h; sourceTree = "<group>"; };
619A53611391DC75001AAD40 /* USBTracepoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = USBTracepoints.h; sourceTree = "<group>"; };
619A53631391DC75001AAD40 /* _OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _OSByteOrder.h; sourceTree = "<group>"; };
619A53651391DC75001AAD40 /* md5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = md5.h; sourceTree = "<group>"; };
619A53661391DC75001AAD40 /* sha1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sha1.h; sourceTree = "<group>"; };
619A53681391DC75001AAD40 /* _OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _OSByteOrder.h; sourceTree = "<group>"; };
619A53691391DC75001AAD40 /* OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSByteOrder.h; sourceTree = "<group>"; };
619A536B1391DC75001AAD40 /* OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSByteOrder.h; sourceTree = "<group>"; };
619A536C1391DC75001AAD40 /* OSAtomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSAtomic.h; sourceTree = "<group>"; };
619A536D1391DC75001AAD40 /* OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSByteOrder.h; sourceTree = "<group>"; };
619A536E1391DC75001AAD40 /* OSCacheControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSCacheControl.h; sourceTree = "<group>"; };
619A536F1391DC75001AAD40 /* OSDebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSDebug.h; sourceTree = "<group>"; };
619A53701391DC75001AAD40 /* OSKextLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSKextLib.h; sourceTree = "<group>"; };
619A53711391DC75001AAD40 /* OSReturn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSReturn.h; sourceTree = "<group>"; };
619A53721391DC75001AAD40 /* OSTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSTypes.h; sourceTree = "<group>"; };
619A53741391DC75001AAD40 /* OSByteOrder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSByteOrder.h; sourceTree = "<group>"; };
619A53751391DC75001AAD40 /* limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limits.h; sourceTree = "<group>"; };
619A53761391DC75001AAD40 /* locale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locale.h; sourceTree = "<group>"; };
619A53781391DC75001AAD40 /* audit_triggers.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = audit_triggers.defs; sourceTree = "<group>"; };
619A53791391DC75001AAD40 /* boolean.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boolean.h; sourceTree = "<group>"; };
619A537A1391DC75001AAD40 /* bootstrap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootstrap.h; sourceTree = "<group>"; };
619A537B1391DC75001AAD40 /* clock.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = clock.defs; sourceTree = "<group>"; };
619A537C1391DC75001AAD40 /* clock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clock.h; sourceTree = "<group>"; };
619A537D1391DC75001AAD40 /* clock_priv.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = clock_priv.defs; sourceTree = "<group>"; };
619A537E1391DC75001AAD40 /* clock_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clock_priv.h; sourceTree = "<group>"; };
619A537F1391DC75001AAD40 /* clock_reply.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = clock_reply.defs; sourceTree = "<group>"; };
619A53801391DC75001AAD40 /* clock_reply.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clock_reply.h; sourceTree = "<group>"; };
619A53811391DC75001AAD40 /* clock_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = clock_types.defs; sourceTree = "<group>"; };
619A53821391DC75001AAD40 /* clock_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clock_types.h; sourceTree = "<group>"; };
619A53831391DC75001AAD40 /* error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = error.h; sourceTree = "<group>"; };
619A53841391DC75001AAD40 /* exc.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = exc.defs; sourceTree = "<group>"; };
619A53851391DC75001AAD40 /* exc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exc.h; sourceTree = "<group>"; };
619A53861391DC75001AAD40 /* exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exception.h; sourceTree = "<group>"; };
619A53871391DC75001AAD40 /* exception_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exception_types.h; sourceTree = "<group>"; };
619A53881391DC75001AAD40 /* host_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_info.h; sourceTree = "<group>"; };
619A53891391DC75001AAD40 /* host_notify.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_notify.h; sourceTree = "<group>"; };
619A538A1391DC75001AAD40 /* host_notify_reply.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = host_notify_reply.defs; sourceTree = "<group>"; };
619A538B1391DC75001AAD40 /* host_priv.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = host_priv.defs; sourceTree = "<group>"; };
619A538C1391DC75001AAD40 /* host_priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_priv.h; sourceTree = "<group>"; };
619A538D1391DC75001AAD40 /* host_reboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_reboot.h; sourceTree = "<group>"; };
619A538E1391DC75001AAD40 /* host_security.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = host_security.defs; sourceTree = "<group>"; };
619A538F1391DC75001AAD40 /* host_security.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_security.h; sourceTree = "<group>"; };
619A53901391DC75001AAD40 /* host_special_ports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = host_special_ports.h; sourceTree = "<group>"; };
619A53921391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A53931391DC75001AAD40 /* asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm.h; sourceTree = "<group>"; };
619A53941391DC75001AAD40 /* boolean.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boolean.h; sourceTree = "<group>"; };
619A53951391DC75001AAD40 /* exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exception.h; sourceTree = "<group>"; };
619A53961391DC75001AAD40 /* fp_reg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fp_reg.h; sourceTree = "<group>"; };
619A53971391DC75001AAD40 /* kern_return.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kern_return.h; sourceTree = "<group>"; };
619A53981391DC75001AAD40 /* machine_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = machine_types.defs; sourceTree = "<group>"; };
619A53991391DC75001AAD40 /* ndr_def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ndr_def.h; sourceTree = "<group>"; };
619A539A1391DC75001AAD40 /* processor_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor_info.h; sourceTree = "<group>"; };
619A539B1391DC75001AAD40 /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = "<group>"; };
619A539C1391DC75001AAD40 /* sdt_isa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdt_isa.h; sourceTree = "<group>"; };
619A539D1391DC75001AAD40 /* task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task.h; sourceTree = "<group>"; };
619A539E1391DC75001AAD40 /* thread_act.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_act.h; sourceTree = "<group>"; };
619A539F1391DC75001AAD40 /* thread_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_state.h; sourceTree = "<group>"; };
619A53A01391DC75001AAD40 /* thread_status.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_status.h; sourceTree = "<group>"; };
619A53A11391DC75001AAD40 /* vm_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_param.h; sourceTree = "<group>"; };
619A53A21391DC75001AAD40 /* vm_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_types.h; sourceTree = "<group>"; };
619A53A31391DC75001AAD40 /* kern_return.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kern_return.h; sourceTree = "<group>"; };
619A53A41391DC75001AAD40 /* kmod.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kmod.h; sourceTree = "<group>"; };
619A53A51391DC75001AAD40 /* ledger.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = ledger.defs; sourceTree = "<group>"; };
619A53A61391DC75001AAD40 /* ledger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ledger.h; sourceTree = "<group>"; };
619A53A71391DC75001AAD40 /* lock_set.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = lock_set.defs; sourceTree = "<group>"; };
619A53A81391DC75001AAD40 /* lock_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = lock_set.h; sourceTree = "<group>"; };
619A53A91391DC75001AAD40 /* mach.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach.h; sourceTree = "<group>"; };
619A53AA1391DC75001AAD40 /* mach_error.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_error.h; sourceTree = "<group>"; };
619A53AB1391DC75001AAD40 /* mach_exc.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = mach_exc.defs; sourceTree = "<group>"; };
619A53AC1391DC75001AAD40 /* mach_host.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = mach_host.defs; sourceTree = "<group>"; };
619A53AD1391DC75001AAD40 /* mach_host.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_host.h; sourceTree = "<group>"; };
619A53AE1391DC75001AAD40 /* mach_init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_init.h; sourceTree = "<group>"; };
619A53AF1391DC75001AAD40 /* mach_interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_interface.h; sourceTree = "<group>"; };
619A53B01391DC75001AAD40 /* mach_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_param.h; sourceTree = "<group>"; };
619A53B11391DC75001AAD40 /* mach_port.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = mach_port.defs; sourceTree = "<group>"; };
619A53B21391DC75001AAD40 /* mach_port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_port.h; sourceTree = "<group>"; };
619A53B31391DC75001AAD40 /* mach_syscalls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_syscalls.h; sourceTree = "<group>"; };
619A53B41391DC75001AAD40 /* mach_time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_time.h; sourceTree = "<group>"; };
619A53B51391DC75001AAD40 /* mach_traps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_traps.h; sourceTree = "<group>"; };
619A53B61391DC75001AAD40 /* mach_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = mach_types.defs; sourceTree = "<group>"; };
619A53B71391DC75001AAD40 /* mach_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_types.h; sourceTree = "<group>"; };
619A53B81391DC75001AAD40 /* mach_vm.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = mach_vm.defs; sourceTree = "<group>"; };
619A53B91391DC75001AAD40 /* mach_vm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mach_vm.h; sourceTree = "<group>"; };
619A53BB1391DC75001AAD40 /* asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm.h; sourceTree = "<group>"; };
619A53BC1391DC75001AAD40 /* boolean.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boolean.h; sourceTree = "<group>"; };
619A53BD1391DC75001AAD40 /* exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exception.h; sourceTree = "<group>"; };
619A53BE1391DC75001AAD40 /* kern_return.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kern_return.h; sourceTree = "<group>"; };
619A53BF1391DC75001AAD40 /* machine_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = machine_types.defs; sourceTree = "<group>"; };
619A53C01391DC75001AAD40 /* ndr_def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ndr_def.h; sourceTree = "<group>"; };
619A53C11391DC75001AAD40 /* processor_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor_info.h; sourceTree = "<group>"; };
619A53C21391DC75001AAD40 /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = "<group>"; };
619A53C31391DC75001AAD40 /* sdt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdt.h; sourceTree = "<group>"; };
619A53C41391DC75001AAD40 /* sdt_isa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdt_isa.h; sourceTree = "<group>"; };
619A53C51391DC75001AAD40 /* thread_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_state.h; sourceTree = "<group>"; };
619A53C61391DC75001AAD40 /* thread_status.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_status.h; sourceTree = "<group>"; };
619A53C71391DC75001AAD40 /* vm_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_param.h; sourceTree = "<group>"; };
619A53C81391DC75001AAD40 /* vm_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_types.h; sourceTree = "<group>"; };
619A53C91391DC75001AAD40 /* machine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = machine.h; sourceTree = "<group>"; };
619A53CA1391DC75001AAD40 /* memory_object_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory_object_types.h; sourceTree = "<group>"; };
619A53CB1391DC75001AAD40 /* message.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = message.h; sourceTree = "<group>"; };
619A53CC1391DC75001AAD40 /* mig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mig.h; sourceTree = "<group>"; };
619A53CD1391DC75001AAD40 /* mig_errors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mig_errors.h; sourceTree = "<group>"; };
619A53CE1391DC75001AAD40 /* ndr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ndr.h; sourceTree = "<group>"; };
619A53CF1391DC75001AAD40 /* notify.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = notify.defs; sourceTree = "<group>"; };
619A53D01391DC75001AAD40 /* notify.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = notify.h; sourceTree = "<group>"; };
619A53D11391DC75001AAD40 /* policy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = policy.h; sourceTree = "<group>"; };
619A53D21391DC75001AAD40 /* port.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = port.h; sourceTree = "<group>"; };
619A53D31391DC75001AAD40 /* port_obj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = port_obj.h; sourceTree = "<group>"; };
619A53D51391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A53D61391DC75001AAD40 /* asm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asm.h; sourceTree = "<group>"; };
619A53D71391DC75001AAD40 /* boolean.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = boolean.h; sourceTree = "<group>"; };
619A53D81391DC75001AAD40 /* exception.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = exception.h; sourceTree = "<group>"; };
619A53D91391DC75001AAD40 /* kern_return.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kern_return.h; sourceTree = "<group>"; };
619A53DA1391DC75001AAD40 /* machine_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = machine_types.defs; sourceTree = "<group>"; };
619A53DB1391DC75001AAD40 /* ndr_def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ndr_def.h; sourceTree = "<group>"; };
619A53DC1391DC75001AAD40 /* processor_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor_info.h; sourceTree = "<group>"; };
619A53DD1391DC75001AAD40 /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = "<group>"; };
619A53DE1391DC75001AAD40 /* sdt_isa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdt_isa.h; sourceTree = "<group>"; };
619A53DF1391DC75001AAD40 /* task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task.h; sourceTree = "<group>"; };
619A53E01391DC75001AAD40 /* thread_act.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_act.h; sourceTree = "<group>"; };
619A53E11391DC75001AAD40 /* thread_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_state.h; sourceTree = "<group>"; };
619A53E21391DC75001AAD40 /* thread_status.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_status.h; sourceTree = "<group>"; };
619A53E31391DC75001AAD40 /* vm_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_param.h; sourceTree = "<group>"; };
619A53E41391DC75001AAD40 /* vm_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_types.h; sourceTree = "<group>"; };
619A53E51391DC75001AAD40 /* processor.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = processor.defs; sourceTree = "<group>"; };
619A53E61391DC75001AAD40 /* processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor.h; sourceTree = "<group>"; };
619A53E71391DC75001AAD40 /* processor_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor_info.h; sourceTree = "<group>"; };
619A53E81391DC75001AAD40 /* processor_set.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = processor_set.defs; sourceTree = "<group>"; };
619A53E91391DC75001AAD40 /* processor_set.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = processor_set.h; sourceTree = "<group>"; };
619A53EA1391DC75001AAD40 /* rpc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rpc.h; sourceTree = "<group>"; };
619A53EB1391DC75001AAD40 /* sdt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sdt.h; sourceTree = "<group>"; };
619A53EC1391DC75001AAD40 /* security.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = security.defs; sourceTree = "<group>"; };
619A53ED1391DC75001AAD40 /* semaphore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = semaphore.h; sourceTree = "<group>"; };
619A53EE1391DC75001AAD40 /* shared_memory_server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shared_memory_server.h; sourceTree = "<group>"; };
619A53EF1391DC75001AAD40 /* shared_region.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shared_region.h; sourceTree = "<group>"; };
619A53F01391DC75001AAD40 /* std_types.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = std_types.defs; sourceTree = "<group>"; };
619A53F11391DC75001AAD40 /* std_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = std_types.h; sourceTree = "<group>"; };
619A53F21391DC75001AAD40 /* sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sync.h; sourceTree = "<group>"; };
619A53F31391DC75001AAD40 /* sync_policy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sync_policy.h; sourceTree = "<group>"; };
619A53F41391DC75001AAD40 /* task.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = task.defs; sourceTree = "<group>"; };
619A53F51391DC75001AAD40 /* task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task.h; sourceTree = "<group>"; };
619A53F61391DC75001AAD40 /* task_access.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = task_access.defs; sourceTree = "<group>"; };
619A53F71391DC75001AAD40 /* task_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task_info.h; sourceTree = "<group>"; };
619A53F81391DC75001AAD40 /* task_ledger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task_ledger.h; sourceTree = "<group>"; };
619A53F91391DC75001AAD40 /* task_policy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task_policy.h; sourceTree = "<group>"; };
619A53FA1391DC75001AAD40 /* task_special_ports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task_special_ports.h; sourceTree = "<group>"; };
619A53FB1391DC75001AAD40 /* thread_act.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = thread_act.defs; sourceTree = "<group>"; };
619A53FC1391DC75001AAD40 /* thread_act.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_act.h; sourceTree = "<group>"; };
619A53FD1391DC75001AAD40 /* thread_info.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_info.h; sourceTree = "<group>"; };
619A53FE1391DC75001AAD40 /* thread_policy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_policy.h; sourceTree = "<group>"; };
619A53FF1391DC75001AAD40 /* thread_special_ports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_special_ports.h; sourceTree = "<group>"; };
619A54001391DC75001AAD40 /* thread_status.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_status.h; sourceTree = "<group>"; };
619A54011391DC75001AAD40 /* thread_switch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_switch.h; sourceTree = "<group>"; };
619A54021391DC75001AAD40 /* time_value.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time_value.h; sourceTree = "<group>"; };
619A54031391DC75001AAD40 /* vm_attributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_attributes.h; sourceTree = "<group>"; };
619A54041391DC75001AAD40 /* vm_behavior.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_behavior.h; sourceTree = "<group>"; };
619A54051391DC75001AAD40 /* vm_inherit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_inherit.h; sourceTree = "<group>"; };
619A54061391DC75001AAD40 /* vm_map.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = vm_map.defs; sourceTree = "<group>"; };
619A54071391DC75001AAD40 /* vm_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_map.h; sourceTree = "<group>"; };
619A54081391DC75001AAD40 /* vm_param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_param.h; sourceTree = "<group>"; };
619A54091391DC75001AAD40 /* vm_prot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_prot.h; sourceTree = "<group>"; };
619A540A1391DC75001AAD40 /* vm_purgable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_purgable.h; sourceTree = "<group>"; };
619A540B1391DC75001AAD40 /* vm_region.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_region.h; sourceTree = "<group>"; };
619A540C1391DC75001AAD40 /* vm_statistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_statistics.h; sourceTree = "<group>"; };
619A540D1391DC75001AAD40 /* vm_sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_sync.h; sourceTree = "<group>"; };
619A540E1391DC75001AAD40 /* vm_task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_task.h; sourceTree = "<group>"; };
619A540F1391DC75001AAD40 /* vm_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vm_types.h; sourceTree = "<group>"; };
619A54111391DC75001AAD40 /* task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = task.h; sourceTree = "<group>"; };
619A54121391DC75001AAD40 /* thread_act.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread_act.h; sourceTree = "<group>"; };
619A54141391DC75001AAD40 /* arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = arch.h; sourceTree = "<group>"; };
619A54151391DC75001AAD40 /* compact_unwind_encoding.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = compact_unwind_encoding.h; sourceTree = "<group>"; };
619A54161391DC75001AAD40 /* dyld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dyld.h; sourceTree = "<group>"; };
619A54171391DC75001AAD40 /* dyld_images.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dyld_images.h; sourceTree = "<group>"; };
619A54181391DC75001AAD40 /* fat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fat.h; sourceTree = "<group>"; };
619A54191391DC75001AAD40 /* getsect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = getsect.h; sourceTree = "<group>"; };
619A541B1391DC75001AAD40 /* swap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap.h; sourceTree = "<group>"; };
619A541C1391DC75001AAD40 /* ldsyms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ldsyms.h; sourceTree = "<group>"; };
619A541D1391DC75001AAD40 /* loader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = loader.h; sourceTree = "<group>"; };
619A541E1391DC75001AAD40 /* nlist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nlist.h; sourceTree = "<group>"; };
619A54201391DC75001AAD40 /* reloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reloc.h; sourceTree = "<group>"; };
619A54211391DC75001AAD40 /* swap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap.h; sourceTree = "<group>"; };
619A54221391DC75001AAD40 /* ranlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ranlib.h; sourceTree = "<group>"; };
619A54231391DC75001AAD40 /* reloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reloc.h; sourceTree = "<group>"; };
619A54241391DC75001AAD40 /* stab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stab.h; sourceTree = "<group>"; };
619A54251391DC75001AAD40 /* swap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swap.h; sourceTree = "<group>"; };
619A54271391DC75001AAD40 /* reloc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reloc.h; sourceTree = "<group>"; };
619A54291391DC75001AAD40 /* _limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _limits.h; sourceTree = "<group>"; };
619A542A1391DC75001AAD40 /* _param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _param.h; sourceTree = "<group>"; };
619A542B1391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A542C1391DC75001AAD40 /* _types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _types.h; sourceTree = "<group>"; };
619A542D1391DC75001AAD40 /* byte_order.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = byte_order.h; sourceTree = "<group>"; };
619A542E1391DC75001AAD40 /* endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = endian.h; sourceTree = "<group>"; };
619A542F1391DC75001AAD40 /* fasttrap_isa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fasttrap_isa.h; sourceTree = "<group>"; };
619A54301391DC75001AAD40 /* limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limits.h; sourceTree = "<group>"; };
619A54311391DC75001AAD40 /* param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = param.h; sourceTree = "<group>"; };
619A54321391DC75001AAD40 /* profile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = profile.h; sourceTree = "<group>"; };
619A54331391DC75001AAD40 /* setjmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setjmp.h; sourceTree = "<group>"; };
619A54341391DC75001AAD40 /* signal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal.h; sourceTree = "<group>"; };
619A54351391DC75001AAD40 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
619A54361391DC75001AAD40 /* vmparam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vmparam.h; sourceTree = "<group>"; };
619A54371391DC75001AAD40 /* math.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = math.h; sourceTree = "<group>"; };
619A54391391DC75001AAD40 /* bootp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootp.h; sourceTree = "<group>"; };
619A543A1391DC75001AAD40 /* icmp6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icmp6.h; sourceTree = "<group>"; };
619A543B1391DC75001AAD40 /* icmp_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = icmp_var.h; sourceTree = "<group>"; };
619A543C1391DC75001AAD40 /* if_ether.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = if_ether.h; sourceTree = "<group>"; };
619A543D1391DC75001AAD40 /* igmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = igmp.h; sourceTree = "<group>"; };
619A543E1391DC75001AAD40 /* igmp_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = igmp_var.h; sourceTree = "<group>"; };
619A543F1391DC75001AAD40 /* in.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in.h; sourceTree = "<group>"; };
619A54401391DC75001AAD40 /* in_pcb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in_pcb.h; sourceTree = "<group>"; };
619A54411391DC75001AAD40 /* in_systm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in_systm.h; sourceTree = "<group>"; };
619A54421391DC75001AAD40 /* in_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in_var.h; sourceTree = "<group>"; };
619A54431391DC75001AAD40 /* ip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip.h; sourceTree = "<group>"; };
619A54441391DC75001AAD40 /* ip6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip6.h; sourceTree = "<group>"; };
619A54451391DC75001AAD40 /* ip_fw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_fw.h; sourceTree = "<group>"; };
619A54461391DC75001AAD40 /* ip_fw2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_fw2.h; sourceTree = "<group>"; };
619A54471391DC75001AAD40 /* ip_icmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_icmp.h; sourceTree = "<group>"; };
619A54481391DC75001AAD40 /* ip_mroute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_mroute.h; sourceTree = "<group>"; };
619A54491391DC75001AAD40 /* ip_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip_var.h; sourceTree = "<group>"; };
619A544A1391DC75001AAD40 /* tcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp.h; sourceTree = "<group>"; };
619A544B1391DC75001AAD40 /* tcp_fsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp_fsm.h; sourceTree = "<group>"; };
619A544C1391DC75001AAD40 /* tcp_seq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp_seq.h; sourceTree = "<group>"; };
619A544D1391DC75001AAD40 /* tcp_timer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp_timer.h; sourceTree = "<group>"; };
619A544E1391DC75001AAD40 /* tcp_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcp_var.h; sourceTree = "<group>"; };
619A544F1391DC75001AAD40 /* tcpip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tcpip.h; sourceTree = "<group>"; };
619A54501391DC75001AAD40 /* udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udp.h; sourceTree = "<group>"; };
619A54511391DC75001AAD40 /* udp_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = udp_var.h; sourceTree = "<group>"; };
619A54531391DC75001AAD40 /* ah.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ah.h; sourceTree = "<group>"; };
619A54541391DC75001AAD40 /* esp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = esp.h; sourceTree = "<group>"; };
619A54551391DC75001AAD40 /* in6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in6.h; sourceTree = "<group>"; };
619A54561391DC75001AAD40 /* in6_var.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = in6_var.h; sourceTree = "<group>"; };
619A54571391DC75001AAD40 /* ip6_fw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip6_fw.h; sourceTree = "<group>"; };
619A54581391DC75001AAD40 /* ip6_mroute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ip6_mroute.h; sourceTree = "<group>"; };
619A54591391DC75001AAD40 /* ipcomp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipcomp.h; sourceTree = "<group>"; };
619A545A1391DC75001AAD40 /* ipsec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipsec.h; sourceTree = "<group>"; };
619A545B1391DC75001AAD40 /* nd6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nd6.h; sourceTree = "<group>"; };
619A545C1391DC75001AAD40 /* pim6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pim6.h; sourceTree = "<group>"; };
619A545D1391DC75001AAD40 /* raw_ip6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = raw_ip6.h; sourceTree = "<group>"; };
619A545E1391DC75001AAD40 /* runetype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = runetype.h; sourceTree = "<group>"; };
619A54601391DC75001AAD40 /* _common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _common.h; sourceTree = "<group>"; };
619A54611391DC75001AAD40 /* _stdio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _stdio.h; sourceTree = "<group>"; };
619A54621391DC75001AAD40 /* setjmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = setjmp.h; sourceTree = "<group>"; };
619A54631391DC75001AAD40 /* signal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = signal.h; sourceTree = "<group>"; };
619A54641391DC75001AAD40 /* stdarg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdarg.h; sourceTree = "<group>"; };
619A54651391DC75001AAD40 /* stdbool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdbool.h; sourceTree = "<group>"; };
619A54661391DC75001AAD40 /* stddef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stddef.h; sourceTree = "<group>"; };
619A54671391DC75001AAD40 /* stdint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdint.h; sourceTree = "<group>"; };
619A54681391DC75001AAD40 /* stdio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdio.h; sourceTree = "<group>"; };
619A54691391DC75001AAD40 /* stdlib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stdlib.h; sourceTree = "<group>"; };
619A546A1391DC75001AAD40 /* string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = string.h; sourceTree = "<group>"; };
619A546C1391DC75001AAD40 /* _endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _endian.h; sourceTree = "<group>"; };
619A546D1391DC75001AAD40 /* _select.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _select.h; sourceTree = "<group>"; };
619A546E1391DC75001AAD40 /* _structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _structs.h; sourceTree = "<group>"; };
619A546F1391DC75001AAD40 /* _types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _types.h; sourceTree = "<group>"; };
619A54701391DC75001AAD40 /* appleapiopts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = appleapiopts.h; sourceTree = "<group>"; };
619A54711391DC75001AAD40 /* buf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = buf.h; sourceTree = "<group>"; };
619A54721391DC75001AAD40 /* cdefs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cdefs.h; sourceTree = "<group>"; };
619A54731391DC75001AAD40 /* disk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disk.h; sourceTree = "<group>"; };
619A54741391DC75001AAD40 /* kernel_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = kernel_types.h; sourceTree = "<group>"; };
619A54751391DC75001AAD40 /* param.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = param.h; sourceTree = "<group>"; };
619A54761391DC75001AAD40 /* reboot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reboot.h; sourceTree = "<group>"; };
619A54771391DC75001AAD40 /* select.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = select.h; sourceTree = "<group>"; };
619A54781391DC75001AAD40 /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = "<group>"; };
619A54791391DC75001AAD40 /* syscall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = syscall.h; sourceTree = "<group>"; };
619A547A1391DC75001AAD40 /* syslimits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = syslimits.h; sourceTree = "<group>"; };
619A547B1391DC75001AAD40 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = "<group>"; };
619A547C1391DC75001AAD40 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
619A547D1391DC75001AAD40 /* unistd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unistd.h; sourceTree = "<group>"; };
619A547E1391DC75001AAD40 /* time.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = time.h; sourceTree = "<group>"; };
619A54811391DC75001AAD40 /* ffs_extern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffs_extern.h; sourceTree = "<group>"; };
619A54821391DC75001AAD40 /* fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fs.h; sourceTree = "<group>"; };
619A54841391DC75001AAD40 /* dinode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dinode.h; sourceTree = "<group>"; };
619A54851391DC75001AAD40 /* dir.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dir.h; sourceTree = "<group>"; };
619A54861391DC75001AAD40 /* inode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = inode.h; sourceTree = "<group>"; };
619A54871391DC75001AAD40 /* ufs_extern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufs_extern.h; sourceTree = "<group>"; };
619A54881391DC75001AAD40 /* ufsmount.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufsmount.h; sourceTree = "<group>"; };
619A54891391DC75001AAD40 /* unistd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unistd.h; sourceTree = "<group>"; };
619A548A1391DC75001AAD40 /* unwind.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unwind.h; sourceTree = "<group>"; };
619A548C1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A548D1391DC75001AAD40 /* efi_tables.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = efi_tables.c; sourceTree = "<group>"; };
619A548E1391DC75001AAD40 /* efi_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = efi_tables.h; sourceTree = "<group>"; };
619A548F1391DC75001AAD40 /* error.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = error.c; sourceTree = "<group>"; };
619A54901391DC75001AAD40 /* libsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libsa.h; sourceTree = "<group>"; };
619A54911391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A54921391DC75001AAD40 /* memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memory.h; sourceTree = "<group>"; };
619A54931391DC75001AAD40 /* prf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = prf.c; sourceTree = "<group>"; };
619A54941391DC75001AAD40 /* printf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = printf.c; sourceTree = "<group>"; };
619A54951391DC75001AAD40 /* qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qsort.c; sourceTree = "<group>"; };
619A54961391DC75001AAD40 /* setjmp.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = setjmp.s; sourceTree = "<group>"; };
619A54971391DC75001AAD40 /* string.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = string.c; sourceTree = "<group>"; };
619A54981391DC75001AAD40 /* strtol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtol.c; sourceTree = "<group>"; };
619A54991391DC75001AAD40 /* zalloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zalloc.c; sourceTree = "<group>"; };
619A549B1391DC75001AAD40 /* acpi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi.h; sourceTree = "<group>"; };
619A549C1391DC75001AAD40 /* acpi_patcher.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = acpi_patcher.c; sourceTree = "<group>"; };
619A549D1391DC75001AAD40 /* acpi_patcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = acpi_patcher.h; sourceTree = "<group>"; };
619A549E1391DC75001AAD40 /* allocate.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = allocate.c; sourceTree = "<group>"; };
619A549F1391DC75001AAD40 /* aml_generator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aml_generator.c; sourceTree = "<group>"; };
619A54A01391DC75001AAD40 /* aml_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = aml_generator.h; sourceTree = "<group>"; };
619A54A11391DC75001AAD40 /* asm.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = asm.s; sourceTree = "<group>"; };
619A54A21391DC75001AAD40 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
619A54A31391DC75001AAD40 /* ati_reg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati_reg.h; sourceTree = "<group>"; };
619A54A41391DC75001AAD40 /* befs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = befs.c; sourceTree = "<group>"; };
619A54A51391DC75001AAD40 /* befs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = befs.h; sourceTree = "<group>"; };
619A54A61391DC75001AAD40 /* bios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bios.h; sourceTree = "<group>"; };
619A54A71391DC75001AAD40 /* bios.s */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = bios.s; sourceTree = "<group>"; };
619A54A81391DC75001AAD40 /* biosfn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = biosfn.c; sourceTree = "<group>"; };
619A54A91391DC75001AAD40 /* bootargs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootargs.h; sourceTree = "<group>"; };
619A54AA1391DC75001AAD40 /* bootstruct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bootstruct.c; sourceTree = "<group>"; };
619A54AB1391DC75001AAD40 /* bootstruct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = bootstruct.h; sourceTree = "<group>"; };
619A54AC1391DC75001AAD40 /* cache.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cache.c; sourceTree = "<group>"; };
619A54AD1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A54AE1391DC75001AAD40 /* console.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = console.c; sourceTree = "<group>"; };
619A54AF1391DC75001AAD40 /* convert.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = convert.c; sourceTree = "<group>"; };
619A54B01391DC75001AAD40 /* convert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = convert.h; sourceTree = "<group>"; };
619A54B11391DC75001AAD40 /* cpu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cpu.c; sourceTree = "<group>"; };
619A54B21391DC75001AAD40 /* cpu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cpu.h; sourceTree = "<group>"; };
619A54B31391DC75001AAD40 /* device_inject.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = device_inject.c; sourceTree = "<group>"; };
619A54B41391DC75001AAD40 /* device_inject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_inject.h; sourceTree = "<group>"; };
619A54B51391DC75001AAD40 /* device_tree.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = device_tree.c; sourceTree = "<group>"; };
619A54B61391DC75001AAD40 /* device_tree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = device_tree.h; sourceTree = "<group>"; };
619A54B71391DC75001AAD40 /* disk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = disk.c; sourceTree = "<group>"; };
619A54B81391DC75001AAD40 /* disk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = disk.h; sourceTree = "<group>"; };
619A54B91391DC75001AAD40 /* dram_controllers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dram_controllers.c; sourceTree = "<group>"; };
619A54BA1391DC75001AAD40 /* dram_controllers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dram_controllers.h; sourceTree = "<group>"; };
619A54BB1391DC75001AAD40 /* efi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = efi.h; sourceTree = "<group>"; };
619A54BC1391DC75001AAD40 /* ext2fs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ext2fs.c; sourceTree = "<group>"; };
619A54BD1391DC75001AAD40 /* ext2fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ext2fs.h; sourceTree = "<group>"; };
619A54BE1391DC75001AAD40 /* fake_efi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fake_efi.c; sourceTree = "<group>"; };
619A54BF1391DC75001AAD40 /* fake_efi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fake_efi.h; sourceTree = "<group>"; };
619A54C01391DC75001AAD40 /* fdisk.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fdisk.h; sourceTree = "<group>"; };
619A54C11391DC75001AAD40 /* freebsd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = freebsd.c; sourceTree = "<group>"; };
619A54C21391DC75001AAD40 /* freebsd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = freebsd.h; sourceTree = "<group>"; };
619A54C31391DC75001AAD40 /* hfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs.c; sourceTree = "<group>"; };
619A54C41391DC75001AAD40 /* hfs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs.h; sourceTree = "<group>"; };
619A54C51391DC75001AAD40 /* hfs_CaseTables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hfs_CaseTables.h; sourceTree = "<group>"; };
619A54C61391DC75001AAD40 /* hfs_compare.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hfs_compare.c; sourceTree = "<group>"; };
619A54C71391DC75001AAD40 /* hpet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = hpet.c; sourceTree = "<group>"; };
619A54C81391DC75001AAD40 /* hpet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = hpet.h; sourceTree = "<group>"; };
619A54C91391DC75001AAD40 /* io_inline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = io_inline.h; sourceTree = "<group>"; };
619A54CA1391DC75001AAD40 /* libsaio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = libsaio.h; sourceTree = "<group>"; };
619A54CB1391DC75001AAD40 /* load.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = load.c; sourceTree = "<group>"; };
619A54CC1391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A54CD1391DC75001AAD40 /* md5c.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = md5c.c; sourceTree = "<group>"; };
619A54CE1391DC75001AAD40 /* memvendors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = memvendors.h; sourceTree = "<group>"; };
619A54CF1391DC75001AAD40 /* misc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = misc.c; sourceTree = "<group>"; };
619A54D01391DC75001AAD40 /* msdos.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msdos.c; sourceTree = "<group>"; };
619A54D11391DC75001AAD40 /* msdos.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msdos.h; sourceTree = "<group>"; };
619A54D21391DC75001AAD40 /* msdos_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msdos_private.h; sourceTree = "<group>"; };
619A54D31391DC75001AAD40 /* nbp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nbp.c; sourceTree = "<group>"; };
619A54D41391DC75001AAD40 /* nbp_cmd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nbp_cmd.h; sourceTree = "<group>"; };
619A54D51391DC75001AAD40 /* ntfs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ntfs.c; sourceTree = "<group>"; };
619A54D61391DC75001AAD40 /* ntfs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ntfs.h; sourceTree = "<group>"; };
619A54D71391DC75001AAD40 /* ntfs_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ntfs_private.h; sourceTree = "<group>"; };
619A54D81391DC75001AAD40 /* nvidia.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nvidia.c; sourceTree = "<group>"; };
619A54D91391DC75001AAD40 /* nvidia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nvidia.h; sourceTree = "<group>"; };
619A54DA1391DC75001AAD40 /* openbsd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = openbsd.c; sourceTree = "<group>"; };
619A54DB1391DC75001AAD40 /* openbsd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = openbsd.h; sourceTree = "<group>"; };
619A54DC1391DC75001AAD40 /* pci.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci.c; sourceTree = "<group>"; };
619A54DD1391DC75001AAD40 /* pci.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pci.h; sourceTree = "<group>"; };
619A54DE1391DC75001AAD40 /* pci_root.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci_root.c; sourceTree = "<group>"; };
619A54DF1391DC75001AAD40 /* pci_root.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = pci_root.h; sourceTree = "<group>"; };
619A54E01391DC75001AAD40 /* pci_setup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pci_setup.c; sourceTree = "<group>"; };
619A54E11391DC75001AAD40 /* platform.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = platform.c; sourceTree = "<group>"; };
619A54E21391DC75001AAD40 /* platform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = platform.h; sourceTree = "<group>"; };
619A54E31391DC75001AAD40 /* saio_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saio_internal.h; sourceTree = "<group>"; };
619A54E41391DC75001AAD40 /* saio_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = saio_types.h; sourceTree = "<group>"; };
619A54E51391DC75001AAD40 /* sl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sl.h; sourceTree = "<group>"; };
619A54E61391DC75001AAD40 /* smbios.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios.c; sourceTree = "<group>"; };
619A54E71391DC75001AAD40 /* smbios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smbios.h; sourceTree = "<group>"; };
619A54E81391DC75001AAD40 /* smbios_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios_decode.c; sourceTree = "<group>"; };
619A54E91391DC75001AAD40 /* smbios_getters.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = smbios_getters.c; sourceTree = "<group>"; };
619A54EA1391DC75001AAD40 /* smbios_getters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = smbios_getters.h; sourceTree = "<group>"; };
619A54EB1391DC75001AAD40 /* spd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = spd.c; sourceTree = "<group>"; };
619A54EC1391DC75001AAD40 /* spd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = spd.h; sourceTree = "<group>"; };
619A54ED1391DC75001AAD40 /* stringTable.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stringTable.c; sourceTree = "<group>"; };
619A54EE1391DC75001AAD40 /* sys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sys.c; sourceTree = "<group>"; };
619A54EF1391DC75001AAD40 /* table.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = table.c; sourceTree = "<group>"; };
619A54F01391DC75001AAD40 /* ufs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufs.c; sourceTree = "<group>"; };
619A54F11391DC75001AAD40 /* ufs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufs.h; sourceTree = "<group>"; };
619A54F21391DC75001AAD40 /* ufs_byteorder.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ufs_byteorder.c; sourceTree = "<group>"; };
619A54F31391DC75001AAD40 /* ufs_byteorder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ufs_byteorder.h; sourceTree = "<group>"; };
619A54F41391DC75001AAD40 /* usb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = usb.c; sourceTree = "<group>"; };
619A54F51391DC75001AAD40 /* vbe.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vbe.c; sourceTree = "<group>"; };
619A54F61391DC75001AAD40 /* vbe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = vbe.h; sourceTree = "<group>"; };
619A54F71391DC75001AAD40 /* xml.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = xml.c; sourceTree = "<group>"; };
619A54F81391DC75001AAD40 /* xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xml.h; sourceTree = "<group>"; };
619A54F91391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A54FA1391DC75001AAD40 /* MakeInc.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakeInc.dir; sourceTree = "<group>"; };
619A54FB1391DC75001AAD40 /* MakePaths.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakePaths.dir; sourceTree = "<group>"; };
619A54FE1391DC75001AAD40 /* AMDGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = AMDGraphicsEnabler.c; sourceTree = "<group>"; };
619A54FF1391DC75001AAD40 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
619A55001391DC75001AAD40 /* ati_reg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati_reg.h; sourceTree = "<group>"; };
619A55011391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55021391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55031391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A55051391DC75001AAD40 /* ati.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ati.c; sourceTree = "<group>"; };
619A55061391DC75001AAD40 /* ati.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ati.h; sourceTree = "<group>"; };
619A55071391DC75001AAD40 /* ATiGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ATiGraphicsEnabler.c; sourceTree = "<group>"; };
619A55081391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55091391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A550A1391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A550B1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A550D1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A550E1391DC75001AAD40 /* HelloWorld.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelloWorld.cpp; sourceTree = "<group>"; };
619A55101391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55121391DC75001AAD40 /* modules */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = modules; sourceTree = "<group>"; };
619A55131391DC75001AAD40 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
619A55151391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55161391DC75001AAD40 /* gma.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gma.c; sourceTree = "<group>"; };
619A55171391DC75001AAD40 /* gma.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gma.h; sourceTree = "<group>"; };
619A55181391DC75001AAD40 /* IntelGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = IntelGraphicsEnabler.c; sourceTree = "<group>"; };
619A55191391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A551A1391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A551C1391DC75001AAD40 /* __ashldi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __ashldi3.c; sourceTree = "<group>"; };
619A551D1391DC75001AAD40 /* __ashrdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __ashrdi3.c; sourceTree = "<group>"; };
619A551E1391DC75001AAD40 /* __clzsi2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __clzsi2.c; sourceTree = "<group>"; };
619A551F1391DC75001AAD40 /* __divdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __divdi3.c; sourceTree = "<group>"; };
619A55201391DC75001AAD40 /* __divsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __divsi3.c; sourceTree = "<group>"; };
619A55211391DC75001AAD40 /* __lshrdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __lshrdi3.c; sourceTree = "<group>"; };
619A55221391DC75001AAD40 /* __moddi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __moddi3.c; sourceTree = "<group>"; };
619A55231391DC75001AAD40 /* __modsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __modsi3.c; sourceTree = "<group>"; };
619A55241391DC75001AAD40 /* __udivdi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivdi3.c; sourceTree = "<group>"; };
619A55251391DC75001AAD40 /* __udivmoddi4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivmoddi4.c; sourceTree = "<group>"; };
619A55261391DC75001AAD40 /* __udivmodsi4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivmodsi4.c; sourceTree = "<group>"; };
619A55271391DC75001AAD40 /* __udivsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __udivsi3.c; sourceTree = "<group>"; };
619A55281391DC75001AAD40 /* __umoddi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __umoddi3.c; sourceTree = "<group>"; };
619A55291391DC75001AAD40 /* __umodsi3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = __umodsi3.c; sourceTree = "<group>"; };
619A552A1391DC75001AAD40 /* atexit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atexit.c; sourceTree = "<group>"; };
619A552B1391DC75001AAD40 /* atexit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = atexit.h; sourceTree = "<group>"; };
619A552C1391DC75001AAD40 /* atoi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atoi.c; sourceTree = "<group>"; };
619A552D1391DC75001AAD40 /* atol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atol.c; sourceTree = "<group>"; };
619A552E1391DC75001AAD40 /* atoll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atoll.c; sourceTree = "<group>"; };
619A552F1391DC75001AAD40 /* atox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = atox.c; sourceTree = "<group>"; };
619A55301391DC75001AAD40 /* bsearch.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bsearch.c; sourceTree = "<group>"; };
619A55311391DC75001AAD40 /* calloc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = calloc.c; sourceTree = "<group>"; };
619A55321391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55331391DC75001AAD40 /* exit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = exit.c; sourceTree = "<group>"; };
619A55341391DC75001AAD40 /* jrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = jrand48.c; sourceTree = "<group>"; };
619A55351391DC75001AAD40 /* klibc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = klibc.c; sourceTree = "<group>"; };
619A55361391DC75001AAD40 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
619A55371391DC75001AAD40 /* limits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limits.h; sourceTree = "<group>"; };
619A55381391DC75001AAD40 /* lrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = lrand48.c; sourceTree = "<group>"; };
619A55391391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A553A1391DC75001AAD40 /* memccpy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memccpy.c; sourceTree = "<group>"; };
619A553B1391DC75001AAD40 /* memchr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memchr.c; sourceTree = "<group>"; };
619A553C1391DC75001AAD40 /* memmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memmem.c; sourceTree = "<group>"; };
619A553D1391DC75001AAD40 /* memmove.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memmove.c; sourceTree = "<group>"; };
619A553E1391DC75001AAD40 /* memrchr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memrchr.c; sourceTree = "<group>"; };
619A553F1391DC75001AAD40 /* memswap.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = memswap.c; sourceTree = "<group>"; };
619A55401391DC75001AAD40 /* mrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mrand48.c; sourceTree = "<group>"; };
619A55411391DC75001AAD40 /* nrand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nrand48.c; sourceTree = "<group>"; };
619A55421391DC75001AAD40 /* onexit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = onexit.c; sourceTree = "<group>"; };
619A55431391DC75001AAD40 /* qsort.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qsort.c; sourceTree = "<group>"; };
619A55441391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A55451391DC75001AAD40 /* seed48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = seed48.c; sourceTree = "<group>"; };
619A55461391DC75001AAD40 /* sha1hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sha1hash.c; sourceTree = "<group>"; };
619A55471391DC75001AAD40 /* snprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = snprintf.c; sourceTree = "<group>"; };
619A55481391DC75001AAD40 /* srand48.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = srand48.c; sourceTree = "<group>"; };
619A55491391DC75001AAD40 /* sscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sscanf.c; sourceTree = "<group>"; };
619A554A1391DC75001AAD40 /* strcasecmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strcasecmp.c; sourceTree = "<group>"; };
619A554B1391DC75001AAD40 /* strdup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strdup.c; sourceTree = "<group>"; };
619A554C1391DC75001AAD40 /* strlcat.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strlcat.c; sourceTree = "<group>"; };
619A554D1391DC75001AAD40 /* strncasecmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strncasecmp.c; sourceTree = "<group>"; };
619A554E1391DC75001AAD40 /* strndup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strndup.c; sourceTree = "<group>"; };
619A554F1391DC75001AAD40 /* strnlen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strnlen.c; sourceTree = "<group>"; };
619A55501391DC75001AAD40 /* strntoimax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strntoimax.c; sourceTree = "<group>"; };
619A55511391DC75001AAD40 /* strntoumax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strntoumax.c; sourceTree = "<group>"; };
619A55521391DC75001AAD40 /* strpbrk.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strpbrk.c; sourceTree = "<group>"; };
619A55531391DC75001AAD40 /* strsep.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strsep.c; sourceTree = "<group>"; };
619A55541391DC75001AAD40 /* strtoimax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoimax.c; sourceTree = "<group>"; };
619A55551391DC75001AAD40 /* strtok.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtok.c; sourceTree = "<group>"; };
619A55561391DC75001AAD40 /* strtok_r.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtok_r.c; sourceTree = "<group>"; };
619A55571391DC75001AAD40 /* strtol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtol.c; sourceTree = "<group>"; };
619A55581391DC75001AAD40 /* strtoll.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoll.c; sourceTree = "<group>"; };
619A55591391DC75001AAD40 /* strtotimespec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimespec.c; sourceTree = "<group>"; };
619A555A1391DC75001AAD40 /* strtotimeval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimeval.c; sourceTree = "<group>"; };
619A555B1391DC75001AAD40 /* strtotimex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtotimex.c; sourceTree = "<group>"; };
619A555C1391DC75001AAD40 /* strtoul.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoul.c; sourceTree = "<group>"; };
619A555D1391DC75001AAD40 /* strtoull.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoull.c; sourceTree = "<group>"; };
619A555E1391DC75001AAD40 /* strtoumax.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtoumax.c; sourceTree = "<group>"; };
619A555F1391DC75001AAD40 /* strtox.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strtox.c; sourceTree = "<group>"; };
619A55601391DC75001AAD40 /* strxspn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = strxspn.c; sourceTree = "<group>"; };
619A55611391DC75001AAD40 /* strxspn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = strxspn.h; sourceTree = "<group>"; };
619A55621391DC75001AAD40 /* version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = version; sourceTree = "<group>"; };
619A55631391DC75001AAD40 /* vsnprintf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vsnprintf.c; sourceTree = "<group>"; };
619A55641391DC75001AAD40 /* vsscanf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vsscanf.c; sourceTree = "<group>"; };
619A55651391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55661391DC75001AAD40 /* MakeInc.dir */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MakeInc.dir; sourceTree = "<group>"; };
619A55671391DC75001AAD40 /* Modules.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Modules.txt; sourceTree = "<group>"; };
619A55691391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A556A1391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A556B1391DC75001AAD40 /* nvidia.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nvidia.c; sourceTree = "<group>"; };
619A556C1391DC75001AAD40 /* nvidia.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nvidia.h; sourceTree = "<group>"; };
619A556D1391DC75001AAD40 /* NVIDIAGraphicsEnabler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = NVIDIAGraphicsEnabler.c; sourceTree = "<group>"; };
619A556E1391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A55701391DC75001AAD40 /* 915resolution.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = 915resolution.c; sourceTree = "<group>"; };
619A55711391DC75001AAD40 /* 915resolution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = 915resolution.h; sourceTree = "<group>"; };
619A55721391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55731391DC75001AAD40 /* edid.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = edid.c; sourceTree = "<group>"; };
619A55751391DC75001AAD40 /* edid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = edid.h; sourceTree = "<group>"; };
619A55761391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55771391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A55781391DC75001AAD40 /* Resolution.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = Resolution.c; sourceTree = "<group>"; };
619A55791391DC75001AAD40 /* shortatombios.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shortatombios.h; sourceTree = "<group>"; };
619A557B1391DC75001AAD40 /* abi.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abi.cpp; sourceTree = "<group>"; };
619A557C1391DC75001AAD40 /* algorithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = algorithm.cpp; sourceTree = "<group>"; };
619A557D1391DC75001AAD40 /* associative_base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = associative_base.cpp; sourceTree = "<group>"; };
619A557E1391DC75001AAD40 /* bitset.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bitset.cpp; sourceTree = "<group>"; };
619A557F1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55801391DC75001AAD40 /* char_traits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = char_traits.cpp; sourceTree = "<group>"; };
619A55811391DC75001AAD40 /* complex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = complex.cpp; sourceTree = "<group>"; };
619A55821391DC75001AAD40 /* del_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_op.cpp; sourceTree = "<group>"; };
619A55831391DC75001AAD40 /* del_opnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opnt.cpp; sourceTree = "<group>"; };
619A55841391DC75001AAD40 /* del_opv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opv.cpp; sourceTree = "<group>"; };
619A55851391DC75001AAD40 /* del_opvnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = del_opvnt.cpp; sourceTree = "<group>"; };
619A55861391DC75001AAD40 /* deque.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = deque.cpp; sourceTree = "<group>"; };
619A55871391DC75001AAD40 /* eh_alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eh_alloc.cpp; sourceTree = "<group>"; };
619A55881391DC75001AAD40 /* eh_globals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = eh_globals.cpp; sourceTree = "<group>"; };
619A55891391DC75001AAD40 /* exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = exception.cpp; sourceTree = "<group>"; };
619A558A1391DC75001AAD40 /* fstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = fstream.cpp; sourceTree = "<group>"; };
619A558B1391DC75001AAD40 /* func_exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = func_exception.cpp; sourceTree = "<group>"; };
619A558D1391DC75001AAD40 /* algorithm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = algorithm; sourceTree = "<group>"; };
619A558E1391DC75001AAD40 /* associative_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = associative_base; sourceTree = "<group>"; };
619A558F1391DC75001AAD40 /* basic_definitions */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = basic_definitions; sourceTree = "<group>"; };
619A55901391DC75001AAD40 /* bitset */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = bitset; sourceTree = "<group>"; };
619A55911391DC75001AAD40 /* cassert */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cassert; sourceTree = "<group>"; };
619A55921391DC75001AAD40 /* cctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cctype; sourceTree = "<group>"; };
619A55931391DC75001AAD40 /* cerrno */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cerrno; sourceTree = "<group>"; };
619A55941391DC75001AAD40 /* cfloat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cfloat; sourceTree = "<group>"; };
619A55951391DC75001AAD40 /* char_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = char_traits; sourceTree = "<group>"; };
619A55961391DC75001AAD40 /* climits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = climits; sourceTree = "<group>"; };
619A55971391DC75001AAD40 /* clocale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = clocale; sourceTree = "<group>"; };
619A55981391DC75001AAD40 /* cmath */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cmath; sourceTree = "<group>"; };
619A55991391DC75001AAD40 /* complex */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = complex; sourceTree = "<group>"; };
619A559A1391DC75001AAD40 /* csetjmp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csetjmp; sourceTree = "<group>"; };
619A559B1391DC75001AAD40 /* csignal */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = csignal; sourceTree = "<group>"; };
619A559C1391DC75001AAD40 /* cstdarg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdarg; sourceTree = "<group>"; };
619A559D1391DC75001AAD40 /* cstddef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstddef; sourceTree = "<group>"; };
619A559E1391DC75001AAD40 /* cstdio */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdio; sourceTree = "<group>"; };
619A559F1391DC75001AAD40 /* cstdlib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstdlib; sourceTree = "<group>"; };
619A55A01391DC75001AAD40 /* cstring */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cstring; sourceTree = "<group>"; };
619A55A11391DC75001AAD40 /* ctime */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ctime; sourceTree = "<group>"; };
619A55A21391DC75001AAD40 /* cwchar */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwchar; sourceTree = "<group>"; };
619A55A31391DC75001AAD40 /* cwctype */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = cwctype; sourceTree = "<group>"; };
619A55A41391DC75001AAD40 /* deque */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = deque; sourceTree = "<group>"; };
619A55A51391DC75001AAD40 /* exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = exception; sourceTree = "<group>"; };
619A55A61391DC75001AAD40 /* fstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = fstream; sourceTree = "<group>"; };
619A55A71391DC75001AAD40 /* func_exception */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = func_exception; sourceTree = "<group>"; };
619A55A81391DC75001AAD40 /* functional */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = functional; sourceTree = "<group>"; };
619A55A91391DC75001AAD40 /* iomanip */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iomanip; sourceTree = "<group>"; };
619A55AA1391DC75001AAD40 /* ios */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ios; sourceTree = "<group>"; };
619A55AB1391DC75001AAD40 /* iosfwd */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iosfwd; sourceTree = "<group>"; };
619A55AC1391DC75001AAD40 /* iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iostream; sourceTree = "<group>"; };
619A55AD1391DC75001AAD40 /* istream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream; sourceTree = "<group>"; };
619A55AE1391DC75001AAD40 /* istream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = istream_helpers; sourceTree = "<group>"; };
619A55AF1391DC75001AAD40 /* iterator */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator; sourceTree = "<group>"; };
619A55B01391DC75001AAD40 /* iterator_base */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = iterator_base; sourceTree = "<group>"; };
619A55B11391DC75001AAD40 /* limits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = limits; sourceTree = "<group>"; };
619A55B21391DC75001AAD40 /* list */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = list; sourceTree = "<group>"; };
619A55B31391DC75001AAD40 /* locale */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = locale; sourceTree = "<group>"; };
619A55B41391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55B51391DC75001AAD40 /* map */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map; sourceTree = "<group>"; };
619A55B61391DC75001AAD40 /* map.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = map.old; sourceTree = "<group>"; };
619A55B71391DC75001AAD40 /* memory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = memory; sourceTree = "<group>"; };
619A55B81391DC75001AAD40 /* new */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = new; sourceTree = "<group>"; };
619A55B91391DC75001AAD40 /* numeric */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = numeric; sourceTree = "<group>"; };
619A55BA1391DC75001AAD40 /* ostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream; sourceTree = "<group>"; };
619A55BB1391DC75001AAD40 /* ostream_helpers */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ostream_helpers; sourceTree = "<group>"; };
619A55BC1391DC75001AAD40 /* queue */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = queue; sourceTree = "<group>"; };
619A55BD1391DC75001AAD40 /* set */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set; sourceTree = "<group>"; };
619A55BE1391DC75001AAD40 /* set.old */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = set.old; sourceTree = "<group>"; };
619A55BF1391DC75001AAD40 /* sstream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = sstream; sourceTree = "<group>"; };
619A55C01391DC75001AAD40 /* stack */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stack; sourceTree = "<group>"; };
619A55C11391DC75001AAD40 /* stdexcept */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = stdexcept; sourceTree = "<group>"; };
619A55C21391DC75001AAD40 /* streambuf */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = streambuf; sourceTree = "<group>"; };
619A55C31391DC75001AAD40 /* string */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string; sourceTree = "<group>"; };
619A55C41391DC75001AAD40 /* string_iostream */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = string_iostream; sourceTree = "<group>"; };
619A55C51391DC75001AAD40 /* support */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = support; sourceTree = "<group>"; };
619A55C61391DC75001AAD40 /* system_configuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = system_configuration.h; sourceTree = "<group>"; };
619A55C71391DC75001AAD40 /* type_traits */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = type_traits; sourceTree = "<group>"; };
619A55C81391DC75001AAD40 /* typeinfo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = typeinfo; sourceTree = "<group>"; };
619A55C91391DC75001AAD40 /* types */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = types; sourceTree = "<group>"; };
619A55CA1391DC75001AAD40 /* unwind-cxx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "unwind-cxx.h"; sourceTree = "<group>"; };
619A55CB1391DC75001AAD40 /* utility */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = utility; sourceTree = "<group>"; };
619A55CC1391DC75001AAD40 /* valarray */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = valarray; sourceTree = "<group>"; };
619A55CD1391DC75001AAD40 /* vector */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vector; sourceTree = "<group>"; };
619A55CE1391DC75001AAD40 /* iomanip.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iomanip.cpp; sourceTree = "<group>"; };
619A55CF1391DC75001AAD40 /* ios.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ios.cpp; sourceTree = "<group>"; };
619A55D01391DC75001AAD40 /* iostream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iostream.cpp; sourceTree = "<group>"; };
619A55D11391DC75001AAD40 /* istream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = istream.cpp; sourceTree = "<group>"; };
619A55D21391DC75001AAD40 /* iterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = iterator.cpp; sourceTree = "<group>"; };
619A55D31391DC75001AAD40 /* limits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = limits.cpp; sourceTree = "<group>"; };
619A55D41391DC75001AAD40 /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
619A55D51391DC75001AAD40 /* locale.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = locale.cpp; sourceTree = "<group>"; };
619A55D61391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55D71391DC75001AAD40 /* map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = map.cpp; sourceTree = "<group>"; };
619A55D81391DC75001AAD40 /* new_handler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_handler.cpp; sourceTree = "<group>"; };
619A55D91391DC75001AAD40 /* new_op.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_op.cpp; sourceTree = "<group>"; };
619A55DA1391DC75001AAD40 /* new_opnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opnt.cpp; sourceTree = "<group>"; };
619A55DB1391DC75001AAD40 /* new_opv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opv.cpp; sourceTree = "<group>"; };
619A55DC1391DC75001AAD40 /* new_opvnt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = new_opvnt.cpp; sourceTree = "<group>"; };
619A55DD1391DC75001AAD40 /* numeric.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = numeric.cpp; sourceTree = "<group>"; };
619A55DE1391DC75001AAD40 /* ostream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ostream.cpp; sourceTree = "<group>"; };
619A55DF1391DC75001AAD40 /* queue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = queue.cpp; sourceTree = "<group>"; };
619A55E01391DC75001AAD40 /* Readme.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Readme.txt; sourceTree = "<group>"; };
619A55E11391DC75001AAD40 /* set.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = set.cpp; sourceTree = "<group>"; };
619A55E21391DC75001AAD40 /* sstream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = sstream.cpp; sourceTree = "<group>"; };
619A55E31391DC75001AAD40 /* stack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stack.cpp; sourceTree = "<group>"; };
619A55E41391DC75001AAD40 /* stdexcept.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = stdexcept.cpp; sourceTree = "<group>"; };
619A55E51391DC75001AAD40 /* streambuf.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = streambuf.cpp; sourceTree = "<group>"; };
619A55E61391DC75001AAD40 /* string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = string.cpp; sourceTree = "<group>"; };
619A55E71391DC75001AAD40 /* support.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = support.cpp; sourceTree = "<group>"; };
619A55E81391DC75001AAD40 /* typeinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = typeinfo.cpp; sourceTree = "<group>"; };
619A55E91391DC75001AAD40 /* uClibc++.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "uClibc++.c"; sourceTree = "<group>"; };
619A55EA1391DC75001AAD40 /* utility.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utility.cpp; sourceTree = "<group>"; };
619A55EB1391DC75001AAD40 /* valarray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = valarray.cpp; sourceTree = "<group>"; };
619A55EC1391DC75001AAD40 /* vector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = vector.cpp; sourceTree = "<group>"; };
619A55EE1391DC75001AAD40 /* bdmesg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bdmesg.c; sourceTree = "<group>"; };
619A55EF1391DC75001AAD40 /* Cconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Cconfig; sourceTree = "<group>"; };
619A55F01391DC75001AAD40 /* dyldsymboltool.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dyldsymboltool.c; sourceTree = "<group>"; };
619A55F11391DC75001AAD40 /* machOconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = machOconv.c; sourceTree = "<group>"; };
619A55F21391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55F31391DC75001AAD40 /* Make.rules */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Make.rules; sourceTree = "<group>"; };
619A55F41391DC75001AAD40 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
619A55F51391DC75001AAD40 /* MEMTEST86_LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MEMTEST86_LICENSE; sourceTree = "<group>"; };
619A55F71391DC75001AAD40 /* builddmg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = builddmg; sourceTree = "<group>"; };
619A55F81391DC75001AAD40 /* buildpkg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = buildpkg; sourceTree = "<group>"; };
619A55FB1391DC75001AAD40 /* EFI Mounter.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = "EFI Mounter.app"; sourceTree = "<group>"; };
619A55FF1391DC75001AAD40 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
619A56011391DC75001AAD40 /* Chameleon */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.bundle"; path = Chameleon; sourceTree = "<group>"; };
619A56031391DC75001AAD40 /* advanced.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = advanced.png; sourceTree = "<group>"; };
619A56041391DC75001AAD40 /* background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = background.png; sourceTree = "<group>"; };
619A56051391DC75001AAD40 /* cdBootCreator.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = cdBootCreator.sh; sourceTree = "<group>"; };
619A56061391DC75001AAD40 /* CDROM.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CDROM.png; sourceTree = "<group>"; };
619A56071391DC75001AAD40 /* cham.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = cham.png; sourceTree = "<group>"; };
619A56081391DC75001AAD40 /* Chameleon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Chameleon.icns; sourceTree = "<group>"; };
619A56091391DC75001AAD40 /* Chameleon.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = Chameleon.tiff; sourceTree = "<group>"; };
619A560A1391DC75001AAD40 /* chamsmall.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chamsmall.png; sourceTree = "<group>"; };
619A560B1391DC75001AAD40 /* CHANGES */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CHANGES; sourceTree = "<group>"; };
619A560C1391DC75001AAD40 /* chip.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = chip.png; sourceTree = "<group>"; };
619A560D1391DC75001AAD40 /* CREDITS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CREDITS; sourceTree = "<group>"; };
619A560E1391DC75001AAD40 /* disk.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = disk.png; sourceTree = "<group>"; };
619A56101391DC75001AAD40 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = English; path = English.lproj/Chameleon.nib; sourceTree = "<group>"; };
619A56121391DC75001AAD40 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Chameleon.strings; sourceTree = "<group>"; };
619A56141391DC75001AAD40 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
619A56161391DC75001AAD40 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
619A56171391DC75001AAD40 /* extractAcpi.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = extractAcpi.sh; sourceTree = "<group>"; };
619A56181391DC75001AAD40 /* flag.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = flag.png; sourceTree = "<group>"; };
619A56191391DC75001AAD40 /* footer.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = footer.png; sourceTree = "<group>"; };
619A561A1391DC75001AAD40 /* French */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = French; path = French.lproj/Chameleon.nib; sourceTree = "<group>"; };
619A561B1391DC75001AAD40 /* French */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = French; path = French.lproj/Chameleon.strings; sourceTree = "<group>"; };
619A561C1391DC75001AAD40 /* French */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = French; path = French.lproj/Localizable.strings; sourceTree = "<group>"; };
619A561D1391DC75001AAD40 /* German */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = German; path = German.lproj/Chameleon.nib; sourceTree = "<group>"; };
619A561E1391DC75001AAD40 /* German */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Chameleon.strings; sourceTree = "<group>"; };
619A561F1391DC75001AAD40 /* German */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = German; path = German.lproj/Localizable.strings; sourceTree = "<group>"; };
619A56201391DC75001AAD40 /* getDevProp.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = getDevProp.sh; sourceTree = "<group>"; };
619A56211391DC75001AAD40 /* gfxutil */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = gfxutil; sourceTree = "<group>"; };
619A56221391DC75001AAD40 /* Italian */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = Italian; path = Italian.lproj/Chameleon.nib; sourceTree = "<group>"; };
619A56231391DC75001AAD40 /* Italian */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Italian; path = Italian.lproj/Chameleon.strings; sourceTree = "<group>"; };
619A56241391DC75001AAD40 /* Italian */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Italian; path = Italian.lproj/Localizable.strings; sourceTree = "<group>"; };
619A56251391DC75001AAD40 /* Linux.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Linux.png; sourceTree = "<group>"; };
619A56261391DC75001AAD40 /* MacOSX.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MacOSX.png; sourceTree = "<group>"; };
619A56271391DC75001AAD40 /* name.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = name.png; sourceTree = "<group>"; };
619A56281391DC75001AAD40 /* plug.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = plug.png; sourceTree = "<group>"; };
619A56291391DC75001AAD40 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
619A562A1391DC75001AAD40 /* Spanish */ = {isa = PBXFileReference; lastKnownFileType = file.bplist; name = Spanish; path = Spanish.lproj/Chameleon.nib; sourceTree = "<group>"; };
619A562B1391DC75001AAD40 /* Spanish */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/Chameleon.strings; sourceTree = "<group>"; };
619A562C1391DC75001AAD40 /* Spanish */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Spanish; path = Spanish.lproj/Localizable.strings; sourceTree = "<group>"; };
619A562D1391DC75001AAD40 /* syringe.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = syringe.png; sourceTree = "<group>"; };
619A562E1391DC75001AAD40 /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = "<group>"; };
619A562F1391DC75001AAD40 /* version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = version; sourceTree = "<group>"; };
619A56301391DC75001AAD40 /* Windows.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Windows.png; sourceTree = "<group>"; };
619A56311391DC75001AAD40 /* wrench.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = wrench.png; sourceTree = "<group>"; };
619A56331391DC75001AAD40 /* smbios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = smbios.plist; sourceTree = "<group>"; };
619A56341391DC75001AAD40 /* Distribution */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Distribution; sourceTree = "<group>"; };
619A56361391DC75001AAD40 /* BootHelp.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = BootHelp.txt; sourceTree = "<group>"; };
619A56371391DC75001AAD40 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
619A56381391DC75001AAD40 /* Users_Guide0.5.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Users_Guide0.5.pdf; sourceTree = "<group>"; };
619A56391391DC75001AAD40 /* fdisk440 */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; path = fdisk440; sourceTree = "<group>"; };
619A563A1391DC75001AAD40 /* Icon.zip */ = {isa = PBXFileReference; lastKnownFileType = archive.zip; path = Icon.zip; sourceTree = "<group>"; };
619A563C1391DC75001AAD40 /* AHCIPortInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = AHCIPortInjector.kext; sourceTree = "<group>"; };
619A563D1391DC75001AAD40 /* ATAPortInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = ATAPortInjector.kext; sourceTree = "<group>"; };
619A563E1391DC75001AAD40 /* FakeSMC.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = FakeSMC.kext; sourceTree = "<group>"; };
619A563F1391DC75001AAD40 /* IOAHCIBlockStorageInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = IOAHCIBlockStorageInjector.kext; sourceTree = "<group>"; };
619A56401391DC75001AAD40 /* IOATAFamily.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = IOATAFamily.kext; sourceTree = "<group>"; };
619A56411391DC75001AAD40 /* JMicronATAInjector.kext */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.kernel-extension"; path = JMicronATAInjector.kext; sourceTree = "<group>"; };
619A56431391DC75001AAD40 /* background.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = background.tiff; sourceTree = "<group>"; };
619A56451391DC75001AAD40 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = English; path = English.lproj/Conclusion.rtfd; sourceTree = "<group>"; };
619A56471391DC75001AAD40 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; name = English; path = English.lproj/Description.html; sourceTree = "<group>"; };
619A56491391DC75001AAD40 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/License.rtf; sourceTree = "<group>"; };
619A564B1391DC75001AAD40 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
619A564D1391DC75001AAD40 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; name = English; path = English.lproj/Welcome.rtfd; sourceTree = "<group>"; };
619A56511391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56531391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56551391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56571391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56591391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A565B1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A565D1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A565F1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56611391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56631391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56651391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56671391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56691391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A566B1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A566D1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56701391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56721391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56741391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56761391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56781391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A567A1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A567C1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A567E1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56801391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56831391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56851391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56871391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56891391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A568B1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A568D1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A568F1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56911391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56941391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56961391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56981391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A569A1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A569C1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A569E1391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56A01391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = postinstall; sourceTree = "<group>"; };
619A56A21391DC75001AAD40 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = postinstall; sourceTree = "<group>"; };
619A56A31391DC75001AAD40 /* slimpkg */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = slimpkg; sourceTree = "<group>"; };
619A56A41391DC75001AAD40 /* smbios.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = smbios.plist; sourceTree = "<group>"; };
619A56A51391DC75001AAD40 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = "<group>"; };
619A56A61391DC75001AAD40 /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = "<group>"; };
619A56A71391DC75001AAD40 /* version */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = version; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXGroup section */
0389368B137D4A74004AD9DC /* modules */ = {
08FB7794FE84155DC02AAC07 /* Chameleon */ = {
isa = PBXGroup;
children = (
03DA89341389338300B43B35 /* AMDGraphicsEnabler */,
03DA893A1389338300B43B35 /* ATiGraphicsEnabler */,
03DA89411389338300B43B35 /* IntelGraphicsEnabler */,
03DA89471389338300B43B35 /* NVIDIAGraphicsEnabler */,
0389369D137D4A74004AD9DC /* HelloWorld */,
038936A1137D4A74004AD9DC /* include */,
038936A4137D4A74004AD9DC /* klibc */,
038936EC137D4A74004AD9DC /* Makefile */,
038936ED137D4A74004AD9DC /* MakeInc.dir */,
038936EE137D4A74004AD9DC /* module_includes */,
03893731137D4A75004AD9DC /* Modules.txt */,
03893732137D4A75004AD9DC /* Resolution */,
0389373C137D4A75004AD9DC /* uClibc++ */,
619A50C11391DC74001AAD40 /* APPLE_LICENSE */,
619A50C21391DC74001AAD40 /* artwork */,
619A515B1391DC75001AAD40 /* build */,
619A516B1391DC75001AAD40 /* Cconfig */,
619A516C1391DC75001AAD40 /* CHANGES */,
619A516D1391DC75001AAD40 /* coding_standards.txt */,
619A516E1391DC75001AAD40 /* CREDITS */,
619A516F1391DC75001AAD40 /* doc */,
619A51841391DC75001AAD40 /* GPL_V2_LICENSE */,
619A51851391DC75001AAD40 /* i386 */,
619A55F31391DC75001AAD40 /* Make.rules */,
619A55F41391DC75001AAD40 /* Makefile */,
619A55F51391DC75001AAD40 /* MEMTEST86_LICENSE */,
619A55F61391DC75001AAD40 /* package */,
619A56A51391DC75001AAD40 /* README */,
619A56A61391DC75001AAD40 /* TODO */,
619A56A71391DC75001AAD40 /* version */,
);
path = modules;
name = Chameleon;
sourceTree = "<group>";
};
0389369D137D4A74004AD9DC /* HelloWorld */ = {
619A50C21391DC74001AAD40 /* artwork */ = {
isa = PBXGroup;
children = (
0389369E137D4A74004AD9DC /* HelloWorld.cpp */,
0389369F137D4A74004AD9DC /* include */,
038936A0137D4A74004AD9DC /* Makefile */,
619A50C31391DC74001AAD40 /* themes */,
);
path = HelloWorld;
path = artwork;
sourceTree = "<group>";
};
0389369F137D4A74004AD9DC /* include */ = {
619A50C31391DC74001AAD40 /* themes */ = {
isa = PBXGroup;
children = (
619A50C41391DC74001AAD40 /* bullet */,
619A50E41391DC74001AAD40 /* default */,
619A51121391DC75001AAD40 /* embed */,
619A51321391DC75001AAD40 /* legacy */,
619A51511391DC75001AAD40 /* msi_netbook */,
619A51541391DC75001AAD40 /* pinktink */,
619A51571391DC75001AAD40 /* twilight */,
);
path = include;
path = themes;
sourceTree = "<group>";
};
038936A1137D4A74004AD9DC /* include */ = {
619A50C41391DC74001AAD40 /* bullet */ = {
isa = PBXGroup;
children = (
038936A2137D4A74004AD9DC /* modules */,
038936A3137D4A74004AD9DC /* types.h */,
619A50C51391DC74001AAD40 /* background.png */,
619A50C61391DC74001AAD40 /* boot.png */,
619A50C71391DC74001AAD40 /* device_cdrom.png */,
619A50C81391DC74001AAD40 /* device_ext3.png */,
619A50C91391DC74001AAD40 /* device_fat16.png */,
619A50CA1391DC74001AAD40 /* device_fat32.png */,
619A50CB1391DC74001AAD40 /* device_generic.png */,
619A50CC1391DC74001AAD40 /* device_hfsplus.png */,
619A50CD1391DC74001AAD40 /* device_ntfs.png */,
619A50CE1391DC74001AAD40 /* device_scroll_next.png */,
619A50CF1391DC74001AAD40 /* device_scroll_prev.png */,
619A50D01391DC74001AAD40 /* device_selection.png */,
619A50D11391DC74001AAD40 /* font_console.png */,
619A50D21391DC74001AAD40 /* font_small.png */,
619A50D31391DC74001AAD40 /* logo.png */,
619A50D41391DC74001AAD40 /* menu_boot.png */,
619A50D51391DC74001AAD40 /* menu_help.png */,
619A50D61391DC74001AAD40 /* menu_ignore_caches.png */,
619A50D71391DC74001AAD40 /* menu_ignore_caches_disabled.png */,
619A50D81391DC74001AAD40 /* menu_memory_info.png */,
619A50D91391DC74001AAD40 /* menu_selection.png */,
619A50DA1391DC74001AAD40 /* menu_single_user.png */,
619A50DB1391DC74001AAD40 /* menu_single_user_disabled.png */,
619A50DC1391DC74001AAD40 /* menu_verbose.png */,
619A50DD1391DC74001AAD40 /* menu_verbose_disabled.png */,
619A50DE1391DC74001AAD40 /* menu_video_info.png */,
619A50DF1391DC74001AAD40 /* progress_bar.png */,
619A50E01391DC74001AAD40 /* progress_bar_background.png */,
619A50E11391DC74001AAD40 /* text_scroll_next.png */,
619A50E21391DC74001AAD40 /* text_scroll_prev.png */,
619A50E31391DC74001AAD40 /* theme.plist */,
);
path = include;
path = bullet;
sourceTree = "<group>";
};
038936A4137D4A74004AD9DC /* klibc */ = {
619A50E41391DC74001AAD40 /* default */ = {
isa = PBXGroup;
children = (
038936A5137D4A74004AD9DC /* __ashldi3.c */,
038936A6137D4A74004AD9DC /* __ashrdi3.c */,
038936A7137D4A74004AD9DC /* __clzsi2.c */,
038936A8137D4A74004AD9DC /* __divdi3.c */,
038936A9137D4A74004AD9DC /* __divsi3.c */,
038936AA137D4A74004AD9DC /* __lshrdi3.c */,
038936AB137D4A74004AD9DC /* __moddi3.c */,
038936AC137D4A74004AD9DC /* __modsi3.c */,
038936AD137D4A74004AD9DC /* __udivdi3.c */,
038936AE137D4A74004AD9DC /* __udivmoddi4.c */,
038936AF137D4A74004AD9DC /* __udivmodsi4.c */,
038936B0137D4A74004AD9DC /* __udivsi3.c */,
038936B1137D4A74004AD9DC /* __umoddi3.c */,
038936B2137D4A74004AD9DC /* __umodsi3.c */,
038936B3137D4A74004AD9DC /* atexit.c */,
038936B4137D4A74004AD9DC /* atexit.h */,
038936B5137D4A74004AD9DC /* atoi.c */,
038936B6137D4A74004AD9DC /* atol.c */,
038936B7137D4A74004AD9DC /* atoll.c */,
038936B8137D4A74004AD9DC /* atox.c */,
038936B9137D4A74004AD9DC /* bsearch.c */,
038936BA137D4A74004AD9DC /* calloc.c */,
038936BB137D4A74004AD9DC /* exit.c */,
038936BC137D4A74004AD9DC /* jrand48.c */,
038936BD137D4A74004AD9DC /* klibc.c */,
038936BE137D4A74004AD9DC /* LICENSE */,
038936BF137D4A74004AD9DC /* limits.h */,
038936C0137D4A74004AD9DC /* lrand48.c */,
038936C1137D4A74004AD9DC /* Makefile */,
038936C2137D4A74004AD9DC /* memccpy.c */,
038936C3137D4A74004AD9DC /* memchr.c */,
038936C4137D4A74004AD9DC /* memmem.c */,
038936C5137D4A74004AD9DC /* memmove.c */,
038936C6137D4A74004AD9DC /* memrchr.c */,
038936C7137D4A74004AD9DC /* memswap.c */,
038936C8137D4A74004AD9DC /* mrand48.c */,
038936C9137D4A74004AD9DC /* nrand48.c */,
038936CA137D4A74004AD9DC /* onexit.c */,
038936CB137D4A74004AD9DC /* qsort.c */,
038936CC137D4A74004AD9DC /* seed48.c */,
038936CD137D4A74004AD9DC /* sha1hash.c */,
038936CE137D4A74004AD9DC /* snprintf.c */,
038936CF137D4A74004AD9DC /* srand48.c */,
038936D0137D4A74004AD9DC /* sscanf.c */,
038936D1137D4A74004AD9DC /* strcasecmp.c */,
038936D2137D4A74004AD9DC /* strdup.c */,
038936D3137D4A74004AD9DC /* strlcat.c */,
038936D4137D4A74004AD9DC /* strncasecmp.c */,
038936D5137D4A74004AD9DC /* strndup.c */,
038936D6137D4A74004AD9DC /* strnlen.c */,
038936D7137D4A74004AD9DC /* strntoimax.c */,
038936D8137D4A74004AD9DC /* strntoumax.c */,
038936D9137D4A74004AD9DC /* strpbrk.c */,
038936DA137D4A74004AD9DC /* strsep.c */,
038936DB137D4A74004AD9DC /* strtoimax.c */,
038936DC137D4A74004AD9DC /* strtok.c */,
038936DD137D4A74004AD9DC /* strtok_r.c */,
038936DE137D4A74004AD9DC /* strtol.c */,
038936DF137D4A74004AD9DC /* strtoll.c */,
038936E0137D4A74004AD9DC /* strtotimespec.c */,
038936E1137D4A74004AD9DC /* strtotimeval.c */,
038936E2137D4A74004AD9DC /* strtotimex.c */,
038936E3137D4A74004AD9DC /* strtoul.c */,
038936E4137D4A74004AD9DC /* strtoull.c */,
038936E5137D4A74004AD9DC /* strtoumax.c */,
038936E6137D4A74004AD9DC /* strtox.c */,
038936E7137D4A74004AD9DC /* strxspn.c */,
038936E8137D4A74004AD9DC /* strxspn.h */,
038936E9137D4A74004AD9DC /* version */,
038936EA137D4A74004AD9DC /* vsnprintf.c */,
038936EB137D4A74004AD9DC /* vsscanf.c */,
619A50E51391DC74001AAD40 /* background.png */,
619A50E61391DC74001AAD40 /* boot.png */,
619A50E71391DC74001AAD40 /* device_befs.png */,
619A50E81391DC74001AAD40 /* device_befs_o.png */,
619A50E91391DC74001AAD40 /* device_cdrom.png */,
619A50EA1391DC74001AAD40 /* device_cdrom_o.png */,
619A50EB1391DC74001AAD40 /* device_ext3.png */,
619A50EC1391DC74001AAD40 /* device_ext3_o.png */,
619A50ED1391DC74001AAD40 /* device_fat.png */,
619A50EE1391DC74001AAD40 /* device_fat_o.png */,
619A50EF1391DC74001AAD40 /* device_freebsd.png */,
619A50F01391DC74001AAD40 /* device_freebsd_o.png */,
619A50F11391DC74001AAD40 /* device_generic.png */,
619A50F21391DC74001AAD40 /* device_generic_o.png */,
619A50F31391DC74001AAD40 /* device_hfsplus.png */,
619A50F41391DC74001AAD40 /* device_hfsplus_o.png */,
619A50F51391DC74001AAD40 /* device_hfsraid.png */,
619A50F61391DC74001AAD40 /* device_hfsraid_o.png */,
619A50F71391DC74001AAD40 /* device_ntfs.png */,
619A50F81391DC74001AAD40 /* device_ntfs_o.png */,
619A50F91391DC74001AAD40 /* device_openbsd.png */,
619A50FA1391DC74001AAD40 /* device_openbsd_o.png */,
619A50FB1391DC74001AAD40 /* device_scroll_next.png */,
619A50FC1391DC74001AAD40 /* device_scroll_prev.png */,
619A50FD1391DC74001AAD40 /* device_selection.png */,
619A50FE1391DC74001AAD40 /* font_console.png */,
619A50FF1391DC75001AAD40 /* font_small.png */,
619A51001391DC75001AAD40 /* logo.png */,
619A51011391DC75001AAD40 /* menu_boot.png */,
619A51021391DC75001AAD40 /* menu_help.png */,
619A51031391DC75001AAD40 /* menu_ignore_caches.png */,
619A51041391DC75001AAD40 /* menu_ignore_caches_disabled.png */,
619A51051391DC75001AAD40 /* menu_memory_info.png */,
619A51061391DC75001AAD40 /* menu_selection.png */,
619A51071391DC75001AAD40 /* menu_single_user.png */,
619A51081391DC75001AAD40 /* menu_single_user_disabled.png */,
619A51091391DC75001AAD40 /* menu_verbose.png */,
619A510A1391DC75001AAD40 /* menu_verbose_disabled.png */,
619A510B1391DC75001AAD40 /* menu_video_info.png */,
619A510C1391DC75001AAD40 /* progress_bar.png */,
619A510D1391DC75001AAD40 /* progress_bar_background.png */,
619A510E1391DC75001AAD40 /* text_scroll_next.png */,
619A510F1391DC75001AAD40 /* text_scroll_prev.png */,
619A51101391DC75001AAD40 /* theme.plist */,
619A51111391DC75001AAD40 /* thumb.png */,
);
path = klibc;
path = default;
sourceTree = "<group>";
};
038936EE137D4A74004AD9DC /* module_includes */ = {
619A51121391DC75001AAD40 /* embed */ = {
isa = PBXGroup;
children = (
038936EF137D4A74004AD9DC /* algorithm */,
038936F0137D4A74004AD9DC /* associative_base */,
038936F1137D4A74004AD9DC /* basic_definitions */,
038936F2137D4A74004AD9DC /* bitset */,
038936F3137D4A74004AD9DC /* cassert */,
038936F4137D4A74004AD9DC /* cctype */,
038936F5137D4A74004AD9DC /* cerrno */,
038936F6137D4A74004AD9DC /* cfloat */,
038936F7137D4A74004AD9DC /* char_traits */,
038936F8137D4A74004AD9DC /* climits */,
038936F9137D4A74004AD9DC /* clocale */,
038936FA137D4A74004AD9DC /* cmath */,
038936FB137D4A74004AD9DC /* complex */,
038936FC137D4A74004AD9DC /* csetjmp */,
038936FD137D4A74004AD9DC /* csignal */,
038936FE137D4A74004AD9DC /* cstdarg */,
038936FF137D4A74004AD9DC /* cstddef */,
03893700137D4A74004AD9DC /* cstdio */,
03893701137D4A74004AD9DC /* cstdlib */,
03893702137D4A74004AD9DC /* cstring */,
03893703137D4A74004AD9DC /* ctime */,
03893704137D4A74004AD9DC /* cwchar */,
03893705137D4A74004AD9DC /* cwctype */,
03893706137D4A74004AD9DC /* deque */,
03893707137D4A74004AD9DC /* edid.h */,
03893708137D4A74004AD9DC /* exception */,
03893709137D4A74004AD9DC /* fstream */,
0389370A137D4A74004AD9DC /* func_exception */,
0389370B137D4A74004AD9DC /* functional */,
0389370C137D4A74004AD9DC /* iomanip */,
0389370D137D4A74004AD9DC /* ios */,
0389370E137D4A74004AD9DC /* iosfwd */,
0389370F137D4A74004AD9DC /* iostream */,
03893710137D4A74004AD9DC /* istream */,
03893711137D4A74004AD9DC /* istream_helpers */,
03893712137D4A74004AD9DC /* iterator */,
03893713137D4A74004AD9DC /* iterator_base */,
03893714137D4A75004AD9DC /* limits */,
03893715137D4A75004AD9DC /* list */,
03893716137D4A75004AD9DC /* locale */,
03893717137D4A75004AD9DC /* Makefile */,
03893718137D4A75004AD9DC /* map */,
03893719137D4A75004AD9DC /* map.old */,
0389371A137D4A75004AD9DC /* memory */,
0389371B137D4A75004AD9DC /* new */,
0389371C137D4A75004AD9DC /* numeric */,
0389371D137D4A75004AD9DC /* ostream */,
0389371E137D4A75004AD9DC /* ostream_helpers */,
0389371F137D4A75004AD9DC /* queue */,
03893720137D4A75004AD9DC /* set */,
03893721137D4A75004AD9DC /* set.old */,
03893722137D4A75004AD9DC /* sstream */,
03893723137D4A75004AD9DC /* stack */,
03893724137D4A75004AD9DC /* stdexcept */,
03893725137D4A75004AD9DC /* streambuf */,
03893726137D4A75004AD9DC /* string */,
03893727137D4A75004AD9DC /* string_iostream */,
03893728137D4A75004AD9DC /* support */,
03893729137D4A75004AD9DC /* system_configuration.h */,
0389372A137D4A75004AD9DC /* type_traits */,
0389372B137D4A75004AD9DC /* typeinfo */,
0389372C137D4A75004AD9DC /* types */,
0389372D137D4A75004AD9DC /* unwind-cxx.h */,
0389372E137D4A75004AD9DC /* utility */,
0389372F137D4A75004AD9DC /* valarray */,
03893730137D4A75004AD9DC /* vector */,
619A51131391DC75001AAD40 /* background.png */,
619A51141391DC75001AAD40 /* boot.png */,
619A51151391DC75001AAD40 /* device_cdrom.png */,
619A51161391DC75001AAD40 /* device_ext3.png */,
619A51171391DC75001AAD40 /* device_fat.png */,
619A51181391DC75001AAD40 /* device_generic.png */,
619A51191391DC75001AAD40 /* device_hfsplus.png */,
619A511A1391DC75001AAD40 /* device_hfsraid.png */,
619A511B1391DC75001AAD40 /* device_ntfs.png */,
619A511C1391DC75001AAD40 /* device_scroll_next.png */,
619A511D1391DC75001AAD40 /* device_scroll_prev.png */,
619A511E1391DC75001AAD40 /* device_selection.png */,
619A511F1391DC75001AAD40 /* font_console.png */,
619A51201391DC75001AAD40 /* font_small.png */,
619A51211391DC75001AAD40 /* logo.png */,
619A51221391DC75001AAD40 /* menu_boot.png */,
619A51231391DC75001AAD40 /* menu_help.png */,
619A51241391DC75001AAD40 /* menu_ignore_caches.png */,
619A51251391DC75001AAD40 /* menu_ignore_caches_disabled.png */,
619A51261391DC75001AAD40 /* menu_memory_info.png */,
619A51271391DC75001AAD40 /* menu_selection.png */,
619A51281391DC75001AAD40 /* menu_single_user.png */,
619A51291391DC75001AAD40 /* menu_single_user_disabled.png */,
619A512A1391DC75001AAD40 /* menu_verbose.png */,
619A512B1391DC75001AAD40 /* menu_verbose_disabled.png */,
619A512C1391DC75001AAD40 /* menu_video_info.png */,
619A512D1391DC75001AAD40 /* progress_bar.png */,
619A512E1391DC75001AAD40 /* progress_bar_background.png */,
619A512F1391DC75001AAD40 /* text_scroll_next.png */,
619A51301391DC75001AAD40 /* text_scroll_prev.png */,
619A51311391DC75001AAD40 /* theme.plist */,
);
path = module_includes;
path = embed;
sourceTree = "<group>";
};
03893732137D4A75004AD9DC /* Resolution */ = {
619A51321391DC75001AAD40 /* legacy */ = {
isa = PBXGroup;
children = (
03893733137D4A75004AD9DC /* 915resolution.c */,
03893734137D4A75004AD9DC /* 915resolution.h */,
03893735137D4A75004AD9DC /* edid.c */,
03893736137D4A75004AD9DC /* include */,
03893738137D4A75004AD9DC /* Makefile */,
03893739137D4A75004AD9DC /* Resolution.c */,
0389373A137D4A75004AD9DC /* shortatombios.h */,
619A51331391DC75001AAD40 /* background.png */,
619A51341391DC75001AAD40 /* boot.png */,
619A51351391DC75001AAD40 /* device_cdrom.png */,
619A51361391DC75001AAD40 /* device_ext3.png */,
619A51371391DC75001AAD40 /* device_fat.png */,
619A51381391DC75001AAD40 /* device_generic.png */,
619A51391391DC75001AAD40 /* device_hfsplus.png */,
619A513A1391DC75001AAD40 /* device_ntfs.png */,
619A513B1391DC75001AAD40 /* device_scroll_next.png */,
619A513C1391DC75001AAD40 /* device_scroll_prev.png */,
619A513D1391DC75001AAD40 /* device_selection.png */,
619A513E1391DC75001AAD40 /* font_console.png */,
619A513F1391DC75001AAD40 /* font_small.png */,
619A51401391DC75001AAD40 /* logo.png */,
619A51411391DC75001AAD40 /* menu_boot.png */,
619A51421391DC75001AAD40 /* menu_help.png */,
619A51431391DC75001AAD40 /* menu_ignore_caches.png */,
619A51441391DC75001AAD40 /* menu_ignore_caches_disabled.png */,
619A51451391DC75001AAD40 /* menu_memory_info.png */,
619A51461391DC75001AAD40 /* menu_selection.png */,
619A51471391DC75001AAD40 /* menu_single_user.png */,
619A51481391DC75001AAD40 /* menu_single_user_disabled.png */,
619A51491391DC75001AAD40 /* menu_verbose.png */,
619A514A1391DC75001AAD40 /* menu_verbose_disabled.png */,
619A514B1391DC75001AAD40 /* menu_video_info.png */,
619A514C1391DC75001AAD40 /* progress_bar.png */,
619A514D1391DC75001AAD40 /* progress_bar_background.png */,
619A514E1391DC75001AAD40 /* text_scroll_next.png */,
619A514F1391DC75001AAD40 /* text_scroll_prev.png */,
619A51501391DC75001AAD40 /* theme.plist */,
);
path = Resolution;
path = legacy;
sourceTree = "<group>";
};
03893736137D4A75004AD9DC /* include */ = {
619A51511391DC75001AAD40 /* msi_netbook */ = {
isa = PBXGroup;
children = (
03893737137D4A75004AD9DC /* edid.h */,
619A51521391DC75001AAD40 /* logo.png */,
619A51531391DC75001AAD40 /* theme.plist */,
);
path = include;
path = msi_netbook;
sourceTree = "<group>";
};
0389373C137D4A75004AD9DC /* uClibc++ */ = {
619A51541391DC75001AAD40 /* pinktink */ = {
isa = PBXGroup;
children = (
0389373D137D4A75004AD9DC /* abi.cpp */,
0389373E137D4A75004AD9DC /* algorithm.cpp */,
0389373F137D4A75004AD9DC /* associative_base.cpp */,
03893740137D4A75004AD9DC /* bitset.cpp */,
03893741137D4A75004AD9DC /* char_traits.cpp */,
03893742137D4A75004AD9DC /* complex.cpp */,
03893743137D4A75004AD9DC /* del_op.cpp */,
03893744137D4A75004AD9DC /* del_opnt.cpp */,
03893745137D4A75004AD9DC /* del_opv.cpp */,
03893746137D4A75004AD9DC /* del_opvnt.cpp */,
03893747137D4A75004AD9DC /* deque.cpp */,
03893748137D4A75004AD9DC /* eh_alloc.cpp */,
03893749137D4A75004AD9DC /* eh_globals.cpp */,
0389374A137D4A75004AD9DC /* exception.cpp */,
0389374B137D4A75004AD9DC /* fstream.cpp */,
0389374C137D4A75004AD9DC /* func_exception.cpp */,
0389374D137D4A75004AD9DC /* include */,
0389378F137D4A75004AD9DC /* iomanip.cpp */,
03893790137D4A75004AD9DC /* ios.cpp */,
03893791137D4A75004AD9DC /* iostream.cpp */,
03893792137D4A75004AD9DC /* istream.cpp */,
03893793137D4A75004AD9DC /* iterator.cpp */,
03893794137D4A75004AD9DC /* limits.cpp */,
03893795137D4A75004AD9DC /* list.cpp */,
03893796137D4A75004AD9DC /* locale.cpp */,
03893797137D4A75004AD9DC /* Makefile */,
03893798137D4A75004AD9DC /* map.cpp */,
03893799137D4A75004AD9DC /* new_handler.cpp */,
0389379A137D4A75004AD9DC /* new_op.cpp */,
0389379B137D4A75004AD9DC /* new_opnt.cpp */,
0389379C137D4A75004AD9DC /* new_opv.cpp */,
0389379D137D4A75004AD9DC /* new_opvnt.cpp */,
0389379E137D4A75004AD9DC /* numeric.cpp */,
0389379F137D4A75004AD9DC /* ostream.cpp */,
038937A0137D4A75004AD9DC /* queue.cpp */,
038937A1137D4A75004AD9DC /* set.cpp */,
038937A2137D4A75004AD9DC /* sstream.cpp */,
038937A3137D4A75004AD9DC /* stack.cpp */,
038937A4137D4A75004AD9DC /* stdexcept.cpp */,
038937A5137D4A75004AD9DC /* streambuf.cpp */,
038937A6137D4A75004AD9DC /* string.cpp */,
038937A7137D4A75004AD9DC /* support.cpp */,
038937A8137D4A75004AD9DC /* typeinfo.cpp */,
038937A9137D4A75004AD9DC /* uClibc++.c */,
038937AA137D4A75004AD9DC /* utility.cpp */,
038937AB137D4A75004AD9DC /* valarray.cpp */,
038937AC137D4A75004AD9DC /* vector.cpp */,
619A51551391DC75001AAD40 /* logo.png */,
619A51561391DC75001AAD40 /* theme.plist */,
);
path = "uClibc++";
path = pinktink;
sourceTree = "<group>";
};
0389374D137D4A75004AD9DC /* include */ = {
619A51571391DC75001AAD40 /* twilight */ = {
isa = PBXGroup;
children = (
0389374E137D4A75004AD9DC /* algorithm */,
0389374F137D4A75004AD9DC /* associative_base */,
03893750137D4A75004AD9DC /* basic_definitions */,
03893751137D4A75004AD9DC /* bitset */,
03893752137D4A75004AD9DC /* cassert */,
03893753137D4A75004AD9DC /* cctype */,
03893754137D4A75004AD9DC /* cerrno */,
03893755137D4A75004AD9DC /* cfloat */,
03893756137D4A75004AD9DC /* char_traits */,
03893757137D4A75004AD9DC /* climits */,
03893758137D4A75004AD9DC /* clocale */,
03893759137D4A75004AD9DC /* cmath */,
0389375A137D4A75004AD9DC /* complex */,
0389375B137D4A75004AD9DC /* csetjmp */,
0389375C137D4A75004AD9DC /* csignal */,
0389375D137D4A75004AD9DC /* cstdarg */,
0389375E137D4A75004AD9DC /* cstddef */,
0389375F137D4A75004AD9DC /* cstdio */,
03893760137D4A75004AD9DC /* cstdlib */,
03893761137D4A75004AD9DC /* cstring */,
03893762137D4A75004AD9DC /* ctime */,
03893763137D4A75004AD9DC /* cwchar */,
03893764137D4A75004AD9DC /* cwctype */,
03893765137D4A75004AD9DC /* deque */,
03893766137D4A75004AD9DC /* exception */,
03893767137D4A75004AD9DC /* fstream */,
03893768137D4A75004AD9DC /* func_exception */,
03893769137D4A75004AD9DC /* functional */,
0389376A137D4A75004AD9DC /* iomanip */,
0389376B137D4A75004AD9DC /* ios */,
0389376C137D4A75004AD9DC /* iosfwd */,
0389376D137D4A75004AD9DC /* iostream */,
0389376E137D4A75004AD9DC /* istream */,
0389376F137D4A75004AD9DC /* istream_helpers */,
03893770137D4A75004AD9DC /* iterator */,
03893771137D4A75004AD9DC /* iterator_base */,
03893772137D4A75004AD9DC /* limits */,
03893773137D4A75004AD9DC /* list */,
03893774137D4A75004AD9DC /* locale */,
03893775137D4A75004AD9DC /* Makefile */,
03893776137D4A75004AD9DC /* map */,
03893777137D4A75004AD9DC /* map.old */,
03893778137D4A75004AD9DC /* memory */,
03893779137D4A75004AD9DC /* new */,
0389377A137D4A75004AD9DC /* numeric */,
0389377B137D4A75004AD9DC /* ostream */,
0389377C137D4A75004AD9DC /* ostream_helpers */,
0389377D137D4A75004AD9DC /* queue */,
0389377E137D4A75004AD9DC /* set */,
0389377F137D4A75004AD9DC /* set.old */,
03893780137D4A75004AD9DC /* sstream */,
03893781137D4A75004AD9DC /* stack */,
03893782137D4A75004AD9DC /* stdexcept */,
03893783137D4A75004AD9DC /* streambuf */,
03893784137D4A75004AD9DC /* string */,
03893785137D4A75004AD9DC /* string_iostream */,
03893786137D4A75004AD9DC /* support */,
03893787137D4A75004AD9DC /* system_configuration.h */,
03893788137D4A75004AD9DC /* type_traits */,
03893789137D4A75004AD9DC /* typeinfo */,
0389378A137D4A75004AD9DC /* types */,
0389378B137D4A75004AD9DC /* unwind-cxx.h */,
0389378C137D4A75004AD9DC /* utility */,
0389378D137D4A75004AD9DC /* valarray */,
0389378E137D4A75004AD9DC /* vector */,
619A51581391DC75001AAD40 /* font_small.png */,
619A51591391DC75001AAD40 /* logo.png */,
619A515A1391DC75001AAD40 /* theme.plist */,
);
path = include;
path = twilight;
sourceTree = "<group>";
};
03DA89341389338300B43B35 /* AMDGraphicsEnabler */ = {
619A515B1391DC75001AAD40 /* build */ = {
isa = PBXGroup;
children = (
03DA89351389338300B43B35 /* AMDGraphicsEnabler.c */,
03DA89361389338300B43B35 /* ati.c */,
03DA89371389338300B43B35 /* ati_reg.h */,
03DA89381389338300B43B35 /* Makefile */,
03DA89391389338300B43B35 /* Readme.txt */,
619A515C1391DC75001AAD40 /* Chameleon.build */,
);
path = AMDGraphicsEnabler;
path = build;
sourceTree = "<group>";
};
03DA893A1389338300B43B35 /* ATiGraphicsEnabler */ = {
619A515C1391DC75001AAD40 /* Chameleon.build */ = {
isa = PBXGroup;
children = (
03DA893B1389338300B43B35 /* ati.c */,
03DA893C1389338300B43B35 /* ati.h */,
03DA893D1389338300B43B35 /* ATiGraphicsEnabler.c */,
03DA893E1389338300B43B35 /* Makefile */,
03DA89401389338300B43B35 /* Readme.txt */,
619A515D1391DC75001AAD40 /* Chameleon.pbxindex */,
);
path = ATiGraphicsEnabler;
path = Chameleon.build;
sourceTree = "<group>";
};
03DA89411389338300B43B35 /* IntelGraphicsEnabler */ = {
619A515D1391DC75001AAD40 /* Chameleon.pbxindex */ = {
isa = PBXGroup;
children = (
03DA89421389338300B43B35 /* gma.c */,
03DA89431389338300B43B35 /* gma.h */,
03DA89441389338300B43B35 /* IntelGraphicsEnabler.c */,
03DA89451389338300B43B35 /* Makefile */,
03DA89461389338300B43B35 /* Readme.txt */,
619A515E1391DC75001AAD40 /* categories.pbxbtree */,
619A515F1391DC75001AAD40 /* cdecls.pbxbtree */,
619A51601391DC75001AAD40 /* decls.pbxbtree */,
619A51611391DC75001AAD40 /* files.pbxbtree */,
619A51621391DC75001AAD40 /* imports.pbxbtree */,
619A51631391DC75001AAD40 /* pbxindex.header */,
619A51641391DC75001AAD40 /* protocols.pbxbtree */,
619A51651391DC75001AAD40 /* refs.pbxbtree */,
619A51661391DC75001AAD40 /* strings.pbxstrings */,
619A51691391DC75001AAD40 /* subclasses.pbxbtree */,
619A516A1391DC75001AAD40 /* symbols0.pbxsymbols */,
);
path = IntelGraphicsEnabler;
path = Chameleon.pbxindex;
sourceTree = "<group>";
};
03DA89471389338300B43B35 /* NVIDIAGraphicsEnabler */ = {
619A51661391DC75001AAD40 /* strings.pbxstrings */ = {
isa = PBXGroup;
children = (
03DA89481389338300B43B35 /* Makefile */,
03DA89491389338300B43B35 /* nvidia.c */,
03DA894A1389338300B43B35 /* nvidia.h */,
03DA894B1389338300B43B35 /* NVIDIAGraphicsEnabler.c */,
03DA894C1389338300B43B35 /* Readme.txt */,
619A51671391DC75001AAD40 /* control */,
619A51681391DC75001AAD40 /* strings */,
);
path = NVIDIAGraphicsEnabler;
path = strings.pbxstrings;
sourceTree = "<group>";
};
08FB7794FE84155DC02AAC07 /* Chameleon */ = {
619A516F1391DC75001AAD40 /* doc */ = {
isa = PBXGroup;
children = (
B0056DBA11F3868000754B65 /* artwork */,
B0056E0611F3868000754B65 /* doc */,
B0056CE511F3868000754B65 /* i386 */,
B0056D8311F3868000754B65 /* package */,
B0056D8211F3868000754B65 /* APPLE_LICENSE */,
B0056D7F11F3868000754B65 /* CREDITS */,
B0056D8111F3868000754B65 /* CHANGES */,
B0146F0011FDEFB90010765C /* GPL_V2_LICENSE */,
B0146EFF11FDEF550010765C /* README */,
019DFBAF11FB94090013E8CC /* MEMTEST86_LICENSE */,
B0056D7C11F3868000754B65 /* TODO */,
B0056D7D11F3868000754B65 /* Makefile */,
B0056D8011F3868000754B65 /* coding_standards.txt */,
619A51701391DC75001AAD40 /* archive */,
619A51741391DC75001AAD40 /* BootHelp.txt */,
619A51751391DC75001AAD40 /* README */,
619A51761391DC75001AAD40 /* themeinfo.png */,
619A51771391DC75001AAD40 /* User_Guide_src */,
619A51831391DC75001AAD40 /* Users_Guide0.5.pdf */,
);
name = Chameleon;
path = doc;
sourceTree = "<group>";
};
B0056CE511F3868000754B65 /* i386 */ = {
619A51701391DC75001AAD40 /* archive */ = {
isa = PBXGroup;
children = (
0389368B137D4A74004AD9DC /* modules */,
B0056CE611F3868000754B65 /* boot0 */,
B0056CEA11F3868000754B65 /* boot1 */,
B0056CF211F3868000754B65 /* boot2 */,
B0056D0F11F3868000754B65 /* cdboot */,
B0056D1311F3868000754B65 /* doc */,
B0056D1611F3868000754B65 /* libsa */,
B0056D2411F3868000754B65 /* libsaio */,
B0056D7911F3868000754B65 /* util */,
B0056D7611F3868000754B65 /* Makefile */,
B0056D7711F3868000754B65 /* MakeInc.dir */,
B0056D7811F3868000754B65 /* MakePaths.dir */,
619A51711391DC75001AAD40 /* Users_Guide0.4.pdf */,
619A51721391DC75001AAD40 /* Users_Guide_v0.3.pdf */,
619A51731391DC75001AAD40 /* UsersGuide-v0.2.pdf */,
);
path = archive;
sourceTree = "<group>";
};
619A51771391DC75001AAD40 /* User_Guide_src */ = {
isa = PBXGroup;
children = (
619A51781391DC75001AAD40 /* Chameleon 2 v0.4.xml */,
619A51791391DC75001AAD40 /* Chameleon 2 v0.5.docx */,
619A517A1391DC75001AAD40 /* chameleon.png */,
619A517B1391DC75001AAD40 /* colorchart.png */,
619A517C1391DC75001AAD40 /* install_complete.png */,
619A517D1391DC75001AAD40 /* install_cust.png */,
619A517E1391DC75001AAD40 /* install_dest.png */,
619A517F1391DC75001AAD40 /* install_stand.png */,
619A51801391DC75001AAD40 /* install_start.png */,
619A51811391DC75001AAD40 /* screen_format.png */,
619A51821391DC75001AAD40 /* xnulogo.png */,
);
path = User_Guide_src;
sourceTree = "<group>";
};
619A51851391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A51861391DC75001AAD40 /* boot0 */,
619A518B1391DC75001AAD40 /* boot1 */,
619A51931391DC75001AAD40 /* boot2 */,
619A51B41391DC75001AAD40 /* Cconfig */,
619A51B51391DC75001AAD40 /* cdboot */,
619A51B91391DC75001AAD40 /* config */,
619A51D91391DC75001AAD40 /* doc */,
619A51DC1391DC75001AAD40 /* include */,
619A548B1391DC75001AAD40 /* libsa */,
619A549A1391DC75001AAD40 /* libsaio */,
619A54F91391DC75001AAD40 /* Makefile */,
619A54FA1391DC75001AAD40 /* MakeInc.dir */,
619A54FB1391DC75001AAD40 /* MakePaths.dir */,
619A54FC1391DC75001AAD40 /* modules */,
619A55ED1391DC75001AAD40 /* util */,
);
path = i386;
sourceTree = "<group>";
};
B0056CE611F3868000754B65 /* boot0 */ = {
619A51861391DC75001AAD40 /* boot0 */ = {
isa = PBXGroup;
children = (
B0056CE711F3868000754B65 /* boot0.s */,
B0056CE811F3868000754B65 /* chain0.s */,
B0056CE911F3868000754B65 /* Makefile */,
619A51871391DC75001AAD40 /* boot0.s */,
619A51881391DC75001AAD40 /* Cconfig */,
619A51891391DC75001AAD40 /* chain0.s */,
619A518A1391DC75001AAD40 /* Makefile */,
);
path = boot0;
sourceTree = "<group>";
};
B0056CEA11F3868000754B65 /* boot1 */ = {
619A518B1391DC75001AAD40 /* boot1 */ = {
isa = PBXGroup;
children = (
B0056CEB11F3868000754B65 /* boot1.asm */,
B0056CEC11F3868000754B65 /* boot1.s */,
B0056CED11F3868000754B65 /* boot1f32-install.sh */,
B0056CEE11F3868000754B65 /* boot1f32.s */,
B0056CEF11F3868000754B65 /* boot1he.s */,
B0056CF011F3868000754B65 /* boot1hp.s */,
B0056CF111F3868000754B65 /* Makefile */,
619A518C1391DC75001AAD40 /* boot1f32-install.sh */,
619A518D1391DC75001AAD40 /* boot1f32.s */,
619A518E1391DC75001AAD40 /* boot1h.s */,
619A518F1391DC75001AAD40 /* boot1he.s */,
619A51901391DC75001AAD40 /* boot1hp.s */,
619A51911391DC75001AAD40 /* Cconfig */,
619A51921391DC75001AAD40 /* Makefile */,
);
path = boot1;
sourceTree = "<group>";
};
B0056CF211F3868000754B65 /* boot2 */ = {
619A51931391DC75001AAD40 /* boot2 */ = {
isa = PBXGroup;
children = (
B0056CF311F3868000754B65 /* appleboot.h */,
B0056CF411F3868000754B65 /* appleClut8.h */,
B0056CF511F3868000754B65 /* bmdecompress.c */,
B0056CF611F3868000754B65 /* boot.c */,
B0056CF711F3868000754B65 /* boot.h */,
B0056CF811F3868000754B65 /* boot2.s */,
B0056CF911F3868000754B65 /* drivers.c */,
B0056CFA11F3868000754B65 /* graphic_utils.c */,
B0056CFB11F3868000754B65 /* graphic_utils.h */,
B0056CFC11F3868000754B65 /* graphics.c */,
B0056CFD11F3868000754B65 /* graphics.h */,
B0056CFE11F3868000754B65 /* gui.c */,
B0056CFF11F3868000754B65 /* gui.h */,
B0056D0011F3868000754B65 /* IOHibernatePrivate.h */,
B0056D0111F3868000754B65 /* lzss.c */,
B0056D0211F3868000754B65 /* Makefile */,
B0056D0311F3868000754B65 /* mboot.c */,
B0056D0411F3868000754B65 /* mboot.h */,
B0056D0511F3868000754B65 /* multiboot.h */,
B0056D0611F3868000754B65 /* options.c */,
B0056D0711F3868000754B65 /* picopng.c */,
B0056D0811F3868000754B65 /* picopng.h */,
B0056D0911F3868000754B65 /* prompt.c */,
B0056D0A11F3868000754B65 /* ramdisk.c */,
B0056D0B11F3868000754B65 /* ramdisk.h */,
B0056D0C11F3868000754B65 /* resume.c */,
B0056D0D11F3868000754B65 /* WKdm.h */,
B0056D0E11F3868000754B65 /* WKdmDecompress.c */,
619A51941391DC75001AAD40 /* appleboot.h */,
619A51951391DC75001AAD40 /* appleClut8.h */,
619A51961391DC75001AAD40 /* bmdecompress.c */,
619A51971391DC75001AAD40 /* boot.c */,
619A51981391DC75001AAD40 /* boot.h */,
619A51991391DC75001AAD40 /* boot2.s */,
619A519A1391DC75001AAD40 /* Cconfig */,
619A519B1391DC75001AAD40 /* drivers.c */,
619A519C1391DC75001AAD40 /* graphic_utils.c */,
619A519D1391DC75001AAD40 /* graphic_utils.h */,
619A519E1391DC75001AAD40 /* graphics.c */,
619A519F1391DC75001AAD40 /* graphics.h */,
619A51A01391DC75001AAD40 /* gui.c */,
619A51A11391DC75001AAD40 /* gui.h */,
619A51A21391DC75001AAD40 /* IOHibernatePrivate.h */,
619A51A31391DC75001AAD40 /* lzss.c */,
619A51A41391DC75001AAD40 /* Makefile */,
619A51A51391DC75001AAD40 /* mboot.c */,
619A51A61391DC75001AAD40 /* mboot.h */,
619A51A71391DC75001AAD40 /* modules.c */,
619A51A81391DC75001AAD40 /* modules.h */,
619A51A91391DC75001AAD40 /* modules_support.s */,
619A51AA1391DC75001AAD40 /* multiboot.h */,
619A51AB1391DC75001AAD40 /* options.c */,
619A51AC1391DC75001AAD40 /* picopng.c */,
619A51AD1391DC75001AAD40 /* picopng.h */,
619A51AE1391DC75001AAD40 /* prompt.c */,
619A51AF1391DC75001AAD40 /* ramdisk.c */,
619A51B01391DC75001AAD40 /* ramdisk.h */,
619A51B11391DC75001AAD40 /* resume.c */,
619A51B21391DC75001AAD40 /* WKdm.h */,
619A51B31391DC75001AAD40 /* WKdmDecompress.c */,
);
path = boot2;
sourceTree = "<group>";
};
B0056D0F11F3868000754B65 /* cdboot */ = {
619A51B51391DC75001AAD40 /* cdboot */ = {
isa = PBXGroup;
children = (
B0056D1011F3868000754B65 /* cdboot.s */,
B0056D1111F3868000754B65 /* cdboothdd.s */,
B0056D1211F3868000754B65 /* Makefile */,
619A51B61391DC75001AAD40 /* cdboot.s */,
619A51B71391DC75001AAD40 /* cdboothdd.s */,
619A51B81391DC75001AAD40 /* Makefile */,
);
path = cdboot;
sourceTree = "<group>";
};
B0056D1311F3868000754B65 /* doc */ = {
619A51B91391DC75001AAD40 /* config */ = {
isa = PBXGroup;
children = (
B0056D1411F3868000754B65 /* Limits */,
B0056D1511F3868000754B65 /* README */,
619A51BA1391DC75001AAD40 /* cconfig.c */,
619A51BB1391DC75001AAD40 /* checklist.c */,
619A51BC1391DC75001AAD40 /* confdata.c */,
619A51BD1391DC75001AAD40 /* dialog.h */,
619A51BE1391DC75001AAD40 /* expr.c */,
619A51BF1391DC75001AAD40 /* expr.h */,
619A51C01391DC75001AAD40 /* inputbox.c */,
619A51C11391DC75001AAD40 /* lex.zconf.c */,
619A51C21391DC75001AAD40 /* lkc.h */,
619A51C31391DC75001AAD40 /* lkc_proto.h */,
619A51C41391DC75001AAD40 /* lxdialog */,
619A51CF1391DC75001AAD40 /* Makefile */,
619A51D01391DC75001AAD40 /* menu.c */,
619A51D11391DC75001AAD40 /* menubox.c */,
619A51D21391DC75001AAD40 /* nconf.h */,
619A51D31391DC75001AAD40 /* symbol.c */,
619A51D41391DC75001AAD40 /* textbox.c */,
619A51D51391DC75001AAD40 /* util.c */,
619A51D61391DC75001AAD40 /* yesno.c */,
619A51D71391DC75001AAD40 /* zconf.hash.c */,
619A51D81391DC75001AAD40 /* zconf.tab.c */,
);
path = config;
sourceTree = "<group>";
};
619A51C41391DC75001AAD40 /* lxdialog */ = {
isa = PBXGroup;
children = (
619A51C51391DC75001AAD40 /* .gitignore */,
619A51C61391DC75001AAD40 /* BIG.FAT.WARNING */,
619A51C71391DC75001AAD40 /* check-lxdialog.sh */,
619A51C81391DC75001AAD40 /* checklist.c */,
619A51C91391DC75001AAD40 /* dialog.h */,
619A51CA1391DC75001AAD40 /* inputbox.c */,
619A51CB1391DC75001AAD40 /* menubox.c */,
619A51CC1391DC75001AAD40 /* textbox.c */,
619A51CD1391DC75001AAD40 /* util.c */,
619A51CE1391DC75001AAD40 /* yesno.c */,
);
path = lxdialog;
sourceTree = "<group>";
};
619A51D91391DC75001AAD40 /* doc */ = {
isa = PBXGroup;
children = (
619A51DA1391DC75001AAD40 /* Limits */,
619A51DB1391DC75001AAD40 /* README */,
);
path = doc;
sourceTree = "<group>";
};
B0056D1611F3868000754B65 /* libsa */ = {
619A51DC1391DC75001AAD40 /* include */ = {
isa = PBXGroup;
children = (
B0056D1711F3868000754B65 /* efi_tables.c */,
B0056D1811F3868000754B65 /* efi_tables.h */,
B0056D1911F3868000754B65 /* error.c */,
B0056D1A11F3868000754B65 /* libsa.h */,
B0056D1B11F3868000754B65 /* Makefile */,
B0056D1C11F3868000754B65 /* memory.h */,
B0056D1D11F3868000754B65 /* prf.c */,
B0056D1E11F3868000754B65 /* printf.c */,
B0056D1F11F3868000754B65 /* qsort.c */,
B0056D2011F3868000754B65 /* setjmp.s */,
B0056D2111F3868000754B65 /* string.c */,
B0056D2211F3868000754B65 /* strtol.c */,
B0056D2311F3868000754B65 /* zalloc.c */,
619A51DD1391DC75001AAD40 /* _structs.h */,
619A51DE1391DC75001AAD40 /* _types.h */,
619A51DF1391DC75001AAD40 /* architecture */,
619A51FF1391DC75001AAD40 /* assert.h */,
619A52001391DC75001AAD40 /* ctype.h */,
619A52011391DC75001AAD40 /* device */,
619A52041391DC75001AAD40 /* errno.h */,
619A52051391DC75001AAD40 /* float.h */,
619A52061391DC75001AAD40 /* hfs */,
619A520A1391DC75001AAD40 /* i386 */,
619A521A1391DC75001AAD40 /* inttypes.h */,
619A521B1391DC75001AAD40 /* IOKit */,
619A53621391DC75001AAD40 /* libkern */,
619A53751391DC75001AAD40 /* limits.h */,
619A53761391DC75001AAD40 /* locale.h */,
619A53771391DC75001AAD40 /* mach */,
619A54131391DC75001AAD40 /* mach-o */,
619A54281391DC75001AAD40 /* machine */,
619A54371391DC75001AAD40 /* math.h */,
619A54381391DC75001AAD40 /* netinet */,
619A54521391DC75001AAD40 /* netinet6 */,
619A545E1391DC75001AAD40 /* runetype.h */,
619A545F1391DC75001AAD40 /* secure */,
619A54621391DC75001AAD40 /* setjmp.h */,
619A54631391DC75001AAD40 /* signal.h */,
619A54641391DC75001AAD40 /* stdarg.h */,
619A54651391DC75001AAD40 /* stdbool.h */,
619A54661391DC75001AAD40 /* stddef.h */,
619A54671391DC75001AAD40 /* stdint.h */,
619A54681391DC75001AAD40 /* stdio.h */,
619A54691391DC75001AAD40 /* stdlib.h */,
619A546A1391DC75001AAD40 /* string.h */,
619A546B1391DC75001AAD40 /* sys */,
619A547E1391DC75001AAD40 /* time.h */,
619A547F1391DC75001AAD40 /* ufs */,
619A54891391DC75001AAD40 /* unistd.h */,
619A548A1391DC75001AAD40 /* unwind.h */,
);
path = include;
sourceTree = "<group>";
};
619A51DF1391DC75001AAD40 /* architecture */ = {
isa = PBXGroup;
children = (
619A51E01391DC75001AAD40 /* alignment.h */,
619A51E11391DC75001AAD40 /* byte_order.h */,
619A51E21391DC75001AAD40 /* i386 */,
619A51F21391DC75001AAD40 /* ppc */,
);
path = architecture;
sourceTree = "<group>";
};
619A51E21391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A51E31391DC75001AAD40 /* alignment.h */,
619A51E41391DC75001AAD40 /* asm_help.h */,
619A51E51391DC75001AAD40 /* byte_order.h */,
619A51E61391DC75001AAD40 /* cpu.h */,
619A51E71391DC75001AAD40 /* desc.h */,
619A51E81391DC75001AAD40 /* fenv.h */,
619A51E91391DC75001AAD40 /* fpu.h */,
619A51EA1391DC75001AAD40 /* frame.h */,
619A51EB1391DC75001AAD40 /* io.h */,
619A51EC1391DC75001AAD40 /* math.h */,
619A51ED1391DC75001AAD40 /* pio.h */,
619A51EE1391DC75001AAD40 /* reg_help.h */,
619A51EF1391DC75001AAD40 /* sel.h */,
619A51F01391DC75001AAD40 /* table.h */,
619A51F11391DC75001AAD40 /* tss.h */,
);
path = i386;
sourceTree = "<group>";
};
619A51F21391DC75001AAD40 /* ppc */ = {
isa = PBXGroup;
children = (
619A51F31391DC75001AAD40 /* alignment.h */,
619A51F41391DC75001AAD40 /* asm_help.h */,
619A51F51391DC75001AAD40 /* basic_regs.h */,
619A51F61391DC75001AAD40 /* byte_order.h */,
619A51F71391DC75001AAD40 /* cframe.h */,
619A51F81391DC75001AAD40 /* fenv.h */,
619A51F91391DC75001AAD40 /* fp_regs.h */,
619A51FA1391DC75001AAD40 /* macro_help.h */,
619A51FB1391DC75001AAD40 /* math.h */,
619A51FC1391DC75001AAD40 /* mode_independent_asm.h */,
619A51FD1391DC75001AAD40 /* pseudo_inst.h */,
619A51FE1391DC75001AAD40 /* reg_help.h */,
);
path = ppc;
sourceTree = "<group>";
};
619A52011391DC75001AAD40 /* device */ = {
isa = PBXGroup;
children = (
619A52021391DC75001AAD40 /* device_port.h */,
619A52031391DC75001AAD40 /* device_types.h */,
);
path = device;
sourceTree = "<group>";
};
619A52061391DC75001AAD40 /* hfs */ = {
isa = PBXGroup;
children = (
619A52071391DC75001AAD40 /* hfs_encodings.h */,
619A52081391DC75001AAD40 /* hfs_format.h */,
619A52091391DC75001AAD40 /* hfs_mount.h */,
);
path = hfs;
sourceTree = "<group>";
};
619A520A1391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A520B1391DC75001AAD40 /* _limits.h */,
619A520C1391DC75001AAD40 /* _param.h */,
619A520D1391DC75001AAD40 /* _structs.h */,
619A520E1391DC75001AAD40 /* _types.h */,
619A520F1391DC75001AAD40 /* eflags.h */,
619A52101391DC75001AAD40 /* endian.h */,
619A52111391DC75001AAD40 /* fasttrap_isa.h */,
619A52121391DC75001AAD40 /* limits.h */,
619A52131391DC75001AAD40 /* param.h */,
619A52141391DC75001AAD40 /* profile.h */,
619A52151391DC75001AAD40 /* setjmp.h */,
619A52161391DC75001AAD40 /* signal.h */,
619A52171391DC75001AAD40 /* types.h */,
619A52181391DC75001AAD40 /* user_ldt.h */,
619A52191391DC75001AAD40 /* vmparam.h */,
);
path = i386;
sourceTree = "<group>";
};
619A521B1391DC75001AAD40 /* IOKit */ = {
isa = PBXGroup;
children = (
619A521C1391DC75001AAD40 /* acpi */,
619A52201391DC75001AAD40 /* assert.h */,
619A52211391DC75001AAD40 /* ata */,
619A522E1391DC75001AAD40 /* audio */,
619A523C1391DC75001AAD40 /* avc */,
619A52441391DC75001AAD40 /* bluetooth */,
619A524D1391DC75001AAD40 /* firewire */,
619A526E1391DC75001AAD40 /* graphics */,
619A527A1391DC75001AAD40 /* hid */,
619A52801391DC75001AAD40 /* hidevent */,
619A52831391DC75001AAD40 /* hidsystem */,
619A52901391DC75001AAD40 /* i2c */,
619A52921391DC75001AAD40 /* IOBSD.h */,
619A52931391DC75001AAD40 /* IOBufferMemoryDescriptor.h */,
619A52941391DC75001AAD40 /* IOCatalogue.h */,
619A52951391DC75001AAD40 /* IOCommand.h */,
619A52961391DC75001AAD40 /* IOCommandGate.h */,
619A52971391DC75001AAD40 /* IOCommandPool.h */,
619A52981391DC75001AAD40 /* IOConditionLock.h */,
619A52991391DC75001AAD40 /* IODataQueue.h */,
619A529A1391DC75001AAD40 /* IODataQueueShared.h */,
619A529B1391DC75001AAD40 /* IODeviceMemory.h */,
619A529C1391DC75001AAD40 /* IODeviceTreeSupport.h */,
619A529D1391DC75001AAD40 /* IODMACommand.h */,
619A529E1391DC75001AAD40 /* IODMAController.h */,
619A529F1391DC75001AAD40 /* IODMAEventSource.h */,
619A52A01391DC75001AAD40 /* IOEventSource.h */,
619A52A11391DC75001AAD40 /* IOFilterInterruptEventSource.h */,
619A52A21391DC75001AAD40 /* IOInterleavedMemoryDescriptor.h */,
619A52A31391DC75001AAD40 /* IOInterruptController.h */,
619A52A41391DC75001AAD40 /* IOInterruptEventSource.h */,
619A52A51391DC75001AAD40 /* IOInterrupts.h */,
619A52A61391DC75001AAD40 /* IOKitDebug.h */,
619A52A71391DC75001AAD40 /* IOKitKeys.h */,
619A52A81391DC75001AAD40 /* IOKitServer.h */,
619A52A91391DC75001AAD40 /* IOLib.h */,
619A52AA1391DC75001AAD40 /* IOLocks.h */,
619A52AB1391DC75001AAD40 /* IOMapper.h */,
619A52AC1391DC75001AAD40 /* IOMemoryCursor.h */,
619A52AD1391DC75001AAD40 /* IOMemoryDescriptor.h */,
619A52AE1391DC75001AAD40 /* IOMessage.h */,
619A52AF1391DC75001AAD40 /* IOMultiMemoryDescriptor.h */,
619A52B01391DC75001AAD40 /* IONotifier.h */,
619A52B11391DC75001AAD40 /* IONVRAM.h */,
619A52B21391DC75001AAD40 /* IOPlatformExpert.h */,
619A52B31391DC75001AAD40 /* IORangeAllocator.h */,
619A52B41391DC75001AAD40 /* IORegistryEntry.h */,
619A52B51391DC75001AAD40 /* IOReturn.h */,
619A52B61391DC75001AAD40 /* IOService.h */,
619A52B71391DC75001AAD40 /* IOServicePM.h */,
619A52B81391DC75001AAD40 /* IOSharedDataQueue.h */,
619A52B91391DC75001AAD40 /* IOSharedLock.h */,
619A52BA1391DC75001AAD40 /* IOSubMemoryDescriptor.h */,
619A52BB1391DC75001AAD40 /* IOSyncer.h */,
619A52BC1391DC75001AAD40 /* IOTimerEventSource.h */,
619A52BD1391DC75001AAD40 /* IOTimeStamp.h */,
619A52BE1391DC75001AAD40 /* IOTypes.h */,
619A52BF1391DC75001AAD40 /* IOUserClient.h */,
619A52C01391DC75001AAD40 /* IOWorkLoop.h */,
619A52C11391DC75001AAD40 /* ndrvsupport */,
619A52C71391DC75001AAD40 /* network */,
619A52D61391DC75001AAD40 /* nvram */,
619A52D81391DC75001AAD40 /* OSMessageNotification.h */,
619A52D91391DC75001AAD40 /* pci */,
619A52DD1391DC75001AAD40 /* platform */,
619A52E21391DC75001AAD40 /* power */,
619A52E41391DC75001AAD40 /* ppc */,
619A52E61391DC75001AAD40 /* pwr_mgt */,
619A52F01391DC75001AAD40 /* rtc */,
619A52F21391DC75001AAD40 /* sbp2 */,
619A52FC1391DC75001AAD40 /* scsi */,
619A53181391DC75001AAD40 /* serial */,
619A531E1391DC75001AAD40 /* storage */,
619A53401391DC75001AAD40 /* stream */,
619A53451391DC75001AAD40 /* system.h */,
619A53461391DC75001AAD40 /* system_management */,
619A53481391DC75001AAD40 /* usb */,
);
path = IOKit;
sourceTree = "<group>";
};
619A521C1391DC75001AAD40 /* acpi */ = {
isa = PBXGroup;
children = (
619A521D1391DC75001AAD40 /* IOACPIPlatformDevice.h */,
619A521E1391DC75001AAD40 /* IOACPIPlatformExpert.h */,
619A521F1391DC75001AAD40 /* IOACPITypes.h */,
);
path = acpi;
sourceTree = "<group>";
};
619A52211391DC75001AAD40 /* ata */ = {
isa = PBXGroup;
children = (
619A52221391DC75001AAD40 /* ATADeviceNub.h */,
619A52231391DC75001AAD40 /* ATATimerEventSource.h */,
619A52241391DC75001AAD40 /* IOATABusCommand.h */,
619A52251391DC75001AAD40 /* IOATABusInfo.h */,
619A52261391DC75001AAD40 /* IOATACommand.h */,
619A52271391DC75001AAD40 /* IOATAController.h */,
619A52281391DC75001AAD40 /* IOATADevConfig.h */,
619A52291391DC75001AAD40 /* IOATADevice.h */,
619A522A1391DC75001AAD40 /* IOATARegI386.h */,
619A522B1391DC75001AAD40 /* IOATATypes.h */,
619A522C1391DC75001AAD40 /* IOPCIATA.h */,
619A522D1391DC75001AAD40 /* MacIOATA.h */,
);
path = ata;
sourceTree = "<group>";
};
619A522E1391DC75001AAD40 /* audio */ = {
isa = PBXGroup;
children = (
619A522F1391DC75001AAD40 /* IOAudioControl.h */,
619A52301391DC75001AAD40 /* IOAudioControlUserClient.h */,
619A52311391DC75001AAD40 /* IOAudioDebug.h */,
619A52321391DC75001AAD40 /* IOAudioDefines.h */,
619A52331391DC75001AAD40 /* IOAudioDevice.h */,
619A52341391DC75001AAD40 /* IOAudioEngine.h */,
619A52351391DC75001AAD40 /* IOAudioEngineUserClient.h */,
619A52361391DC75001AAD40 /* IOAudioLevelControl.h */,
619A52371391DC75001AAD40 /* IOAudioPort.h */,
619A52381391DC75001AAD40 /* IOAudioSelectorControl.h */,
619A52391391DC75001AAD40 /* IOAudioStream.h */,
619A523A1391DC75001AAD40 /* IOAudioToggleControl.h */,
619A523B1391DC75001AAD40 /* IOAudioTypes.h */,
);
path = audio;
sourceTree = "<group>";
};
619A523C1391DC75001AAD40 /* avc */ = {
isa = PBXGroup;
children = (
619A523D1391DC75001AAD40 /* IOFireWireAVCCommand.h */,
619A523E1391DC75001AAD40 /* IOFireWireAVCConsts.h */,
619A523F1391DC75001AAD40 /* IOFireWireAVCRequestSpace.h */,
619A52401391DC75001AAD40 /* IOFireWireAVCTargetSpace.h */,
619A52411391DC75001AAD40 /* IOFireWireAVCUnit.h */,
619A52421391DC75001AAD40 /* IOFireWireAVCUserClientCommon.h */,
619A52431391DC75001AAD40 /* IOFireWirePCRSpace.h */,
);
path = avc;
sourceTree = "<group>";
};
619A52441391DC75001AAD40 /* bluetooth */ = {
isa = PBXGroup;
children = (
619A52451391DC75001AAD40 /* Bluetooth.h */,
619A52461391DC75001AAD40 /* BluetoothAssignedNumbers.h */,
619A52471391DC75001AAD40 /* IOBluetoothHCIController.h */,
619A52481391DC75001AAD40 /* IOBluetoothHCIRequest.h */,
619A52491391DC75001AAD40 /* IOBluetoothHIDDriver.h */,
619A524A1391DC75001AAD40 /* IOBluetoothHIDDriverTypes.h */,
619A524B1391DC75001AAD40 /* IOBluetoothInternal.h */,
619A524C1391DC75001AAD40 /* IOBluetoothTypes.h */,
);
path = bluetooth;
sourceTree = "<group>";
};
619A524D1391DC75001AAD40 /* firewire */ = {
isa = PBXGroup;
children = (
619A524E1391DC75001AAD40 /* IOConfigDirectory.h */,
619A524F1391DC75001AAD40 /* IOFireWireBus.h */,
619A52501391DC75001AAD40 /* IOFireWireController.h */,
619A52511391DC75001AAD40 /* IOFireWireDevice.h */,
619A52521391DC75001AAD40 /* IOFireWireFamilyCommon.h */,
619A52531391DC75001AAD40 /* IOFireWireIRMAllocation.h */,
619A52541391DC75001AAD40 /* IOFireWireLocalNode.h */,
619A52551391DC75001AAD40 /* IOFireWireMultiIsochReceive.h */,
619A52561391DC75001AAD40 /* IOFireWireNub.h */,
619A52571391DC75001AAD40 /* IOFireWirePowerManager.h */,
619A52581391DC75001AAD40 /* IOFireWireUnit.h */,
619A52591391DC75001AAD40 /* IOFWAddressSpace.h */,
619A525A1391DC75001AAD40 /* IOFWAsyncStreamListener.h */,
619A525B1391DC75001AAD40 /* IOFWCommand.h */,
619A525C1391DC75001AAD40 /* IOFWDCL.h */,
619A525D1391DC75001AAD40 /* IOFWDCLPool.h */,
619A525E1391DC75001AAD40 /* IOFWDCLProgram.h */,
619A525F1391DC75001AAD40 /* IOFWDCLTranslator.h */,
619A52601391DC75001AAD40 /* IOFWIsochChannel.h */,
619A52611391DC75001AAD40 /* IOFWIsochPort.h */,
619A52621391DC75001AAD40 /* IOFWLocalIsochPort.h */,
619A52631391DC75001AAD40 /* IOFWPHYPacketListener.h */,
619A52641391DC75001AAD40 /* IOFWPhysicalAddressSpace.h */,
619A52651391DC75001AAD40 /* IOFWPseudoAddressSpace.h */,
619A52661391DC75001AAD40 /* IOFWRegs.h */,
619A52671391DC75001AAD40 /* IOFWSimpleContiguousPhysicalAddressSpace.h */,
619A52681391DC75001AAD40 /* IOFWSimplePhysicalAddressSpace.h */,
619A52691391DC75001AAD40 /* IOFWSyncer.h */,
619A526A1391DC75001AAD40 /* IOFWUserObjectExporter.h */,
619A526B1391DC75001AAD40 /* IOFWUtils.h */,
619A526C1391DC75001AAD40 /* IOLocalConfigDirectory.h */,
619A526D1391DC75001AAD40 /* IORemoteConfigDirectory.h */,
);
path = firewire;
sourceTree = "<group>";
};
619A526E1391DC75001AAD40 /* graphics */ = {
isa = PBXGroup;
children = (
619A526F1391DC75001AAD40 /* IOAccelClientConnect.h */,
619A52701391DC75001AAD40 /* IOAccelerator.h */,
619A52711391DC75001AAD40 /* IOAccelSurfaceConnect.h */,
619A52721391DC75001AAD40 /* IOAccelTypes.h */,
619A52731391DC75001AAD40 /* IODisplay.h */,
619A52741391DC75001AAD40 /* IOFramebuffer.h */,
619A52751391DC75001AAD40 /* IOFramebufferShared.h */,
619A52761391DC75001AAD40 /* IOGraphicsDevice.h */,
619A52771391DC75001AAD40 /* IOGraphicsEngine.h */,
619A52781391DC75001AAD40 /* IOGraphicsInterfaceTypes.h */,
619A52791391DC75001AAD40 /* IOGraphicsTypes.h */,
);
path = graphics;
sourceTree = "<group>";
};
619A527A1391DC75001AAD40 /* hid */ = {
isa = PBXGroup;
children = (
619A527B1391DC75001AAD40 /* IOHIDDevice.h */,
619A527C1391DC75001AAD40 /* IOHIDElement.h */,
619A527D1391DC75001AAD40 /* IOHIDInterface.h */,
619A527E1391DC75001AAD40 /* IOHIDKeys.h */,
619A527F1391DC75001AAD40 /* IOHIDUsageTables.h */,
);
path = hid;
sourceTree = "<group>";
};
619A52801391DC75001AAD40 /* hidevent */ = {
isa = PBXGroup;
children = (
619A52811391DC75001AAD40 /* IOHIDEventDriver.h */,
619A52821391DC75001AAD40 /* IOHIDEventService.h */,
);
path = hidevent;
sourceTree = "<group>";
};
619A52831391DC75001AAD40 /* hidsystem */ = {
isa = PBXGroup;
children = (
619A52841391DC75001AAD40 /* ev_keymap.h */,
619A52851391DC75001AAD40 /* IOHIDDescriptorParser.h */,
619A52861391DC75001AAD40 /* IOHIDevice.h */,
619A52871391DC75001AAD40 /* IOHIDParameter.h */,
619A52881391DC75001AAD40 /* IOHIDShared.h */,
619A52891391DC75001AAD40 /* IOHIDSystem.h */,
619A528A1391DC75001AAD40 /* IOHIDTypes.h */,
619A528B1391DC75001AAD40 /* IOHIDUsageTables.h */,
619A528C1391DC75001AAD40 /* IOHIKeyboard.h */,
619A528D1391DC75001AAD40 /* IOHIKeyboardMapper.h */,
619A528E1391DC75001AAD40 /* IOHIPointing.h */,
619A528F1391DC75001AAD40 /* IOLLEvent.h */,
);
path = hidsystem;
sourceTree = "<group>";
};
619A52901391DC75001AAD40 /* i2c */ = {
isa = PBXGroup;
children = (
619A52911391DC75001AAD40 /* IOI2CInterface.h */,
);
path = i2c;
sourceTree = "<group>";
};
619A52C11391DC75001AAD40 /* ndrvsupport */ = {
isa = PBXGroup;
children = (
619A52C21391DC75001AAD40 /* IOMacOSTypes.h */,
619A52C31391DC75001AAD40 /* IOMacOSVideo.h */,
619A52C41391DC75001AAD40 /* IONDRVFramebuffer.h */,
619A52C51391DC75001AAD40 /* IONDRVLibraries.h */,
619A52C61391DC75001AAD40 /* IONDRVSupport.h */,
);
path = ndrvsupport;
sourceTree = "<group>";
};
619A52C71391DC75001AAD40 /* network */ = {
isa = PBXGroup;
children = (
619A52C81391DC75001AAD40 /* IOBasicOutputQueue.h */,
619A52C91391DC75001AAD40 /* IOEthernetController.h */,
619A52CA1391DC75001AAD40 /* IOEthernetInterface.h */,
619A52CB1391DC75001AAD40 /* IOEthernetStats.h */,
619A52CC1391DC75001AAD40 /* IOGatedOutputQueue.h */,
619A52CD1391DC75001AAD40 /* IOKernelDebugger.h */,
619A52CE1391DC75001AAD40 /* IOMbufMemoryCursor.h */,
619A52CF1391DC75001AAD40 /* IONetworkController.h */,
619A52D01391DC75001AAD40 /* IONetworkData.h */,
619A52D11391DC75001AAD40 /* IONetworkInterface.h */,
619A52D21391DC75001AAD40 /* IONetworkMedium.h */,
619A52D31391DC75001AAD40 /* IONetworkStats.h */,
619A52D41391DC75001AAD40 /* IOOutputQueue.h */,
619A52D51391DC75001AAD40 /* IOPacketQueue.h */,
);
path = network;
sourceTree = "<group>";
};
619A52D61391DC75001AAD40 /* nvram */ = {
isa = PBXGroup;
children = (
619A52D71391DC75001AAD40 /* IONVRAMController.h */,
);
path = nvram;
sourceTree = "<group>";
};
619A52D91391DC75001AAD40 /* pci */ = {
isa = PBXGroup;
children = (
619A52DA1391DC75001AAD40 /* IOAGPDevice.h */,
619A52DB1391DC75001AAD40 /* IOPCIBridge.h */,
619A52DC1391DC75001AAD40 /* IOPCIDevice.h */,
);
path = pci;
sourceTree = "<group>";
};
619A52DD1391DC75001AAD40 /* platform */ = {
isa = PBXGroup;
children = (
619A52DE1391DC75001AAD40 /* AppleMacIO.h */,
619A52DF1391DC75001AAD40 /* AppleMacIODevice.h */,
619A52E01391DC75001AAD40 /* AppleNMI.h */,
619A52E11391DC75001AAD40 /* ApplePlatformExpert.h */,
);
path = platform;
sourceTree = "<group>";
};
619A52E21391DC75001AAD40 /* power */ = {
isa = PBXGroup;
children = (
619A52E31391DC75001AAD40 /* IOPwrController.h */,
);
path = power;
sourceTree = "<group>";
};
619A52E41391DC75001AAD40 /* ppc */ = {
isa = PBXGroup;
children = (
619A52E51391DC75001AAD40 /* IODBDMA.h */,
);
path = ppc;
sourceTree = "<group>";
};
619A52E61391DC75001AAD40 /* pwr_mgt */ = {
isa = PBXGroup;
children = (
619A52E71391DC75001AAD40 /* IOPM.h */,
619A52E81391DC75001AAD40 /* IOPMDeprecated.h */,
619A52E91391DC75001AAD40 /* IOPMLibDefs.h */,
619A52EA1391DC75001AAD40 /* IOPMPowerSource.h */,
619A52EB1391DC75001AAD40 /* IOPMPowerSourceList.h */,
619A52EC1391DC75001AAD40 /* IOPMpowerState.h */,
619A52ED1391DC75001AAD40 /* IOPMPrivate.h */,
619A52EE1391DC75001AAD40 /* IOPowerConnection.h */,
619A52EF1391DC75001AAD40 /* RootDomain.h */,
);
path = pwr_mgt;
sourceTree = "<group>";
};
619A52F01391DC75001AAD40 /* rtc */ = {
isa = PBXGroup;
children = (
619A52F11391DC75001AAD40 /* IORTCController.h */,
);
path = rtc;
sourceTree = "<group>";
};
619A52F21391DC75001AAD40 /* sbp2 */ = {
isa = PBXGroup;
children = (
619A52F31391DC75001AAD40 /* IOFireWireSBP2Login.h */,
619A52F41391DC75001AAD40 /* IOFireWireSBP2LSIWorkaroundDescriptor.h */,
619A52F51391DC75001AAD40 /* IOFireWireSBP2LUN.h */,
619A52F61391DC75001AAD40 /* IOFireWireSBP2ManagementORB.h */,
619A52F71391DC75001AAD40 /* IOFireWireSBP2ORB.h */,
619A52F81391DC75001AAD40 /* IOFireWireSBP2Target.h */,
619A52F91391DC75001AAD40 /* IOFireWireSBP2UserClient.h */,
619A52FA1391DC75001AAD40 /* IOFireWireSBP2UserClientCommon.h */,
619A52FB1391DC75001AAD40 /* IOFireWireSerialBusProtocolTransport.h */,
);
path = sbp2;
sourceTree = "<group>";
};
619A52FC1391DC75001AAD40 /* scsi */ = {
isa = PBXGroup;
children = (
619A52FD1391DC75001AAD40 /* IOBDServices.h */,
619A52FE1391DC75001AAD40 /* IOBlockStorageServices.h */,
619A52FF1391DC75001AAD40 /* IOCompactDiscServices.h */,
619A53001391DC75001AAD40 /* IODVDServices.h */,
619A53011391DC75001AAD40 /* IOReducedBlockServices.h */,
619A53021391DC75001AAD40 /* IOSCSIBlockCommandsDevice.h */,
619A53031391DC75001AAD40 /* IOSCSIMultimediaCommandsDevice.h */,
619A53041391DC75001AAD40 /* IOSCSIPeripheralDeviceNub.h */,
619A53051391DC75001AAD40 /* IOSCSIPeripheralDeviceType00.h */,
619A53061391DC75001AAD40 /* IOSCSIPeripheralDeviceType05.h */,
619A53071391DC75001AAD40 /* IOSCSIPeripheralDeviceType07.h */,
619A53081391DC75001AAD40 /* IOSCSIPeripheralDeviceType0E.h */,
619A53091391DC75001AAD40 /* IOSCSIPrimaryCommandsDevice.h */,
619A530A1391DC75001AAD40 /* IOSCSIProtocolInterface.h */,
619A530B1391DC75001AAD40 /* IOSCSIProtocolServices.h */,
619A530C1391DC75001AAD40 /* IOSCSIReducedBlockCommandsDevice.h */,
619A530D1391DC75001AAD40 /* SCSICmds_INQUIRY_Definitions.h */,
619A530E1391DC75001AAD40 /* SCSICmds_MODE_Definitions.h */,
619A530F1391DC75001AAD40 /* SCSICmds_READ_CAPACITY_Definitions.h */,
619A53101391DC75001AAD40 /* SCSICmds_REPORT_LUNS_Definitions.h */,
619A53111391DC75001AAD40 /* SCSICmds_REQUEST_SENSE_Defs.h */,
619A53121391DC75001AAD40 /* SCSICommandDefinitions.h */,
619A53131391DC75001AAD40 /* SCSICommandOperationCodes.h */,
619A53141391DC75001AAD40 /* SCSIPort.h */,
619A53151391DC75001AAD40 /* SCSITask.h */,
619A53161391DC75001AAD40 /* spi */,
);
path = scsi;
sourceTree = "<group>";
};
619A53161391DC75001AAD40 /* spi */ = {
isa = PBXGroup;
children = (
619A53171391DC75001AAD40 /* IOSCSIParallelInterfaceController.h */,
);
path = spi;
sourceTree = "<group>";
};
619A53181391DC75001AAD40 /* serial */ = {
isa = PBXGroup;
children = (
619A53191391DC75001AAD40 /* IOModemSerialStreamSync.h */,
619A531A1391DC75001AAD40 /* IORS232SerialStreamSync.h */,
619A531B1391DC75001AAD40 /* IOSerialDriverSync.h */,
619A531C1391DC75001AAD40 /* IOSerialKeys.h */,
619A531D1391DC75001AAD40 /* IOSerialStreamSync.h */,
);
path = serial;
sourceTree = "<group>";
};
619A531E1391DC75001AAD40 /* storage */ = {
isa = PBXGroup;
children = (
619A531F1391DC75001AAD40 /* ata */,
619A53221391DC75001AAD40 /* IOAppleLabelScheme.h */,
619A53231391DC75001AAD40 /* IOApplePartitionScheme.h */,
619A53241391DC75001AAD40 /* IOBDBlockStorageDevice.h */,
619A53251391DC75001AAD40 /* IOBDBlockStorageDriver.h */,
619A53261391DC75001AAD40 /* IOBDMedia.h */,
619A53271391DC75001AAD40 /* IOBDMediaBSDClient.h */,
619A53281391DC75001AAD40 /* IOBDTypes.h */,
619A53291391DC75001AAD40 /* IOBlockStorageDevice.h */,
619A532A1391DC75001AAD40 /* IOBlockStorageDriver.h */,
619A532B1391DC75001AAD40 /* IOCDBlockStorageDevice.h */,
619A532C1391DC75001AAD40 /* IOCDBlockStorageDriver.h */,
619A532D1391DC75001AAD40 /* IOCDMedia.h */,
619A532E1391DC75001AAD40 /* IOCDMediaBSDClient.h */,
619A532F1391DC75001AAD40 /* IOCDPartitionScheme.h */,
619A53301391DC75001AAD40 /* IOCDTypes.h */,
619A53311391DC75001AAD40 /* IODVDBlockStorageDevice.h */,
619A53321391DC75001AAD40 /* IODVDBlockStorageDriver.h */,
619A53331391DC75001AAD40 /* IODVDMedia.h */,
619A53341391DC75001AAD40 /* IODVDMediaBSDClient.h */,
619A53351391DC75001AAD40 /* IODVDTypes.h */,
619A53361391DC75001AAD40 /* IOFDiskPartitionScheme.h */,
619A53371391DC75001AAD40 /* IOFilterScheme.h */,
619A53381391DC75001AAD40 /* IOFireWireStorageCharacteristics.h */,
619A53391391DC75001AAD40 /* IOGUIDPartitionScheme.h */,
619A533A1391DC75001AAD40 /* IOMedia.h */,
619A533B1391DC75001AAD40 /* IOMediaBSDClient.h */,
619A533C1391DC75001AAD40 /* IOPartitionScheme.h */,
619A533D1391DC75001AAD40 /* IOStorage.h */,
619A533E1391DC75001AAD40 /* IOStorageDeviceCharacteristics.h */,
619A533F1391DC75001AAD40 /* IOStorageProtocolCharacteristics.h */,
);
path = storage;
sourceTree = "<group>";
};
619A531F1391DC75001AAD40 /* ata */ = {
isa = PBXGroup;
children = (
619A53201391DC75001AAD40 /* IOATAPIProtocolTransport.h */,
619A53211391DC75001AAD40 /* IOATAStorageDefines.h */,
);
path = ata;
sourceTree = "<group>";
};
619A53401391DC75001AAD40 /* stream */ = {
isa = PBXGroup;
children = (
619A53411391DC75001AAD40 /* IOStream.h */,
619A53421391DC75001AAD40 /* IOStreamFamily.h */,
619A53431391DC75001AAD40 /* IOStreamShared.h */,
619A53441391DC75001AAD40 /* IOStreamUserClient.h */,
);
path = stream;
sourceTree = "<group>";
};
619A53461391DC75001AAD40 /* system_management */ = {
isa = PBXGroup;
children = (
619A53471391DC75001AAD40 /* IOWatchDogTimer.h */,
);
path = system_management;
sourceTree = "<group>";
};
619A53481391DC75001AAD40 /* usb */ = {
isa = PBXGroup;
children = (
619A53491391DC75001AAD40 /* IOUFIStorageServices.h */,
619A534A1391DC75001AAD40 /* IOUSBBus.h */,
619A534B1391DC75001AAD40 /* IOUSBCommand.h */,
619A534C1391DC75001AAD40 /* IOUSBCompositeDriver.h */,
619A534D1391DC75001AAD40 /* IOUSBController.h */,
619A534E1391DC75001AAD40 /* IOUSBControllerListElement.h */,
619A534F1391DC75001AAD40 /* IOUSBControllerV2.h */,
619A53501391DC75001AAD40 /* IOUSBControllerV3.h */,
619A53511391DC75001AAD40 /* IOUSBDevice.h */,
619A53521391DC75001AAD40 /* IOUSBHIDDriver.h */,
619A53531391DC75001AAD40 /* IOUSBHubDevice.h */,
619A53541391DC75001AAD40 /* IOUSBHubPolicyMaker.h */,
619A53551391DC75001AAD40 /* IOUSBInterface.h */,
619A53561391DC75001AAD40 /* IOUSBLog.h */,
619A53571391DC75001AAD40 /* IOUSBMassStorageClass.h */,
619A53581391DC75001AAD40 /* IOUSBMassStorageUFISubclass.h */,
619A53591391DC75001AAD40 /* IOUSBNub.h */,
619A535A1391DC75001AAD40 /* IOUSBPipe.h */,
619A535B1391DC75001AAD40 /* IOUSBRootHubDevice.h */,
619A535C1391DC75001AAD40 /* IOUSBUserClient.h */,
619A535D1391DC75001AAD40 /* IOUSBWorkLoop.h */,
619A535E1391DC75001AAD40 /* USB.h */,
619A535F1391DC75001AAD40 /* USBHub.h */,
619A53601391DC75001AAD40 /* USBSpec.h */,
619A53611391DC75001AAD40 /* USBTracepoints.h */,
);
path = usb;
sourceTree = "<group>";
};
619A53621391DC75001AAD40 /* libkern */ = {
isa = PBXGroup;
children = (
619A53631391DC75001AAD40 /* _OSByteOrder.h */,
619A53641391DC75001AAD40 /* crypto */,
619A53671391DC75001AAD40 /* i386 */,
619A536A1391DC75001AAD40 /* machine */,
619A536C1391DC75001AAD40 /* OSAtomic.h */,
619A536D1391DC75001AAD40 /* OSByteOrder.h */,
619A536E1391DC75001AAD40 /* OSCacheControl.h */,
619A536F1391DC75001AAD40 /* OSDebug.h */,
619A53701391DC75001AAD40 /* OSKextLib.h */,
619A53711391DC75001AAD40 /* OSReturn.h */,
619A53721391DC75001AAD40 /* OSTypes.h */,
619A53731391DC75001AAD40 /* ppc */,
);
path = libkern;
sourceTree = "<group>";
};
619A53641391DC75001AAD40 /* crypto */ = {
isa = PBXGroup;
children = (
619A53651391DC75001AAD40 /* md5.h */,
619A53661391DC75001AAD40 /* sha1.h */,
);
path = crypto;
sourceTree = "<group>";
};
619A53671391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A53681391DC75001AAD40 /* _OSByteOrder.h */,
619A53691391DC75001AAD40 /* OSByteOrder.h */,
);
path = i386;
sourceTree = "<group>";
};
619A536A1391DC75001AAD40 /* machine */ = {
isa = PBXGroup;
children = (
619A536B1391DC75001AAD40 /* OSByteOrder.h */,
);
path = machine;
sourceTree = "<group>";
};
619A53731391DC75001AAD40 /* ppc */ = {
isa = PBXGroup;
children = (
619A53741391DC75001AAD40 /* OSByteOrder.h */,
);
path = ppc;
sourceTree = "<group>";
};
619A53771391DC75001AAD40 /* mach */ = {
isa = PBXGroup;
children = (
619A53781391DC75001AAD40 /* audit_triggers.defs */,
619A53791391DC75001AAD40 /* boolean.h */,
619A537A1391DC75001AAD40 /* bootstrap.h */,
619A537B1391DC75001AAD40 /* clock.defs */,
619A537C1391DC75001AAD40 /* clock.h */,
619A537D1391DC75001AAD40 /* clock_priv.defs */,
619A537E1391DC75001AAD40 /* clock_priv.h */,
619A537F1391DC75001AAD40 /* clock_reply.defs */,
619A53801391DC75001AAD40 /* clock_reply.h */,
619A53811391DC75001AAD40 /* clock_types.defs */,
619A53821391DC75001AAD40 /* clock_types.h */,
619A53831391DC75001AAD40 /* error.h */,
619A53841391DC75001AAD40 /* exc.defs */,
619A53851391DC75001AAD40 /* exc.h */,
619A53861391DC75001AAD40 /* exception.h */,
619A53871391DC75001AAD40 /* exception_types.h */,
619A53881391DC75001AAD40 /* host_info.h */,
619A53891391DC75001AAD40 /* host_notify.h */,
619A538A1391DC75001AAD40 /* host_notify_reply.defs */,
619A538B1391DC75001AAD40 /* host_priv.defs */,
619A538C1391DC75001AAD40 /* host_priv.h */,
619A538D1391DC75001AAD40 /* host_reboot.h */,
619A538E1391DC75001AAD40 /* host_security.defs */,
619A538F1391DC75001AAD40 /* host_security.h */,
619A53901391DC75001AAD40 /* host_special_ports.h */,
619A53911391DC75001AAD40 /* i386 */,
619A53A31391DC75001AAD40 /* kern_return.h */,
619A53A41391DC75001AAD40 /* kmod.h */,
619A53A51391DC75001AAD40 /* ledger.defs */,
619A53A61391DC75001AAD40 /* ledger.h */,
619A53A71391DC75001AAD40 /* lock_set.defs */,
619A53A81391DC75001AAD40 /* lock_set.h */,
619A53A91391DC75001AAD40 /* mach.h */,
619A53AA1391DC75001AAD40 /* mach_error.h */,
619A53AB1391DC75001AAD40 /* mach_exc.defs */,
619A53AC1391DC75001AAD40 /* mach_host.defs */,
619A53AD1391DC75001AAD40 /* mach_host.h */,
619A53AE1391DC75001AAD40 /* mach_init.h */,
619A53AF1391DC75001AAD40 /* mach_interface.h */,
619A53B01391DC75001AAD40 /* mach_param.h */,
619A53B11391DC75001AAD40 /* mach_port.defs */,
619A53B21391DC75001AAD40 /* mach_port.h */,
619A53B31391DC75001AAD40 /* mach_syscalls.h */,
619A53B41391DC75001AAD40 /* mach_time.h */,
619A53B51391DC75001AAD40 /* mach_traps.h */,
619A53B61391DC75001AAD40 /* mach_types.defs */,
619A53B71391DC75001AAD40 /* mach_types.h */,
619A53B81391DC75001AAD40 /* mach_vm.defs */,
619A53B91391DC75001AAD40 /* mach_vm.h */,
619A53BA1391DC75001AAD40 /* machine */,
619A53C91391DC75001AAD40 /* machine.h */,
619A53CA1391DC75001AAD40 /* memory_object_types.h */,
619A53CB1391DC75001AAD40 /* message.h */,
619A53CC1391DC75001AAD40 /* mig.h */,
619A53CD1391DC75001AAD40 /* mig_errors.h */,
619A53CE1391DC75001AAD40 /* ndr.h */,
619A53CF1391DC75001AAD40 /* notify.defs */,
619A53D01391DC75001AAD40 /* notify.h */,
619A53D11391DC75001AAD40 /* policy.h */,
619A53D21391DC75001AAD40 /* port.h */,
619A53D31391DC75001AAD40 /* port_obj.h */,
619A53D41391DC75001AAD40 /* ppc */,
619A53E51391DC75001AAD40 /* processor.defs */,
619A53E61391DC75001AAD40 /* processor.h */,
619A53E71391DC75001AAD40 /* processor_info.h */,
619A53E81391DC75001AAD40 /* processor_set.defs */,
619A53E91391DC75001AAD40 /* processor_set.h */,
619A53EA1391DC75001AAD40 /* rpc.h */,
619A53EB1391DC75001AAD40 /* sdt.h */,
619A53EC1391DC75001AAD40 /* security.defs */,
619A53ED1391DC75001AAD40 /* semaphore.h */,
619A53EE1391DC75001AAD40 /* shared_memory_server.h */,
619A53EF1391DC75001AAD40 /* shared_region.h */,
619A53F01391DC75001AAD40 /* std_types.defs */,
619A53F11391DC75001AAD40 /* std_types.h */,
619A53F21391DC75001AAD40 /* sync.h */,
619A53F31391DC75001AAD40 /* sync_policy.h */,
619A53F41391DC75001AAD40 /* task.defs */,
619A53F51391DC75001AAD40 /* task.h */,
619A53F61391DC75001AAD40 /* task_access.defs */,
619A53F71391DC75001AAD40 /* task_info.h */,
619A53F81391DC75001AAD40 /* task_ledger.h */,
619A53F91391DC75001AAD40 /* task_policy.h */,
619A53FA1391DC75001AAD40 /* task_special_ports.h */,
619A53FB1391DC75001AAD40 /* thread_act.defs */,
619A53FC1391DC75001AAD40 /* thread_act.h */,
619A53FD1391DC75001AAD40 /* thread_info.h */,
619A53FE1391DC75001AAD40 /* thread_policy.h */,
619A53FF1391DC75001AAD40 /* thread_special_ports.h */,
619A54001391DC75001AAD40 /* thread_status.h */,
619A54011391DC75001AAD40 /* thread_switch.h */,
619A54021391DC75001AAD40 /* time_value.h */,
619A54031391DC75001AAD40 /* vm_attributes.h */,
619A54041391DC75001AAD40 /* vm_behavior.h */,
619A54051391DC75001AAD40 /* vm_inherit.h */,
619A54061391DC75001AAD40 /* vm_map.defs */,
619A54071391DC75001AAD40 /* vm_map.h */,
619A54081391DC75001AAD40 /* vm_param.h */,
619A54091391DC75001AAD40 /* vm_prot.h */,
619A540A1391DC75001AAD40 /* vm_purgable.h */,
619A540B1391DC75001AAD40 /* vm_region.h */,
619A540C1391DC75001AAD40 /* vm_statistics.h */,
619A540D1391DC75001AAD40 /* vm_sync.h */,
619A540E1391DC75001AAD40 /* vm_task.h */,
619A540F1391DC75001AAD40 /* vm_types.h */,
619A54101391DC75001AAD40 /* x86_64 */,
);
path = mach;
sourceTree = "<group>";
};
619A53911391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A53921391DC75001AAD40 /* _structs.h */,
619A53931391DC75001AAD40 /* asm.h */,
619A53941391DC75001AAD40 /* boolean.h */,
619A53951391DC75001AAD40 /* exception.h */,
619A53961391DC75001AAD40 /* fp_reg.h */,
619A53971391DC75001AAD40 /* kern_return.h */,
619A53981391DC75001AAD40 /* machine_types.defs */,
619A53991391DC75001AAD40 /* ndr_def.h */,
619A539A1391DC75001AAD40 /* processor_info.h */,
619A539B1391DC75001AAD40 /* rpc.h */,
619A539C1391DC75001AAD40 /* sdt_isa.h */,
619A539D1391DC75001AAD40 /* task.h */,
619A539E1391DC75001AAD40 /* thread_act.h */,
619A539F1391DC75001AAD40 /* thread_state.h */,
619A53A01391DC75001AAD40 /* thread_status.h */,
619A53A11391DC75001AAD40 /* vm_param.h */,
619A53A21391DC75001AAD40 /* vm_types.h */,
);
path = i386;
sourceTree = "<group>";
};
619A53BA1391DC75001AAD40 /* machine */ = {
isa = PBXGroup;
children = (
619A53BB1391DC75001AAD40 /* asm.h */,
619A53BC1391DC75001AAD40 /* boolean.h */,
619A53BD1391DC75001AAD40 /* exception.h */,
619A53BE1391DC75001AAD40 /* kern_return.h */,
619A53BF1391DC75001AAD40 /* machine_types.defs */,
619A53C01391DC75001AAD40 /* ndr_def.h */,
619A53C11391DC75001AAD40 /* processor_info.h */,
619A53C21391DC75001AAD40 /* rpc.h */,
619A53C31391DC75001AAD40 /* sdt.h */,
619A53C41391DC75001AAD40 /* sdt_isa.h */,
619A53C51391DC75001AAD40 /* thread_state.h */,
619A53C61391DC75001AAD40 /* thread_status.h */,
619A53C71391DC75001AAD40 /* vm_param.h */,
619A53C81391DC75001AAD40 /* vm_types.h */,
);
path = machine;
sourceTree = "<group>";
};
619A53D41391DC75001AAD40 /* ppc */ = {
isa = PBXGroup;
children = (
619A53D51391DC75001AAD40 /* _structs.h */,
619A53D61391DC75001AAD40 /* asm.h */,
619A53D71391DC75001AAD40 /* boolean.h */,
619A53D81391DC75001AAD40 /* exception.h */,
619A53D91391DC75001AAD40 /* kern_return.h */,
619A53DA1391DC75001AAD40 /* machine_types.defs */,
619A53DB1391DC75001AAD40 /* ndr_def.h */,
619A53DC1391DC75001AAD40 /* processor_info.h */,
619A53DD1391DC75001AAD40 /* rpc.h */,
619A53DE1391DC75001AAD40 /* sdt_isa.h */,
619A53DF1391DC75001AAD40 /* task.h */,
619A53E01391DC75001AAD40 /* thread_act.h */,
619A53E11391DC75001AAD40 /* thread_state.h */,
619A53E21391DC75001AAD40 /* thread_status.h */,
619A53E31391DC75001AAD40 /* vm_param.h */,
619A53E41391DC75001AAD40 /* vm_types.h */,
);
path = ppc;
sourceTree = "<group>";
};
619A54101391DC75001AAD40 /* x86_64 */ = {
isa = PBXGroup;
children = (
619A54111391DC75001AAD40 /* task.h */,
619A54121391DC75001AAD40 /* thread_act.h */,
);
path = x86_64;
sourceTree = "<group>";
};
619A54131391DC75001AAD40 /* mach-o */ = {
isa = PBXGroup;
children = (
619A54141391DC75001AAD40 /* arch.h */,
619A54151391DC75001AAD40 /* compact_unwind_encoding.h */,
619A54161391DC75001AAD40 /* dyld.h */,
619A54171391DC75001AAD40 /* dyld_images.h */,
619A54181391DC75001AAD40 /* fat.h */,
619A54191391DC75001AAD40 /* getsect.h */,
619A541A1391DC75001AAD40 /* i386 */,
619A541C1391DC75001AAD40 /* ldsyms.h */,
619A541D1391DC75001AAD40 /* loader.h */,
619A541E1391DC75001AAD40 /* nlist.h */,
619A541F1391DC75001AAD40 /* ppc */,
619A54221391DC75001AAD40 /* ranlib.h */,
619A54231391DC75001AAD40 /* reloc.h */,
619A54241391DC75001AAD40 /* stab.h */,
619A54251391DC75001AAD40 /* swap.h */,
619A54261391DC75001AAD40 /* x86_64 */,
);
path = "mach-o";
sourceTree = "<group>";
};
619A541A1391DC75001AAD40 /* i386 */ = {
isa = PBXGroup;
children = (
619A541B1391DC75001AAD40 /* swap.h */,
);
path = i386;
sourceTree = "<group>";
};
619A541F1391DC75001AAD40 /* ppc */ = {
isa = PBXGroup;
children = (
619A54201391DC75001AAD40 /* reloc.h */,
619A54211391DC75001AAD40 /* swap.h */,
);
path = ppc;
sourceTree = "<group>";
};
619A54261391DC75001AAD40 /* x86_64 */ = {
isa = PBXGroup;
children = (
619A54271391DC75001AAD40 /* reloc.h */,
);
path = x86_64;
sourceTree = "<group>";
};
619A54281391DC75001AAD40 /* machine */ = {
isa = PBXGroup;
children = (
619A54291391DC75001AAD40 /* _limits.h */,
619A542A1391DC75001AAD40 /* _param.h */,
619A542B1391DC75001AAD40 /* _structs.h */,
619A542C1391DC75001AAD40 /* _types.h */,
619A542D1391DC75001AAD40 /* byte_order.h */,
619A542E1391DC75001AAD40 /* endian.h */,
619A542F1391DC75001AAD40 /* fasttrap_isa.h */,
619A54301391DC75001AAD40 /* limits.h */,
619A54311391DC75001AAD40 /* param.h */,
619A54321391DC75001AAD40 /* profile.h */,
619A54331391DC75001AAD40 /* setjmp.h */,
619A54341391DC75001AAD40 /* signal.h */,
619A54351391DC75001AAD40 /* types.h */,
619A54361391DC75001AAD40 /* vmparam.h */,
);
path = machine;
sourceTree = "<group>";
};
619A54381391DC75001AAD40 /* netinet */ = {
isa = PBXGroup;
children = (
619A54391391DC75001AAD40 /* bootp.h */,
619A543A1391DC75001AAD40 /* icmp6.h */,
619A543B1391DC75001AAD40 /* icmp_var.h */,
619A543C1391DC75001AAD40 /* if_ether.h */,
619A543D1391DC75001AAD40 /* igmp.h */,
619A543E1391DC75001AAD40 /* igmp_var.h */,
619A543F1391DC75001AAD40 /* in.h */,
619A54401391DC75001AAD40 /* in_pcb.h */,
619A54411391DC75001AAD40 /* in_systm.h */,
619A54421391DC75001AAD40 /* in_var.h */,
619A54431391DC75001AAD40 /* ip.h */,
619A54441391DC75001AAD40 /* ip6.h */,
619A54451391DC75001AAD40 /* ip_fw.h */,
619A54461391DC75001AAD40 /* ip_fw2.h */,
619A54471391DC75001AAD40 /* ip_icmp.h */,
619A54481391DC75001AAD40 /* ip_mroute.h */,
619A54491391DC75001AAD40 /* ip_var.h */,
619A544A1391DC75001AAD40 /* tcp.h */,
619A544B1391DC75001AAD40 /* tcp_fsm.h */,
619A544C1391DC75001AAD40 /* tcp_seq.h */,
619A544D1391DC75001AAD40 /* tcp_timer.h */,
619A544E1391DC75001AAD40 /* tcp_var.h */,
619A544F1391DC75001AAD40 /* tcpip.h */,
619A54501391DC75001AAD40 /* udp.h */,
619A54511391DC75001AAD40 /* udp_var.h */,
);
path = netinet;
sourceTree = "<group>";
};
619A54521391DC75001AAD40 /* netinet6 */ = {
isa = PBXGroup;
children = (
619A54531391DC75001AAD40 /* ah.h */,
619A54541391DC75001AAD40 /* esp.h */,
619A54551391DC75001AAD40 /* in6.h */,
619A54561391DC75001AAD40 /* in6_var.h */,
619A54571391DC75001AAD40 /* ip6_fw.h */,
619A54581391DC75001AAD40 /* ip6_mroute.h */,
619A54591391DC75001AAD40 /* ipcomp.h */,
619A545A1391DC75001AAD40 /* ipsec.h */,
619A545B1391DC75001AAD40 /* nd6.h */,
619A545C1391DC75001AAD40 /* pim6.h */,
619A545D1391DC75001AAD40 /* raw_ip6.h */,
);
path = netinet6;
sourceTree = "<group>";
};
619A545F1391DC75001AAD40 /* secure */ = {
isa = PBXGroup;
children = (
619A54601391DC75001AAD40 /* _common.h */,
619A54611391DC75001AAD40 /* _stdio.h */,
);
path = secure;
sourceTree = "<group>";
};
619A546B1391DC75001AAD40 /* sys */ = {
isa = PBXGroup;
children = (
619A546C1391DC75001AAD40 /* _endian.h */,
619A546D1391DC75001AAD40 /* _select.h */,
619A546E1391DC75001AAD40 /* _structs.h */,
619A546F1391DC75001AAD40 /* _types.h */,
619A54701391DC75001AAD40 /* appleapiopts.h */,
619A54711391DC75001AAD40 /* buf.h */,
619A54721391DC75001AAD40 /* cdefs.h */,
619A54731391DC75001AAD40 /* disk.h */,
619A54741391DC75001AAD40 /* kernel_types.h */,
619A54751391DC75001AAD40 /* param.h */,
619A54761391DC75001AAD40 /* reboot.h */,
619A54771391DC75001AAD40 /* select.h */,
619A54781391DC75001AAD40 /* socket.h */,
619A54791391DC75001AAD40 /* syscall.h */,
619A547A1391DC75001AAD40 /* syslimits.h */,
619A547B1391DC75001AAD40 /* time.h */,
619A547C1391DC75001AAD40 /* types.h */,
619A547D1391DC75001AAD40 /* unistd.h */,
);
path = sys;
sourceTree = "<group>";
};
619A547F1391DC75001AAD40 /* ufs */ = {
isa = PBXGroup;
children = (
619A54801391DC75001AAD40 /* ffs */,
619A54831391DC75001AAD40 /* ufs */,
);
path = ufs;
sourceTree = "<group>";
};
619A54801391DC75001AAD40 /* ffs */ = {
isa = PBXGroup;
children = (
619A54811391DC75001AAD40 /* ffs_extern.h */,
619A54821391DC75001AAD40 /* fs.h */,
);
path = ffs;
sourceTree = "<group>";
};
619A54831391DC75001AAD40 /* ufs */ = {
isa = PBXGroup;
children = (
619A54841391DC75001AAD40 /* dinode.h */,
619A54851391DC75001AAD40 /* dir.h */,
619A54861391DC75001AAD40 /* inode.h */,
619A54871391DC75001AAD40 /* ufs_extern.h */,
619A54881391DC75001AAD40 /* ufsmount.h */,
);
path = ufs;
sourceTree = "<group>";
};
619A548B1391DC75001AAD40 /* libsa */ = {
isa = PBXGroup;
children = (
619A548C1391DC75001AAD40 /* Cconfig */,
619A548D1391DC75001AAD40 /* efi_tables.c */,
619A548E1391DC75001AAD40 /* efi_tables.h */,
619A548F1391DC75001AAD40 /* error.c */,
619A54901391DC75001AAD40 /* libsa.h */,
619A54911391DC75001AAD40 /* Makefile */,
619A54921391DC75001AAD40 /* memory.h */,
619A54931391DC75001AAD40 /* prf.c */,
619A54941391DC75001AAD40 /* printf.c */,
619A54951391DC75001AAD40 /* qsort.c */,
619A54961391DC75001AAD40 /* setjmp.s */,
619A54971391DC75001AAD40 /* string.c */,
619A54981391DC75001AAD40 /* strtol.c */,
619A54991391DC75001AAD40 /* zalloc.c */,
);
path = libsa;
sourceTree = "<group>";
};
B0056D2411F3868000754B65 /* libsaio */ = {
619A549A1391DC75001AAD40 /* libsaio */ = {
isa = PBXGroup;
children = (
B0056D2511F3868000754B65 /* acpi.h */,
B0056D2611F3868000754B65 /* acpi_patcher.c */,
B0056D2711F3868000754B65 /* acpi_patcher.h */,
B0056D2811F3868000754B65 /* allocate.c */,
B00F494A11F6089500B1D7C5 /* aml_generator.c */,
B00F494911F6089500B1D7C5 /* aml_generator.h */,
B0056D2911F3868000754B65 /* asm.s */,
012E60F7137AC68F00E35218 /* ati_reg.h */,
B0056D2A11F3868000754B65 /* ati.c */,
B0056D2C11F3868000754B65 /* bios.h */,
B0056D2D11F3868000754B65 /* bios.s */,
B0056D2E11F3868000754B65 /* biosfn.c */,
1D145307137073F40050C0CD /* bootargs.h */,
B0056D2F11F3868000754B65 /* bootstruct.c */,
B0056D3011F3868000754B65 /* bootstruct.h */,
B0056D3111F3868000754B65 /* cache.c */,
B0056D3211F3868000754B65 /* console.c */,
B0056D3311F3868000754B65 /* convert.c */,
B0056D3411F3868000754B65 /* convert.h */,
B0056D3511F3868000754B65 /* cpu.c */,
B0056D3611F3868000754B65 /* cpu.h */,
B0056D3711F3868000754B65 /* device_inject.c */,
B0056D3811F3868000754B65 /* device_inject.h */,
B0056D3911F3868000754B65 /* device_tree.c */,
B0056D3A11F3868000754B65 /* device_tree.h */,
B0056D3B11F3868000754B65 /* disk.c */,
65ED53931204B83200B22507 /* disk.h */,
0172D0DC11FB66820030222E /* dram_controllers.h */,
0172D0DD11FB66820030222E /* dram_controllers.c */,
B0056D3C11F3868000754B65 /* efi.h */,
B0056D3D11F3868000754B65 /* ext2fs.c */,
B0056D3E11F3868000754B65 /* ext2fs.h */,
B0056D3F11F3868000754B65 /* fake_efi.c */,
B0056D4011F3868000754B65 /* fake_efi.h */,
B0056D4111F3868000754B65 /* fdisk.h */,
B0056D4211F3868000754B65 /* hfs.c */,
B0056D4311F3868000754B65 /* hfs.h */,
B0056D4411F3868000754B65 /* hfs_CaseTables.h */,
B0056D4511F3868000754B65 /* hfs_compare.c */,
B0056D4611F3868000754B65 /* hpet.c */,
B0056D4711F3868000754B65 /* hpet.h */,
B0056D4811F3868000754B65 /* io_inline.h */,
B0056D4911F3868000754B65 /* libsaio.h */,
B0056D4A11F3868000754B65 /* load.c */,
B0056D4B11F3868000754B65 /* Makefile */,
B0056D4C11F3868000754B65 /* md5c.c */,
B0056D4F11F3868000754B65 /* memvendors.h */,
B0056D5011F3868000754B65 /* misc.c */,
B0056D5111F3868000754B65 /* msdos.c */,
B0056D5211F3868000754B65 /* msdos.h */,
B0056D5311F3868000754B65 /* msdos_private.h */,
B0056D5411F3868000754B65 /* nbp.c */,
B0056D5511F3868000754B65 /* nbp_cmd.h */,
B0056D5611F3868000754B65 /* ntfs.c */,
B0056D5711F3868000754B65 /* ntfs.h */,
B0056D5811F3868000754B65 /* ntfs_private.h */,
B0056D5911F3868000754B65 /* nvidia.c */,
B0056D5A11F3868000754B65 /* nvidia.h */,
B0056D5B11F3868000754B65 /* pci.c */,
B0056D5C11F3868000754B65 /* pci.h */,
B0056D5D11F3868000754B65 /* pci_root.c */,
B0056D5E11F3868000754B65 /* pci_root.h */,
B0056D5F11F3868000754B65 /* pci_setup.c */,
B0056D6011F3868000754B65 /* platform.c */,
B0056D6111F3868000754B65 /* platform.h */,
B0056D6211F3868000754B65 /* saio_internal.h */,
B0056D6311F3868000754B65 /* saio_types.h */,
B0056D6411F3868000754B65 /* sl.h */,
B0056D6511F3868000754B65 /* SMBIOS.h */,
012E60F8137AC68F00E35218 /* smbios_decode.c */,
012E60F9137AC68F00E35218 /* smbios_getters.c */,
012E60FA137AC68F00E35218 /* smbios_getters.h */,
012E60FB137AC68F00E35218 /* smbios.c */,
B0056D6811F3868000754B65 /* spd.c */,
B0056D6911F3868000754B65 /* spd.h */,
B0056D6A11F3868000754B65 /* stringTable.c */,
B0056D6B11F3868000754B65 /* sys.c */,
B0056D6C11F3868000754B65 /* table.c */,
B0056D6D11F3868000754B65 /* ufs.c */,
B0056D6E11F3868000754B65 /* ufs.h */,
B0056D6F11F3868000754B65 /* ufs_byteorder.c */,
B0056D7011F3868000754B65 /* ufs_byteorder.h */,
B0056D7111F3868000754B65 /* usb.c */,
B0056D7211F3868000754B65 /* vbe.c */,
B0056D7311F3868000754B65 /* vbe.h */,
B0056D7411F3868000754B65 /* xml.c */,
B0056D7511F3868000754B65 /* xml.h */,
1D2A1AF513743A2600787720 /* bootargs.h */,
619A549B1391DC75001AAD40 /* acpi.h */,
619A549C1391DC75001AAD40 /* acpi_patcher.c */,
619A549D1391DC75001AAD40 /* acpi_patcher.h */,
619A549E1391DC75001AAD40 /* allocate.c */,
619A549F1391DC75001AAD40 /* aml_generator.c */,
619A54A01391DC75001AAD40 /* aml_generator.h */,
619A54A11391DC75001AAD40 /* asm.s */,
619A54A21391DC75001AAD40 /* ati.c */,
619A54A31391DC75001AAD40 /* ati_reg.h */,
619A54A41391DC75001AAD40 /* befs.c */,
619A54A51391DC75001AAD40 /* befs.h */,
619A54A61391DC75001AAD40 /* bios.h */,
619A54A71391DC75001AAD40 /* bios.s */,
619A54A81391DC75001AAD40 /* biosfn.c */,
619A54A91391DC75001AAD40 /* bootargs.h */,
619A54AA1391DC75001AAD40 /* bootstruct.c */,
619A54AB1391DC75001AAD40 /* bootstruct.h */,
619A54AC1391DC75001AAD40 /* cache.c */,
619A54AD1391DC75001AAD40 /* Cconfig */,
619A54AE1391DC75001AAD40 /* console.c */,
619A54AF1391DC75001AAD40 /* convert.c */,
619A54B01391DC75001AAD40 /* convert.h */,
619A54B11391DC75001AAD40 /* cpu.c */,
619A54B21391DC75001AAD40 /* cpu.h */,
619A54B31391DC75001AAD40 /* device_inject.c */,
619A54B41391DC75001AAD40 /* device_inject.h */,
619A54B51391DC75001AAD40 /* device_tree.c */,
619A54B61391DC75001AAD40 /* device_tree.h */,
619A54B71391DC75001AAD40 /* disk.c */,
619A54B81391DC75001AAD40 /* disk.h */,
619A54B91391DC75001AAD40 /* dram_controllers.c */,
619A54BA1391DC75001AAD40 /* dram_controllers.h */,
619A54BB1391DC75001AAD40 /* efi.h */,
619A54BC1391DC75001AAD40 /* ext2fs.c */,
619A54BD1391DC75001AAD40 /* ext2fs.h */,
619A54BE1391DC75001AAD40 /* fake_efi.c */,
619A54BF1391DC75001AAD40 /* fake_efi.h */,
619A54C01391DC75001AAD40 /* fdisk.h */,
619A54C11391DC75001AAD40 /* freebsd.c */,
619A54C21391DC75001AAD40 /* freebsd.h */,
619A54C31391DC75001AAD40 /* hfs.c */,
619A54C41391DC75001AAD40 /* hfs.h */,
619A54C51391DC75001AAD40 /* hfs_CaseTables.h */,
619A54C61391DC75001AAD40 /* hfs_compare.c */,
619A54C71391DC75001AAD40 /* hpet.c */,
619A54C81391DC75001AAD40 /* hpet.h */,
619A54C91391DC75001AAD40 /* io_inline.h */,
619A54CA1391DC75001AAD40 /* libsaio.h */,
619A54CB1391DC75001AAD40 /* load.c */,
619A54CC1391DC75001AAD40 /* Makefile */,
619A54CD1391DC75001AAD40 /* md5c.c */,
619A54CE1391DC75001AAD40 /* memvendors.h */,
619A54CF1391DC75001AAD40 /* misc.c */,
619A54D01391DC75001AAD40 /* msdos.c */,
619A54D11391DC75001AAD40 /* msdos.h */,
619A54D21391DC75001AAD40 /* msdos_private.h */,
619A54D31391DC75001AAD40 /* nbp.c */,
619A54D41391DC75001AAD40 /* nbp_cmd.h */,
619A54D51391DC75001AAD40 /* ntfs.c */,
619A54D61391DC75001AAD40 /* ntfs.h */,
619A54D71391DC75001AAD40 /* ntfs_private.h */,
619A54D81391DC75001AAD40 /* nvidia.c */,
619A54D91391DC75001AAD40 /* nvidia.h */,
619A54DA1391DC75001AAD40 /* openbsd.c */,
619A54DB1391DC75001AAD40 /* openbsd.h */,
619A54DC1391DC75001AAD40 /* pci.c */,
619A54DD1391DC75001AAD40 /* pci.h */,
619A54DE1391DC75001AAD40 /* pci_root.c */,
619A54DF1391DC75001AAD40 /* pci_root.h */,
619A54E01391DC75001AAD40 /* pci_setup.c */,
619A54E11391DC75001AAD40 /* platform.c */,
619A54E21391DC75001AAD40 /* platform.h */,
619A54E31391DC75001AAD40 /* saio_internal.h */,
619A54E41391DC75001AAD40 /* saio_types.h */,
619A54E51391DC75001AAD40 /* sl.h */,
619A54E61391DC75001AAD40 /* smbios.c */,
619A54E71391DC75001AAD40 /* smbios.h */,
619A54E81391DC75001AAD40 /* smbios_decode.c */,
619A54E91391DC75001AAD40 /* smbios_getters.c */,
619A54EA1391DC75001AAD40 /* smbios_getters.h */,
619A54EB1391DC75001AAD40 /* spd.c */,
619A54EC1391DC75001AAD40 /* spd.h */,
619A54ED1391DC75001AAD40 /* stringTable.c */,
619A54EE1391DC75001AAD40 /* sys.c */,
619A54EF1391DC75001AAD40 /* table.c */,
619A54F01391DC75001AAD40 /* ufs.c */,
619A54F11391DC75001AAD40 /* ufs.h */,
619A54F21391DC75001AAD40 /* ufs_byteorder.c */,
619A54F31391DC75001AAD40 /* ufs_byteorder.h */,
619A54F41391DC75001AAD40 /* usb.c */,
619A54F51391DC75001AAD40 /* vbe.c */,
619A54F61391DC75001AAD40 /* vbe.h */,
619A54F71391DC75001AAD40 /* xml.c */,
619A54F81391DC75001AAD40 /* xml.h */,
);
path = libsaio;
sourceTree = "<group>";
};
B0056D7911F3868000754B65 /* util */ = {
619A54FC1391DC75001AAD40 /* modules */ = {
isa = PBXGroup;
children = (
B0056D7A11F3868000754B65 /* machOconv.c */,
B0056D7B11F3868000754B65 /* Makefile */,
619A54FD1391DC75001AAD40 /* AMDGraphicsEnabler */,
619A55041391DC75001AAD40 /* ATiGraphicsEnabler */,
619A550B1391DC75001AAD40 /* Cconfig */,
619A550C1391DC75001AAD40 /* HelloWorld */,
619A55111391DC75001AAD40 /* include */,
619A55141391DC75001AAD40 /* IntelGraphicsEnabler */,
619A551B1391DC75001AAD40 /* klibc */,
619A55651391DC75001AAD40 /* Makefile */,
619A55661391DC75001AAD40 /* MakeInc.dir */,
619A55671391DC75001AAD40 /* Modules.txt */,
619A55681391DC75001AAD40 /* NVIDIAGraphicsEnabler */,
619A556F1391DC75001AAD40 /* Resolution */,
619A557A1391DC75001AAD40 /* uClibcxx */,
);
path = modules;
sourceTree = "<group>";
};
619A54FD1391DC75001AAD40 /* AMDGraphicsEnabler */ = {
isa = PBXGroup;
children = (
619A54FE1391DC75001AAD40 /* AMDGraphicsEnabler.c */,
619A54FF1391DC75001AAD40 /* ati.c */,
619A55001391DC75001AAD40 /* ati_reg.h */,
619A55011391DC75001AAD40 /* Cconfig */,
619A55021391DC75001AAD40 /* Makefile */,
619A55031391DC75001AAD40 /* Readme.txt */,
);
path = AMDGraphicsEnabler;
sourceTree = "<group>";
};
619A55041391DC75001AAD40 /* ATiGraphicsEnabler */ = {
isa = PBXGroup;
children = (
619A55051391DC75001AAD40 /* ati.c */,
619A55061391DC75001AAD40 /* ati.h */,
619A55071391DC75001AAD40 /* ATiGraphicsEnabler.c */,
619A55081391DC75001AAD40 /* Cconfig */,
619A55091391DC75001AAD40 /* Makefile */,
619A550A1391DC75001AAD40 /* Readme.txt */,
);
path = ATiGraphicsEnabler;
sourceTree = "<group>";
};
619A550C1391DC75001AAD40 /* HelloWorld */ = {
isa = PBXGroup;
children = (
619A550D1391DC75001AAD40 /* Cconfig */,
619A550E1391DC75001AAD40 /* HelloWorld.cpp */,
619A550F1391DC75001AAD40 /* include */,
619A55101391DC75001AAD40 /* Makefile */,
);
path = HelloWorld;
sourceTree = "<group>";
};
619A550F1391DC75001AAD40 /* include */ = {
isa = PBXGroup;
children = (
);
path = include;
sourceTree = "<group>";
};
619A55111391DC75001AAD40 /* include */ = {
isa = PBXGroup;
children = (
619A55121391DC75001AAD40 /* modules */,
619A55131391DC75001AAD40 /* types.h */,
);
path = include;
sourceTree = "<group>";
};
619A55141391DC75001AAD40 /* IntelGraphicsEnabler */ = {
isa = PBXGroup;
children = (
619A55151391DC75001AAD40 /* Cconfig */,
619A55161391DC75001AAD40 /* gma.c */,
619A55171391DC75001AAD40 /* gma.h */,
619A55181391DC75001AAD40 /* IntelGraphicsEnabler.c */,
619A55191391DC75001AAD40 /* Makefile */,
619A551A1391DC75001AAD40 /* Readme.txt */,
);
path = IntelGraphicsEnabler;
sourceTree = "<group>";
};
619A551B1391DC75001AAD40 /* klibc */ = {
isa = PBXGroup;
children = (
619A551C1391DC75001AAD40 /* __ashldi3.c */,
619A551D1391DC75001AAD40 /* __ashrdi3.c */,
619A551E1391DC75001AAD40 /* __clzsi2.c */,
619A551F1391DC75001AAD40 /* __divdi3.c */,
619A55201391DC75001AAD40 /* __divsi3.c */,
619A55211391DC75001AAD40 /* __lshrdi3.c */,
619A55221391DC75001AAD40 /* __moddi3.c */,
619A55231391DC75001AAD40 /* __modsi3.c */,
619A55241391DC75001AAD40 /* __udivdi3.c */,
619A55251391DC75001AAD40 /* __udivmoddi4.c */,
619A55261391DC75001AAD40 /* __udivmodsi4.c */,
619A55271391DC75001AAD40 /* __udivsi3.c */,
619A55281391DC75001AAD40 /* __umoddi3.c */,
619A55291391DC75001AAD40 /* __umodsi3.c */,
619A552A1391DC75001AAD40 /* atexit.c */,
619A552B1391DC75001AAD40 /* atexit.h */,
619A552C1391DC75001AAD40 /* atoi.c */,
619A552D1391DC75001AAD40 /* atol.c */,
619A552E1391DC75001AAD40 /* atoll.c */,
619A552F1391DC75001AAD40 /* atox.c */,
619A55301391DC75001AAD40 /* bsearch.c */,
619A55311391DC75001AAD40 /* calloc.c */,
619A55321391DC75001AAD40 /* Cconfig */,
619A55331391DC75001AAD40 /* exit.c */,
619A55341391DC75001AAD40 /* jrand48.c */,
619A55351391DC75001AAD40 /* klibc.c */,
619A55361391DC75001AAD40 /* LICENSE */,
619A55371391DC75001AAD40 /* limits.h */,
619A55381391DC75001AAD40 /* lrand48.c */,
619A55391391DC75001AAD40 /* Makefile */,
619A553A1391DC75001AAD40 /* memccpy.c */,
619A553B1391DC75001AAD40 /* memchr.c */,
619A553C1391DC75001AAD40 /* memmem.c */,
619A553D1391DC75001AAD40 /* memmove.c */,
619A553E1391DC75001AAD40 /* memrchr.c */,
619A553F1391DC75001AAD40 /* memswap.c */,
619A55401391DC75001AAD40 /* mrand48.c */,
619A55411391DC75001AAD40 /* nrand48.c */,
619A55421391DC75001AAD40 /* onexit.c */,
619A55431391DC75001AAD40 /* qsort.c */,
619A55441391DC75001AAD40 /* Readme.txt */,
619A55451391DC75001AAD40 /* seed48.c */,
619A55461391DC75001AAD40 /* sha1hash.c */,
619A55471391DC75001AAD40 /* snprintf.c */,
619A55481391DC75001AAD40 /* srand48.c */,
619A55491391DC75001AAD40 /* sscanf.c */,
619A554A1391DC75001AAD40 /* strcasecmp.c */,
619A554B1391DC75001AAD40 /* strdup.c */,
619A554C1391DC75001AAD40 /* strlcat.c */,
619A554D1391DC75001AAD40 /* strncasecmp.c */,
619A554E1391DC75001AAD40 /* strndup.c */,
619A554F1391DC75001AAD40 /* strnlen.c */,
619A55501391DC75001AAD40 /* strntoimax.c */,
619A55511391DC75001AAD40 /* strntoumax.c */,
619A55521391DC75001AAD40 /* strpbrk.c */,
619A55531391DC75001AAD40 /* strsep.c */,
619A55541391DC75001AAD40 /* strtoimax.c */,
619A55551391DC75001AAD40 /* strtok.c */,
619A55561391DC75001AAD40 /* strtok_r.c */,
619A55571391DC75001AAD40 /* strtol.c */,
619A55581391DC75001AAD40 /* strtoll.c */,
619A55591391DC75001AAD40 /* strtotimespec.c */,
619A555A1391DC75001AAD40 /* strtotimeval.c */,
619A555B1391DC75001AAD40 /* strtotimex.c */,
619A555C1391DC75001AAD40 /* strtoul.c */,
619A555D1391DC75001AAD40 /* strtoull.c */,
619A555E1391DC75001AAD40 /* strtoumax.c */,
619A555F1391DC75001AAD40 /* strtox.c */,
619A55601391DC75001AAD40 /* strxspn.c */,
619A55611391DC75001AAD40 /* strxspn.h */,
619A55621391DC75001AAD40 /* version */,
619A55631391DC75001AAD40 /* vsnprintf.c */,
619A55641391DC75001AAD40 /* vsscanf.c */,
);
path = klibc;
sourceTree = "<group>";
};
619A55681391DC75001AAD40 /* NVIDIAGraphicsEnabler */ = {
isa = PBXGroup;
children = (
619A55691391DC75001AAD40 /* Cconfig */,
619A556A1391DC75001AAD40 /* Makefile */,
619A556B1391DC75001AAD40 /* nvidia.c */,
619A556C1391DC75001AAD40 /* nvidia.h */,
619A556D1391DC75001AAD40 /* NVIDIAGraphicsEnabler.c */,
619A556E1391DC75001AAD40 /* Readme.txt */,
);
path = NVIDIAGraphicsEnabler;
sourceTree = "<group>";
};
619A556F1391DC75001AAD40 /* Resolution */ = {
isa = PBXGroup;
children = (
619A55701391DC75001AAD40 /* 915resolution.c */,
619A55711391DC75001AAD40 /* 915resolution.h */,
619A55721391DC75001AAD40 /* Cconfig */,
619A55731391DC75001AAD40 /* edid.c */,
619A55741391DC75001AAD40 /* include */,
619A55761391DC75001AAD40 /* Makefile */,
619A55771391DC75001AAD40 /* Readme.txt */,
619A55781391DC75001AAD40 /* Resolution.c */,
619A55791391DC75001AAD40 /* shortatombios.h */,
);
path = Resolution;
sourceTree = "<group>";
};
619A55741391DC75001AAD40 /* include */ = {
isa = PBXGroup;
children = (
619A55751391DC75001AAD40 /* edid.h */,
);
path = include;
sourceTree = "<group>";
};
619A557A1391DC75001AAD40 /* uClibcxx */ = {
isa = PBXGroup;
children = (
619A557B1391DC75001AAD40 /* abi.cpp */,
619A557C1391DC75001AAD40 /* algorithm.cpp */,
619A557D1391DC75001AAD40 /* associative_base.cpp */,
619A557E1391DC75001AAD40 /* bitset.cpp */,
619A557F1391DC75001AAD40 /* Cconfig */,
619A55801391DC75001AAD40 /* char_traits.cpp */,
619A55811391DC75001AAD40 /* complex.cpp */,
619A55821391DC75001AAD40 /* del_op.cpp */,
619A55831391DC75001AAD40 /* del_opnt.cpp */,
619A55841391DC75001AAD40 /* del_opv.cpp */,
619A55851391DC75001AAD40 /* del_opvnt.cpp */,
619A55861391DC75001AAD40 /* deque.cpp */,
619A55871391DC75001AAD40 /* eh_alloc.cpp */,
619A55881391DC75001AAD40 /* eh_globals.cpp */,
619A55891391DC75001AAD40 /* exception.cpp */,
619A558A1391DC75001AAD40 /* fstream.cpp */,
619A558B1391DC75001AAD40 /* func_exception.cpp */,
619A558C1391DC75001AAD40 /* include */,
619A55CE1391DC75001AAD40 /* iomanip.cpp */,
619A55CF1391DC75001AAD40 /* ios.cpp */,
619A55D01391DC75001AAD40 /* iostream.cpp */,
619A55D11391DC75001AAD40 /* istream.cpp */,
619A55D21391DC75001AAD40 /* iterator.cpp */,
619A55D31391DC75001AAD40 /* limits.cpp */,
619A55D41391DC75001AAD40 /* list.cpp */,
619A55D51391DC75001AAD40 /* locale.cpp */,
619A55D61391DC75001AAD40 /* Makefile */,
619A55D71391DC75001AAD40 /* map.cpp */,
619A55D81391DC75001AAD40 /* new_handler.cpp */,
619A55D91391DC75001AAD40 /* new_op.cpp */,
619A55DA1391DC75001AAD40 /* new_opnt.cpp */,
619A55DB1391DC75001AAD40 /* new_opv.cpp */,
619A55DC1391DC75001AAD40 /* new_opvnt.cpp */,
619A55DD1391DC75001AAD40 /* numeric.cpp */,
619A55DE1391DC75001AAD40 /* ostream.cpp */,
619A55DF1391DC75001AAD40 /* queue.cpp */,
619A55E01391DC75001AAD40 /* Readme.txt */,
619A55E11391DC75001AAD40 /* set.cpp */,
619A55E21391DC75001AAD40 /* sstream.cpp */,
619A55E31391DC75001AAD40 /* stack.cpp */,
619A55E41391DC75001AAD40 /* stdexcept.cpp */,
619A55E51391DC75001AAD40 /* streambuf.cpp */,
619A55E61391DC75001AAD40 /* string.cpp */,
619A55E71391DC75001AAD40 /* support.cpp */,
619A55E81391DC75001AAD40 /* typeinfo.cpp */,
619A55E91391DC75001AAD40 /* uClibc++.c */,
619A55EA1391DC75001AAD40 /* utility.cpp */,
619A55EB1391DC75001AAD40 /* valarray.cpp */,
619A55EC1391DC75001AAD40 /* vector.cpp */,
);
path = uClibcxx;
sourceTree = "<group>";
};
619A558C1391DC75001AAD40 /* include */ = {
isa = PBXGroup;
children = (
619A558D1391DC75001AAD40 /* algorithm */,
619A558E1391DC75001AAD40 /* associative_base */,
619A558F1391DC75001AAD40 /* basic_definitions */,
619A55901391DC75001AAD40 /* bitset */,
619A55911391DC75001AAD40 /* cassert */,
619A55921391DC75001AAD40 /* cctype */,
619A55931391DC75001AAD40 /* cerrno */,
619A55941391DC75001AAD40 /* cfloat */,
619A55951391DC75001AAD40 /* char_traits */,
619A55961391DC75001AAD40 /* climits */,
619A55971391DC75001AAD40 /* clocale */,
619A55981391DC75001AAD40 /* cmath */,
619A55991391DC75001AAD40 /* complex */,
619A559A1391DC75001AAD40 /* csetjmp */,
619A559B1391DC75001AAD40 /* csignal */,
619A559C1391DC75001AAD40 /* cstdarg */,
619A559D1391DC75001AAD40 /* cstddef */,
619A559E1391DC75001AAD40 /* cstdio */,
619A559F1391DC75001AAD40 /* cstdlib */,
619A55A01391DC75001AAD40 /* cstring */,
619A55A11391DC75001AAD40 /* ctime */,
619A55A21391DC75001AAD40 /* cwchar */,
619A55A31391DC75001AAD40 /* cwctype */,
619A55A41391DC75001AAD40 /* deque */,
619A55A51391DC75001AAD40 /* exception */,
619A55A61391DC75001AAD40 /* fstream */,
619A55A71391DC75001AAD40 /* func_exception */,
619A55A81391DC75001AAD40 /* functional */,
619A55A91391DC75001AAD40 /* iomanip */,
619A55AA1391DC75001AAD40 /* ios */,
619A55AB1391DC75001AAD40 /* iosfwd */,
619A55AC1391DC75001AAD40 /* iostream */,
619A55AD1391DC75001AAD40 /* istream */,
619A55AE1391DC75001AAD40 /* istream_helpers */,
619A55AF1391DC75001AAD40 /* iterator */,
619A55B01391DC75001AAD40 /* iterator_base */,
619A55B11391DC75001AAD40 /* limits */,
619A55B21391DC75001AAD40 /* list */,
619A55B31391DC75001AAD40 /* locale */,
619A55B41391DC75001AAD40 /* Makefile */,
619A55B51391DC75001AAD40 /* map */,
619A55B61391DC75001AAD40 /* map.old */,
619A55B71391DC75001AAD40 /* memory */,
619A55B81391DC75001AAD40 /* new */,
619A55B91391DC75001AAD40 /* numeric */,
619A55BA1391DC75001AAD40 /* ostream */,
619A55BB1391DC75001AAD40 /* ostream_helpers */,
619A55BC1391DC75001AAD40 /* queue */,
619A55BD1391DC75001AAD40 /* set */,
619A55BE1391DC75001AAD40 /* set.old */,
619A55BF1391DC75001AAD40 /* sstream */,
619A55C01391DC75001AAD40 /* stack */,
619A55C11391DC75001AAD40 /* stdexcept */,
619A55C21391DC75001AAD40 /* streambuf */,
619A55C31391DC75001AAD40 /* string */,
619A55C41391DC75001AAD40 /* string_iostream */,
619A55C51391DC75001AAD40 /* support */,
619A55C61391DC75001AAD40 /* system_configuration.h */,
619A55C71391DC75001AAD40 /* type_traits */,
619A55C81391DC75001AAD40 /* typeinfo */,
619A55C91391DC75001AAD40 /* types */,
619A55CA1391DC75001AAD40 /* unwind-cxx.h */,
619A55CB1391DC75001AAD40 /* utility */,
619A55CC1391DC75001AAD40 /* valarray */,
619A55CD1391DC75001AAD40 /* vector */,
);
path = include;
sourceTree = "<group>";
};
619A55ED1391DC75001AAD40 /* util */ = {
isa = PBXGroup;
children = (
619A55EE1391DC75001AAD40 /* bdmesg.c */,
619A55EF1391DC75001AAD40 /* Cconfig */,
619A55F01391DC75001AAD40 /* dyldsymboltool.c */,
619A55F11391DC75001AAD40 /* machOconv.c */,
619A55F21391DC75001AAD40 /* Makefile */,
);
path = util;
sourceTree = "<group>";
};
B0056D8311F3868000754B65 /* package */ = {
619A55F61391DC75001AAD40 /* package */ = {
isa = PBXGroup;
children = (
B0056D8411F3868000754B65 /* buildpkg */,
B0056D8511F3868000754B65 /* Distribution */,
B0056D8611F3868000754B65 /* fdisk */,
B0056D8711F3868000754B65 /* Kexts */,
B0056D8D11F3868000754B65 /* Resources */,
B0056DA111F3868000754B65 /* Scripts */,
B0056DB911F3868000754B65 /* smbios.plist */,
619A55F71391DC75001AAD40 /* builddmg */,
619A55F81391DC75001AAD40 /* buildpkg */,
619A55F91391DC75001AAD40 /* Configuration */,
619A56341391DC75001AAD40 /* Distribution */,
619A56351391DC75001AAD40 /* doc */,
619A56391391DC75001AAD40 /* fdisk440 */,
619A563A1391DC75001AAD40 /* Icon.zip */,
619A563B1391DC75001AAD40 /* Kexts */,
619A56421391DC75001AAD40 /* Resources */,
619A564E1391DC75001AAD40 /* Scripts */,
619A56A31391DC75001AAD40 /* slimpkg */,
619A56A41391DC75001AAD40 /* smbios.plist */,
);
path = package;
sourceTree = "<group>";
};
B0056D8711F3868000754B65 /* Kexts */ = {
619A55F91391DC75001AAD40 /* Configuration */ = {
isa = PBXGroup;
children = (
B0056D8811F3868000754B65 /* AHCIPortInjector.kext */,
B0056D8911F3868000754B65 /* ATAPortInjector.kext */,
B0056D8A11F3868000754B65 /* Disabler.kext */,
B0056D8B11F3868000754B65 /* IOAHCIBlockStorageInjector.kext */,
B0056D8C11F3868000754B65 /* JMicronATAInjector.kext */,
619A55FA1391DC75001AAD40 /* EFIMounter */,
619A55FC1391DC75001AAD40 /* PrefPanel */,
619A56321391DC75001AAD40 /* SMBIOSDefault */,
);
path = Configuration;
sourceTree = "<group>";
};
619A55FA1391DC75001AAD40 /* EFIMounter */ = {
isa = PBXGroup;
children = (
619A55FB1391DC75001AAD40 /* EFI Mounter.app */,
);
path = EFIMounter;
sourceTree = "<group>";
};
619A55FC1391DC75001AAD40 /* PrefPanel */ = {
isa = PBXGroup;
children = (
619A55FD1391DC75001AAD40 /* Chameleon.prefPane */,
);
path = PrefPanel;
sourceTree = "<group>";
};
619A55FD1391DC75001AAD40 /* Chameleon.prefPane */ = {
isa = PBXGroup;
children = (
619A55FE1391DC75001AAD40 /* Contents */,
);
path = Chameleon.prefPane;
sourceTree = "<group>";
};
619A55FE1391DC75001AAD40 /* Contents */ = {
isa = PBXGroup;
children = (
619A55FF1391DC75001AAD40 /* Info.plist */,
619A56001391DC75001AAD40 /* MacOS */,
619A56021391DC75001AAD40 /* Resources */,
);
path = Contents;
sourceTree = "<group>";
};
619A56001391DC75001AAD40 /* MacOS */ = {
isa = PBXGroup;
children = (
619A56011391DC75001AAD40 /* Chameleon */,
);
path = MacOS;
sourceTree = "<group>";
};
619A56021391DC75001AAD40 /* Resources */ = {
isa = PBXGroup;
children = (
619A56031391DC75001AAD40 /* advanced.png */,
619A56041391DC75001AAD40 /* background.png */,
619A56051391DC75001AAD40 /* cdBootCreator.sh */,
619A56061391DC75001AAD40 /* CDROM.png */,
619A56071391DC75001AAD40 /* cham.png */,
619A56081391DC75001AAD40 /* Chameleon.icns */,
619A56091391DC75001AAD40 /* Chameleon.tiff */,
619A560A1391DC75001AAD40 /* chamsmall.png */,
619A560B1391DC75001AAD40 /* CHANGES */,
619A560C1391DC75001AAD40 /* chip.png */,
619A560D1391DC75001AAD40 /* CREDITS */,
619A560E1391DC75001AAD40 /* disk.png */,
619A560F1391DC75001AAD40 /* Chameleon.nib */,
619A56111391DC75001AAD40 /* Chameleon.strings */,
619A56131391DC75001AAD40 /* InfoPlist.strings */,
619A56151391DC75001AAD40 /* Localizable.strings */,
619A56171391DC75001AAD40 /* extractAcpi.sh */,
619A56181391DC75001AAD40 /* flag.png */,
619A56191391DC75001AAD40 /* footer.png */,
619A56201391DC75001AAD40 /* getDevProp.sh */,
619A56211391DC75001AAD40 /* gfxutil */,
619A56251391DC75001AAD40 /* Linux.png */,
619A56261391DC75001AAD40 /* MacOSX.png */,
619A56271391DC75001AAD40 /* name.png */,
619A56281391DC75001AAD40 /* plug.png */,
619A56291391DC75001AAD40 /* README */,
619A562D1391DC75001AAD40 /* syringe.png */,
619A562E1391DC75001AAD40 /* TODO */,
619A562F1391DC75001AAD40 /* version */,
619A56301391DC75001AAD40 /* Windows.png */,
619A56311391DC75001AAD40 /* wrench.png */,
);
path = Resources;
sourceTree = "<group>";
};
619A56321391DC75001AAD40 /* SMBIOSDefault */ = {
isa = PBXGroup;
children = (
619A56331391DC75001AAD40 /* smbios.plist */,
);
path = SMBIOSDefault;
sourceTree = "<group>";
};
619A56351391DC75001AAD40 /* doc */ = {
isa = PBXGroup;
children = (
619A56361391DC75001AAD40 /* BootHelp.txt */,
619A56371391DC75001AAD40 /* README */,
619A56381391DC75001AAD40 /* Users_Guide0.5.pdf */,
);
path = doc;
sourceTree = "<group>";
};
619A563B1391DC75001AAD40 /* Kexts */ = {
isa = PBXGroup;
children = (
619A563C1391DC75001AAD40 /* AHCIPortInjector.kext */,
619A563D1391DC75001AAD40 /* ATAPortInjector.kext */,
619A563E1391DC75001AAD40 /* FakeSMC.kext */,
619A563F1391DC75001AAD40 /* IOAHCIBlockStorageInjector.kext */,
619A56401391DC75001AAD40 /* IOATAFamily.kext */,
619A56411391DC75001AAD40 /* JMicronATAInjector.kext */,
);
path = Kexts;
sourceTree = "<group>";
};
B0056D8D11F3868000754B65 /* Resources */ = {
619A56421391DC75001AAD40 /* Resources */ = {
isa = PBXGroup;
children = (
B0056D8E11F3868000754B65 /* background.tiff */,
B0056D8F11F3868000754B65 /* Description.html */,
B0056D9111F3868000754B65 /* License.rtf */,
B0056D9311F3868000754B65 /* Localizable.strings */,
B0056D9511F3868000754B65 /* Welcome.rtfd */,
619A56431391DC75001AAD40 /* background.tiff */,
619A56441391DC75001AAD40 /* Conclusion.rtfd */,
619A56461391DC75001AAD40 /* Description.html */,
619A56481391DC75001AAD40 /* License.rtf */,
619A564A1391DC75001AAD40 /* Localizable.strings */,
619A564C1391DC75001AAD40 /* Welcome.rtfd */,
);
path = Resources;
sourceTree = "<group>";
};
B0056DA111F3868000754B65 /* Scripts */ = {
619A564E1391DC75001AAD40 /* Scripts */ = {
isa = PBXGroup;
children = (
B0056DA211F3868000754B65 /* FAT */,
B0056DA411F3868000754B65 /* HFS */,
B0056DA611F3868000754B65 /* Options */,
B0056DB511F3868000754B65 /* Post */,
B0056DB711F3868000754B65 /* Standard */,
619A564F1391DC75001AAD40 /* Advanced */,
619A566E1391DC75001AAD40 /* BaseOptions */,
619A567F1391DC75001AAD40 /* EFI */,
619A56811391DC75001AAD40 /* Modules */,
619A56901391DC75001AAD40 /* Post */,
619A56921391DC75001AAD40 /* Resolutions */,
619A56A11391DC75001AAD40 /* Standard */,
);
path = Scripts;
sourceTree = "<group>";
};
B0056DA211F3868000754B65 /* FAT */ = {
619A564F1391DC75001AAD40 /* Advanced */ = {
isa = PBXGroup;
children = (
B0056DA311F3868000754B65 /* postinstall */,
619A56501391DC75001AAD40 /* BootBanner */,
619A56521391DC75001AAD40 /* EHCIacquire */,
619A56541391DC75001AAD40 /* ForceHPET */,
619A56561391DC75001AAD40 /* ForceWake */,
619A56581391DC75001AAD40 /* GUI */,
619A565A1391DC75001AAD40 /* LegacyLogo */,
619A565C1391DC75001AAD40 /* QuietBoot */,
619A565E1391DC75001AAD40 /* SMBIOSdefaults */,
619A56601391DC75001AAD40 /* UHCIreset */,
619A56621391DC75001AAD40 /* UseAtiROM */,
619A56641391DC75001AAD40 /* UseMemDetect */,
619A56661391DC75001AAD40 /* UseNvidiaROM */,
619A56681391DC75001AAD40 /* VBIOS */,
619A566A1391DC75001AAD40 /* Wait */,
619A566C1391DC75001AAD40 /* Wake */,
);
path = FAT;
path = Advanced;
sourceTree = "<group>";
};
B0056DA411F3868000754B65 /* HFS */ = {
619A56501391DC75001AAD40 /* BootBanner */ = {
isa = PBXGroup;
children = (
B0056DA511F3868000754B65 /* postinstall */,
619A56511391DC75001AAD40 /* postinstall */,
);
path = HFS;
path = BootBanner;
sourceTree = "<group>";
};
B0056DA611F3868000754B65 /* Options */ = {
619A56521391DC75001AAD40 /* EHCIacquire */ = {
isa = PBXGroup;
children = (
B0056DA711F3868000754B65 /* EHCIacquire */,
B0056DA911F3868000754B65 /* EthernetBuiltIn */,
B0056DAB11F3868000754B65 /* ForceHPET */,
B0056DAD11F3868000754B65 /* ForceWake */,
B0056DAF11F3868000754B65 /* GraphicsEnabler */,
B0056DB111F3868000754B65 /* GUI */,
B0056DB311F3868000754B65 /* UHCIreset */,
619A56531391DC75001AAD40 /* postinstall */,
);
path = Options;
path = EHCIacquire;
sourceTree = "<group>";
};
B0056DA711F3868000754B65 /* EHCIacquire */ = {
619A56541391DC75001AAD40 /* ForceHPET */ = {
isa = PBXGroup;
children = (
B0056DA811F3868000754B65 /* postinstall */,
619A56551391DC75001AAD40 /* postinstall */,
);
path = EHCIacquire;
path = ForceHPET;
sourceTree = "<group>";
};
B0056DA911F3868000754B65 /* EthernetBuiltIn */ = {
619A56561391DC75001AAD40 /* ForceWake */ = {
isa = PBXGroup;
children = (
B0056DAA11F3868000754B65 /* postinstall */,
619A56571391DC75001AAD40 /* postinstall */,
);
path = ForceWake;
sourceTree = "<group>";
};
619A56581391DC75001AAD40 /* GUI */ = {
isa = PBXGroup;
children = (
619A56591391DC75001AAD40 /* postinstall */,
);
path = GUI;
sourceTree = "<group>";
};
619A565A1391DC75001AAD40 /* LegacyLogo */ = {
isa = PBXGroup;
children = (
619A565B1391DC75001AAD40 /* postinstall */,
);
path = LegacyLogo;
sourceTree = "<group>";
};
619A565C1391DC75001AAD40 /* QuietBoot */ = {
isa = PBXGroup;
children = (
619A565D1391DC75001AAD40 /* postinstall */,
);
path = QuietBoot;
sourceTree = "<group>";
};
619A565E1391DC75001AAD40 /* SMBIOSdefaults */ = {
isa = PBXGroup;
children = (
619A565F1391DC75001AAD40 /* postinstall */,
);
path = SMBIOSdefaults;
sourceTree = "<group>";
};
619A56601391DC75001AAD40 /* UHCIreset */ = {
isa = PBXGroup;
children = (
619A56611391DC75001AAD40 /* postinstall */,
);
path = UHCIreset;
sourceTree = "<group>";
};
619A56621391DC75001AAD40 /* UseAtiROM */ = {
isa = PBXGroup;
children = (
619A56631391DC75001AAD40 /* postinstall */,
);
path = UseAtiROM;
sourceTree = "<group>";
};
619A56641391DC75001AAD40 /* UseMemDetect */ = {
isa = PBXGroup;
children = (
619A56651391DC75001AAD40 /* postinstall */,
);
path = UseMemDetect;
sourceTree = "<group>";
};
619A56661391DC75001AAD40 /* UseNvidiaROM */ = {
isa = PBXGroup;
children = (
619A56671391DC75001AAD40 /* postinstall */,
);
path = UseNvidiaROM;
sourceTree = "<group>";
};
619A56681391DC75001AAD40 /* VBIOS */ = {
isa = PBXGroup;
children = (
619A56691391DC75001AAD40 /* postinstall */,
);
path = VBIOS;
sourceTree = "<group>";
};
619A566A1391DC75001AAD40 /* Wait */ = {
isa = PBXGroup;
children = (
619A566B1391DC75001AAD40 /* postinstall */,
);
path = Wait;
sourceTree = "<group>";
};
619A566C1391DC75001AAD40 /* Wake */ = {
isa = PBXGroup;
children = (
619A566D1391DC75001AAD40 /* postinstall */,
);
path = Wake;
sourceTree = "<group>";
};
619A566E1391DC75001AAD40 /* BaseOptions */ = {
isa = PBXGroup;
children = (
619A566F1391DC75001AAD40 /* arch */,
619A56711391DC75001AAD40 /* DropSSDT */,
619A56731391DC75001AAD40 /* EthernetBuiltIn */,
619A56751391DC75001AAD40 /* GenerateCStates */,
619A56771391DC75001AAD40 /* GeneratePStates */,
619A56791391DC75001AAD40 /* GraphicsEnabler */,
619A567B1391DC75001AAD40 /* InstantMenu */,
619A567D1391DC75001AAD40 /* RestartFix */,
);
path = BaseOptions;
sourceTree = "<group>";
};
619A566F1391DC75001AAD40 /* arch */ = {
isa = PBXGroup;
children = (
619A56701391DC75001AAD40 /* postinstall */,
);
path = arch;
sourceTree = "<group>";
};
619A56711391DC75001AAD40 /* DropSSDT */ = {
isa = PBXGroup;
children = (
619A56721391DC75001AAD40 /* postinstall */,
);
path = DropSSDT;
sourceTree = "<group>";
};
619A56731391DC75001AAD40 /* EthernetBuiltIn */ = {
isa = PBXGroup;
children = (
619A56741391DC75001AAD40 /* postinstall */,
);
path = EthernetBuiltIn;
sourceTree = "<group>";
};
B0056DAB11F3868000754B65 /* ForceHPET */ = {
619A56751391DC75001AAD40 /* GenerateCStates */ = {
isa = PBXGroup;
children = (
B0056DAC11F3868000754B65 /* postinstall */,
619A56761391DC75001AAD40 /* postinstall */,
);
path = ForceHPET;
path = GenerateCStates;
sourceTree = "<group>";
};
B0056DAD11F3868000754B65 /* ForceWake */ = {
619A56771391DC75001AAD40 /* GeneratePStates */ = {
isa = PBXGroup;
children = (
B0056DAE11F3868000754B65 /* postinstall */,
619A56781391DC75001AAD40 /* postinstall */,
);
path = ForceWake;
path = GeneratePStates;
sourceTree = "<group>";
};
B0056DAF11F3868000754B65 /* GraphicsEnabler */ = {
619A56791391DC75001AAD40 /* GraphicsEnabler */ = {
isa = PBXGroup;
children = (
B0056DB011F3868000754B65 /* postinstall */,
619A567A1391DC75001AAD40 /* postinstall */,
);
path = GraphicsEnabler;
sourceTree = "<group>";
};
B0056DB111F3868000754B65 /* GUI */ = {
619A567B1391DC75001AAD40 /* InstantMenu */ = {
isa = PBXGroup;
children = (
B0056DB211F3868000754B65 /* postinstall */,
619A567C1391DC75001AAD40 /* postinstall */,
);
path = GUI;
path = InstantMenu;
sourceTree = "<group>";
};
B0056DB311F3868000754B65 /* UHCIreset */ = {
619A567D1391DC75001AAD40 /* RestartFix */ = {
isa = PBXGroup;
children = (
B0056DB411F3868000754B65 /* postinstall */,
619A567E1391DC75001AAD40 /* postinstall */,
);
path = UHCIreset;
path = RestartFix;
sourceTree = "<group>";
};
B0056DB511F3868000754B65 /* Post */ = {
619A567F1391DC75001AAD40 /* EFI */ = {
isa = PBXGroup;
children = (
B0056DB611F3868000754B65 /* postinstall */,
619A56801391DC75001AAD40 /* postinstall */,
);
path = Post;
path = EFI;
sourceTree = "<group>";
};
B0056DB711F3868000754B65 /* Standard */ = {
619A56811391DC75001AAD40 /* Modules */ = {
isa = PBXGroup;
children = (
B0056DB811F3868000754B65 /* postinstall */,
619A56821391DC75001AAD40 /* Module_AMDGraphicsEnabler */,
619A56841391DC75001AAD40 /* Module_ATiGraphicsEnabler */,
619A56861391DC75001AAD40 /* Module_IntelGraphicsEnabler */,
619A56881391DC75001AAD40 /* Module_klibc */,
619A568A1391DC75001AAD40 /* Module_NVIDIAGraphicsEnabler */,
619A568C1391DC75001AAD40 /* Module_Resolution */,
619A568E1391DC75001AAD40 /* Module_uClibc */,
);
path = Standard;
path = Modules;
sourceTree = "<group>";
};
B0056DBA11F3868000754B65 /* artwork */ = {
619A56821391DC75001AAD40 /* Module_AMDGraphicsEnabler */ = {
isa = PBXGroup;
children = (
B0056DBB11F3868000754B65 /* themes */,
619A56831391DC75001AAD40 /* postinstall */,
);
path = artwork;
path = Module_AMDGraphicsEnabler;
sourceTree = "<group>";
};
B0056DBB11F3868000754B65 /* themes */ = {
619A56841391DC75001AAD40 /* Module_ATiGraphicsEnabler */ = {
isa = PBXGroup;
children = (
B0056DBC11F3868000754B65 /* bullet */,
B0056DDC11F3868000754B65 /* default */,
B0056DFC11F3868000754B65 /* msi_netbook */,
B0056DFF11F3868000754B65 /* pinktink */,
B0056E0211F3868000754B65 /* twilight */,
619A56851391DC75001AAD40 /* postinstall */,
);
path = themes;
path = Module_ATiGraphicsEnabler;
sourceTree = "<group>";
};
B0056DBC11F3868000754B65 /* bullet */ = {
619A56861391DC75001AAD40 /* Module_IntelGraphicsEnabler */ = {
isa = PBXGroup;
children = (
B0056DBD11F3868000754B65 /* background.png */,
B0056DBE11F3868000754B65 /* boot.png */,
B0056DBF11F3868000754B65 /* device_cdrom.png */,
B0056DC011F3868000754B65 /* device_ext3.png */,
B0056DC111F3868000754B65 /* device_fat16.png */,
B0056DC211F3868000754B65 /* device_fat32.png */,
B0056DC311F3868000754B65 /* device_generic.png */,
B0056DC411F3868000754B65 /* device_hfsplus.png */,
B0056DC511F3868000754B65 /* device_ntfs.png */,
B0056DC611F3868000754B65 /* device_scroll_next.png */,
B0056DC711F3868000754B65 /* device_scroll_prev.png */,
B0056DC811F3868000754B65 /* device_selection.png */,
B0056DC911F3868000754B65 /* font_console.png */,
B0056DCA11F3868000754B65 /* font_small.png */,
B0056DCB11F3868000754B65 /* logo.png */,
B0056DCC11F3868000754B65 /* menu_boot.png */,
B0056DCD11F3868000754B65 /* menu_help.png */,
B0056DCE11F3868000754B65 /* menu_ignore_caches.png */,
B0056DCF11F3868000754B65 /* menu_ignore_caches_disabled.png */,
B0056DD011F3868000754B65 /* menu_memory_info.png */,
B0056DD111F3868000754B65 /* menu_selection.png */,
B0056DD211F3868000754B65 /* menu_single_user.png */,
B0056DD311F3868000754B65 /* menu_single_user_disabled.png */,
B0056DD411F3868000754B65 /* menu_verbose.png */,
B0056DD511F3868000754B65 /* menu_verbose_disabled.png */,
B0056DD611F3868000754B65 /* menu_video_info.png */,
B0056DD711F3868000754B65 /* progress_bar.png */,
B0056DD811F3868000754B65 /* progress_bar_background.png */,
B0056DD911F3868000754B65 /* text_scroll_next.png */,
B0056DDA11F3868000754B65 /* text_scroll_prev.png */,
B0056DDB11F3868000754B65 /* theme.plist */,
619A56871391DC75001AAD40 /* postinstall */,
);
path = bullet;
path = Module_IntelGraphicsEnabler;
sourceTree = "<group>";
};
B0056DDC11F3868000754B65 /* default */ = {
619A56881391DC75001AAD40 /* Module_klibc */ = {
isa = PBXGroup;
children = (
B0056DDD11F3868000754B65 /* background.png */,
B0056DDE11F3868000754B65 /* boot.png */,
B0056DDF11F3868000754B65 /* device_cdrom.png */,
B0056DE011F3868000754B65 /* device_ext3.png */,
B0056DE111F3868000754B65 /* device_fat16.png */,
B0056DE211F3868000754B65 /* device_fat32.png */,
B0056DE311F3868000754B65 /* device_generic.png */,
B0056DE411F3868000754B65 /* device_hfsplus.png */,
B0056DE511F3868000754B65 /* device_ntfs.png */,
B0056DE611F3868000754B65 /* device_scroll_next.png */,
B0056DE711F3868000754B65 /* device_scroll_prev.png */,
B0056DE811F3868000754B65 /* device_selection.png */,
B0056DE911F3868000754B65 /* font_console.png */,
B0056DEA11F3868000754B65 /* font_small.png */,
B0056DEB11F3868000754B65 /* logo.png */,
B0056DEC11F3868000754B65 /* menu_boot.png */,
B0056DED11F3868000754B65 /* menu_help.png */,
B0056DEE11F3868000754B65 /* menu_ignore_caches.png */,
B0056DEF11F3868000754B65 /* menu_ignore_caches_disabled.png */,
B0056DF011F3868000754B65 /* menu_memory_info.png */,
B0056DF111F3868000754B65 /* menu_selection.png */,
B0056DF211F3868000754B65 /* menu_single_user.png */,
B0056DF311F3868000754B65 /* menu_single_user_disabled.png */,
B0056DF411F3868000754B65 /* menu_verbose.png */,
B0056DF511F3868000754B65 /* menu_verbose_disabled.png */,
B0056DF611F3868000754B65 /* menu_video_info.png */,
B0056DF711F3868000754B65 /* progress_bar.png */,
B0056DF811F3868000754B65 /* progress_bar_background.png */,
B0056DF911F3868000754B65 /* text_scroll_next.png */,
B0056DFA11F3868000754B65 /* text_scroll_prev.png */,
B0056DFB11F3868000754B65 /* theme.plist */,
619A56891391DC75001AAD40 /* postinstall */,
);
path = default;
path = Module_klibc;
sourceTree = "<group>";
};
B0056DFC11F3868000754B65 /* msi_netbook */ = {
619A568A1391DC75001AAD40 /* Module_NVIDIAGraphicsEnabler */ = {
isa = PBXGroup;
children = (
B0056DFD11F3868000754B65 /* logo.png */,
B0056DFE11F3868000754B65 /* theme.plist */,
619A568B1391DC75001AAD40 /* postinstall */,
);
path = msi_netbook;
path = Module_NVIDIAGraphicsEnabler;
sourceTree = "<group>";
};
B0056DFF11F3868000754B65 /* pinktink */ = {
619A568C1391DC75001AAD40 /* Module_Resolution */ = {
isa = PBXGroup;
children = (
B0056E0011F3868000754B65 /* logo.png */,
B0056E0111F3868000754B65 /* theme.plist */,
619A568D1391DC75001AAD40 /* postinstall */,
);
path = pinktink;
path = Module_Resolution;
sourceTree = "<group>";
};
B0056E0211F3868000754B65 /* twilight */ = {
619A568E1391DC75001AAD40 /* Module_uClibc */ = {
isa = PBXGroup;
children = (
B0056E0311F3868000754B65 /* font_small.png */,
B0056E0411F3868000754B65 /* logo.png */,
B0056E0511F3868000754B65 /* theme.plist */,
619A568F1391DC75001AAD40 /* postinstall */,
);
path = twilight;
path = Module_uClibc;
sourceTree = "<group>";
};
B0056E0611F3868000754B65 /* doc */ = {
619A56901391DC75001AAD40 /* Post */ = {
isa = PBXGroup;
children = (
B0056E0711F3868000754B65 /* archive */,
B0056E0B11F3868000754B65 /* BootHelp.txt */,
B0056E0C11F3868000754B65 /* README */,
B0056E0D11F3868000754B65 /* themeinfo.png */,
B0056E0E11F3868000754B65 /* User_Guide_src */,
B0056E1A11F3868000754B65 /* Users_Guide0.5.pdf */,
619A56911391DC75001AAD40 /* postinstall */,
);
path = doc;
path = Post;
sourceTree = "<group>";
};
B0056E0711F3868000754B65 /* archive */ = {
619A56921391DC75001AAD40 /* Resolutions */ = {
isa = PBXGroup;
children = (
B0056E0811F3868000754B65 /* Users_Guide0.4.pdf */,
B0056E0911F3868000754B65 /* Users_Guide_v0.3.pdf */,
B0056E0A11F3868000754B65 /* UsersGuide-v0.2.pdf */,
619A56931391DC75001AAD40 /* 1024x768x32 */,
619A56951391DC75001AAD40 /* 1280x1024x32 */,
619A56971391DC75001AAD40 /* 1280x960x32 */,
619A56991391DC75001AAD40 /* 1600x900x32 */,
619A569B1391DC75001AAD40 /* 1680x1050x32 */,
619A569D1391DC75001AAD40 /* 1920x1080x32 */,
619A569F1391DC75001AAD40 /* 1920x1200x32 */,
);
path = archive;
path = Resolutions;
sourceTree = "<group>";
};
B0056E0E11F3868000754B65 /* User_Guide_src */ = {
619A56931391DC75001AAD40 /* 1024x768x32 */ = {
isa = PBXGroup;
children = (
B0056E0F11F3868000754B65 /* Chameleon 2 v0.4.xml */,
B0056E1011F3868000754B65 /* Chameleon 2 v0.5.docx */,
B0056E1111F3868000754B65 /* chameleon.png */,
B0056E1211F3868000754B65 /* colorchart.png */,
B0056E1311F3868000754B65 /* install_complete.png */,
B0056E1411F3868000754B65 /* install_cust.png */,
B0056E1511F3868000754B65 /* install_dest.png */,
B0056E1611F3868000754B65 /* install_stand.png */,
B0056E1711F3868000754B65 /* install_start.png */,
B0056E1811F3868000754B65 /* screen_format.png */,
B0056E1911F3868000754B65 /* xnulogo.png */,
619A56941391DC75001AAD40 /* postinstall */,
);
path = User_Guide_src;
path = 1024x768x32;
sourceTree = "<group>";
};
619A56951391DC75001AAD40 /* 1280x1024x32 */ = {
isa = PBXGroup;
children = (
619A56961391DC75001AAD40 /* postinstall */,
);
path = 1280x1024x32;
sourceTree = "<group>";
};
619A56971391DC75001AAD40 /* 1280x960x32 */ = {
isa = PBXGroup;
children = (
619A56981391DC75001AAD40 /* postinstall */,
);
path = 1280x960x32;
sourceTree = "<group>";
};
619A56991391DC75001AAD40 /* 1600x900x32 */ = {
isa = PBXGroup;
children = (
619A569A1391DC75001AAD40 /* postinstall */,
);
path = 1600x900x32;
sourceTree = "<group>";
};
619A569B1391DC75001AAD40 /* 1680x1050x32 */ = {
isa = PBXGroup;
children = (
619A569C1391DC75001AAD40 /* postinstall */,
);
path = 1680x1050x32;
sourceTree = "<group>";
};
619A569D1391DC75001AAD40 /* 1920x1080x32 */ = {
isa = PBXGroup;
children = (
619A569E1391DC75001AAD40 /* postinstall */,
);
path = 1920x1080x32;
sourceTree = "<group>";
};
619A569F1391DC75001AAD40 /* 1920x1200x32 */ = {
isa = PBXGroup;
children = (
619A56A01391DC75001AAD40 /* postinstall */,
);
path = 1920x1200x32;
sourceTree = "<group>";
};
619A56A11391DC75001AAD40 /* Standard */ = {
isa = PBXGroup;
children = (
619A56A21391DC75001AAD40 /* postinstall */,
);
path = Standard;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXLegacyTarget section */
French,
German,
Spanish,
Italian,
);
mainGroup = 08FB7794FE84155DC02AAC07 /* Chameleon */;
projectDirPath = "";
/* End PBXProject section */
/* Begin PBXVariantGroup section */
B0056D8F11F3868000754B65 /* Description.html */ = {
619A560F1391DC75001AAD40 /* Chameleon.nib */ = {
isa = PBXVariantGroup;
children = (
B0056D9011F3868000754B65 /* English */,
B0056D9711F3868000754B65 /* French */,
B0056D9A11F3868000754B65 /* German */,
B0056D9D11F3868000754B65 /* Spanish */,
619A56101391DC75001AAD40 /* English */,
619A561A1391DC75001AAD40 /* French */,
619A561D1391DC75001AAD40 /* German */,
619A56221391DC75001AAD40 /* Italian */,
619A562A1391DC75001AAD40 /* Spanish */,
);
name = Chameleon.nib;
sourceTree = "<group>";
};
619A56111391DC75001AAD40 /* Chameleon.strings */ = {
isa = PBXVariantGroup;
children = (
619A56121391DC75001AAD40 /* English */,
619A561B1391DC75001AAD40 /* French */,
619A561E1391DC75001AAD40 /* German */,
619A56231391DC75001AAD40 /* Italian */,
619A562B1391DC75001AAD40 /* Spanish */,
);
name = Chameleon.strings;
sourceTree = "<group>";
};
619A56131391DC75001AAD40 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
619A56141391DC75001AAD40 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
619A56151391DC75001AAD40 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
619A56161391DC75001AAD40 /* English */,
619A561C1391DC75001AAD40 /* French */,
619A561F1391DC75001AAD40 /* German */,
619A56241391DC75001AAD40 /* Italian */,
619A562C1391DC75001AAD40 /* Spanish */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
619A56441391DC75001AAD40 /* Conclusion.rtfd */ = {
isa = PBXVariantGroup;
children = (
619A56451391DC75001AAD40 /* English */,
);
name = Conclusion.rtfd;
sourceTree = "<group>";
};
619A56461391DC75001AAD40 /* Description.html */ = {
isa = PBXVariantGroup;
children = (
619A56471391DC75001AAD40 /* English */,
);
name = Description.html;
sourceTree = "<group>";
};
B0056D9111F3868000754B65 /* License.rtf */ = {
619A56481391DC75001AAD40 /* License.rtf */ = {
isa = PBXVariantGroup;
children = (
B0056D9211F3868000754B65 /* English */,
B0056D9811F3868000754B65 /* French */,
B0056D9B11F3868000754B65 /* German */,
B0056D9E11F3868000754B65 /* Spanish */,
619A56491391DC75001AAD40 /* English */,
);
name = License.rtf;
sourceTree = "<group>";
};
B0056D9311F3868000754B65 /* Localizable.strings */ = {
619A564A1391DC75001AAD40 /* Localizable.strings */ = {
isa = PBXVariantGroup;
children = (
B0056D9411F3868000754B65 /* English */,
B0056D9911F3868000754B65 /* French */,
B0056D9C11F3868000754B65 /* German */,
B0056D9F11F3868000754B65 /* Spanish */,
619A564B1391DC75001AAD40 /* English */,
);
name = Localizable.strings;
sourceTree = "<group>";
};
B0056D9511F3868000754B65 /* Welcome.rtfd */ = {
619A564C1391DC75001AAD40 /* Welcome.rtfd */ = {
isa = PBXVariantGroup;
children = (
B0056D9611F3868000754B65 /* English */,
B0056DA011F3868000754B65 /* Spanish */,
619A564D1391DC75001AAD40 /* English */,
);
name = Welcome.rtfd;
sourceTree = "<group>";
branches/iFabio/Chameleon/i386/libsaio/console.c
4646
4747
4848
49
4950
5051
5152
......
6667
6768
6869
69
70
71
7072
7173
7274
......
8991
9092
9193
94
9295
9396
9497
#include "libsaio.h"
#include "bootstruct.h"
#include <vers.h>
extern intvprf(const char * fmt, va_list ap);
char *msgbuf = 0;
char *cursor = 0;
struct putc_info {
struct putc_info //Azi: same as below
{
char * str;
char * last_str;
};
msgbuf = malloc(BOOTER_LOG_SIZE);
bzero(msgbuf, BOOTER_LOG_SIZE);
cursor = msgbuf;
msglog("%s\n", "Chameleon " I386BOOT_CHAMELEONVERSION " (svn-r" I386BOOT_CHAMELEONREVISION ")" " [" I386BOOT_BUILDDATE "]");
}
void msglog(const char * fmt, ...)
branches/iFabio/Chameleon/i386/libsaio/ati.c
539539
540540
541541
542
542543
543544
544545
......
11001101
11011102
11021103
1103
11041104
11051105
11061106
......
11641164
11651165
11661166
1167
1168
1167
1168
11691169
1170
1170
11711171
11721172
11731173
11741174
11751175
1176
1176
11771177
11781178
11791179
1180
1180
11811181
11821182
11831183
11841184
1185
1185
11861186
11871187
11881188
......
12261226
12271227
12281228
1229
1230
1231
1229
1230
1231
12321232
12331233
12341234
uint8_t*rom;
uint32_trom_size;
uint32_tvram_size;
const char*cfg_name;
uint8_tports;
uint32_tflags;
boolposted;
static bool init_card(pci_dt_t *pci_dev)
{
const char *fb_name;
char name[24];
char name_parent[24];
int i;
atN = 0;
fb_name = getStringForKey(kAtiConfig, &bootInfo->bootConfig);
if (!fb_name)
card->cfg_name = getStringForKey(kAtiConfig, &bootInfo->bootConfig);
if (!card->cfg_name)
{
fb_name = card_configs[card->info->cfg_name].name;
card->cfg_name = card_configs[card->info->cfg_name].name;
card->ports = card_configs[card->info->cfg_name].ports;
}
else
{
for (i = 0; i < kCfgEnd; i++)
if (strcmp(fb_name, card_configs[i].name) == 0)
if (strcmp(card->cfg_name, card_configs[i].name) == 0)
card->ports = card_configs[i].ports;
}
sprintf(name, "ATY,%s", fb_name);
sprintf(name, "ATY,%s", card->cfg_name);
aty_name.type = kStr;
aty_name.size = strlen(name) + 1;
aty_name.data = (uint8_t *)name;
sprintf(name_parent, "ATY,%sParent", fb_name);
sprintf(name_parent, "ATY,%sParent", card->cfg_name);
aty_nameparent.type = kStr;
aty_nameparent.size = strlen(name_parent) + 1;
aty_nameparent.data = (uint8_t *)name_parent;
stringlength = string->length;
/* ------------------------------------------------- */
verbose("ATI %s %s %dMB (%s) [%04x:%04x] (subsys [%04x:%04x]):: %s\n",
chip_family_name[card->info->chip_family], card->info->model_name,
(uint32_t)(card->vram_size / (1024 * 1024)), card_configs[card->info->cfg_name].name,
verbose("ATI %s %s %dMB (%s) [%04x:%04x] (subsys [%04x:%04x]):: %s\n",
chip_family_name[card->info->chip_family], card->info->model_name,
(uint32_t)(card->vram_size / (1024 * 1024)), card->cfg_name,
ati_dev->vendor_id, ati_dev->device_id,
ati_dev->subsys_id.subsys.vendor_id, ati_dev->subsys_id.subsys.device_id,
devicepath);
branches/iFabio/Chameleon/i386/libsaio/cpu.c
138138
139139
140140
141
141
142142
143143
144144
if (p->CPU.Vendor == 0x756E6547 /* Intel */ &&
p->CPU.Family == 0x06 &&
p->CPU.Model >= CPUID_MODEL_PENRYN &&
p->CPU.Model >= CPUID_MODEL_NEHALEM &&
p->CPU.Model != CPUID_MODEL_ATOM // MSR is *NOT* available on the Intel Atom CPU
){
msr = rdmsr64(MSR_CORE_THREAD_COUNT);// Undocumented MSR in Nehalem and newer CPUs
branches/iFabio/Chameleon/i386/include/IOKit/IOLib.h
6767
6868
6969
70
71
72
7370
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
14471
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
36572
36673
36774
......
37178
37279
37380
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
39681
39782
39883
typedef thread_t IOThread;
typedef void (*IOThreadFunc)(void *argument);
/*
* Memory allocation functions.
*/
/*! @function IOMalloc
@abstract Allocates general purpose, wired memory in the kernel map.
@discussion This is a general purpose utility to allocate memory in the kernel. There are no alignment guarantees given on the returned memory, and alignment may vary depending on the kernel configuration. This function may block and so should not be called from interrupt level or while a simple lock is held.
@param size Size of the memory requested.
@result Pointer to the allocated memory, or zero on failure. */
void * IOMalloc(vm_size_t size);
/*! @function IOFree
@abstract Frees memory allocated with IOMalloc.
@discussion This function frees memory allocated with IOMalloc, it may block and so should not be called from interrupt level or while a simple lock is held.
@param address Pointer to the allocated memory.
@param size Size of the memory allocated. */
void IOFree(void * address, vm_size_t size);
/*! @function IOMallocAligned
@abstract Allocates wired memory in the kernel map, with an alignment restriction.
@discussion This is a utility to allocate memory in the kernel, with an alignment restriction which is specified as a byte count. This function may block and so should not be called from interrupt level or while a simple lock is held.
@param size Size of the memory requested.
@param alignment Byte count of the alignment for the memory. For example, pass 256 to get memory allocated at an address with bit 0-7 zero.
@result Pointer to the allocated memory, or zero on failure. */
void * IOMallocAligned(vm_size_t size, vm_offset_t alignment);
/*! @function IOFreeAligned
@abstract Frees memory allocated with IOMallocAligned.
@discussion This function frees memory allocated with IOMallocAligned, it may block and so should not be called from interrupt level or while a simple lock is held.
@param address Pointer to the allocated memory.
@param size Size of the memory allocated. */
void IOFreeAligned(void * address, vm_size_t size);
/*! @function IOMallocContiguous
@abstract Deprecated - use IOBufferMemoryDescriptor. Allocates wired memory in the kernel map, with an alignment restriction and physically contiguous.
@discussion This is a utility to allocate memory in the kernel, with an alignment restriction which is specified as a byte count, and will allocate only physically contiguous memory. The request may fail if memory is fragmented, and may cause large amounts of paging activity. This function may block and so should not be called from interrupt level or while a simple lock is held.
@param size Size of the memory requested.
@param alignment Byte count of the alignment for the memory. For example, pass 256 to get memory allocated at an address with bits 0-7 zero.
@param physicalAddress IOMallocContiguous returns the physical address of the allocated memory here, if physicalAddress is a non-zero pointer. The physicalAddress argument is deprecated and should be passed as NULL. To obtain the physical address for a memory buffer, use the IODMACommand class in conjunction with the IOMemoryDescriptor or IOBufferMemoryDescriptor classes.
@result Virtual address of the allocated memory, or zero on failure. */
void * IOMallocContiguous(vm_size_t size, vm_size_t alignment,
IOPhysicalAddress * physicalAddress) __attribute__((deprecated));
/*! @function IOFreeContiguous
@abstract Deprecated - use IOBufferMemoryDescriptor. Frees memory allocated with IOMallocContiguous.
@discussion This function frees memory allocated with IOMallocContiguous, it may block and so should not be called from interrupt level or while a simple lock is held.
@param address Virtual address of the allocated memory.
@param size Size of the memory allocated. */
void IOFreeContiguous(void * address, vm_size_t size) __attribute__((deprecated));
/*! @function IOMallocPageable
@abstract Allocates pageable memory in the kernel map.
@discussion This is a utility to allocate pageable memory in the kernel. This function may block and so should not be called from interrupt level or while a simple lock is held.
@param size Size of the memory requested.
@param alignment Byte count of the alignment for the memory. For example, pass 256 to get memory allocated at an address with bits 0-7 zero.
@result Pointer to the allocated memory, or zero on failure. */
void * IOMallocPageable(vm_size_t size, vm_size_t alignment);
/*! @function IOFreePageable
@abstract Frees memory allocated with IOMallocPageable.
@discussion This function frees memory allocated with IOMallocPageable, it may block and so should not be called from interrupt level or while a simple lock is held.
@param address Virtual address of the allocated memory.
@param size Size of the memory allocated. */
void IOFreePageable(void * address, vm_size_t size);
/*
* Typed memory allocation macros. Both may block.
*/
#define IONew(type,number) (type*)IOMalloc(sizeof(type) * (number) )
#define IODelete(ptr,type,number) IOFree( (ptr) , sizeof(type) * (number) )
/////////////////////////////////////////////////////////////////////////////
//
//
//These functions are now implemented in IOMapper.cpp
//
//
/////////////////////////////////////////////////////////////////////////////
/*! @function IOMappedRead8
@abstract Read one byte from the desired "Physical" IOSpace address.
@discussion Read one byte from the desired "Physical" IOSpace address. This function allows the developer to read an address returned from any memory descriptor's getPhysicalSegment routine. It can then be used by segmenting a physical page slightly to tag the physical page with its kernel space virtual address.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@result Data contained at that location */
UInt8 IOMappedRead8(IOPhysicalAddress address);
/*! @function IOMappedRead16
@abstract Read two bytes from the desired "Physical" IOSpace address.
@discussion Read two bytes from the desired "Physical" IOSpace address. This function allows the developer to read an address returned from any memory descriptor's getPhysicalSegment routine. It can then be used by segmenting a physical page slightly to tag the physical page with its kernel space virtual address.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@result Data contained at that location */
UInt16 IOMappedRead16(IOPhysicalAddress address);
/*! @function IOMappedRead32
@abstract Read four bytes from the desired "Physical" IOSpace address.
@discussion Read four bytes from the desired "Physical" IOSpace address. This function allows the developer to read an address returned from any memory descriptor's getPhysicalSegment routine. It can then be used by segmenting a physical page slightly to tag the physical page with its kernel space virtual address.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@result Data contained at that location */
UInt32 IOMappedRead32(IOPhysicalAddress address);
/*! @function IOMappedRead64
@abstract Read eight bytes from the desired "Physical" IOSpace address.
@discussion Read eight bytes from the desired "Physical" IOSpace address. This function allows the developer to read an address returned from any memory descriptor's getPhysicalSegment routine. It can then be used by segmenting a physical page slightly to tag the physical page with its kernel space virtual address.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@result Data contained at that location */
UInt64 IOMappedRead64(IOPhysicalAddress address);
/*! @function IOMappedWrite8
@abstract Write one byte to the desired "Physical" IOSpace address.
@discussion Write one byte to the desired "Physical" IOSpace address. This function allows the developer to write to an address returned from any memory descriptor's getPhysicalSegment routine.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@param value Data to be writen to the desired location */
void IOMappedWrite8(IOPhysicalAddress address, UInt8 value);
/*! @function IOMappedWrite16
@abstract Write two bytes to the desired "Physical" IOSpace address.
@discussion Write two bytes to the desired "Physical" IOSpace address. This function allows the developer to write to an address returned from any memory descriptor's getPhysicalSegment routine.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@param value Data to be writen to the desired location */
void IOMappedWrite16(IOPhysicalAddress address, UInt16 value);
/*! @function IOMappedWrite32
@abstract Write four bytes to the desired "Physical" IOSpace address.
@discussion Write four bytes to the desired "Physical" IOSpace address. This function allows the developer to write to an address returned from any memory descriptor's getPhysicalSegment routine.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@param value Data to be writen to the desired location */
void IOMappedWrite32(IOPhysicalAddress address, UInt32 value);
/*! @function IOMappedWrite64
@abstract Write eight bytes to the desired "Physical" IOSpace address.
@discussion Write eight bytes to the desired "Physical" IOSpace address. This function allows the developer to write to an address returned from any memory descriptor's getPhysicalSegment routine.
@param address The desired address, as returned by IOMemoryDescriptor::getPhysicalSegment.
@param value Data to be writen to the desired location */
void IOMappedWrite64(IOPhysicalAddress address, UInt64 value);
/*! @function IOSetProcessorCacheMode
@abstract Sets the processor cache mode for mapped memory.
@discussion This function sets the cache mode of an already mapped & wired memory range. Note this may not be supported on I/O mappings or shared memory - it is far preferable to set the cache mode as mappings are created with the IOMemoryDescriptor::map method.
@param task Task the memory is mapped into.
@param address Virtual address of the memory.
@param length Length of the range to set.
@param cacheMode A constant from IOTypes.h, <br>
kIOMapDefaultCache to inhibit the cache in I/O areas, kIOMapCopybackCache in general purpose RAM.<br>
kIOMapInhibitCache, kIOMapWriteThruCache, kIOMapCopybackCache to set the appropriate caching.<br>
@result An IOReturn code.*/
IOReturn IOSetProcessorCacheMode( task_t task, IOVirtualAddress address,
IOByteCount length, IOOptionBits cacheMode );
/*! @function IOFlushProcessorCache
@abstract Flushes the processor cache for mapped memory.
@discussion This function flushes the processor cache of an already mapped memory range. Note in most cases it is preferable to use IOMemoryDescriptor::prepare and complete to manage cache coherency since they are aware of the architecture's requirements. Flushing the processor cache is not required for coherency in most situations.
@param task Task the memory is mapped into.
@param address Virtual address of the memory.
@param length Length of the range to set.
@result An IOReturn code. */
IOReturn IOFlushProcessorCache( task_t task, IOVirtualAddress address,
IOByteCount length );
/*! @function IOThreadSelf
@abstract Returns the osfmk identifier for the currently running thread.
@discussion This function returns the current thread (a pointer to the currently active osfmk thread_shuttle). */
#define IOThreadSelf() (current_thread())
/*! @function IOCreateThread
@abstract Deprecated function - use kernel_thread_start(). Create a kernel thread.
@discussion This function creates a kernel thread, and passes the caller supplied argument to the new thread. Warning: the value returned by this function is not 100% reliable. There is a race condition where it is possible that the new thread has already terminated before this call returns. Under that circumstance the IOThread returned will be invalid. In general there is little that can be done with this value except compare it against 0. The thread itself can call IOThreadSelf() 100% reliably and that is the prefered mechanism to manipulate the IOThreads state.
@param function A C-function pointer where the thread will begin execution.
@param argument Caller specified data to be passed to the new thread.
@result An IOThread identifier for the new thread, equivalent to an osfmk thread_t. */
IOThread IOCreateThread(IOThreadFunc function, void *argument) __attribute__((deprecated));
/*! @function IOExitThread
@abstract Deprecated function - use thread_terminate(). Terminate execution of current thread.
@discussion This function destroys the currently running thread, and does not return. */
void IOExitThread(void) __attribute__((deprecated));
/*! @function IOSleep
@abstract Sleep the calling thread for a number of milliseconds.
@discussion This function blocks the calling thread for at least the number of specified milliseconds, giving time to other processes.
@param milliseconds The integer number of milliseconds to wait. */
void IOSleep(unsigned milliseconds);
/*! @function IODelay
@abstract Spin delay for a number of microseconds.
@discussion This function spins to delay for at least the number of specified microseconds. Since the CPU is busy spinning no time is made available to other processes; this method of delay should be used only for short periods. Also, the AbsoluteTime based APIs of kern/clock.h provide finer grained and lower cost delays.
@param microseconds The integer number of microseconds to spin wait. */
void IODelay(unsigned microseconds);
/*! @function IOPause
@abstract Spin delay for a number of nanoseconds.
@discussion This function spins to delay for at least the number of specified nanoseconds. Since the CPU is busy spinning no time is made available to other processes; this method of delay should be used only for short periods.
@param microseconds The integer number of nanoseconds to spin wait. */
void IOPause(unsigned nanoseconds);
/*! @function IOLog
@abstract Log a message to console in text mode, and /var/log/system.log.
@discussion This function allows a driver to log diagnostic information to the screen during verbose boots, and to a log file found at /var/log/system.log. IOLog should not be called from interrupt context.
@param format A printf() style format string (see printf(3) documentation).
@param other arguments described by the format string. */
void IOLog(const char *format, ...)
__attribute__((format(printf, 1, 2)));
/*! @function IOLogv
@abstract Log a message to console in text mode, and /var/log/system.log.
@discussion This function allows a driver to log diagnostic information to the screen during verbose boots, and to a log file found at /var/log/system.log. IOLogv should not be called from interrupt context.
@param format A printf() style format string (see printf(3) documentation).
@param ap stdarg(3) style variable arguments. */
void IOLogv(const char *format, va_list ap);
#ifndef _FN_KPRINTF
#define_FN_KPRINTF
void kprintf(const char *format, ...);
#endif
#ifndef _FN_KPRINTF_DECLARED
#define_FN_KPRINTF_DECLARED
#endif
/*
* Convert a integer constant (typically a #define or enum) to a string
* via an array of IONamedValue.
*/
const char *IOFindNameForValue(int value,
const IONamedValue *namedValueArray);
/*
* Convert a string to an int via an array of IONamedValue. Returns
* kIOReturnSuccess of string found, else returns kIOReturnBadArgument.
*/
IOReturn IOFindValueForName(const char *string,
const IONamedValue *regValueArray,
int *value);/* RETURNED */
/*! @function Debugger
@abstract Enter the kernel debugger.
@discussion This function freezes the kernel and enters the builtin debugger. It may not be possible to exit the debugger without a second machine.
@param reason A C-string to describe why the debugger is being entered. */
void Debugger(const char * reason);
#if __LP64__
#define IOPanic(reason) panic("%s", reason)
#else
void IOPanic(const char *reason) __attribute__((deprecated));
#endif
struct OSDictionary * IOBSDNameMatching( const char * name );
struct OSDictionary * IOOFPathMatching( const char * path, char * buf, int maxLen );
/*
* Convert between size and a power-of-two alignment.
*/
IOAlignment IOSizeToAlignment(unsigned int size);
unsigned int IOAlignmentToSize(IOAlignment align);
/*
* Multiply and divide routines for IOFixed datatype.
*/
static inline IOFixed IOFixedMultiply(IOFixed a, IOFixed b)
{
return (IOFixed)((((SInt64) a) * ((SInt64) b)) >> 16);
}
static inline IOFixed IOFixedDivide(IOFixed a, IOFixed b)
{
return (IOFixed)((((SInt64) a) << 16) / ((SInt64) b));
}
/*
* IORound and IOTrunc convenience functions, in the spirit
* of vm's round_page() and trunc_page().
*/
#define IOTrunc(value,multiple) \
(((value) / (multiple)) * (multiple));
#if defined(__APPLE_API_OBSOLETE)
/* The following API is deprecated */
/* The API exported by kern/clock.h
should be used for high resolution timing. */
void IOGetTime( mach_timespec_t * clock_time) __attribute__((deprecated));
#if !defined(__LP64__)
#undef eieio
#define eieio() \
OSSynchronizeIO()
extern mach_timespec_t IOZeroTvalspec;
#endif /* !defined(__LP64__) */
#endif /* __APPLE_API_OBSOLETE */
__END_DECLS
#endif /* !__IOKIT_IOLIB_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOCDBlockStorageDriver.h
4848
4949
5050
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
25951
#define kIOCDBlockStorageDriverClass "IOCDBlockStorageDriver"
class IOCDBlockStorageDriver : public IOBlockStorageDriver {
OSDeclareDefaultStructors(IOCDBlockStorageDriver)
public:
static const UInt64 kBlockSizeCD = 2352;
static const UInt8 kBlockTypeCD = 0x01;
/* Overrides of IORegistryEntry */
virtual boolinit(OSDictionary * properties);
virtual voidfree(void);
/* Overrides of IOBlockStorageDriver: */
virtual IOReturnejectMedia(void);
virtual void executeRequest(UInt64 byteStart,
IOMemoryDescriptor *buffer,
#ifdef __LP64__
IOStorageAttributes *attributes,
IOStorageCompletion *completion,
#else /* !__LP64__ */
IOStorageCompletion completion,
#endif /* !__LP64__ */
Context *context);
virtual const char * getDeviceTypeName(void);
virtual IOMedia *instantiateDesiredMediaObject(void);
virtual IOMedia *instantiateMediaObject(UInt64 base,UInt64 byteSize,
UInt32 blockSize,char *mediaName);
virtual IOReturnrecordMediaParameters(void);
/* End of IOBlockStorageDriver overrides. */
/*
* @function getMediaType
* @abstract
* Get the current type of media inserted in the CD drive.
* @discussion
* Certain I/O operations may not be allowed depending on the type of
* media currently inserted. For example, one cannot issue write operations
* if CD-ROM media is inserted.
* @result
* See the kCDMediaType constants in IOCDTypes.h.
*/
virtual UInt32getMediaType(void);
/* -------------------------------------------------*/
/* APIs implemented here, exported by IOCDMedia: */
/* -------------------------------------------------*/
virtual CDTOC *getTOC(void);
virtual voidreadCD(IOService *client,
UInt64 byteStart,
IOMemoryDescriptor *buffer,
CDSectorArea sectorArea,
CDSectorType sectorType,
#ifdef __LP64__
IOStorageAttributes *attributes,
IOStorageCompletion *completion);
#else /* !__LP64__ */
IOStorageCompletion completion);
#endif /* !__LP64__ */
virtual IOReturnreadISRC(UInt8 track,CDISRC isrc);
virtual IOReturnreadMCN(CDMCN mcn);
/* end of IOCDMedia APIs */
#ifndef __LP64__
/* --------------------------------------------------------*/
/* APIs implemented here, exported by IOCDAudioControl: */
/* --------------------------------------------------------*/
virtual IOReturnaudioPause(bool pause)__attribute__ ((deprecated));
virtual IOReturnaudioPlay(CDMSF timeStart,CDMSF timeStop)__attribute__ ((deprecated));
virtual IOReturnaudioScan(CDMSF timeStart,bool reverse)__attribute__ ((deprecated));
virtual IOReturnaudioStop()__attribute__ ((deprecated));
virtual IOReturngetAudioStatus(CDAudioStatus *status)__attribute__ ((deprecated));
virtual IOReturngetAudioVolume(UInt8 *leftVolume,UInt8 *rightVolume)__attribute__ ((deprecated));
virtual IOReturnsetAudioVolume(UInt8 leftVolume,UInt8 rightVolume)__attribute__ ((deprecated));
/* end of IOCDAudioControl APIs */
#endif /* !__LP64__ */
/*
* Obtain this object's provider. We override the superclass's method to
* return a more specific subclass of IOService -- IOCDBlockStorageDevice.
* This method serves simply as a convenience to subclass developers.
*/
virtual IOCDBlockStorageDevice * getProvider() const;
protected:
/* Overrides of IOBlockStorageDriver behavior. */
/* When CD media is inserted, we want to create multiple nubs for the data and
* audio tracks, for sessions, and the entire media. We override the methods
* that manage nubs.
*/
virtual IOReturnacceptNewMedia(void);
virtual IOReturndecommissionMedia(bool forcible);
/* End of IOBlockStorageDriver overrides. */
/* Internally used methods: */
usingIOBlockStorageDriver::getMediaBlockSize;
virtual IOReturncacheTocInfo(void);
virtual UInt64getMediaBlockSize(CDSectorArea area,CDSectorType type);
virtual voidprepareRequest(UInt64 byteStart,
IOMemoryDescriptor *buffer,
CDSectorArea sectorArea,
CDSectorType sectorType,
#ifdef __LP64__
IOStorageAttributes *attributes,
IOStorageCompletion *completion);
#else /* !__LP64__ */
IOStorageCompletion completion);
#endif /* !__LP64__ */
/* ------- */
struct ExpansionData
{
UInt32 minBlockNumberAudio;
UInt32 maxBlockNumberAudio;
};
ExpansionData * _expansionData;
#define _minBlockNumberAudio \
IOCDBlockStorageDriver::_expansionData->minBlockNumberAudio
#define _maxBlockNumberAudio \
IOCDBlockStorageDriver::_expansionData->maxBlockNumberAudio
UInt32_reserved0032;
/* We keep the TOC here because we'll always need it, so what the heck.
*
* There are possible "point" track entries for 0xa0..a2, 0xb0..b4, and 0xc0..0xc1.
* Tracks need not start at 1, as long as they're between 1 and 99, and have contiguous
* numbers.
*/
CDTOC *_toc;
UInt32_tocSize;
/* ------- */
IOReturnreportDiscInfo(CDDiscInfo *discInfo);
IOReturnreportTrackInfo(UInt16 track,CDTrackInfo *trackInfo);
public:
virtual IOReturngetSpeed(UInt16 * kilobytesPerSecond); /* 10.1.0 */
virtual IOReturnsetSpeed(UInt16 kilobytesPerSecond); /* 10.1.0 */
virtual IOReturnreadTOC(IOMemoryDescriptor *buffer,CDTOCFormat format,
UInt8 formatAsTime,UInt8 trackOrSessionNumber,
UInt16 *actualByteCount); /* 10.1.3 */
virtual IOReturnreadDiscInfo(IOMemoryDescriptor *buffer,
UInt16 *actualByteCount); /* 10.1.3 */
virtual IOReturnreadTrackInfo(IOMemoryDescriptor *buffer,UInt32 address,
CDTrackInfoAddressType addressType,
UInt16 *actualByteCount); /* 10.1.3 */
virtual voidwriteCD(IOService *client,
UInt64 byteStart,
IOMemoryDescriptor *buffer,
CDSectorArea sectorArea,
CDSectorType sectorType,
#ifdef __LP64__
IOStorageAttributes *attributes,
IOStorageCompletion *completion);
#else /* !__LP64__ */
IOStorageCompletion completion); /* 10.2.0 */
#endif /* !__LP64__ */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 0);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 1);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 2);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 3);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 4);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 5);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 0);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 1);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 2);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 3);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 4);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDriver, 5);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 6);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 7);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 8);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 9);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 10);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 11);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 12);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 13);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 14);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDriver, 15);
};
#endif
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOStorage.h
212212
213213
214214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560215
561216
562217
void * parameter;
};
/*!
* @class IOStorage
* @abstract
* The common base class for mass storage objects.
* @discussion
* The IOStorage class is the common base class for mass storage objects. It is
* an abstract class that defines the open/close/read/write APIs that need to be
* implemented in a given subclass. Synchronous versions of the read/write APIs
* are provided here -- they are coded in such a way as to wrap the asynchronous
* versions implemented in the subclass.
*/
class IOStorage : public IOService
{
OSDeclareAbstractStructors(IOStorage);
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
/*!
* @function handleOpen
* @discussion
* The handleOpen method grants or denies permission to access this object
* to an interested client. The argument is an IOStorageAccess value that
* specifies the level of access desired -- reader or reader-writer.
*
* This method can be invoked to upgrade or downgrade the access level for
* an existing client as well. The previous access level will prevail for
* upgrades that fail, of course. A downgrade should never fail. If the
* new access level should be the same as the old for a given client, this
* method will do nothing and return success. In all cases, one, singular
* close-per-client is expected for all opens-per-client received.
* @param client
* Client requesting the open.
* @param options
* Options for the open. Set to zero.
* @param access
* Access level for the open. Set to kIOStorageAccessReader or
* kIOStorageAccessReaderWriter.
* @result
* Returns true if the open was successful, false otherwise.
*/
virtual bool handleOpen(IOService * client,
IOOptionBits options,
void * access) = 0;
/*!
* @function handleIsOpen
* @discussion
* The handleIsOpen method determines whether the specified client, or any
* client if none is specified, presently has an open on this object.
* @param client
* Client to check the open state of. Set to zero to check the open state
* of all clients.
* @result
* Returns true if the client was (or clients were) open, false otherwise.
*/
virtual bool handleIsOpen(const IOService * client) const = 0;
/*!
* @function handleClose
* @discussion
* The handleClose method closes the client's access to this object.
* @param client
* Client requesting the close.
* @param options
* Options for the close. Set to zero.
*/
virtual void handleClose(IOService * client, IOOptionBits options) = 0;
public:
#ifndef __LP64__
/*
* Initialize this object's minimal state.
*/
virtual bool init(OSDictionary * properties = 0);
#endif /* !__LP64__ */
/*!
* @function complete
* @discussion
* Invokes the specified completion action of the read/write request. If
* the completion action is unspecified, no action is taken. This method
* serves simply as a convenience to storage subclass developers.
* @param completion
* Completion information for the data transfer.
* @param status
* Status of the data transfer.
* @param actualByteCount
* Actual number of bytes transferred in the data transfer.
*/
static void complete(IOStorageCompletion * completion,
IOReturn status,
UInt64 actualByteCount = 0);
#ifndef __LP64__
static void complete(IOStorageCompletion completion,
IOReturn status,
UInt64 actualByteCount = 0); /* DEPRECATED */
#endif /* !__LP64__ */
/*!
* @function open
* @discussion
* Ask the storage object for permission to access its contents; the method
* is equivalent to IOService::open(), but with the correct parameter types.
*
* This method may also be invoked to upgrade or downgrade the access of an
* existing open (if it fails, the existing open prevails).
* @param client
* Client requesting the open.
* @param options
* Options for the open. Set to zero.
* @param access
* Access level for the open. Set to kIOStorageAccessReader or
* kIOStorageAccessReaderWriter.
* @result
* Returns true if the open was successful, false otherwise.
*/
virtual bool open(IOService * client,
IOOptionBits options,
IOStorageAccess access);
#ifndef __LP64__
virtual void read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion) __attribute__ ((deprecated));
virtual void write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*!
* @function read
* @discussion
* Read data from the storage object at the specified byte offset into the
* specified buffer, synchronously. When the read completes, this method
* will return to the caller. The actual byte count field is optional.
* @param client
* Client requesting the read.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes.
* @param actualByteCount
* Returns the actual number of bytes transferred in the data transfer.
* @result
* Returns the status of the data transfer.
*/
#ifdef __LP64__
virtual IOReturn read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes = 0,
UInt64 * actualByteCount = 0);
#else /* !__LP64__ */
virtual IOReturn read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
UInt64 * actualByteCount = 0);
#endif /* !__LP64__ */
/*!
* @function write
* @discussion
* Write data into the storage object at the specified byte offset from the
* specified buffer, synchronously. When the write completes, this method
* will return to the caller. The actual byte count field is optional.
* @param client
* Client requesting the write.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes.
* @param actualByteCount
* Returns the actual number of bytes transferred in the data transfer.
* @result
* Returns the status of the data transfer.
*/
#ifdef __LP64__
virtual IOReturn write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes = 0,
UInt64 * actualByteCount = 0);
#else /* !__LP64__ */
virtual IOReturn write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
UInt64 * actualByteCount = 0);
#endif /* !__LP64__ */
/*!
* @function synchronizeCache
* @discussion
* Flush the cached data in the storage object, if any, synchronously.
* @param client
* Client requesting the cache synchronization.
* @result
* Returns the status of the cache synchronization.
*/
virtual IOReturn synchronizeCache(IOService * client) = 0;
/*!
* @function read
* @discussion
* Read data from the storage object at the specified byte offset into the
* specified buffer, asynchronously. When the read completes, the caller
* will be notified via the specified completion action.
*
* The buffer will be retained for the duration of the read.
* @param client
* Client requesting the read.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
#ifdef __LP64__
virtual void read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion) = 0;
#else /* !__LP64__ */
virtual void read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion); /* 10.5.0 */
#endif /* !__LP64__ */
/*!
* @function write
* @discussion
* Write data into the storage object at the specified byte offset from the
* specified buffer, asynchronously. When the write completes, the caller
* will be notified via the specified completion action.
*
* The buffer will be retained for the duration of the write.
* @param client
* Client requesting the write.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
#ifdef __LP64__
virtual void write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion) = 0;
#else /* !__LP64__ */
virtual void write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion); /* 10.5.0 */
#endif /* !__LP64__ */
/*!
* @function discard
* @discussion
* Delete unused data from the storage object at the specified byte offset,
* synchronously.
* @param client
* Client requesting the operation.
* @param byteStart
* Starting byte offset for the operation.
* @param byteCount
* Size of the operation.
* @result
* Returns the status of the operation.
*/
virtual IOReturn discard(IOService * client,
UInt64 byteStart,
UInt64 byteCount); /* 10.6.0 */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOStorage, 0);
OSMetaClassDeclareReservedUnused(IOStorage, 1);
OSMetaClassDeclareReservedUnused(IOStorage, 2);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOStorage, 0);
OSMetaClassDeclareReservedUsed(IOStorage, 1);
OSMetaClassDeclareReservedUsed(IOStorage, 2);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOStorage, 3);
OSMetaClassDeclareReservedUnused(IOStorage, 4);
OSMetaClassDeclareReservedUnused(IOStorage, 5);
OSMetaClassDeclareReservedUnused(IOStorage, 6);
OSMetaClassDeclareReservedUnused(IOStorage, 7);
OSMetaClassDeclareReservedUnused(IOStorage, 8);
OSMetaClassDeclareReservedUnused(IOStorage, 9);
OSMetaClassDeclareReservedUnused(IOStorage, 10);
OSMetaClassDeclareReservedUnused(IOStorage, 11);
OSMetaClassDeclareReservedUnused(IOStorage, 12);
OSMetaClassDeclareReservedUnused(IOStorage, 13);
OSMetaClassDeclareReservedUnused(IOStorage, 14);
OSMetaClassDeclareReservedUnused(IOStorage, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOSTORAGE_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOCDBlockStorageDevice.h
5454
5555
5656
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
7357
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
17958
18059
18160
/* Property used for matching, so the generic driver gets the nub it wants. */
#definekIOBlockStorageDeviceTypeCDROM"CDROM"
/*!
* @class
* IOCDBlockStorageDevice : public IOBlockStorageDevice
* @abstract
* The IOCDBlockStorageDevice class is a generic CD block storage device
* abstraction.
* @discussion
* This class is the protocol for generic CD functionality, independent of
* the physical connection protocol (e.g. SCSI, ATA, USB).
*
* The APIs are the union of CD (block storage) data APIs and all
* necessary low-level CD APIs.
*
* A subclass implements relay methods that translate our requests into
* calls to a protocol- and device-specific provider.
*/
class IOCDBlockStorageDevice : public IOBlockStorageDevice {
OSDeclareAbstractStructors(IOCDBlockStorageDevice)
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
public:
/* Overrides from IORegistryEntry */
virtual boolinit(OSDictionary * properties);
/*-----------------------------------------*/
/* CD APIs */
/*-----------------------------------------*/
virtual IOReturndoAsyncReadCD(IOMemoryDescriptor *buffer,
UInt32 block,UInt32 nblks,
CDSectorArea sectorArea,
CDSectorType sectorType,
IOStorageCompletion completion) = 0;
virtual UInt32getMediaType(void)= 0;
virtual IOReturnreadISRC(UInt8 track,CDISRC isrc)= 0;
virtual IOReturnreadMCN(CDMCN mcn)= 0;
virtual IOReturnreadTOC(IOMemoryDescriptor *buffer) = 0;
#ifndef __LP64__
/*-----------------------------------------*/
/* APIs exported by IOCDAudioControl */
/*-----------------------------------------*/
virtual IOReturnaudioPause(bool pause)__attribute__ ((deprecated));
virtual IOReturnaudioPlay(CDMSF timeStart,CDMSF timeStop)__attribute__ ((deprecated));
virtual IOReturnaudioScan(CDMSF timeStart,bool reverse)__attribute__ ((deprecated));
virtual IOReturnaudioStop()__attribute__ ((deprecated));
virtual IOReturngetAudioStatus(CDAudioStatus *status)__attribute__ ((deprecated));
virtual IOReturngetAudioVolume(UInt8 *leftVolume,UInt8 *rightVolume)__attribute__ ((deprecated));
virtual IOReturnsetAudioVolume(UInt8 leftVolume,UInt8 rightVolume)__attribute__ ((deprecated));
#endif /* !__LP64__ */
/*-----------------------------------------*/
/* CD APIs */
/*-----------------------------------------*/
#ifdef __LP64__
virtual IOReturngetSpeed(UInt16 * kilobytesPerSecond)= 0;
virtual IOReturnsetSpeed(UInt16 kilobytesPerSecond)= 0;
virtual IOReturnreadTOC(IOMemoryDescriptor *buffer,CDTOCFormat format,
UInt8 msf,UInt8 trackSessionNumber,
UInt16 *actualByteCount)= 0;
virtual IOReturnreadDiscInfo(IOMemoryDescriptor *buffer,
UInt16 *actualByteCount)= 0;
virtual IOReturnreadTrackInfo(IOMemoryDescriptor *buffer,UInt32 address,
CDTrackInfoAddressType addressType,
UInt16 *actualByteCount)= 0;
#else /* !__LP64__ */
virtual IOReturngetSpeed(UInt16 * kilobytesPerSecond); /* 10.1.0 */
virtual IOReturnsetSpeed(UInt16 kilobytesPerSecond); /* 10.1.0 */
virtual IOReturnreadTOC(IOMemoryDescriptor *buffer,CDTOCFormat format,
UInt8 msf,UInt8 trackSessionNumber,
UInt16 *actualByteCount); /* 10.1.3 */
virtual IOReturnreadDiscInfo(IOMemoryDescriptor *buffer,
UInt16 *actualByteCount); /* 10.1.3 */
virtual IOReturnreadTrackInfo(IOMemoryDescriptor *buffer,UInt32 address,
CDTrackInfoAddressType addressType,
UInt16 *actualByteCount); /* 10.1.3 */
#endif /* !__LP64__ */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 0);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 1);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 2);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 3);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 4);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDevice, 0);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDevice, 1);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDevice, 2);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDevice, 3);
OSMetaClassDeclareReservedUsed(IOCDBlockStorageDevice, 4);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 5);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 6);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 7);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 8);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 9);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 10);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 11);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 12);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 13);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 14);
OSMetaClassDeclareReservedUnused(IOCDBlockStorageDevice, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOCDBLOCKSTORAGEDEVICE_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOMediaBSDClient.h
2626
2727
2828
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
15029
#include <sys/disk.h>
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <sys/conf.h>
#include <IOKit/storage/IOMedia.h>
class AnchorTable;
class MinorTable;
struct MinorSlot;
/*
* Class
*/
class IOMediaBSDClient : public IOService
{
OSDeclareDefaultStructors(IOMediaBSDClient)
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
private:
AnchorTable * _anchors; /* (table of anchors) */
UInt32 _reserved0064; /* (reserved, do not use) */
UInt32 _reserved0096; /* (reserved, do not use) */
MinorTable * _minors; /* (table of minors) */
UInt32 _reserved0160; /* (reserved, do not use) */
protected:
/*
* Find the whole media that roots the given media tree.
*/
virtual IOMedia * getWholeMedia( IOMedia * media,
UInt32 * slicePathSize = 0,
char * slicePath = 0 );
/*
* Create bdevsw and cdevsw nodes for the given media object.
*/
virtual bool createNodes(IOMedia * media);
/*
* Free all of this object's outstanding resources.
*/
virtual void free();
public:
/*
* Obtain this object's provider. We override the superclass's method to
* return a more specific subclass of IOService -- IOMedia. This method
* method serves simply as a convenience to subclass developers.
*/
virtual IOMedia * getProvider() const;
/*
* Initialize this object's minimal state.
*/
virtual bool init(OSDictionary * properties = 0);
/*
* This method is called once we have been attached to the provider object.
*/
virtual bool start(IOService * provider);
/*
* This method is called when we are to terminate from the provider object.
*/
virtual bool terminate(IOOptionBits options);
#ifndef __LP64__
virtual AnchorTable * getAnchors() __attribute__ ((deprecated));
virtual MinorTable * getMinors() __attribute__ ((deprecated));
virtual MinorSlot * getMinor(UInt32 minorID) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*
* Process a foreign ioctl.
*/
virtual int ioctl(dev_t dev, u_long cmd, caddr_t data, int flags, proc_t proc);
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 0);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOMediaBSDClient, 0);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 1);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 2);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 3);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 4);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 5);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 6);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 7);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 8);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 9);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 10);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 11);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 12);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 13);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 14);
OSMetaClassDeclareReservedUnused(IOMediaBSDClient, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOMEDIABSDCLIENT_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOGUIDPartitionScheme.h
8787
8888
8989
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
23490
#pragma pack(pop) /* (reset to default struct packing) */
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <IOKit/storage/IOPartitionScheme.h>
/*
* Class
*/
class IOGUIDPartitionScheme : public IOPartitionScheme
{
OSDeclareDefaultStructors(IOGUIDPartitionScheme);
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
OSSet * _partitions; /* (set of media objects representing partitions) */
/*
* Free all of this object's outstanding resources.
*/
virtual void free(void);
/*
* Scan the provider media for a GUID partition map. Returns the set
* of media objects representing each of the partitions (the retain for
* the set is passed to the caller), or null should no partition map be
* found. The default probe score can be adjusted up or down, based on
* the confidence of the scan.
*/
virtual OSSet * scan(SInt32 * score);
/*
* Ask whether the given partition is used.
*/
virtual bool isPartitionUsed(gpt_ent * partition);
/*
* Ask whether the given partition appears to be corrupt. A partition that
* is corrupt will cause the failure of the GUID partition map recognition
* altogether.
*/
virtual bool isPartitionCorrupt( gpt_ent * partition,
UInt32 partitionID );
/*
* Ask whether the given partition appears to be invalid. A partition that
* is invalid will cause it to be skipped in the scan, but will not cause a
* failure of the GUID partition map recognition.
*/
virtual bool isPartitionInvalid( gpt_ent * partition,
UInt32 partitionID );
/*
* Instantiate a new media object to represent the given partition.
*/
virtual IOMedia * instantiateMediaObject( gpt_ent * partition,
UInt32 partitionID );
/*
* Allocate a new media object (called from instantiateMediaObject).
*/
virtual IOMedia * instantiateDesiredMediaObject( gpt_ent * partition,
UInt32 partitionID );
#ifndef __LP64__
/*
* Attach the given media object to the device tree plane.
*/
virtual bool attachMediaObjectToDeviceTree(IOMedia * media) __attribute__ ((deprecated));
/*
* Detach the given media object from the device tree plane.
*/
virtual void detachMediaObjectFromDeviceTree(IOMedia * media) __attribute__ ((deprecated));
#endif /* !__LP64__ */
public:
/*
* Initialize this object's minimal state.
*/
virtual bool init(OSDictionary * properties = 0);
/*
* Determine whether the provider media contains a GUID partition map.
*/
virtual IOService * probe(IOService * provider, SInt32 * score);
/*
* Publish the new media objects which represent our partitions.
*/
virtual bool start(IOService * provider);
/*
* Clean up after the media objects we published before terminating.
*/
virtual void stop(IOService * provider);
/*
* Request that the provider media be re-scanned for partitions.
*/
virtual IOReturn requestProbe(IOOptionBits options);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 0);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 1);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 2);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 3);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 4);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 5);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 6);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 7);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 8);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 9);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 10);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 11);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 12);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 13);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 14);
OSMetaClassDeclareReservedUnused(IOGUIDPartitionScheme, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOGUIDPARTITIONSCHEME_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOFDiskPartitionScheme.h
102102
103103
104104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264105
#pragma pack(pop) /* (reset to default struct packing) */
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <IOKit/storage/IOPartitionScheme.h>
/*
* Class
*/
class IOFDiskPartitionScheme : public IOPartitionScheme
{
OSDeclareDefaultStructors(IOFDiskPartitionScheme);
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
OSSet * _partitions; /* (set of media objects representing partitions) */
/*
* Free all of this object's outstanding resources.
*/
virtual void free(void);
/*
* Scan the provider media for an FDisk partition map. Returns the set
* of media objects representing each of the partitions (the retain for
* the set is passed to the caller), or null should no partition map be
* found. The default probe score can be adjusted up or down, based on
* the confidence of the scan.
*/
virtual OSSet * scan(SInt32 * score);
/*
* Ask whether the given partition is extended.
*/
virtual bool isPartitionExtended(fdisk_part * partition);
/*
* Ask whether the given partition is used.
*/
virtual bool isPartitionUsed(fdisk_part * partition);
/*
* Ask whether the given partition appears to be corrupt. A partition that
* is corrupt will cause the failure of the FDisk partition map recognition
* altogether.
*/
virtual bool isPartitionCorrupt( fdisk_part * partition,
UInt32 partitionID,
UInt32 fdiskBlock );
/*
* Ask whether the given partition appears to be invalid. A partition that
* is invalid will cause it to be skipped in the scan, but will not cause a
* failure of the FDisk partition map recognition.
*/
virtual bool isPartitionInvalid( fdisk_part * partition,
UInt32 partitionID,
UInt32 fdiskBlock );
/*
* Instantiate a new media object to represent the given partition.
*/
virtual IOMedia * instantiateMediaObject( fdisk_part * partition,
UInt32 partitionID,
UInt32 fdiskBlock );
/*
* Allocate a new media object (called from instantiateMediaObject).
*/
virtual IOMedia * instantiateDesiredMediaObject( fdisk_part * partition,
UInt32 partitionID,
UInt32 fdiskBlock );
#ifndef __LP64__
/*
* Attach the given media object to the device tree plane.
*/
virtual bool attachMediaObjectToDeviceTree(IOMedia * media) __attribute__ ((deprecated));
/*
* Detach the given media object from the device tree plane.
*/
virtual void detachMediaObjectFromDeviceTree(IOMedia * media) __attribute__ ((deprecated));
#endif /* !__LP64__ */
public:
/*
* Initialize this object's minimal state.
*/
virtual bool init(OSDictionary * properties = 0);
/*
* Determine whether the provider media contains an FDisk partition map.
*/
virtual IOService * probe(IOService * provider, SInt32 * score);
/*
* Publish the new media objects which represent our partitions.
*/
virtual bool start(IOService * provider);
/*
* Clean up after the media objects we published before terminating.
*/
virtual void stop(IOService * provider);
/*
* Request that the provider media be re-scanned for partitions.
*/
virtual IOReturn requestProbe(IOOptionBits options);
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 0);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 1);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOFDiskPartitionScheme, 0);
OSMetaClassDeclareReservedUsed(IOFDiskPartitionScheme, 1);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 2);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 3);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 4);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 5);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 6);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 7);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 8);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 9);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 10);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 11);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 12);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 13);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 14);
OSMetaClassDeclareReservedUnused(IOFDiskPartitionScheme, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOFDISKPARTITIONSCHEME_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOMedia.h
228228
229229
230230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668231
typedef UInt32 IOMediaAttributeMask;
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <IOKit/storage/IOStorage.h>
/*!
* @class IOMedia
* @abstract
* A random-access disk device abstraction.
* @discussion
* The IOMedia class is a random-access disk device abstraction. It provides a
* consistent interface for both real and virtual disk devices, for subdivisions
* of disks such as partitions, for supersets of disks such as RAID volumes, and
* so on. It extends the IOStorage class by implementing the appropriate open,
* close, read, write, and matching semantics for media objects. The properties
* it has reflect the properties of real disk devices, such as ejectability and
* writability.
*
* The read and write interfaces support byte-level access to the storage space,
* with the appropriate deblocking handled by the block storage driver, however,
* a typical client will want to get the natural block size in order to optimize
* access to the real disk device. A read or write is accepted so long as the
* client's access is valid, the media is formatted and the transfer is within
* the bounds of the media. An optional non-zero base (offset) is then applied
* before the read or write is passed to provider object.
*/
class IOMedia : public IOStorage
{
OSDeclareDefaultStructors(IOMedia)
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
UInt32 _attributes;
bool _isWhole;
bool _isWritable;
UInt64 _mediaBase; /* (relative to the storage object below us) */
UInt64 _mediaSize;
IOStorageAccess _openLevel;
OSDictionary * _openClients;
UInt32 _reserved0320;
UInt64 _preferredBlockSize;
/*
* Free all of this object's outstanding resources.
*/
virtual void free();
/*!
* @function handleOpen
* @discussion
* The handleOpen method grants or denies permission to access this object
* to an interested client. The argument is an IOStorageAccess value that
* specifies the level of access desired -- reader or reader-writer.
*
* This method can be invoked to upgrade or downgrade the access level for
* an existing client as well. The previous access level will prevail for
* upgrades that fail, of course. A downgrade should never fail. If the
* new access level should be the same as the old for a given client, this
* method will do nothing and return success. In all cases, one, singular
* close-per-client is expected for all opens-per-client received.
*
* This implementation replaces the IOService definition of handleOpen().
* @param client
* Client requesting the open.
* @param options
* Options for the open. Set to zero.
* @param access
* Access level for the open. Set to kIOStorageAccessReader or
* kIOStorageAccessReaderWriter.
* @result
* Returns true if the open was successful, false otherwise.
*/
virtual bool handleOpen(IOService * client,
IOOptionBits options,
void * access);
/*!
* @function handleIsOpen
* @discussion
* The handleIsOpen method determines whether the specified client, or any
* client if none is specified, presently has an open on this object.
*
* This implementation replaces the IOService definition of handleIsOpen().
* @param client
* Client to check the open state of. Set to zero to check the open state
* of all clients.
* @result
* Returns true if the client was (or clients were) open, false otherwise.
*/
virtual bool handleIsOpen(const IOService * client) const;
/*!
* @function handleClose
* @discussion
* The handleClose method closes the client's access to this object.
*
* This implementation replaces the IOService definition of handleClose().
* @param client
* Client requesting the close.
* @param options
* Options for the close. Set to zero.
*/
virtual void handleClose(IOService * client, IOOptionBits options);
public:
using IOStorage::read;
using IOStorage::write;
#ifndef __LP64__
virtual bool init(UInt64 base,
UInt64 size,
UInt64 preferredBlockSize,
bool isEjectable,
bool isWhole,
bool isWritable,
const char * contentHint = 0,
OSDictionary * properties = 0) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*
* This method is called for each client interested in the services we
* provide. The superclass links us as a parent to this client in the
* I/O Kit registry on success.
*/
virtual bool attachToChild(IORegistryEntry * client,
const IORegistryPlane * plane);
/*
* This method is called for each client that loses interest in the
* services we provide. The superclass unlinks us from this client
* in the I/O Kit registry on success.
*/
virtual void detachFromChild(IORegistryEntry * client,
const IORegistryPlane * plane);
/*
* Obtain this object's provider. We override the superclass's method to
* return a more specific subclass of OSObject -- IOStorage. This method
* serves simply as a convenience to subclass developers.
*/
virtual IOStorage * getProvider() const;
/*
* Compare the properties in the supplied table to this object's properties.
*/
virtual bool matchPropertyTable(OSDictionary * table, SInt32 * score);
/*!
* @function read
* @discussion
* Read data from the storage object at the specified byte offset into the
* specified buffer, asynchronously. When the read completes, the caller
* will be notified via the specified completion action.
*
* The buffer will be retained for the duration of the read.
* @param client
* Client requesting the read.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
virtual void read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion);
/*!
* @function write
* @discussion
* Write data into the storage object at the specified byte offset from the
* specified buffer, asynchronously. When the write completes, the caller
* will be notified via the specified completion action.
*
* The buffer will be retained for the duration of the write.
* @param client
* Client requesting the write.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
virtual void write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion);
/*!
* @function synchronizeCache
* @discussion
* Flush the cached data in the storage object, if any, synchronously.
* @param client
* Client requesting the cache synchronization.
* @result
* Returns the status of the cache synchronization.
*/
virtual IOReturn synchronizeCache(IOService * client);
/*!
* @function discard
* @discussion
* Delete unused data from the storage object at the specified byte offset,
* synchronously.
* @param client
* Client requesting the operation.
* @param byteStart
* Starting byte offset for the operation.
* @param byteCount
* Size of the operation.
* @result
* Returns the status of the operation.
*/
virtual IOReturn discard(IOService * client,
UInt64 byteStart,
UInt64 byteCount);
/*!
* @function getPreferredBlockSize
* @discussion
* Ask the media object for its natural block size. This information
* is useful to clients that want to optimize access to the media.
* @result
* Natural block size, in bytes.
*/
virtual UInt64 getPreferredBlockSize() const;
/*!
* @function getSize
* @discussion
* Ask the media object for its total length in bytes.
* @result
* Media size, in bytes.
*/
virtual UInt64 getSize() const;
/*!
* @function getBase
* @discussion
* Ask the media object for its byte offset relative to its provider media
* object below it in the storage hierarchy.
* Media offset, in bytes.
*/
virtual UInt64 getBase() const;
/*!
* @function isEjectable
* @discussion
* Ask the media object whether it is ejectable.
* @result
* Returns true if the media is ejectable, false otherwise.
*/
virtual bool isEjectable() const;
/*!
* @function isFormatted
* @discussion
* Ask the media object whether it is formatted.
* @result
* Returns true if the media is formatted, false otherwise.
*/
virtual bool isFormatted() const;
/*!
* @function isWhole
* @discussion
* Ask the media object whether it represents the whole disk.
* @result
* Returns true if the media represents the whole disk, false otherwise.
*/
virtual bool isWhole() const;
/*!
* @function isWritable
* @discussion
* Ask the media object whether it is writable.
* @result
* Returns true if the media is writable, false otherwise.
*/
virtual bool isWritable() const;
/*!
* @function getContent
* @discussion
* Ask the media object for a description of its contents. The description
* is the same as the hint at the time of the object's creation, but it is
* possible that the description has been overridden by a client (which has probed
* the media and identified the content correctly) of the media object. It
* is more accurate than the hint for this reason. The string is formed in
* the likeness of Apple's "Apple_HFS" strings or in the likeness of a UUID.
*
* The content description can be overridden by any client that matches onto
* this media object with a match category of kIOStorageCategory. The media
* object checks for a kIOMediaContentMaskKey property in the client, and if
* it finds one, it copies it into kIOMediaContentKey property.
* @result
* Description of media's contents.
*/
virtual const char * getContent() const;
/*!
* @function getContentHint
* @discussion
* Ask the media object for a hint of its contents. The hint is set at the
* time of the object's creation, should the creator have a clue as to what
* it may contain. The hint string does not change for the lifetime of the
* object and is also formed in the likeness of Apple's "Apple_HFS" strings
* or in the likeness of a UUID.
* @result
* Hint of media's contents.
*/
virtual const char * getContentHint() const;
/*!
* @function init
* @discussion
* Initialize this object's minimal state.
* @param base
* Media offset, in bytes.
* @param size
* Media size, in bytes.
* @param preferredBlockSize
* Natural block size, in bytes.
* @param attributes
* Media attributes, such as ejectability and removability. See
* IOMediaAttributeMask.
* @param isWhole
* Indicates whether the media represents the whole disk.
* @param isWritable
* Indicates whether the media is writable.
* @param contentHint
* Hint of media's contents (optional). See getContentHint().
* @param properties
* Substitute property table for this object (optional).
* @result
* Returns true on success, false otherwise.
*/
virtual bool init(UInt64 base,
UInt64 size,
UInt64 preferredBlockSize,
IOMediaAttributeMask attributes,
bool isWhole,
bool isWritable,
const char * contentHint = 0,
OSDictionary * properties = 0); /* 10.2.0 */
/*!
* @function getAttributes
* @discussion
* Ask the media object for its attributes.
* @result
* Media attributes, such as ejectability and removability. See
* IOMediaAttributeMask.
*/
virtual IOMediaAttributeMask getAttributes() const; /* 10.2.0 */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOMedia, 0);
OSMetaClassDeclareReservedUnused(IOMedia, 1);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOMedia, 0);
OSMetaClassDeclareReservedUsed(IOMedia, 1);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOMedia, 2);
OSMetaClassDeclareReservedUnused(IOMedia, 3);
OSMetaClassDeclareReservedUnused(IOMedia, 4);
OSMetaClassDeclareReservedUnused(IOMedia, 5);
OSMetaClassDeclareReservedUnused(IOMedia, 6);
OSMetaClassDeclareReservedUnused(IOMedia, 7);
OSMetaClassDeclareReservedUnused(IOMedia, 8);
OSMetaClassDeclareReservedUnused(IOMedia, 9);
OSMetaClassDeclareReservedUnused(IOMedia, 10);
OSMetaClassDeclareReservedUnused(IOMedia, 11);
OSMetaClassDeclareReservedUnused(IOMedia, 12);
OSMetaClassDeclareReservedUnused(IOMedia, 13);
OSMetaClassDeclareReservedUnused(IOMedia, 14);
OSMetaClassDeclareReservedUnused(IOMedia, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOMEDIA_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOApplePartitionScheme.h
119119
120120
121121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265122
#pragma pack(pop) /* (reset to default struct packing) */
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <IOKit/storage/IOPartitionScheme.h>
/*
* Class
*/
class IOApplePartitionScheme : public IOPartitionScheme
{
OSDeclareDefaultStructors(IOApplePartitionScheme);
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
OSSet * _partitions; /* (set of media objects representing partitions) */
/*
* Free all of this object's outstanding resources.
*/
virtual void free(void);
/*
* Scan the provider media for an Apple partition map. Returns the set
* of media objects representing each of the partitions (the retain for
* the set is passed to the caller), or null should no partition map be
* found. The default probe score can be adjusted up or down, based on
* the confidence of the scan.
*/
virtual OSSet * scan(SInt32 * score);
/*
* Ask whether the given partition appears to be corrupt. A partition that
* is corrupt will cause the failure of the Apple partition map recognition
* altogether.
*/
virtual bool isPartitionCorrupt( dpme * partition,
UInt32 partitionID,
UInt32 partitionBlockSize );
/*
* Ask whether the given partition appears to be invalid. A partition that
* is invalid will cause it to be skipped in the scan, but will not cause a
* failure of the Apple partition map recognition.
*/
virtual bool isPartitionInvalid( dpme * partition,
UInt32 partitionID,
UInt32 partitionBlockSize );
/*
* Instantiate a new media object to represent the given partition.
*/
virtual IOMedia * instantiateMediaObject( dpme * partition,
UInt32 partitionID,
UInt32 partitionBlockSize );
/*
* Allocate a new media object (called from instantiateMediaObject).
*/
virtual IOMedia * instantiateDesiredMediaObject(
dpme * partition,
UInt32 partitionID,
UInt32 partitionBlockSize );
#ifndef __LP64__
/*
* Attach the given media object to the device tree plane.
*/
virtual bool attachMediaObjectToDeviceTree(IOMedia * media) __attribute__ ((deprecated));
/*
* Detach the given media object from the device tree plane.
*/
virtual void detachMediaObjectFromDeviceTree(IOMedia * media) __attribute__ ((deprecated));
#endif /* !__LP64__ */
public:
/*
* Initialize this object's minimal state.
*/
virtual bool init(OSDictionary * properties = 0);
/*
* Determine whether the provider media contains an Apple partition map.
*/
virtual IOService * probe(IOService * provider, SInt32 * score);
/*
* Publish the new media objects which represent our partitions.
*/
virtual bool start(IOService * provider);
/*
* Clean up after the media objects we published before terminating.
*/
virtual void stop(IOService * provider);
/*
* Request that the provider media be re-scanned for partitions.
*/
virtual IOReturn requestProbe(IOOptionBits options);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 0);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 1);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 2);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 3);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 4);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 5);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 6);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 7);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 8);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 9);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 10);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 11);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 12);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 13);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 14);
OSMetaClassDeclareReservedUnused(IOApplePartitionScheme, 15);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOAPPLEPARTITIONSCHEME_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOBlockStorageDriver.h
242242
243243
244244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571245
typedef UInt32 IOMediaState;
#ifdef KERNEL
#ifdef __cplusplus
/*
* Kernel
*/
#include <IOKit/storage/IOBlockStorageDevice.h>
#include <IOKit/storage/IOMedia.h>
#include <IOKit/storage/IOStorage.h>
#include <kern/thread_call.h>
/*!
* @class IOBlockStorageDriver
* @abstract
* The common base class for generic block storage drivers.
* @discussion
* The IOBlockStorageDriver class is the common base class for generic block
* storage drivers. It matches and communicates via an IOBlockStorageDevice
* interface, and connects to the remainder of the storage framework via the
* IOStorage protocol. It extends the IOStorage protocol by implementing the
* appropriate open and close semantics, deblocking for unaligned transfers,
* polling for ejectable media, locking and ejection policies, media object
* creation and tear-down, and statistics gathering and reporting.
*
* Block storage drivers are split into two parts: the generic driver handles
* all generic device issues, independent of the lower-level transport
* mechanism (e.g. SCSI, ATA, USB, FireWire). All storage operations
* at the generic driver level are translated into a series of generic
* device operations. These operations are passed via the IOBlockStorageDevice
* nub to a transport driver, which implements the appropriate
* transport-dependent protocol to execute these operations.
*
* To determine the write-protect state of a device (or media), for
* example, the generic driver would issue a call to the
* Transport Driver's reportWriteProtection method. If this were a SCSI
* device, its transport driver would issue a Mode Sense command to
* extract the write-protection status bit. The transport driver then
* reports true or false to the generic driver.
*
* The generic driver therefore has no knowledge of, or involvement
* with, the actual commands and mechanisms used to communicate with
* the device. It is expected that the generic driver will rarely, if
* ever, need to be subclassed to handle device idiosyncrasies; rather,
* the transport driver should be changed via overrides.
*
* A generic driver could be subclassed to create a different type of
* generic device. The generic driver IOCDBlockStorageDriver class is
* a subclass of IOBlockStorageDriver, adding CD functions.
*/
class IOBlockStorageDriver : public IOStorage
{
OSDeclareDefaultStructors(IOBlockStorageDriver);
public:
/*!
* @enum Statistics
* @abstract
* Indices for the different statistics that getStatistics() can report.
* @constant kStatisticsReads Number of read operations thus far.
* @constant kStatisticsBytesRead Number of bytes read thus far.
* @constant kStatisticsTotalReadTime Nanoseconds spent performing reads thus far.
* @constant kStatisticsLatentReadTime Nanoseconds of latency during reads thus far.
* @constant kStatisticsReadRetries Number of read retries thus far.
* @constant kStatisticsReadErrors Number of read errors thus far.
* @constant kStatisticsWrites Number of write operations thus far.
* @constant kStatisticsSingleBlockWrites Number of write operations for a single block thus far.
* @constant kStatisticsBytesWritten Number of bytes written thus far.
* @constant kStatisticsTotalWriteTime Nanoseconds spent performing writes thus far.
* @constant kStatisticsLatentWriteTime Nanoseconds of latency during writes thus far.
* @constant kStatisticsWriteRetries Number of write retries thus far.
* @constant kStatisticsWriteErrors Number of write errors thus far.
*/
enum Statistics
{
kStatisticsReads,
kStatisticsBytesRead,
kStatisticsTotalReadTime,
kStatisticsLatentReadTime,
kStatisticsReadRetries,
kStatisticsReadErrors,
kStatisticsWrites,
kStatisticsSingleBlockWrites,
kStatisticsBytesWritten,
kStatisticsTotalWriteTime,
kStatisticsLatentWriteTime,
kStatisticsWriteRetries,
kStatisticsWriteErrors
};
static const UInt32 kStatisticsCount = kStatisticsWriteErrors + 1;
protected:
struct Context;
struct ExpansionData
{
bool mediaDirtied;
UInt64 maxReadBlockTransfer;
UInt64 maxWriteBlockTransfer;
IONotifier * powerEventNotifier;
UInt32 deblockRequestWriteLockCount;
UInt64 maxReadSegmentTransfer;
UInt64 maxWriteSegmentTransfer;
UInt64 maxReadSegmentByteTransfer;
UInt64 maxWriteSegmentByteTransfer;
UInt64 minSegmentAlignmentByteTransfer;
UInt64 maxSegmentWidthByteTransfer;
Context * contexts;
IOSimpleLock * contextsLock;
UInt32 contextsCount;
UInt32 contextsMaxCount;
};
ExpansionData * _expansionData;
#define _mediaDirtied \
IOBlockStorageDriver::_expansionData->mediaDirtied
#define _maxReadBlockTransfer \
IOBlockStorageDriver::_expansionData->maxReadBlockTransfer
#define _maxWriteBlockTransfer \
IOBlockStorageDriver::_expansionData->maxWriteBlockTransfer
#define _powerEventNotifier \
IOBlockStorageDriver::_expansionData->powerEventNotifier
#define _deblockRequestWriteLockCount \
IOBlockStorageDriver::_expansionData->deblockRequestWriteLockCount
#define _maxReadSegmentTransfer \
IOBlockStorageDriver::_expansionData->maxReadSegmentTransfer
#define _maxWriteSegmentTransfer \
IOBlockStorageDriver::_expansionData->maxWriteSegmentTransfer
#define _maxReadSegmentByteTransfer \
IOBlockStorageDriver::_expansionData->maxReadSegmentByteTransfer
#define _maxWriteSegmentByteTransfer \
IOBlockStorageDriver::_expansionData->maxWriteSegmentByteTransfer
#define _minSegmentAlignmentByteTransfer \
IOBlockStorageDriver::_expansionData->minSegmentAlignmentByteTransfer
#define _maxSegmentWidthByteTransfer \
IOBlockStorageDriver::_expansionData->maxSegmentWidthByteTransfer
#define _contexts \
IOBlockStorageDriver::_expansionData->contexts
#define _contextsLock \
IOBlockStorageDriver::_expansionData->contextsLock
#define _contextsCount \
IOBlockStorageDriver::_expansionData->contextsCount
#define _contextsMaxCount \
IOBlockStorageDriver::_expansionData->contextsMaxCount
OSSet * _openClients;
OSNumber * _statistics[kStatisticsCount];
/*
* @struct Context
* @discussion
* Context structure for a read/write operation. It describes the block size,
* and where applicable, a block type and block sub-type, for a data transfer,
* as well as the completion information for the original request. Note that
* the block type field is unused in the IOBlockStorageDriver class.
* @field block.size
* Block size for the operation.
* @field block.type
* Block type for the operation. Unused in IOBlockStorageDriver. The default
* value for this field is IOBlockStorageDriver::kBlockTypeStandard.
* @field block.typeSub
* Block sub-type for the operation. It's definition depends on block.type.
* Unused in IOBlockStorageDriver.
* @field request.byteStart
* Starting byte offset for the data transfer.
* @param request.buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param request.attributes
* Attributes of the data transfer. See IOStorageAttributes.
* @param request.completion
* Completion routine to call once the data transfer is complete.
*/
struct Context
{
#ifdef __LP64__
struct
{
UInt64 byteStart;
IOMemoryDescriptor * buffer;
IOStorageAttributes attributes;
IOStorageCompletion completion;
} request;
struct
{
UInt32 size;
UInt8 type;
UInt8 typeSub[3];
} block;
AbsoluteTime timeStart;
UInt64 reserved0704;
UInt64 reserved0768;
UInt64 reserved0832;
UInt64 reserved0896;
#else /* !__LP64__ */
struct
{
UInt32 size;
UInt8 type;
UInt8 typeSub[3];
} block;
struct
{
UInt64 byteStart;
IOMemoryDescriptor * buffer;
IOStorageCompletion completion;
} original;
AbsoluteTime timeStart;
struct
{
IOStorageAttributes attributes;
} request;
UInt32 reserved0448;
#endif /* !__LP64__ */
Context * next;
};
static const UInt8 kBlockTypeStandard = 0x00;
/*
* Free all of this object's outstanding resources.
*
* This method's implementation is not typically overridden.
*/
void free();
/*!
* @function handleOpen
* @discussion
* The handleOpen method grants or denies permission to access this object
* to an interested client. The argument is an IOStorageAccess value that
* specifies the level of access desired -- reader or reader-writer.
*
* This method can be invoked to upgrade or downgrade the access level for
* an existing client as well. The previous access level will prevail for
* upgrades that fail, of course. A downgrade should never fail. If the
* new access level should be the same as the old for a given client, this
* method will do nothing and return success. In all cases, one, singular
* close-per-client is expected for all opens-per-client received.
*
* This implementation replaces the IOService definition of handleIsOpen().
* @param client
* Client requesting the open.
* @param options
* Options for the open. Set to zero.
* @param access
* Access level for the open. Set to kIOStorageAccessReader or
* kIOStorageAccessReaderWriter.
* @result
* Returns true if the open was successful, false otherwise.
*/
virtual bool handleOpen(IOService * client,
IOOptionBits options,
void * access);
/*!
* @function handleIsOpen
* @discussion
* The handleIsOpen method determines whether the specified client, or any
* client if none is specified, presently has an open on this object.
*
* This implementation replaces the IOService definition of handleIsOpen().
* @param client
* Client to check the open state of. Set to zero to check the open state
* of all clients.
* @result
* Returns true if the client was (or clients were) open, false otherwise.
*/
virtual bool handleIsOpen(const IOService * client) const;
/*!
* @function handleClose
* @discussion
* The handleClose method closes the client's access to this object.
*
* This implementation replaces the IOService definition of handleIsOpen().
* @param client
* Client requesting the close.
* @param options
* Options for the close. Set to zero.
*/
virtual void handleClose(IOService * client, IOOptionBits options);
/*!
* @function addToBytesTransferred
* @discussion
* Update the total number of bytes transferred, the total transfer time,
* and the total latency time -- used for statistics.
*
* This method's implementation is not typically overridden.
* @param bytesTransferred
* Number of bytes transferred in this operation.
* @param totalTime
* Nanoseconds spent performing this operation.
* @param latentTime
* Nanoseconds of latency during this operation.
* @param isWrite
* Indicates whether this operation was a write, otherwise is was a read.
*/
virtual void addToBytesTransferred(UInt64 bytesTransferred,
UInt64 totalTime,
UInt64 latentTime,
bool isWrite);
/*!
* @function incrementErrors
* @discussion
* Update the total error count -- used for statistics.
*
* This method's implementation is not typically overridden.
* @param isWrite
* Indicates whether this operation was a write, otherwise is was a read.
*/
virtual void incrementErrors(bool isWrite);
/*!
* @function incrementRetries
* @discussion
* Update the total retry count -- used for statistics.
*
* This method's implementation is not typically overridden.
* @param isWrite
* Indicates whether this operation was a write, otherwise is was a read.
*/
virtual void incrementRetries(bool isWrite);
/*!
* @function allocateContext
* @discussion
* Allocate a context structure for a read/write operation.
* @result
* Context structure.
*/
virtual Context * allocateContext();
/*!
* @function deleteContext
* @discussion
* Delete a context structure from a read/write operation.
* @param context
* Context structure to be deleted.
*/
virtual void deleteContext(Context * context);
#ifndef __LP64__
virtual void prepareRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*!
* @function deblockRequest
* @discussion
* The deblockRequest method checks to see if the incoming request rests
* on the media's block boundaries, and if not, deblocks it. Deblocking
* involves rounding out the request to the nearest block boundaries and
* transferring the excess bytes into a scratch buffer.
*
* This method is part of a sequence of methods invoked for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
*
* This method's implementation is not typically overridden.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param context
* Additional context information for the data transfer (e.g. block size).
*/
#ifdef __LP64__
virtual void deblockRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion,
Context * context);
#else /* !__LP64__ */
virtual void deblockRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion,
Context * context);
#endif /* !__LP64__ */
/*!
* @function executeRequest
* @discussion
* Execute an asynchronous storage request. The request is guaranteed to be
* block-aligned.
*
* This method is part of a sequence of methods invoked for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param context
* Additional context information for the data transfer (e.g. block size).
*/
#ifdef __LP64__
virtual void executeRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion,
Context * context);
#else /* !__LP64__ */
virtual void executeRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion,
Context * context);
#endif /* !__LP64__ */
/*!
* @function handleStart
* @discussion
* Prepare the block storage driver for operation.
*
* This is where a media object needs to be created for fixed media, and
* optionally for removable media.
*
* Note that this method is called from within the start() routine;
* if this method returns successfully, it should be prepared to accept
* any of IOBlockStorageDriver's APIs.
* @param provider
* This object's provider.
* @result
* Returns true on success, false otherwise.
*/
virtual bool handleStart(IOService * provider);
/*!
* @function handleYield
* @discussion
* Stop the block storage driver.
*
* This method is called as a result of a kIOMessageServiceIsRequestingClose
* provider message. The argument is passed in as-is from the message. The
* options are unused.
*
* This is where the driver should clean up its state in preparation for
* removal from the system.
*
* Note that this method is called from within the yield() routine.
*
* This method is called with the arbitration lock held.
* @param provider
* This object's provider.
*/
virtual bool handleYield(IOService * provider,
IOOptionBits options = 0,
void * argument = 0);
/*!
* @function getMediaBlockSize
* @discussion
* Ask the driver about the media's natural block size.
* @result
* Natural block size, in bytes.
*/
virtual UInt64 getMediaBlockSize() const;
public:
using IOStorage::read;
using IOStorage::write;
/*
* Initialize this object's minimal state.
*
* This method's implementation is not typically overridden.
*/
virtual bool init(OSDictionary * properties = 0);
/*
* This method is called once we have been attached to the provider object.
*
* This method's implementation is not typically overridden.
*/
virtual bool start(IOService * provider);
/*
* This method is called before we are detached from the provider object.
*
* This method's implementation is not typically overridden.
*/
virtual void stop(IOService * provider);
/*
* This method is called as a result of a kIOMessageServiceIsRequestingClose
* provider message. The argument is passed in as-is from the message. The
* options are unused.
*
* This method's implementation is not typically overridden.
*/
virtual bool yield(IOService * provider,
IOOptionBits options = 0,
void * argument = 0);
/*!
* @function read
* @discussion
* The read method is the receiving end for all read requests from the
* storage framework (through the media object created by this driver).
*
* This method initiates a sequence of methods (stages) for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
*
* This method's implementation is not typically overridden.
* @param client
* Client requesting the read.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
virtual void read(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion);
/*!
* @function write
* @discussion
* The write method is the receiving end for all write requests from the
* storage framework (through the media object created by this driver).
*
* This method initiates a sequence of methods (stages) for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
*
* This method's implementation is not typically overridden.
* @param client
* Client requesting the write.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
virtual void write(IOService * client,
UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion);
/*!
* @function synchronizeCache
* @discussion
* Flush the cached data in the storage object, if any, synchronously.
* @param client
* Client requesting the cache synchronization.
* @result
* Returns the status of the cache synchronization.
*/
virtual IOReturn synchronizeCache(IOService * client);
/*!
* @function discard
* @discussion
* Delete unused data from the storage object at the specified byte offset,
* synchronously.
* @param client
* Client requesting the operation.
* @param byteStart
* Starting byte offset for the operation.
* @param byteCount
* Size of the operation.
* @result
* Returns the status of the operation.
*/
virtual IOReturn discard(IOService * client,
UInt64 byteStart,
UInt64 byteCount);
/*!
* @function ejectMedia
* @discussion
* Eject the media from the device. The driver is responsible for tearing
* down the media object it created before proceeding with the eject. If
* the tear-down fails, an error should be returned.
* @result
* An IOReturn code.
*/
virtual IOReturn ejectMedia();
/*!
* @function formatMedia
* @discussion
* Format the media with the specified byte capacity. The driver is
* responsible for tearing down the media object and recreating it.
* @param byteCapacity
* Number of bytes to format media to.
* @result
* An IOReturn code.
*/
virtual IOReturn formatMedia(UInt64 byteCapacity);
/*!
* @function lockMedia
* @discussion
* Lock or unlock the ejectable media in the device, that is, prevent
* it from manual ejection or allow its manual ejection.
* @param lock
* Pass true to lock the media, otherwise pass false to unlock the media.
* @result
* An IOReturn code.
*/
virtual IOReturn lockMedia(bool lock);
/*!
* @function pollMedia
* @discussion
* Poll for the presence of media in the device. The driver is responsible
* for tearing down the media object it created should the media have been
* removed since the last poll, and vice-versa, creating the media object
* should new media have arrived since the last poll.
* @result
* An IOReturn code.
*/
virtual IOReturn pollMedia();
/*!
* @function isMediaEjectable
* @discussion
* Ask the driver whether the media is ejectable.
* @result
* Returns true if the media is ejectable, false otherwise.
*/
virtual bool isMediaEjectable() const;
#ifdef __LP64__
/*!
* @function isMediaRemovable
* @discussion
* Ask the driver whether the media is ejectable.
* @result
* Returns true if the media is ejectable, false otherwise.
*/
virtual bool isMediaRemovable() const;
#endif /* __LP64__ */
/*!
* @function isMediaPollExpensive
* @discussion
* Ask the driver whether a pollMedia() would be an expensive operation,
* that is, one that requires the device to spin up or delay for a while.
* @result
* Returns true if polling the media is expensive, false otherwise.
*/
virtual bool isMediaPollExpensive() const;
/*!
* @function isMediaPollRequired
* @discussion
* Ask the driver whether the block storage device requires polling, which is
* typically required for devices without the ability to asynchronously detect
* the arrival or departure of the media.
* @result
* Returns true if polling the media is required, false otherwise.
*/
virtual bool isMediaPollRequired() const;
virtual bool isMediaWritable() const;
/*!
* @function getMediaState
* @discussion
* Ask the driver about the media's current state.
* @result
* An IOMediaState value.
*/
virtual IOMediaState getMediaState() const;
/*!
* @function getFormatCapacities
* @discussion
* Ask the driver to report the feasible formatting capacities for the
* inserted media (in bytes). This routine fills the caller's buffer,
* up to the maximum count specified if the real number of capacities
* would overflow the buffer. The return value indicates the actual
* number of capacities copied to the buffer.
*
* If the capacities buffer is not supplied or if the maximum count is
* zero, the routine returns the proposed count of capacities instead.
* @param capacities
* Buffer that will receive the UInt64 capacity values.
* @param capacitiesMaxCount
* Maximum number of capacity values that can be held in the buffer.
* @result
* Actual number of capacity values copied to the buffer, or if no buffer
* is given, the total number of capacity values available.
*/
virtual UInt32 getFormatCapacities(UInt64 * capacities,
UInt32 capacitiesMaxCount) const;
/*!
* @function getStatistics
* @discussion
* Ask the driver to report its operating statistics.
*
* The statistics are each indexed by IOBlockStorageDriver::Statistics
* indices. This routine fills the caller's buffer, up to the maximum
* count specified if the real number of statistics would overflow the
* buffer. The return value indicates the actual number of statistics
* copied to the buffer.
*
* If the statistics buffer is not supplied or if the maximum count is
* zero, the routine returns the proposed count of statistics instead.
* @param statistics
* Buffer that will receive the UInt64 statistic values.
* @param statisticsMaxCount
* Maximum number of statistic values that can be held in the buffer.
* @result
* Actual number of statistic values copied to the buffer, or if no buffer
* is given, the total number of statistic values available.
*/
virtual UInt32 getStatistics(UInt64 * statistics,
UInt32 statisticsMaxCount) const;
/*!
* @function getStatistic
* @discussion
* Ask the driver to report one of its operating statistics.
* @param statistic
* Statistic index (an IOBlockStorageDriver::Statistics index).
* @result
* Statistic value.
*/
virtual UInt64 getStatistic(Statistics statistic) const;
/*
* Generic entry point for calls from the provider. A return value of
* kIOReturnSuccess indicates that the message was received, and where
* applicable, that it was successful.
*/
virtual IOReturn message(UInt32 type, IOService * provider, void * argument);
/*
* Obtain this object's provider. We override the superclass's method to
* return a more specific subclass of IOService -- IOBlockStorageDevice.
* This method serves simply as a convenience to subclass developers.
*/
virtual IOBlockStorageDevice * getProvider() const;
protected:
IOLock * _deblockRequestWriteLock;
thread_call_t _pollerCall;
/*
* This is the completion routine for the broken up breaker sub-requests.
* It verifies the success of the just-completed stage, transitions to
* the next stage, then builds and issues a transfer for the next stage.
*/
static void breakUpRequestCompletion(void * target,
void * parameter,
IOReturn status,
UInt64 actualByteCount);
/*
* This is the completion routine for the aligned deblocker sub-requests.
* It verifies the success of the just-completed stage, transitions to
* the next stage, then builds and issues a transfer for the next stage.
*/
static void deblockRequestCompletion(void * target,
void * parameter,
IOReturn status,
UInt64 actualByteCount);
/*
* This is the completion routine for the prepared request. It updates
* the driver's statistics, performs some clean up work, then calls the
* original request's completion routine.
*/
static void prepareRequestCompletion(void * target,
void * parameter,
IOReturn status,
UInt64 actualByteCount);
/*
* Schedule the poller mechanism.
*/
virtual void schedulePoller();
/*
* Unschedule the poller mechanism.
*/
virtual void unschedulePoller();
/*
* This method is the timeout handler for the poller mechanism. It polls
* for media and reschedules another timeout if there are still no opens.
*/
static void poller(void *, void *);
/*
* This method is the power event handler for restarts and shutdowns.
*/
static IOReturn handlePowerEvent(void * target,
void * parameter,
UInt32 messageType,
IOService * provider,
void * messageArgument,
vm_size_t messageArgumentSize);
protected:
/* Device info: */
/*!
* @var _removable
* True if the media is removable; False if it is fixed (not removable).
*/
bool_removable;
/*!
* @var _ejectable
* True if the media is ejectable under software control.
*/
bool_ejectable;/* software-ejectable */
/*!
* @var _lockable
* True if the media can be locked in the device under software control.
*/
bool_lockable;/* software lockable in device */
/*!
* @var _pollIsRequired
* True if we must poll to detect media insertion or removal.
*/
bool_pollIsRequired;
/*!
* @var _pollIsExpensive
* True if polling is expensive; False if not.
*/
bool_pollIsExpensive;
/* Media info and states: */
/*!
* @var _mediaObject
* A pointer to the media object we have instantiated (if any).
*/
IOMedia *_mediaObject;
/*!
* @var _mediaType
* Type of the media (can be used to differentiate between the
* different types of CD media, DVD media, etc).
*/
UInt32_mediaType;
/*!
* @var _mediaPresent
* True if media is present in the device; False if not.
*/
bool_mediaPresent;/* media is present and ready */
/*!
* @var _writeProtected
* True if the media is write-protected; False if not.
*/
bool_writeProtected;
private:
/*!
* @var _mediaStateLock
* A lock used to protect during media checks.
*/
IOLock *_mediaStateLock;
protected:
/*!
* @var _mediaBlockSize
* The block size of the media, in bytes.
*/
UInt64_mediaBlockSize;
/*!
* @var _maxBlockNumber
* The maximum allowable block number for the media, zero-based.
*/
UInt64_maxBlockNumber;
/*!
* @var _maxReadByteTransfer
* The maximum byte transfer allowed for read operations.
*/
UInt64_maxReadByteTransfer;
/*!
* @var _maxWriteByteTransfer
* The maximum byte transfer allowed for write operations.
*/
UInt64_maxWriteByteTransfer;
/*!
* @function acceptNewMedia
* @abstract
* React to new media insertion.
* @discussion
* This method logs the media block size and block count, then calls
* instantiateMediaObject to get a media object instantiated. The
* media object is then attached above us and registered.
*
* This method can be overridden to control what happens when new media
* is inserted. The default implementation deals with one IOMedia object.
*/
virtual IOReturnacceptNewMedia(void);
/*!
* @function constrainByteCount
* @abstract
* Constrain the byte count for this IO to device limits.
* @discussion
* This function should be called prior to each read or write operation, so that
* the driver can constrain the requested byte count, as necessary, to meet
* current device limits. Such limits could be imposed by the device depending
* on operating modes, media types, or transport protocol (e.g. ATA, SCSI).
*
* At present, this method is not used.
* @param requestedCount
* The requested byte count for the next read or write operation.
* @param isWrite
* True if the operation will be a write; False if the operation will be a read.
*/
virtual UInt64constrainByteCount(UInt64 requestedCount,bool isWrite);
/*!
* @function decommissionMedia
* @abstract
* Decommission an existing piece of media that has gone away.
* @discussion
* This method wraps a call to terminate, to tear down the stack and
* the IOMedia object for the media. If "forcible" is true, the media
* object will be forgotten, and initMediaState will be called. A
* forcible decommission would occur when an unrecoverable error
* happens during tear-down (e.g. perhaps a client is still open), but
* we must still forget about the media.
* @param forcible
* True to force forgetting of the media object even if terminate reports
* that there was an active client.
*/
virtual IOReturndecommissionMedia(bool forcible);
/*!
* @function instantiateDesiredMediaObject
* @abstract
* Create an IOMedia object for media.
* @discussion
* This method creates the exact type of IOMedia object desired. It is called by
* instantiateMediaObject. A subclass may override this one-line method to change
* the type of media object actually instantiated.
*/
virtual IOMedia *instantiateDesiredMediaObject(void);
/*!
* @function instantiateMediaObject
* @abstract
* Create an IOMedia object for media.
* @discussion
* This method creates an IOMedia object from the supplied parameters. It is a
* convenience method to wrap the handful of steps to do the job.
* @param base
* Byte number of beginning of active data area of the media. Usually zero.
* @param byteSize
* Size of the data area of the media, in bytes.
* @param blockSize
* Block size of the media, in bytes.
* @param mediaName
* Name of the IOMedia object.
* @result
* A pointer to the created IOMedia object, or a null on error.
*/
virtual IOMedia *instantiateMediaObject(UInt64 base,UInt64 byteSize,
UInt32 blockSize,char *mediaName);
/*!
* @function recordMediaParameters
* @abstract
* Obtain media-related parameters on media insertion.
* @discussion
* This method obtains media-related parameters via calls to the
* Transport Driver's reportBlockSize, reportMaxValidBlock,
* and reportWriteProtection methods.
*/
virtual IOReturnrecordMediaParameters(void);
/*!
* @function rejectMedia
* @abstract
* Reject new media.
* @discussion
* This method will be called if validateNewMedia returns False (thus rejecting
* the new media. A vendor may choose to override this method to control behavior
* when media is rejected.
*
* The default implementation simply calls ejectMedia.
*/
virtual voidrejectMedia(void);/* default ejects */
/*!
* @function validateNewMedia
* @abstract
* Verify that new media is acceptable.
* @discussion
* This method will be called whenever new media is detected. Return true to accept
* the media, or false to reject it (and call rejectMedia). Vendors might override
* this method to handle password-protection for new media.
*
* The default implementation always returns True, indicating media is accepted.
*/
virtual boolvalidateNewMedia(void);
/* --- Internally used methods. --- */
/*
* @group
* Internally Used Methods
* @discussion
* These methods are used internally, and will not generally be modified.
*/
/*!
* @function checkForMedia
* @abstract
* Check if media has newly arrived or disappeared.
* @discussion
* This method does most of the work in polling for media, first
* calling the block storage device's reportMediaState method. If
* reportMediaState reports no change in the media state, kIOReturnSuccess
* is returned. If the media state has indeed changed, a call is made to
* mediaStateHasChanged to act on the event.
*/
virtual IOReturncheckForMedia(void);
/*!
* @function getDeviceTypeName
* @abstract
* Return the desired device name.
* @discussion
* This method returns a string, used to compare the
* kIOBlockStorageDeviceTypeKey of our provider. This method is called from
* probe.
*
* The default implementation of this method returns
* kIOBlockStorageDeviceTypeGeneric.
*/
virtual const char * getDeviceTypeName(void);
/*!
* @function initMediaState
* @abstract
* Initialize media-related instance variables.
* @discussion
* Called when media is not present, this method marks the device state
* as not having media present, not spun up, and write-enabled.
*/
virtual voidinitMediaState(void);
/*!
* @function mediaStateHasChanged
* @abstract
* React to a new media insertion or a media removal.
* @discussion
* This method is called on a media state change, that is, an arrival
* or removal. If media has just become available, calls are made to
* recordMediaParameters and acceptNewMedia. If media has just gone
* away, a call is made to decommissionMedia, with the forcible
* parameter set to true. The forcible tear-down is needed to enforce
* the disappearance of media, regardless of interested clients.
*/
virtual IOReturnmediaStateHasChanged(IOMediaState state);
/*
* @endgroup
*/
protected:
/*!
* @function breakUpRequest
* @discussion
* The breakUpRequest method checks to see if the incoming request exceeds
* our transfer constraints, and if so, breaks up the request into smaller
* sub-requests.
*
* This method is part of a sequence of methods invoked for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
*
* This method's implementation is not typically overridden.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param context
* Additional context information for the data transfer (e.g. block size).
*/
#ifdef __LP64__
virtual void breakUpRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion,
Context * context);
#else /* !__LP64__ */
virtual void breakUpRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageCompletion completion,
Context * context); /* 10.1.2 */
#endif /* !__LP64__ */
/*!
* @function prepareRequest
* @discussion
* The prepareRequest method allocates and prepares state for the transfer.
*
* This method is part of a sequence of methods invoked for each read/write
* request. The first is prepareRequest, which allocates and prepares some
* context for the transfer; the second is deblockRequest, which aligns the
* transfer at the media's block boundaries; third is breakUpRequest, which
* breaks up the transfer into multiple sub-transfers when certain hardware
* constraints are exceeded; fourth is executeRequest, which implements the
* actual transfer from the block storage device.
*
* This method's implementation is not typically overridden.
* @param byteStart
* Starting byte offset for the data transfer.
* @param buffer
* Buffer for the data transfer. The size of the buffer implies the size of
* the data transfer.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
* @param completion
* Completion routine to call once the data transfer is complete. It is the
* responsibility of the callee to maintain the information for the duration
* of the data transfer, as necessary.
*/
virtual void prepareRequest(UInt64 byteStart,
IOMemoryDescriptor * buffer,
IOStorageAttributes * attributes,
IOStorageCompletion * completion); /* 10.5.0 */
public:
/*!
* @function requestIdle
* @abstract
* Request that the device enter an idle state.
* @discussion
* Request that the device enter an idle state. The device will exit this state on the
* next read or write request, or as it sees necessary. One example is for a DVD drive
* to spin down when it enters such an idle state, and spin up on the next read request
* from the system.
*/
virtual IOReturnrequestIdle(void); /* 10.6.0 */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 0);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 1);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 2);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOBlockStorageDriver, 0);
OSMetaClassDeclareReservedUsed(IOBlockStorageDriver, 1);
OSMetaClassDeclareReservedUsed(IOBlockStorageDriver, 2);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 3);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 4);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 5);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 6);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 7);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 8);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 9);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 10);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 11);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 12);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 13);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 14);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 15);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 16);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 17);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 18);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 19);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 20);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 21);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 22);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 23);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 24);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 25);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 26);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 27);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 28);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 29);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 30);
OSMetaClassDeclareReservedUnused(IOBlockStorageDriver, 31);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOBLOCKSTORAGEDRIVER_H */
branches/iFabio/Chameleon/i386/include/IOKit/storage/IOBlockStorageDevice.h
6161
6262
6363
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
8764
8865
8966
......
9774
9875
9976
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
12377
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
50278
50379
50480
#include <IOKit/IOService.h>
#include <IOKit/storage/IOMedia.h>
/*!
* @defined kIOMessageMediaParametersHaveChanged
* @abstract
* The message ID which indicates that the media parameters, such as the highest valid block
* for the device, have changed.
* @discussion
* The message is passed to all clients of the IOBlockStorageDevice via the message() method.
*/
#define kIOMessageMediaParametersHaveChanged iokit_family_msg(sub_iokit_block_storage, 2)
/*!
* @defined kIOMessageMediaStateHasChanged
* @abstract
* The message ID which indicates that the media state has changed.
* @discussion
* The message is passed to all clients of the IOBlockStorageDevice via the message() method.
* The argument that is passed along with this message is an IOMediaState value.
*
* Devices that aren't capable of detecting media state changes indicate this in
* the reportPollRequirements() method.
*/
#define kIOMessageMediaStateHasChanged iokit_family_msg(sub_iokit_block_storage, 1)
/* Property used for matching, so the generic driver gets the nub it wants. */
/*!
* @defined kIOBlockStorageDeviceTypeKey
*/
#definekIOBlockStorageDeviceTypeGeneric"Generic"
/*!
* @class
* IOBlockStorageDevice
* @abstract
* A generic block storage device abstraction.
* @discussion
* The IOBlockStorageDevice class exports the generic block storage protocol,
* independent of the physical connection protocol (e.g. SCSI, ATA, USB),
* forwarding all requests to its provider (the Transport Driver).
* Though the nub does no actual processing of requests, it is necessary
* in a C++ environment. The Transport Driver can be of any type, as
* long as it inherits from IOService. Because Transport Drivers needn't
* derive from a type known to IOBlockStorageDriver, it isn't possible for
* IOBlockStorageDriver to include the appropriate header file to allow direct
* communication with the Transport Driver. Thus we achieve polymorphism by
* having the Transport Driver instantiate a subclass of IOBlockStorageDevice.
* A typical implementation for a concrete subclass of IOBlockStorageDevice
* simply relays all methods to its provider (the Transport Driver), which
* implements the protocol- and device-specific behavior.
*
* All pure-virtual functions must be implemented by the Transport Driver, which
* is responsible for instantiating the Nub.
*/
class IOBlockStorageDevice : public IOService {
OSDeclareAbstractStructors(IOBlockStorageDevice)
protected:
struct ExpansionData { /* */ };
ExpansionData * _expansionData;
public:
/* Overrides from IORegistryEntry */
using IORegistryEntry::getProperty;
/*!
* @function init
* @discussion
* This function is overridden so that IOBlockStorageDevice can set a
* property, used by IOBlockStorageDriver for matching. Since the concrete
* subclass of IOBlockStorageDevice can be of any class type, the property
* is used for matching.
*
* This function is usually not overridden by developers.
*/
virtual boolinit(OSDictionary * properties);
virtual OSObject *getProperty(const OSSymbol * key) const;
virtual IOReturnsetProperties(OSObject * properties);
/* --- A subclass must implement the the following methods: --- */
#ifndef __LP64__
virtual IOReturndoAsyncReadWrite(IOMemoryDescriptor *buffer,
UInt32 block, UInt32 nblks,
IOStorageCompletion completion) __attribute__ ((deprecated));
virtual IOReturndoSyncReadWrite(IOMemoryDescriptor *buffer,
UInt32 block,UInt32 nblks) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*!
* @function doEjectMedia
* @abstract
* Eject the media.
*/
virtual IOReturndoEjectMedia(void)= 0;
/*!
* @function doFormatMedia
* @abstract
* Format the media to the specified byte capacity.
* @discussion
* The specified byte capacity must be one supported by the device.
* Supported capacities can be obtained by calling doGetFormatCapacities.
* @param byteCapacity
* The byte capacity to which the device is to be formatted, if possible.
*/
virtual IOReturndoFormatMedia(UInt64 byteCapacity)= 0;
/*!
* @function doGetFormatCapacities
* @abstract
* Return the allowable formatting byte capacities.
* @discussion
* This function returns the supported byte capacities for the device.
* @param capacities
* Pointer for returning the list of capacities.
* @param capacitiesMaxCount
* The number of capacity values returned in "capacities," or if no buffer
* is given, the total number of capacity values available.
*/
virtual UInt32doGetFormatCapacities(UInt64 * capacities,
UInt32 capacitiesMaxCount) const= 0;
/*!
* @function doLockUnlockMedia
* @abstract
* Lock or unlock the (removable) media in the drive.
* @discussion
* This method should only be called if the media is known to be removable.
* @param doLock
* True to lock the media, False to unlock.
*/
virtual IOReturndoLockUnlockMedia(bool doLock)= 0;
/*!
* @function doSynchronizeCache
* @abstract
* Force data blocks in the hardware's buffer to be flushed to the media.
* @discussion
* This method should only be called if the media is writable.
*/
virtual IOReturndoSynchronizeCache(void)= 0;
/*!
* @function getVendorString
* @abstract
* Return Vendor Name string for the device.
* @result
* A pointer to a static character string.
*/
virtual char *getVendorString(void)= 0;
/*!
* @function getProductString
* @abstract
* Return Product Name string for the device.
* @result
* A pointer to a static character string.
*/
virtual char *getProductString(void)= 0;
/*!
* @function getRevisionString
* @abstract
* Return Product Revision string for the device.
* @result
* A pointer to a static character string.
*/
virtual char *getRevisionString(void)= 0;
/*!
* @function getAdditionalDeviceInfoString
* @abstract
* Return additional informational string for the device.
* @result
* A pointer to a static character string.
*/
virtual char *getAdditionalDeviceInfoString(void)= 0;
/*!
* @function reportBlockSize
* @abstract
* Report the block size for the device, in bytes.
* @param blockSize
* Pointer to returned block size value.
*/
virtual IOReturnreportBlockSize(UInt64 *blockSize)= 0;
/*!
* @function reportEjectability
* @abstract
* Report if the media is ejectable under software control.
* @discussion
* This method should only be called if the media is known to be removable.
* @param isEjectable
* Pointer to returned result. True indicates the media is ejectable, False indicates
* the media cannot be ejected under software control.
*/
virtual IOReturnreportEjectability(bool *isEjectable)= 0;
/*!
* @function reportLockability
* @abstract
* Report if the media is lockable under software control.
* @discussion
* This method should only be called if the media is known to be removable.
* @param isLockable
* Pointer to returned result. True indicates the media can be locked in place; False
* indicates the media cannot be locked by software.
*/
virtual IOReturnreportLockability(bool *isLockable)= 0;
#ifndef __LP64__
virtual IOReturnreportMaxReadTransfer(UInt64 blockSize,UInt64 *max) __attribute__ ((deprecated));
virtual IOReturnreportMaxWriteTransfer(UInt64 blockSize,UInt64 *max) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*!
* @function reportMaxValidBlock
* @abstract
* Report the highest valid block for the device.
* @param maxBlock
* Pointer to returned result
*/
virtual IOReturnreportMaxValidBlock(UInt64 *maxBlock)= 0;
/*!
* @function reportMediaState
* @abstract
* Report the device's media state.
* @discussion
* This method reports whether we have media in the drive or not, and
* whether the state has changed from the previously reported state.
*
* A result of kIOReturnSuccess is always returned if the test for media is successful,
* regardless of media presence. The mediaPresent result should be used to determine
* whether media is present or not. A return other than kIOReturnSuccess indicates that
* the Transport Driver was unable to interrogate the device. In this error case, the
* outputs mediaState and changedState will *not* be stored.
* @param mediaPresent Pointer to returned media state. True indicates media is present
* in the device; False indicates no media is present.
* @param changedState Pointer to returned result. True indicates a change of state since
* prior calls, False indicates that the state has not changed.
*/
virtual IOReturnreportMediaState(bool *mediaPresent,bool *changedState)= 0;
/*!
* @function reportPollRequirements
* @abstract
* Report if it's necessary to poll for media insertion, and if polling is expensive.
* @discussion
* This method reports whether the device must be polled to detect media
* insertion, and whether a poll is expensive to perform.
*
* The term "expensive" typically implies a device that must be spun-up to detect media,
* as on a PC floppy. Most devices can detect media inexpensively.
* @param pollRequired
* Pointer to returned result. True indicates that polling is required; False indicates
* that polling is not required to detect media.
* @param pollIsExpensive
* Pointer to returned result. True indicates that the polling operation is expensive;
* False indicates that the polling operation is cheap.
*/
virtual IOReturnreportPollRequirements(bool *pollRequired,
bool *pollIsExpensive)= 0;
/*!
* @function reportRemovability
* @abstract
* Report whether the media is removable or not.
* @discussion
* This method reports whether the media is removable, but it does not
* provide detailed information regarding software eject or lock/unlock capability.
* @param isRemovable
* Pointer to returned result. True indicates that the media is removable; False
* indicates the media is not removable.
*/
virtual IOReturnreportRemovability(bool *isRemovable) = 0;
/*!
* @function reportWriteProtection
* @abstract
* Report whether the media is write-protected or not.
* @param isWriteProtected
* Pointer to returned result. True indicates that the media is write-protected (it
* cannot be written); False indicates that the media is not write-protected (it
* is permissible to write).
*/
virtual IOReturnreportWriteProtection(bool *isWriteProtected)= 0;
#ifndef __LP64__
virtual IOReturndoAsyncReadWrite(IOMemoryDescriptor *buffer,
UInt64 block, UInt64 nblks,
IOStorageCompletion completion) __attribute__ ((deprecated));
#endif /* !__LP64__ */
/*!
* @function getWriteCacheState
* @abstract
* Reports the current write cache state of the device.
* @discussion
* Reports the current write cache state of the device. The write cache
* state is not guaranteed to persist across reboots and detaches.
* @param enabled
* Pointer to returned result. True indicates the write cache is enabled;
* False indicates the write cache is disabled.
*/
#ifdef __LP64__
virtual IOReturngetWriteCacheState(bool *enabled)= 0;
#else /* !__LP64__ */
virtual IOReturngetWriteCacheState(bool *enabled); /* 10.3.0 */
#endif /* !__LP64__ */
/*!
* @function setWriteCacheState
* @abstract
* Sets the write cache state of the device.
* @discussion
* Sets the write cache state of the device. The write cache state
* is not guaranteed to persist across reboots and detaches.
* @param enabled
* True to enable the write cache; False to disable the write cache.
*/
#ifdef __LP64__
virtual IOReturnsetWriteCacheState(bool enabled)= 0;
#else /* !__LP64__ */
virtual IOReturnsetWriteCacheState(bool enabled); /* 10.3.0 */
#endif /* !__LP64__ */
/*!
* @function doAsyncReadWrite
* @abstract
* Start an asynchronous read or write operation.
* @param buffer
* An IOMemoryDescriptor describing the data-transfer buffer. The data direction
* is contained in the IOMemoryDescriptor. Responsibility for releasing the descriptor
* rests with the caller.
* @param block
* The starting block number of the data transfer.
* @param nblks
* The integral number of blocks to be transferred.
* @param attributes
* Attributes of the data transfer. See IOStorageAttributes.
* @param completion
* The completion routine to call once the data transfer is complete.
*/
#ifdef __LP64__
virtual IOReturndoAsyncReadWrite(IOMemoryDescriptor *buffer,
UInt64 block, UInt64 nblks,
IOStorageAttributes *attributes,
IOStorageCompletion *completion)= 0;
#else /* !__LP64__ */
virtual IOReturndoAsyncReadWrite(IOMemoryDescriptor *buffer,
UInt64 block, UInt64 nblks,
IOStorageAttributes *attributes,
IOStorageCompletion *completion); /* 10.5.0 */
#endif /* !__LP64__ */
/*!
* @function requestIdle
* @abstract
* Request that the device enter an idle state.
* @discussion
* Request that the device enter an idle state. The device will exit this state on the
* next read or write request, or as it sees necessary. One example is for a DVD drive
* to spin down when it enters such an idle state, and spin up on the next read request
* from the system.
*/
virtual IOReturnrequestIdle(void); /* 10.6.0 */
/*!
* @function doDiscard
* @abstract
* Delete unused data blocks from the media.
* @param block
* The starting block number of the operation.
* @param nblks
* The integral number of blocks to be deleted.
*/
virtual IOReturn doDiscard(UInt64 block, UInt64 nblks); /* 10.6.0 */
#ifdef __LP64__
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 0);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 1);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 2);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 3);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 4);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 5);
#else /* !__LP64__ */
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 0);
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 1);
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 2);
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 3);
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 4);
OSMetaClassDeclareReservedUsed(IOBlockStorageDevice, 5);
#endif /* !__LP64__ */
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 6);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 7);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 8);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 9);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 10);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 11);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 12);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 13);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 14);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 15);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 16);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 17);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 18);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 19);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 20);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 21);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 22);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 23);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 24);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 25);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 26);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 27);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 28);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 29);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 30);
OSMetaClassDeclareReservedUnused(IOBlockStorageDevice, 31);
};
#endif /* __cplusplus */
#endif /* KERNEL */
#endif /* !_IOBLOCKSTORAGEDEVICE_H */
branches/iFabio/Chameleon/i386/include/architecture/byte_order.h
3030
3131
3232
33
34
35
36
37
3833
3934
40
41
4235
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
38136
#ifndef_ARCHITECTURE_BYTE_ORDER_H_
#define _ARCHITECTURE_BYTE_ORDER_H_
/*
* Please note that the byte ordering functions in this file are deprecated.
* A replacement API exists in libkern/OSByteOrder.h
*/
#include <libkern/OSByteOrder.h>
typedef unsigned long NXSwappedFloat;
typedef unsigned long long NXSwappedDouble;
static __inline__ __attribute__((deprecated))
unsigned short
NXSwapShort(
unsigned short inv
)
{
return (unsigned short)OSSwapInt16((uint16_t)inv);
}
static __inline__ __attribute__((deprecated))
unsigned int
NXSwapInt(
unsigned int inv
)
{
return (unsigned int)OSSwapInt32((uint32_t)inv);
}
static __inline__ __attribute__((deprecated))
unsigned long
NXSwapLong(
unsigned long inv
)
{
return (unsigned long)OSSwapInt32((uint32_t)inv);
}
static __inline__ __attribute__((deprecated))
unsigned long long
NXSwapLongLong(
unsigned long long inv
)
{
return (unsigned long long)OSSwapInt64((uint64_t)inv);
}
static __inline__ __attribute__((deprecated))
NXSwappedFloat
NXConvertHostFloatToSwapped(float x)
{
union fconv {
float number;
NXSwappedFloat sf;
} u;
u.number = x;
return u.sf;
}
static __inline__ __attribute__((deprecated))
float
NXConvertSwappedFloatToHost(NXSwappedFloat x)
{
union fconv {
float number;
NXSwappedFloat sf;
} u;
u.sf = x;
return u.number;
}
static __inline__ __attribute__((deprecated))
NXSwappedDouble
NXConvertHostDoubleToSwapped(double x)
{
union dconv {
double number;
NXSwappedDouble sd;
} u;
u.number = x;
return u.sd;
}
static __inline__ __attribute__((deprecated))
double
NXConvertSwappedDoubleToHost(NXSwappedDouble x)
{
union dconv {
double number;
NXSwappedDouble sd;
} u;
u.sd = x;
return u.number;
}
static __inline__ __attribute__((deprecated))
NXSwappedFloat
NXSwapFloat(NXSwappedFloat x)
{
return (NXSwappedFloat)OSSwapInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
NXSwappedDouble
NXSwapDouble(NXSwappedDouble x)
{
return (NXSwappedDouble)OSSwapInt64((uint64_t)x);
}
/*
* Identify the byte order
* of the current host.
*/
enum NXByteOrder {
NX_UnknownByteOrder,
NX_LittleEndian,
NX_BigEndian
};
static __inline__
enum NXByteOrder
NXHostByteOrder(void)
{
#if defined(__LITTLE_ENDIAN__)
return NX_LittleEndian;
#elif defined(__BIG_ENDIAN__)
return NX_BigEndian;
#else
return NX_UnknownByteOrder;
#endif
}
static __inline__ __attribute__((deprecated))
unsigned short
NXSwapBigShortToHost(
unsigned shortx
)
{
return (unsigned short)OSSwapBigToHostInt16((uint16_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned int
NXSwapBigIntToHost(
unsigned intx
)
{
return (unsigned int)OSSwapBigToHostInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long
NXSwapBigLongToHost(
unsigned longx
)
{
return (unsigned long)OSSwapBigToHostInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long long
NXSwapBigLongLongToHost(
unsigned long longx
)
{
return (unsigned long long)OSSwapBigToHostInt64((uint64_t)x);
}
static __inline__ __attribute__((deprecated))
double
NXSwapBigDoubleToHost(
NXSwappedDoublex
)
{
return NXConvertSwappedDoubleToHost((NXSwappedDouble)OSSwapBigToHostInt64((uint64_t)x));
}
static __inline__ __attribute__((deprecated))
float
NXSwapBigFloatToHost(
NXSwappedFloatx
)
{
return NXConvertSwappedFloatToHost((NXSwappedFloat)OSSwapBigToHostInt32((uint32_t)x));
}
static __inline__ __attribute__((deprecated))
unsigned short
NXSwapHostShortToBig(
unsigned shortx
)
{
return (unsigned short)OSSwapHostToBigInt16((uint16_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned int
NXSwapHostIntToBig(
unsigned intx
)
{
return (unsigned int)OSSwapHostToBigInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long
NXSwapHostLongToBig(
unsigned longx
)
{
return (unsigned long)OSSwapHostToBigInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long long
NXSwapHostLongLongToBig(
unsigned long longx
)
{
return (unsigned long long)OSSwapHostToBigInt64((uint64_t)x);
}
static __inline__ __attribute__((deprecated))
NXSwappedDouble
NXSwapHostDoubleToBig(
doublex
)
{
return (NXSwappedDouble)OSSwapHostToBigInt64((uint64_t)NXConvertHostDoubleToSwapped(x));
}
static __inline__ __attribute__((deprecated))
NXSwappedFloat
NXSwapHostFloatToBig(
floatx
)
{
return (NXSwappedFloat)OSSwapHostToBigInt32((uint32_t)NXConvertHostFloatToSwapped(x));
}
static __inline__ __attribute__((deprecated))
unsigned short
NXSwapLittleShortToHost(
unsigned shortx
)
{
return (unsigned short)OSSwapLittleToHostInt16((uint16_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned int
NXSwapLittleIntToHost(
unsigned intx
)
{
return (unsigned int)OSSwapLittleToHostInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long
NXSwapLittleLongToHost(
unsigned longx
)
{
return (unsigned long)OSSwapLittleToHostInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long long
NXSwapLittleLongLongToHost(
unsigned long longx
)
{
return (unsigned long long)OSSwapLittleToHostInt64((uint64_t)x);
}
static __inline__ __attribute__((deprecated))
double
NXSwapLittleDoubleToHost(
NXSwappedDoublex
)
{
return NXConvertSwappedDoubleToHost((NXSwappedDouble)OSSwapLittleToHostInt64((uint64_t)x));
}
static __inline__ __attribute__((deprecated))
float
NXSwapLittleFloatToHost(
NXSwappedFloatx
)
{
return NXConvertSwappedFloatToHost((NXSwappedFloat)OSSwapLittleToHostInt32((uint32_t)x));
}
static __inline__ __attribute__((deprecated))
unsigned short
NXSwapHostShortToLittle(
unsigned shortx
)
{
return (unsigned short)OSSwapHostToLittleInt16((uint16_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned int
NXSwapHostIntToLittle(
unsigned intx
)
{
return (unsigned int)OSSwapHostToLittleInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long
NXSwapHostLongToLittle(
unsigned longx
)
{
return (unsigned long)OSSwapHostToLittleInt32((uint32_t)x);
}
static __inline__ __attribute__((deprecated))
unsigned long long
NXSwapHostLongLongToLittle(
unsigned long longx
)
{
return (unsigned long long)OSSwapHostToLittleInt64((uint64_t)x);
}
static __inline__ __attribute__((deprecated))
NXSwappedDouble
NXSwapHostDoubleToLittle(
doublex
)
{
return (NXSwappedDouble)OSSwapHostToLittleInt64((uint64_t)NXConvertHostDoubleToSwapped(x));
}
static __inline__ __attribute__((deprecated))
NXSwappedFloat
NXSwapHostFloatToLittle(
floatx
)
{
return (NXSwappedFloat)OSSwapHostToLittleInt32((uint32_t)NXConvertHostFloatToSwapped(x));
}
#endif/* _ARCHITECTURE_BYTE_ORDER_H_ */
branches/iFabio/Chameleon/i386/boot2/Makefile
152152
153153
154154
155
156
157
158
159
160
161155
162156
163157
@$(SYMROOT)/machOconv $(SYMROOT)/boot.sys $(SYMROOT)/boot
$(SYMROOT)/vers.h:
@echo "#define I386BOOT_VERSION \"5.0.132\"" > $(SYMROOT)/vers.h
@echo "#define I386BOOT_BUILDDATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $(SYMROOT)/vers.h
@echo "#define I386BOOT_CHAMELEONVERSION \"`cat ../../version`\"" >> $(SYMROOT)/vers.h
@echo "#define I386BOOT_CHAMELEONREVISION \"`svnversion -n | tr -d [:alpha:]`\"" >> $(SYMROOT)/vers.h
$(SYMROOT)/art.h:
@if [ "$(PNGCRUSH)" ]; then\
echo "optimizing art files ...\n$(PNGCRUSH) $(PNGOPTIONS) artwork/$(THEME)"; \
branches/iFabio/Chameleon/i386/boot2/boot.c
191191
192192
193193
194
194
195
196
197
198
199
200
201
202
195203
196204
197205
usb_loop();
execute_hook("Kernel Start", (void*)kernelEntry, (void*)bootArgs, NULL, NULL);// Notify modules that the kernel is about to be started
if (checkOSVersion("10.7"))
{
execute_hook("Kernel Start", (void*)kernelEntry, (void*)bootArgs, NULL, NULL);// Notify modules that the kernel is about to be started
}
else
{
execute_hook("Kernel Start", (void*)kernelEntry, (void*)bootArgsPreLion, NULL, NULL);// Notify modules that the kernel is about to be started
}
// If we were in text mode, switch to graphics mode.
// This will draw the boot graphics unless we are in
// verbose mode.
branches/iFabio/Chameleon/i386/modules/MakeInc.dir
161161
162162
163163
164
164
165165
166166
167
167
168168
169169
170170
.PHONY: $(SRCROOT)/sym/i386/boot_modules.c
$(SRCROOT)/sym/i386/boot_modules.c:
echo "\tstart_built_in_module(\"$(MODULE_NAME)\", &$(MODULE_START));" >> $@
@echo "\tstart_built_in_module(\"$(MODULE_NAME)\", &$(MODULE_START));" >> $@
$(SRCROOT)/sym/i386/boot_modules.h:
echo "void $(MODULE_START)(); // $(MODULE_NAME)" >> $@
@echo "void $(MODULE_START)(); // $(MODULE_NAME)" >> $@
#dependencies
branches/iFabio/Chameleon/i386/modules/Makefile
6060
6161
6262
63
63
6464
6565
6666
......
6868
6969
7070
71
71
7272
7373
$(SYMROOT)/boot_modules.c: ${OBJROOT} ${SYMROOT}/modules/ ${OBJROOT} $(addprefix $(OBJROOT)/, ${MODULE_OBJS})
ifeq ($(BUILT_IN),yes)
echo "// Autogenerated - do not modify" > $@
@echo "// Autogenerated - do not modify" > $@
@echo "#include <modules.h>" >> $@
@echo "#include \"boot_modules.h\"" >> $@
@echo "void start_built_in_modules() {" >> $@
$(SYMROOT)/boot_modules.h: ${OBJROOT} ${SYMROOT}/modules/ ${OBJROOT} $(addprefix $(OBJROOT)/, ${MODULE_OBJS})
ifeq ($(BUILT_IN),yes)
echo "// Autogenerated - do not modify" > $@
@echo "// Autogenerated - do not modify" > $@
@echo "void start_built_in_modules(); " > $@
endif
branches/iFabio/Chameleon/i386/util/fdisk/disk.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _DISK_H
#define _DISK_H
/* Data types */
typedef struct _DISK_metrics {
int cylinders;
int heads;
int sectors;
int size;/* Number of sectors in disk */
int sector_size;/* Bytes per sector */
} DISK_metrics;
typedef struct _disk_t {
char *name;
DISK_metrics *bios;/* Metrics as reported by BIOS (always NULL) */
DISK_metrics *label;/* As reported by device ioctls */
DISK_metrics *real;/* Metrics we're using (BIOS, ioctls, user-supplied) */
} disk_t;
/* Prototypes */
int DISK_open __P((char *, int));
int DISK_openshared __P((char *, int, int *));
int DISK_close __P((int));
int DISK_getmetrics __P((disk_t *, DISK_metrics *));
int DISK_get_sector_size __P((disk_t *, DISK_metrics *));
int DISK_printmetrics __P((disk_t *));
void DISK_fake_CHS __P((DISK_metrics *));
#endif /* _DISK_H */
branches/iFabio/Chameleon/i386/util/fdisk/opendev.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 2000, Todd C. Miller. All rights reserved.
* Copyright (c) 1996, Jason Downs. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <errno.h>
#include <fcntl.h>
#include <limits.h>
#include <paths.h>
#include <stdio.h>
#include <string.h>
#include "util.h"
/*
* This routine is a generic rewrite of the original code found in
* disklabel(8).
*/
int
opendev(path, oflags, dflags, realpath)
char *path;
int oflags;
int dflags;
char **realpath;
{
int fd;
char *slash, *prefix;
static char namebuf[PATH_MAX];
/* Initial state */
if (realpath)
*realpath = path;
fd = -1;
errno = ENOENT;
if (dflags & OPENDEV_BLCK)
prefix = "";/* block device */
else
prefix = "r";/* character device */
if ((slash = strchr(path, '/')))
fd = open(path, oflags);
else if (dflags & OPENDEV_PART) {
/*
* First try raw partition (for removable drives)
*/
if (snprintf(namebuf, sizeof(namebuf), "%s%s%s%c",
_PATH_DEV, prefix, path, 'a' + getrawpartition())
< sizeof(namebuf)) {
fd = open(namebuf, oflags);
if (realpath)
*realpath = namebuf;
} else
errno = ENAMETOOLONG;
}
if (!slash && fd == -1 && errno == ENOENT) {
if (snprintf(namebuf, sizeof(namebuf), "%s%s%s",
_PATH_DEV, prefix, path) < sizeof(namebuf)) {
fd = open(namebuf, oflags);
if (realpath)
*realpath = namebuf;
} else
errno = ENAMETOOLONG;
}
return (fd);
}
branches/iFabio/Chameleon/i386/util/fdisk/fdisk.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <paths.h>
#include <sys/types.h>
#include <sys/fcntl.h>
#include "disk.h"
#include "user.h"
#include "auto.h"
#define _PATH_MBR "/usr/standalone/i386/boot0"
void
usage()
{
extern char * __progname;
fprintf(stderr, "usage: %s "
"[-ieu] [-f mbrboot] [-c cyl -h head -s sect] [-S size] [-r] [-a style] disk\n"
"\t-i: initialize disk with new MBR\n"
"\t-u: update MBR code, preserve partition table\n"
"\t-e: edit MBRs on disk interactively\n"
"\t-f: specify non-standard MBR template\n"
"\t-chs: specify disk geometry\n"
"\t-S: specify disk size\n"
"\t-r: read partition specs from stdin (implies -i)\n"
"\t-a: auto-partition with the given style\n"
"\t-d: dump partition table\n"
"\t-y: don't ask any questions\n"
"\t-t: test if disk is partitioned\n"
"`disk' is of the form /dev/rdisk0.\n",
__progname);
fprintf(stderr, "auto-partition styles:\n");
AUTO_print_styles(stderr);
exit(1);
}
char *mbr_binary = NULL;
int
main(argc, argv)
int argc;
char **argv;
{
int ch, fd;
int i_flag = 0, m_flag = 0, u_flag = 0, r_flag = 0, d_flag = 0, y_flag = 0, t_flag = 0;
int c_arg = 0, h_arg = 0, s_arg = 0;
int size_arg = 0;
int block_size_arg = 0;
disk_t disk;
DISK_metrics *usermetrics;
char *mbrfile = _PATH_MBR;
mbr_t *mp;
char *auto_style = NULL;
while ((ch = getopt(argc, argv, "ieuf:c:h:s:b:S:ra:dyt")) != -1) {
switch(ch) {
case 'i':
i_flag = 1;
break;
case 'u':
u_flag = 1;
break;
case 'e':
m_flag = 1;
break;
case 'f':
mbrfile = optarg;
break;
case 'c':
c_arg = atoi(optarg);
if (c_arg < 1 || c_arg > 262144)
errx(1, "Cylinder argument out of range.");
break;
case 'h':
h_arg = atoi(optarg);
if (h_arg < 1 || h_arg > 256)
errx(1, "Head argument out of range.");
break;
case 's':
s_arg = atoi(optarg);
if (s_arg < 1 || s_arg > 63)
errx(1, "Sector argument out of range.");
break;
case 'b':
block_size_arg = atoi(optarg);
if (block_size_arg & (block_size_arg - 1))
errx(1, "Block size argument not a power of two.");
if (block_size_arg < 512 || block_size_arg > 4096)
errx(1, "Block size argument out of range 512..4096.");
break;
case 'S':
size_arg = atoi(optarg);
break;
case 'r':
r_flag = 1;
break;
case 'a':
auto_style = optarg;
break;
case 'd':
d_flag = 1;
break;
case 'y':
y_flag = 1;
break;
case 't':
t_flag = 1;
break;
default:
usage();
}
}
argc -= optind;
argv += optind;
/* Argument checking */
if (argc != 1)
usage();
else
disk.name = argv[0];
if (i_flag && u_flag) errx(1, "-i and -u cannot be specified simultaneously");
/* Put in supplied geometry if there */
if (c_arg | h_arg | s_arg | size_arg | block_size_arg) {
usermetrics = malloc(sizeof(DISK_metrics));
if (usermetrics != NULL) {
if (c_arg && h_arg && s_arg) {
usermetrics->cylinders = c_arg;
usermetrics->heads = h_arg;
usermetrics->sectors = s_arg;
if (size_arg) {
usermetrics->size = size_arg;
} else {
usermetrics->size = c_arg * h_arg * s_arg;
}
} else {
if (size_arg) {
usermetrics->size = size_arg;
DISK_fake_CHS(usermetrics);
} else {
errx(1, "Please specify a full geometry with [-chs].");
}
}
if (block_size_arg) {
usermetrics->sector_size = block_size_arg;
} else {
DISK_get_sector_size(&disk, usermetrics);
}
}
} else {
usermetrics = NULL;
}
/* Get the geometry */
disk.real = NULL;
if (DISK_getmetrics(&disk, usermetrics))
errx(1, "Can't get disk geometry, please use [-chs] to specify.");
/* If only testing, read MBR and silently exit */
if (t_flag) {
mbr_t *mbr;
mp = mbr = MBR_read_all(&disk);
while (mp) {
if (mp->signature != MBR_SIGNATURE) {
MBR_free(mbr);
exit(1);
}
mp = mp->next;
}
MBR_free(mbr);
exit(0);
}
/* If not editing the disk, print out current MBRs on disk */
if ((i_flag + r_flag + u_flag + m_flag) == 0) {
exit(USER_print_disk(&disk, d_flag));
}
/* Parse mbr template or read partition specs, to pass on later */
if (auto_style && r_flag) {
errx(1, "Can't specify both -r and -a");
}
mbr_binary = (char *)malloc(MBR_CODE_SIZE);
if ((fd = open(mbrfile, O_RDONLY)) == -1) {
warn("could not open MBR file %s", mbrfile);
bzero(mbr_binary, MBR_CODE_SIZE);
} else {
int cc;
cc = read(fd, mbr_binary, MBR_CODE_SIZE);
if (cc < MBR_CODE_SIZE) {
err(1, "could not read MBR code");
}
close(fd);
}
if (u_flag) {
/* Don't hose the partition table; just write the boot code */
mp = MBR_read_all(&disk);
bcopy(mbr_binary, mp->code, MBR_CODE_SIZE);
MBR_make(mp);
} else if (i_flag) {
/* If they didn't specify -a, they'll get the default auto style */
mp = MBR_alloc(NULL);
if (AUTO_init(&disk, auto_style, mp) != AUTO_OK) {
errx(1, "error initializing disk");
}
bcopy(mbr_binary, mp->code, MBR_CODE_SIZE);
MBR_make(mp);
} else if (r_flag) {
mp = MBR_parse_spec(stdin, &disk);
bcopy(mbr_binary, mp->code, MBR_CODE_SIZE);
MBR_make(mp);
} else {
/* Use what's on the disk. */
mp = MBR_read_all(&disk);
}
/* Now do what we are supposed to */
if (i_flag || r_flag || u_flag) {
USER_write(&disk, mp, u_flag, y_flag);
}
if (m_flag) {
USER_modify(&disk, mp, 0, 0);
}
if (mbr_binary)
free(mbr_binary);
return (0);
}
branches/iFabio/Chameleon/i386/util/fdisk/misc.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _MISC_H
#define _MISC_H
#include <sys/types.h>
#include "cmd.h"
/* Constants */
#define ASK_HEX 0x01
#define ASK_DEC 0x02
/* Prototypes */
int ask_cmd __P((cmd_t *));
int ask_num __P((const char *, int, int, int, int, void (*help) __P((void))));
int ask_yn __P((const char *, int));
u_int16_t getshort __P((void *));
u_int32_t getlong __P((void *));
void putshort __P((void *, u_int16_t));
void putlong __P((void *, u_int32_t));
#endif /* _MISC_H */
branches/iFabio/Chameleon/i386/util/fdisk/cmd.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
/*
* Copyright (c) 2002-2005 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <stdio.h>
#include <ctype.h>
#include <memory.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/fcntl.h>
#include "disk.h"
#include "misc.h"
#include "user.h"
#include "part.h"
#include "cmd.h"
#include "auto.h"
#define MAX(a, b) ((a) >= (b) ? (a) : (b))
int
Xerase(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
bzero(mbr->part, sizeof(mbr->part));
mbr->signature = MBR_SIGNATURE;
return (CMD_DIRTY);
}
int
Xreinit(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
/* Copy template MBR */
MBR_make(tt);
MBR_parse(disk, offset, 0, mbr);
MBR_init(disk, mbr);
/* Tell em we did something */
printf("In memory copy is initialized to:\n");
printf("Offset: %d\t", offset);
MBR_print(mbr);
printf("Use 'write' to update disk.\n");
return (CMD_DIRTY);
}
int
Xauto(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
if (cmd->args[0] == '\0') {
printf("usage: auto <style>\n");
printf(" where style is one of:\n");
AUTO_print_styles(stdout);
return (CMD_CONT);
}
if (AUTO_init(disk, cmd->args, mbr) != AUTO_OK) {
return (CMD_CONT);
}
MBR_make(mbr);
return (CMD_DIRTY);
}
int
Xdisk(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
int maxcyl = 1024;
int maxhead = 256;
int maxsec = 63;
/* Print out disk info */
DISK_printmetrics(disk);
#if defined (__powerpc__) || defined (__mips__)
maxcyl = 9999999;
maxhead = 9999999;
maxsec = 9999999;
#endif
/* Ask for new info */
if (ask_yn("Change disk geometry?", 0)) {
disk->real->cylinders = ask_num("BIOS Cylinders", ASK_DEC,
disk->real->cylinders, 1, maxcyl, NULL);
disk->real->heads = ask_num("BIOS Heads", ASK_DEC,
disk->real->heads, 1, maxhead, NULL);
disk->real->sectors = ask_num("BIOS Sectors", ASK_DEC,
disk->real->sectors, 1, maxsec, NULL);
disk->real->size = disk->real->cylinders * disk->real->heads
* disk->real->sectors;
}
return (CMD_CONT);
}
int
Xedit(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
int pn, num, ret;
prt_t *pp;
ret = CMD_CONT;
if (!isdigit(cmd->args[0])) {
printf("Invalid argument: %s <partition number>\n", cmd->cmd);
return (ret);
}
pn = atoi(cmd->args) - 1;
if (pn < 0 || pn > 3) {
printf("Invalid partition number.\n");
return (ret);
}
/* Print out current table entry */
pp = &mbr->part[pn];
PRT_print(0, NULL);
PRT_print(pn, pp);
#defineEDIT(p, f, v, n, m, h)\
if ((num = ask_num(p, f, v, n, m, h)) != v)\
ret = CMD_DIRTY;\
v = num;
/* Ask for partition type */
EDIT("Partition id ('0' to disable) ", ASK_HEX, pp->id, 0, 0xFF, PRT_printall);
/* Unused, so just zero out */
if (pp->id == DOSPTYP_UNUSED) {
memset(pp, 0, sizeof(*pp));
printf("Partition %d is disabled.\n", pn + 1);
return (ret);
}
/* Change table entry */
if (ask_yn("Do you wish to edit in CHS mode?", 0)) {
int maxcyl, maxhead, maxsect;
/* Shorter */
maxcyl = disk->real->cylinders - 1;
maxhead = disk->real->heads - 1;
maxsect = disk->real->sectors;
/* Get data */
EDIT("BIOS Starting cylinder", ASK_DEC, pp->scyl, 0, maxcyl, NULL);
EDIT("BIOS Starting head", ASK_DEC, pp->shead, 0, maxhead, NULL);
EDIT("BIOS Starting sector", ASK_DEC, pp->ssect, 1, maxsect, NULL);
EDIT("BIOS Ending cylinder", ASK_DEC, pp->ecyl, 0, maxcyl, NULL);
EDIT("BIOS Ending head", ASK_DEC, pp->ehead, 0, maxhead, NULL);
EDIT("BIOS Ending sector", ASK_DEC, pp->esect, 1, maxsect, NULL);
/* Fix up off/size values */
PRT_fix_BN(disk, pp, pn);
/* Fix up CHS values for LBA */
PRT_fix_CHS(disk, pp, pn);
} else {
u_int m;
if (pn == 0) {
pp->bs = 63 + offset;
} else {
if (mbr->part[pn-1].id != 0) {
pp->bs = mbr->part[pn-1].bs + mbr->part[pn-1].ns;
}
}
/* Get data */
EDIT("Partition offset", ASK_DEC, pp->bs, 0,
disk->real->size, NULL);
m = MAX(pp->ns, disk->real->size - pp->bs);
if ( m > disk->real->size - pp->bs) {
/* dont have default value extend beyond end of disk */
m = disk->real->size - pp->bs;
}
pp->ns = m;
EDIT("Partition size", ASK_DEC, pp->ns, 1,
m, NULL);
/* Fix up CHS values */
PRT_fix_CHS(disk, pp, pn);
}
#undef EDIT
return (ret);
}
int
Xsetpid(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
int pn, num, ret;
prt_t *pp;
ret = CMD_CONT;
if (!isdigit(cmd->args[0])) {
printf("Invalid argument: %s <partition number>\n", cmd->cmd);
return (ret);
}
pn = atoi(cmd->args) - 1;
if (pn < 0 || pn > 3) {
printf("Invalid partition number.\n");
return (ret);
}
/* Print out current table entry */
pp = &mbr->part[pn];
PRT_print(0, NULL);
PRT_print(pn, pp);
#defineEDIT(p, f, v, n, m, h)\
if ((num = ask_num(p, f, v, n, m, h)) != v)\
ret = CMD_DIRTY;\
v = num;
/* Ask for partition type */
EDIT("Partition id ('0' to disable) ", ASK_HEX, pp->id, 0, 0xFF, PRT_printall);
#undef EDIT
return (ret);
}
int
Xselect(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
static int firstoff = 0;
int off;
int pn;
if (!isdigit(cmd->args[0])) {
printf("Invalid argument: %s <partition number>\n", cmd->cmd);
return (CMD_CONT);
}
pn = atoi(cmd->args) - 1;
if (pn < 0 || pn > 3) {
printf("Invalid partition number.\n");
return (CMD_CONT);
}
off = mbr->part[pn].bs;
/* Sanity checks */
if ((mbr->part[pn].id != DOSPTYP_EXTEND) &&
(mbr->part[pn].id != DOSPTYP_EXTENDL)) {
printf("Partition %d is not an extended partition.\n", pn + 1);
return (CMD_CONT);
}
if (firstoff == 0)
firstoff = off;
if (!off) {
printf("Loop to offset 0! Not selected.\n");
return (CMD_CONT);
} else {
printf("Selected extended partition %d\n", pn + 1);
printf("New MBR at offset %d.\n", off);
}
/* Recursion is beautifull! */
USER_modify(disk, tt, off, firstoff);
return (CMD_CONT);
}
int
Xprint(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
DISK_printmetrics(disk);
printf("Offset: %d\t", offset);
MBR_print(mbr);
return (CMD_CONT);
}
int
Xwrite(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
int fd;
int shared = 0;
fd = DISK_openshared(disk->name, O_RDWR, &shared);
if(shared) {
if(!ask_yn("Device could not be accessed exclusively.\nA reboot will be needed for changes to take effect. OK?", 0)) {
close(fd);
printf("MBR unchanged\n");
return (CMD_CONT);
}
}
printf("Writing MBR at offset %d.\n", offset);
MBR_make(mbr);
MBR_write(disk, fd, mbr);
close(fd);
return (CMD_CLEAN);
}
int
Xquit(cmd, disk, r, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *r;
mbr_t *tt;
int offset;
{
/* Nothing to do here */
return (CMD_SAVE);
}
int
Xabort(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
exit(0);
/* NOTREACHED */
return (CMD_CONT);
}
int
Xexit(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
/* Nothing to do here */
return (CMD_EXIT);
}
int
Xhelp(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
cmd_table_t *cmd_table = cmd->table;
int i;
/* Hmm, print out cmd_table here... */
for (i = 0; cmd_table[i].cmd != NULL; i++)
printf("\t%s\t\t%s\n", cmd_table[i].cmd, cmd_table[i].help);
return (CMD_CONT);
}
int
Xupdate(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
extern char *mbr_binary;
/* Update code */
memcpy(mbr->code, mbr_binary, MBR_CODE_SIZE);
printf("Machine code updated.\n");
return (CMD_DIRTY);
}
int
Xflag(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
int i, pn = -1;
/* Parse partition table entry number */
if (!isdigit(cmd->args[0])) {
printf("Invalid argument: %s <partition number>\n", cmd->cmd);
return (CMD_CONT);
}
pn = atoi(cmd->args) - 1;
if (pn < 0 || pn > 3) {
printf("Invalid partition number.\n");
return (CMD_CONT);
}
/* Set active flag */
for (i = 0; i < 4; i++) {
if (i == pn)
mbr->part[i].flag = DOSACTIVE;
else
mbr->part[i].flag = 0x00;
}
printf("Partition %d marked active.\n", pn + 1);
return (CMD_DIRTY);
}
int
Xmanual(cmd, disk, mbr, tt, offset)
cmd_t *cmd;
disk_t *disk;
mbr_t *mbr;
mbr_t *tt;
int offset;
{
system("man 8 fdisk");
return (CMD_CONT);
}
branches/iFabio/Chameleon/i386/util/fdisk/part.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* 2008-05-24:
* Tamas Kosarszky: changed caption for partition type 0x07
* and added caption for type 0xEE.
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <util.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <machine/param.h>
#include "disk.h"
#include "misc.h"
#include "mbr.h"
static const struct part_type {
inttype;
charsname[14];
char*lname;
} part_types[] = {
{ 0x00, "unused ", "unused"},
{ 0x01, "DOS FAT-12 ", "Primary DOS with 12 bit FAT"},
{ 0x02, "XENIX / ", "XENIX / filesystem"},
{ 0x03, "XENIX /usr ", "XENIX /usr filesystem"},
{ 0x04, "DOS FAT-16 ", "Primary DOS with 16 bit FAT"},
{ 0x05, "Extended DOS", "Extended DOS"},
{ 0x06, "DOS > 32MB ", "Primary 'big' DOS (> 32MB)"},
{ 0x07, "NTFS ", "Windows NT NTFS"},
{ 0x08, "AIX fs ", "AIX filesystem"},
{ 0x09, "AIX/Coherent", "AIX boot partition or Coherent"},
{ 0x0A, "OS/2 Bootmgr", "OS/2 Boot Manager or OPUS"},
{ 0x0B, "Win95 FAT-32", "Primary Win95 w/ 32-bit FAT"},
{ 0x0C, "Win95 FAT32L", "Primary Win95 w/ 32-bit FAT LBA-mapped"},
{ 0x0E, "DOS FAT-16 ", "Primary DOS w/ 16-bit FAT, CHS-mapped"},
{ 0x0F, "Extended LBA", "Extended DOS LBA-mapped"},
{ 0x10, "OPUS ", "OPUS"},
{ 0x11, "OS/2 hidden ", "OS/2 BM: hidden DOS 12-bit FAT"},
{ 0x12, "Compaq Diag.", "Compaq Diagnostics"},
{ 0x14, "OS/2 hidden ", "OS/2 BM: hidden DOS 16-bit FAT <32M or Novell DOS 7.0 bug"},
{ 0x16, "OS/2 hidden ", "OS/2 BM: hidden DOS 16-bit FAT >=32M"},
{ 0x17, "OS/2 hidden ", "OS/2 BM: hidden IFS"},
{ 0x18, "AST swap ", "AST Windows swapfile"},
{ 0x19, "Willowtech ", "Willowtech Photon coS"},
{ 0x20, "Willowsoft ", "Willowsoft OFS1"},
{ 0x24, "NEC DOS ", "NEC DOS"},
{ 0x38, "Theos ", "Theos"},
{ 0x39, "Plan 9 ","Plan 9"},
{ 0x40, "VENIX 286 ", "VENIX 286 or LynxOS"},
{ 0x41, "Lin/Minux DR", "Linux/MINIX (sharing disk with DRDOS) or Personal RISC boot"},
{ 0x42, "LinuxSwap DR", "SFS or Linux swap (sharing disk with DRDOS)"},
{ 0x43, "Linux DR ", "Linux native (sharing disk with DRDOS)"},
{ 0x4D, "QNX 4.2 Pri ", "QNX 4.2 Primary"},
{ 0x4E, "QNX 4.2 Sec ", "QNX 4.2 Secondary"},
{ 0x4F, "QNX 4.2 Ter ", "QNX 4.2 Tertiary"},
{ 0x50, "DM ", "DM (disk manager)"},
{ 0x51, "DM ", "DM6 Aux1 (or Novell)"},
{ 0x52, "CP/M or SysV", "CP/M or Microport SysV/AT"},
{ 0x53, "DM ", "DM6 Aux3"},
{ 0x54, "Ontrack ", "Ontrack"},
{ 0x55, "EZ-Drive ", "EZ-Drive (disk manager)"},
{ 0x56, "Golden Bow ", "Golden Bow (disk manager)"},
{ 0x5C, "Priam ", "Priam Edisk (disk manager)"},
{ 0x61, "SpeedStor ", "SpeedStor"},
{ 0x63, "ISC, HURD, *", "ISC, System V/386, GNU HURD or Mach"},
{ 0x64, "Netware 2.xx", "Novell Netware 2.xx"},
{ 0x65, "Netware 3.xx", "Novell Netware 3.xx"},
{ 0x66, "Netware 386 ", "Novell 386 Netware"},
{ 0x67, "Novell ", "Novell"},
{ 0x68, "Novell ", "Novell"},
{ 0x69, "Novell ", "Novell"},
{ 0x70, "DiskSecure ", "DiskSecure Multi-Boot"},
{ 0x75, "PCIX ", "PCIX"},
{ 0x80, "Minix (old) ", "Minix 1.1 ... 1.4a"},
{ 0x81, "Minix (new) ", "Minix 1.4b ... 1.5.10"},
{ 0x82, "Linux swap ", "Linux swap"},
{ 0x83, "Linux files*", "Linux filesystem"},
{ 0x93, "Amoeba file*", "Amoeba filesystem"},
{ 0x94, "Amoeba BBT ", "Amoeba bad block table"},
{ 0x84, "OS/2 hidden ", "OS/2 hidden C: drive"},
{ 0x85, "Linux ext. ", "Linux extended"},
{ 0x86, "NT FAT VS ", "NT FAT volume set"},
{ 0x87, "NTFS VS ", "NTFS volume set or HPFS mirrored"},
{ 0x93, "Amoeba FS ", "Amoeba filesystem"},
{ 0x94, "Amoeba BBT ", "Amoeba bad block table"},
{ 0x99, "Mylex ", "Mylex EISA SCSI"},
{ 0x9F, "BSDI ", "BSDI BSD/OS"},
{ 0xA0, "NotebookSave", "Phoenix NoteBIOS save-to-disk"},
{ 0xA5, "FreeBSD ","FreeBSD"},
{ 0xA6, "OpenBSD ", "OpenBSD"},
{ 0xA7, "NEXTSTEP ", "NEXTSTEP"},
{ 0xA8, "Darwin UFS ","Darwin UFS partition"},
{ 0xA9, "NetBSD ","NetBSD"},
{ 0xAB, "Darwin Boot ","Darwin boot partition"},
{ 0xAF, "HFS+ ","Darwin HFS+ partition"},
{ 0xB7, "BSDI filesy*", "BSDI BSD/386 filesystem"},
{ 0xB8, "BSDI swap ", "BSDI BSD/386 swap"},
{ 0xC0, "CTOS ", "CTOS"},
{ 0xC1, "DRDOSs FAT12", "DRDOS/sec (FAT-12)"},
{ 0xC4, "DRDOSs < 32M", "DRDOS/sec (FAT-16, < 32M)"},
{ 0xC6, "DRDOSs >=32M", "DRDOS/sec (FAT-16, >= 32M)"},
{ 0xC7, "HPFS Disbled", "Syrinx (Cyrnix?) or HPFS disabled"},
{ 0xDB, "CPM/C.DOS/C*", "Concurrent CPM or C.DOS or CTOS"},
{ 0xE1, "SpeedStor ", "DOS access or SpeedStor 12-bit FAT extended partition"},
{ 0xE3, "SpeedStor ", "DOS R/O or SpeedStor or Storage Dimensions"},
{ 0xE4, "SpeedStor ", "SpeedStor 16-bit FAT extended partition < 1024 cyl."},
{ 0xEB, "BeOS/i386 ", "BeOS for Intel"},
{ 0xEE, "GPT ", "GPT protective partition"},
{ 0xF1, "SpeedStor ", "SpeedStor or Storage Dimensions"},
{ 0xF2, "DOS 3.3+ Sec", "DOS 3.3+ Secondary"},
{ 0xF4, "SpeedStor ", "SpeedStor >1024 cyl. or LANstep or IBM PS/2 IML"},
{ 0xFF, "Xenix BBT ", "Xenix Bad Block Table"},
};
void
PRT_printall()
{
int i, idrows;
idrows = ((sizeof(part_types)/sizeof(struct part_type))+3)/4;
printf("Choose from the following Partition id values:\n");
for (i = 0; i < idrows; i++) {
printf("%02X %s %02X %s %02X %s"
, part_types[i ].type, part_types[i ].sname
, part_types[i+idrows ].type, part_types[i+idrows ].sname
, part_types[i+idrows*2].type, part_types[i+idrows*2].sname
);
if ((i+idrows*3) < (sizeof(part_types)/sizeof(struct part_type))) {
printf(" %02X %s\n"
, part_types[i+idrows*3].type, part_types[i+idrows*3].sname );
}
else
printf( "\n" );
}
}
const char *
PRT_ascii_id(id)
int id;
{
static char unknown[] = "<Unknown ID>";
int i;
for (i = 0; i < sizeof(part_types)/sizeof(struct part_type); i++) {
if (part_types[i].type == id)
return (part_types[i].sname);
}
return (unknown);
}
void
PRT_parse(disk, prt, offset, reloff, partn, pn)
disk_t *disk;
void *prt;
off_t offset;
off_t reloff;
prt_t *partn;
int pn;
{
unsigned char *p = prt;
off_t off;
partn->flag = *p++;
partn->shead = *p++;
partn->ssect = (*p) & 0x3F;
partn->scyl = ((*p << 2) & 0xFF00) | (*(p+1));
p += 2;
partn->id = *p++;
partn->ehead = *p++;
partn->esect = (*p) & 0x3F;
partn->ecyl = ((*p << 2) & 0xFF00) | (*(p+1));
p += 2;
if ((partn->id == DOSPTYP_EXTEND) || (partn->id == DOSPTYP_EXTENDL))
off = reloff;
else
off = offset;
partn->bs = getlong(p) + off;
partn->ns = getlong(p+4);
/* Zero out entry if not used */
if (partn->id == DOSPTYP_UNUSED ) {
memset(partn, 0, sizeof(*partn));
}
}
int
PRT_check_chs(partn)
prt_t *partn;
{
if ( (partn->shead > 255) ||
(partn->ssect >63) ||
(partn->scyl > 1023) ||
(partn->ehead >255) ||
(partn->esect >63) ||
(partn->ecyl > 1023) )
{
return 0;
}
return 1;
}
void
PRT_make(partn, offset, reloff, prt)
prt_t *partn;
off_t offset;
off_t reloff;
void *prt;
{
unsigned char *p = prt;
prt_t tmp;
off_t off;
tmp.shead = partn->shead;
tmp.ssect = partn->ssect;
tmp.scyl = (partn->scyl > 1023)? 1023: partn->scyl;
tmp.ehead = partn->ehead;
tmp.esect = partn->esect;
tmp.ecyl = (partn->ecyl > 1023)? 1023: partn->ecyl;
if (!PRT_check_chs(partn) && PRT_check_chs(&tmp)) {
partn->shead = tmp.shead;
partn->ssect = tmp.ssect;
partn->scyl = tmp.scyl;
partn->ehead = tmp.ehead;
partn->esect = tmp.esect;
partn->ecyl = tmp.ecyl;
printf("Cylinder values are modified to fit in CHS.\n");
}
if ((partn->id == DOSPTYP_EXTEND) || (partn->id == DOSPTYP_EXTENDL))
off = reloff;
else
off = offset;
if (PRT_check_chs(partn)) {
*p++ = partn->flag & 0xFF;
*p++ = partn->shead & 0xFF;
*p++ = (partn->ssect & 0x3F) | ((partn->scyl & 0x300) >> 2);
*p++ = partn->scyl & 0xFF;
*p++ = partn->id & 0xFF;
*p++ = partn->ehead & 0xFF;
*p++ = (partn->esect & 0x3F) | ((partn->ecyl & 0x300) >> 2);
*p++ = partn->ecyl & 0xFF;
} else {
/* should this really keep flag, id and set others to 0xff? */
*p++ = partn->flag & 0xFF;
*p++ = 0xFF;
*p++ = 0xFF;
*p++ = 0xFF;
*p++ = partn->id & 0xFF;
*p++ = 0xFF;
*p++ = 0xFF;
*p++ = 0xFF;
printf("Warning CHS values out of bounds only saving LBA values\n");
}
putlong(p, partn->bs - off);
putlong(p+4, partn->ns);
}
void
PRT_print(num, partn)
int num;
prt_t *partn;
{
if (partn == NULL) {
printf(" Starting Ending\n");
printf(" #: id cyl hd sec - cyl hd sec [ start - size]\n");
printf("------------------------------------------------------------------------\n");
} else {
printf("%c%1d: %.2X %4d %3d %3d - %4d %3d %3d [%10d - %10d] %s\n",
(partn->flag == 0x80)?'*':' ',
num + 1, partn->id,
partn->scyl, partn->shead, partn->ssect,
partn->ecyl, partn->ehead, partn->esect,
partn->bs, partn->ns,
PRT_ascii_id(partn->id));
}
}
void
PRT_fix_BN(disk, part, pn)
disk_t *disk;
prt_t *part;
int pn;
{
int spt, tpc, spc;
int start = 0;
int end = 0;
/* Zero out entry if not used */
if (part->id == DOSPTYP_UNUSED ) {
memset(part, 0, sizeof(*part));
return;
}
/* Disk metrics */
spt = disk->real->sectors;
tpc = disk->real->heads;
spc = spt * tpc;
start += part->scyl * spc;
start += part->shead * spt;
start += part->ssect - 1;
end += part->ecyl * spc;
end += part->ehead * spt;
end += part->esect - 1;
/* XXX - Should handle this... */
if (start > end)
warn("Start of partition #%d after end!", pn);
part->bs = start;
part->ns = (end - start) + 1;
}
void
PRT_fix_CHS(disk, part, pn)
disk_t *disk;
prt_t *part;
int pn;
{
int spt, tpc, spc;
int start;
int cyl, head, sect;
/* Zero out entry if not used */
if (part->id == DOSPTYP_UNUSED ) {
memset(part, 0, sizeof(*part));
return;
}
/* Disk metrics */
spt = disk->real->sectors;
tpc = disk->real->heads;
spc = spt * tpc;
start = part->bs;
if(start <= spt) {
/* Figure out "real" starting CHS values */
cyl = (start / spc); start -= (cyl * spc);
head = (start / spt); start -= (head * spt);
sect = (start + 1);
} else {
cyl = 1023;
head = 254;
sect = 63;
}
part->scyl = cyl;
part->shead = head;
part->ssect = sect;
/* use fake geometry to trigger LBA mode */
cyl = 1023;
head = 254;
sect = 63;
part->ecyl = cyl;
part->ehead = head;
part->esect = sect;
}
branches/iFabio/Chameleon/i386/util/fdisk/auto.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Auto partitioning code.
*/
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <err.h>
#include "disk.h"
#include "mbr.h"
#include "auto.h"
int AUTO_boothfs __P((disk_t *, mbr_t *));
int AUTO_bootufs __P((disk_t *, mbr_t *));
int AUTO_hfs __P((disk_t *, mbr_t *));
int AUTO_ufs __P((disk_t *, mbr_t *));
int AUTO_dos __P((disk_t *, mbr_t *));
int AUTO_raid __P((disk_t *, mbr_t *));
/* The default style is the first one in the list */
struct _auto_style {
char *style_name;
int (*style_fn)(disk_t *, mbr_t *);
char *description;
} style_fns[] = {
{"boothfs", AUTO_boothfs, "8Mb boot plus HFS+ root partition"},
{"bootufs", AUTO_bootufs, "8Mb boot plus UFS root partition"},
{"hfs", AUTO_hfs, "Entire disk as one HFS+ partition"},
{"ufs", AUTO_ufs, "Entire disk as one UFS partition"},
{"dos", AUTO_dos, "Entire disk as one DOS partition"},
{"raid", AUTO_raid, "Entire disk as one 0xAC partition"},
{0,0}
};
void
AUTO_print_styles(FILE *f)
{
struct _auto_style *fp;
int i;
for (i=0, fp = &style_fns[0]; fp->style_name != NULL; i++, fp++) {
fprintf(f, " %-10s %s%s\n", fp->style_name, fp->description, (i==0) ? " (default)" : "");
}
}
int
AUTO_init(disk_t *disk, char *style, mbr_t *mbr)
{
struct _auto_style *fp;
for (fp = &style_fns[0]; fp->style_name != NULL; fp++) {
/* If style is NULL, use the first (default) style */
if (style == NULL || strcasecmp(style, fp->style_name) == 0) {
return (*fp->style_fn)(disk, mbr);
}
}
warnx("No such auto-partition style %s", style);
return AUTO_ERR;
}
static int
use_whole_disk(disk_t *disk, unsigned char id, mbr_t *mbr)
{
MBR_clear(mbr);
mbr->part[0].id = id;
mbr->part[0].bs = 63;
mbr->part[0].ns = disk->real->size - 63;
PRT_fix_CHS(disk, &mbr->part[0], 0);
return AUTO_OK;
}
/* DOS style: one partition for the whole disk */
int
AUTO_dos(disk_t *disk, mbr_t *mbr)
{
int cc;
cc = use_whole_disk(disk, 0x0C, mbr);
if (cc == AUTO_OK) {
mbr->part[0].flag = DOSACTIVE;
}
return cc;
}
/* HFS style: one partition for the whole disk */
int
AUTO_hfs(disk_t *disk, mbr_t *mbr)
{
int cc;
cc = use_whole_disk(disk, 0xAF, mbr);
if (cc == AUTO_OK) {
mbr->part[0].flag = DOSACTIVE;
}
return cc;
}
/* UFS style: one partition for the whole disk */
int
AUTO_ufs(disk_t *disk, mbr_t *mbr)
{
int cc;
cc = use_whole_disk(disk, 0xA8, mbr);
if (cc == AUTO_OK) {
mbr->part[0].flag = DOSACTIVE;
}
return cc;
}
/* One boot partition, one HFS+ root partition */
int
AUTO_boothfs (disk_t *disk, mbr_t *mbr)
{
/* Check disk size. */
if (disk->real->size < 16 * 2048) {
errx(1, "Disk size must be greater than 16Mb");
return AUTO_ERR;
}
MBR_clear(mbr);
/* 8MB boot partition */
mbr->part[0].id = 0xAB;
mbr->part[0].bs = 63;
mbr->part[0].ns = 8 * 1024 * 2;
mbr->part[0].flag = DOSACTIVE;
PRT_fix_CHS(disk, &mbr->part[0], 0);
/* Rest of the disk for rooting */
mbr->part[1].id = 0xAF;
mbr->part[1].bs = (mbr->part[0].bs + mbr->part[0].ns);
mbr->part[1].ns = disk->real->size - mbr->part[0].ns - 63;
PRT_fix_CHS(disk, &mbr->part[1], 1);
return AUTO_OK;
}
/* One boot partition, one UFS root partition */
int
AUTO_bootufs(disk_t *disk, mbr_t *mbr)
{
/* Check disk size. */
if (disk->real->size < 16 * 2048) {
errx(1, "Disk size must be greater than 16Mb");
return AUTO_ERR;
}
MBR_clear(mbr);
/* 8MB boot partition */
mbr->part[0].id = 0xAB;
mbr->part[0].bs = 63;
mbr->part[0].ns = 8 * 1024 * 2;
mbr->part[0].flag = DOSACTIVE;
PRT_fix_CHS(disk, &mbr->part[0], 0);
/* Rest of the disk for rooting */
mbr->part[1].id = 0xA8;
mbr->part[1].bs = (mbr->part[0].bs + mbr->part[0].ns);
mbr->part[1].ns = disk->real->size - mbr->part[0].ns - 63;
PRT_fix_CHS(disk, &mbr->part[1], 1);
return AUTO_OK;
}
/* RAID style: one 0xAC partition for the whole disk */
int
AUTO_raid(disk_t *disk, mbr_t *mbr)
{
return use_whole_disk(disk, 0xAC, mbr);
}
branches/iFabio/Chameleon/i386/util/fdisk/cmd.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _CMD_H
#define _CMD_H
/* Includes */
#include "disk.h"
#include "mbr.h"
/* Constants (returned by cmd funs) */
#define CMD_EXIT0x0000
#define CMD_SAVE0x0001
#define CMD_CONT0x0002
#define CMD_CLEAN0x0003
#define CMD_DIRTY0x0004
/* Data types */
struct _cmd_table_t;
typedef struct _cmd_t {
struct _cmd_table_t *table;
char cmd[10];
char args[100];
} cmd_t;
typedef struct _cmd_table_t {
char *cmd;
int (*fcn)(cmd_t *, disk_t *, mbr_t *, mbr_t *, int);
char *help;
} cmd_table_t;
/* Prototypes */
int Xerase __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xreinit __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xauto __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xdisk __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xmanual __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xedit __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xsetpid __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xselect __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xprint __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xwrite __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xexit __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xquit __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xabort __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xhelp __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xflag __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
int Xupdate __P((cmd_t *, disk_t *, mbr_t *, mbr_t *, int));
#endif /* _CMD_H */
branches/iFabio/Chameleon/i386/util/fdisk/part.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _PART_H
#define _PART_H
/* Partition type */
typedef struct _prt_t {
int shead, scyl, ssect;
int ehead, ecyl, esect;
int bs;
int ns;
unsigned char flag;
unsigned char id;
} prt_t;
/* Prototypes */
voidPRT_printall __P((void));
const char *PRT_ascii_id __P((int));
void PRT_parse __P((disk_t *, void *, off_t, off_t, prt_t *, int));
void PRT_make __P((prt_t *, off_t, off_t, void *));
void PRT_print __P((int, prt_t *));
/* This does CHS -> bs/ns */
void PRT_fix_BN __P((disk_t *, prt_t *, int));
/* This does bs/ns -> CHS */
void PRT_fix_CHS __P((disk_t *, prt_t *, int));
#endif /* _PART_H */
branches/iFabio/Chameleon/i386/util/fdisk/auto.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#include "mbr.h"
/* Prototypes */
void AUTO_print_styles __P((FILE *));
int AUTO_init __P((disk_t *, char *, mbr_t *));
#define AUTO_OK 0
#define AUTO_ERR -1
branches/iFabio/Chameleon/i386/util/fdisk/user.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <util.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <machine/param.h>
#include "user.h"
#include "disk.h"
#include "misc.h"
#include "mbr.h"
#include "cmd.h"
/* Our command table */
static cmd_table_t cmd_table[] = {
{"help", Xhelp,"Command help list"},
{"manual", Xmanual,"Show entire man page for fdisk"},
{"reinit", Xreinit,"Re-initialize loaded MBR (to defaults)"},
{"auto", Xauto, "Auto-partition the disk with a partition style"},
{"setpid", Xsetpid,"Set the identifier of a given table entry"},
{"disk", Xdisk,"Edit current drive stats"},
{"edit", Xedit,"Edit given table entry"},
{"erase", Xerase, "Erase current MBR"},
{"flag", Xflag,"Flag given table entry as bootable"},
{"update", Xupdate,"Update machine code in loaded MBR"},
{"select", Xselect,"Select extended partition table entry MBR"},
{"print", Xprint,"Print loaded MBR partition table"},
{"write", Xwrite,"Write loaded MBR to disk"},
{"exit", Xexit,"Exit edit of current MBR, without saving changes"},
{"quit", Xquit,"Quit edit of current MBR, saving current changes"},
{"abort", Xabort,"Abort program without saving current changes"},
{NULL, NULL,NULL}
};
int
USER_write(disk, tt, preserve, force)
disk_t *disk;
mbr_t *tt; /* Template MBR to write */
int preserve; /* Preserve partition table and just write boot code */
int force; /* Don't ask any questions */
{
int fd, yn;
char *msgp = "\nDo you wish to write new MBR?";
char *msgk = "\nDo you wish to write new MBR and partition table?";
/* Write sector 0 */
if (force) {
yn = 1;
} else {
printf("\a\n"
"\t-----------------------------------------------------\n"
"\t------ ATTENTION - UPDATING MASTER BOOT RECORD ------\n"
"\t-----------------------------------------------------\n");
if (preserve)
yn = ask_yn(msgp, 0);
else
yn = ask_yn(msgk, 0);
}
if (yn) {
if (preserve) {
int shared;
/* Only write the first one, if there's more than one in an extended partition chain */
/* Since we're updating boot code, we don't require exclusive access */
fd = DISK_openshared(disk->name, O_RDWR, &shared);
MBR_make(tt);
MBR_write(disk, fd, tt);
DISK_close(fd);
} else {
MBR_write_all(disk, tt);
}
} else {
printf("MBR is unchanged\n");
}
return (0);
}
int
USER_modify(disk, tt, offset, reloff)
disk_t *disk;
mbr_t *tt;
off_t offset;
off_t reloff;
{
static int editlevel;
mbr_t *mbr;
cmd_t cmd;
int i, st, fd;
int modified = 0;
/* One level deeper */
editlevel += 1;
/* Set up command table pointer */
cmd.table = cmd_table;
/* Read MBR & partition */
mbr = MBR_alloc(NULL);
fd = DISK_open(disk->name, O_RDONLY);
MBR_read(disk, fd, offset, mbr);
DISK_close(fd);
/* Parse the sucker */
MBR_parse(disk, offset, reloff, mbr);
if (mbr->signature != MBR_SIGNATURE) {
int yn = ask_yn("The signature for this MBR is invalid.\nWould you like to initialize the partition table?", 1);
if (yn) {
strcpy(cmd.cmd, "erase");
cmd.args[0] = '\0';
st = Xerase(&cmd, disk, mbr, tt, offset);
modified = 1;
}
}
printf("Enter 'help' for information\n");
/* Edit cycle */
do {
again:
printf("fdisk:%c%d> ", (modified)?'*':' ', editlevel);
fflush(stdout);
ask_cmd(&cmd);
if (cmd.cmd[0] == '\0')
goto again;
for (i = 0; cmd_table[i].cmd != NULL; i++)
if (strstr(cmd_table[i].cmd, cmd.cmd)==cmd_table[i].cmd)
break;
/* Quick hack to put in '?' == 'help' */
if (!strcmp(cmd.cmd, "?"))
i = 0;
/* Check for valid command */
if (cmd_table[i].cmd == NULL) {
printf("Invalid command '%s'. Try 'help'.\n", cmd.cmd);
continue;
} else
strcpy(cmd.cmd, cmd_table[i].cmd);
/* Call function */
st = cmd_table[i].fcn(&cmd, disk, mbr, tt, offset);
/* Update status */
if (st == CMD_EXIT)
break;
if (st == CMD_SAVE)
break;
if (st == CMD_CLEAN)
modified = 0;
if (st == CMD_DIRTY)
modified = 1;
} while (1);
/* Write out MBR */
if (modified) {
if (st == CMD_SAVE) {
int shared = 0;
printf("Writing current MBR to disk.\n");
fd = DISK_openshared(disk->name, O_RDWR, &shared);
if(shared) {
if(!ask_yn("Device could not be accessed exclusively.\nA reboot will be needed for changes to take effect. OK?", 0)) {
close(fd);
goto again;
}
}
MBR_make(mbr);
MBR_write(disk, fd, mbr);
close(fd);
} else {
int yn = ask_yn("MBR was modified; really quit without saving?", 0);
if (yn) {
printf("Aborting changes to current MBR.\n");
} else {
goto again;
}
}
}
/* One level less */
editlevel -= 1;
MBR_free(mbr);
return (0);
}
int
USER_print_disk(disk, do_dump)
disk_t *disk;
int do_dump;
{
int fd, offset, firstoff;
mbr_t *mbr;
fd = DISK_open(disk->name, O_RDONLY);
offset = firstoff = 0;
if (!do_dump)
DISK_printmetrics(disk);
mbr = MBR_read_all(disk);
if (do_dump)
MBR_dump_all(mbr);
else
MBR_print_all(mbr);
MBR_free(mbr);
return (DISK_close(fd));
}
branches/iFabio/Chameleon/i386/util/fdisk/mbr.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
/*
* Copyright (c) 2002, 2005 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <util.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <ctype.h>
#include <memory.h>
#include <sys/fcntl.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#if 0
#include <sys/dkio.h>
#endif
#include <machine/param.h>
#include "disk.h"
#include "misc.h"
#include "mbr.h"
#include "part.h"
void
MBR_init(disk, mbr)
disk_t *disk;
mbr_t *mbr;
{
/* Fix up given mbr for this disk */
mbr->part[0].flag = 0;
mbr->part[1].flag = 0;
mbr->part[2].flag = 0;
#if !defined(DOSPTYP_OPENBSD)
mbr->part[3].flag = 0;
mbr->signature = MBR_SIGNATURE;
#else
mbr->part[3].flag = DOSACTIVE;
mbr->signature = DOSMBR_SIGNATURE;
/* Use whole disk, save for first head, on first cyl. */
mbr->part[3].id = DOSPTYP_OPENBSD;
mbr->part[3].scyl = 0;
mbr->part[3].shead = 1;
mbr->part[3].ssect = 1;
/* Go right to the end */
mbr->part[3].ecyl = disk->real->cylinders - 1;
mbr->part[3].ehead = disk->real->heads - 1;
mbr->part[3].esect = disk->real->sectors;
/* Fix up start/length fields */
PRT_fix_BN(disk, &mbr->part[3], 3);
#if defined(__powerpc__) || defined(__mips__)
/* Now fix up for the MS-DOS boot partition on PowerPC. */
mbr->part[0].flag = DOSACTIVE;/* Boot from dos part */
mbr->part[3].flag = 0;
mbr->part[3].ns += mbr->part[3].bs;
mbr->part[3].bs = mbr->part[0].bs + mbr->part[0].ns;
mbr->part[3].ns -= mbr->part[3].bs;
PRT_fix_CHS(disk, &mbr->part[3], 3);
if ((mbr->part[3].shead != 1) || (mbr->part[3].ssect != 1)) {
/* align the partition on a cylinder boundary */
mbr->part[3].shead = 0;
mbr->part[3].ssect = 1;
mbr->part[3].scyl += 1;
}
/* Fix up start/length fields */
PRT_fix_BN(disk, &mbr->part[3], 3);
#endif
#endif
}
void
MBR_parse(disk, offset, reloff, mbr)
disk_t *disk;
off_t offset;
off_t reloff;
mbr_t *mbr;
{
int i;
unsigned char *mbr_buf = mbr->buf;
memcpy(mbr->code, mbr_buf, MBR_CODE_SIZE);
mbr->offset = offset;
mbr->reloffset = reloff;
mbr->signature = getshort(&mbr_buf[MBR_SIG_OFF]);
for (i = 0; i < NDOSPART; i++)
PRT_parse(disk, &mbr_buf[MBR_PART_OFF + MBR_PART_SIZE * i],
offset, reloff, &mbr->part[i], i);
}
void
MBR_make(mbr)
mbr_t *mbr;
{
int i;
unsigned char *mbr_buf = mbr->buf;
memcpy(mbr_buf, mbr->code, MBR_CODE_SIZE);
putshort(&mbr_buf[MBR_SIG_OFF], mbr->signature);
for (i = 0; i < NDOSPART; i++)
PRT_make(&mbr->part[i], mbr->offset, mbr->reloffset,
&mbr_buf[MBR_PART_OFF + MBR_PART_SIZE * i]);
}
void
MBR_print(mbr)
mbr_t *mbr;
{
int i;
/* Header */
printf("Signature: 0x%X\n",
(int)mbr->signature);
PRT_print(0, NULL);
/* Entries */
for (i = 0; i < NDOSPART; i++)
PRT_print(i, &mbr->part[i]);
}
int
MBR_read(disk, fd, where, mbr)
disk_t *disk;
int fd;
off_t where;
mbr_t *mbr;
{
off_t off;
int len;
int size;
unsigned char *buf = mbr->buf;
size = disk->real->sector_size;
where *= size;
off = lseek(fd, where, SEEK_SET);
if (off != where)
return (off);
len = read(fd, buf, size);
if (len != size)
return (len);
return (0);
}
int
MBR_write(disk, fd, mbr)
disk_t *disk;
int fd;
mbr_t *mbr;
{
off_t off;
int len;
int size;
unsigned char *buf = mbr->buf;
off_t where;
size = disk->real->sector_size;
where = mbr->offset * size;
off = lseek(fd, where, SEEK_SET);
if (off != where)
return (off);
len = write(fd, buf, size);
if (len != size)
return (len);
#if defined(DIOCRLDINFO)
(void) ioctl(fd, DIOCRLDINFO, 0);
#endif
return (0);
}
void
MBR_pcopy(disk, mbr)
disk_t *disk;
mbr_t *mbr;
{
/*
* Copy partition table from the disk indicated
* to the supplied mbr structure
*/
int i, fd, offset = 0, reloff = 0;
mbr_t *mbrd;
mbrd = MBR_alloc(NULL);
fd = DISK_open(disk->name, O_RDONLY);
MBR_read(disk, fd, offset, mbrd);
DISK_close(fd);
MBR_parse(disk, offset, reloff, mbrd);
for (i = 0; i < NDOSPART; i++) {
PRT_parse(disk, &mbrd->buf[MBR_PART_OFF +
MBR_PART_SIZE * i],
offset, reloff, &mbr->part[i], i);
PRT_print(i, &mbr->part[i]);
}
MBR_free(mbrd);
}
static int
parse_number(char *str, int default_val, int base) {
if (str != NULL && *str != '\0') {
default_val = strtol(str, NULL, base);
}
return default_val;
}
static inline int
null_arg(char *arg) {
if (arg == NULL || *arg == 0)
return 1;
else
return 0;
}
/* Parse a partition spec into a partition structure.
* Spec is of the form:
* <start>,<size>,<id>,<bootable>[,<c,h,s>,<c,h,s>]
* We require passing in the disk and mbr so we can
* set reasonable defaults for values, e.g. "the whole disk"
* or "starting after the last partition."
*/
#define N_ARGS 10
static int
MBR_parse_one_spec(char *line, disk_t *disk, mbr_t *mbr, int pn)
{
int i;
char *args[N_ARGS];
prt_t *part = &mbr->part[pn];
int next_start, next_size;
/* There are up to 10 arguments. */
for (i=0; i<N_ARGS; i++) {
char *arg;
while (isspace(*line))
line++;
arg = strsep(&line, ",\n");
if (arg == NULL || line == NULL) {
break;
}
args[i] = arg;
}
for (; i<N_ARGS; i++) {
args[i] = NULL;
}
/* Set reasonable defaults. */
if (pn == 0) {
next_start = 0;
} else {
next_start = mbr->part[pn-1].bs + mbr->part[pn-1].ns;
}
next_size = disk->real->size;
for(i=0; i<pn; i++) {
next_size -= mbr->part[i].ns;
}
part->id = parse_number(args[2], 0xA8, 16);
if (!null_arg(args[3]) && *args[3] == '*') {
part->flag = 0x80;
} else {
part->flag = 0;
}
/* If you specify the start or end sector,
you have to give both. */
if ((null_arg(args[0]) && !null_arg(args[1])) ||
(!null_arg(args[0]) && null_arg(args[1]))) {
errx(1, "You must specify both start and size, or neither");
return -1;
}
/* If you specify one of the CHS args,
you have to give them all. */
if (!null_arg(args[4])) {
for (i=5; i<10; i++) {
if (null_arg(args[i])) {
errx(1, "Either all CHS arguments must be specified, or none");
return -1;
}
}
part->scyl = parse_number(args[4], 0, 10);
part->shead = parse_number(args[5], 0, 10);
part->ssect = parse_number(args[6], 0, 10);
part->scyl = parse_number(args[7], 0, 10);
part->shead = parse_number(args[8], 0, 10);
part->ssect = parse_number(args[9], 0, 10);
if (null_arg(args[0])) {
PRT_fix_BN(disk, part, pn);
}
} else {
/* See if they gave no CHS and no start/end */
if (null_arg(args[0])) {
errx(1, "You must specify either start sector and size or CHS");
return -1;
}
}
if (!null_arg(args[0])) {
part->bs = parse_number(args[0], next_start, 10);
part->ns = parse_number(args[1], next_size, 10);
PRT_fix_CHS(disk, part, pn);
}
return 0;
}
typedef struct _mbr_chain {
mbr_t mbr;
struct _mbr_chain *next;
} mbr_chain_t;
/* Parse some number of MBR spec lines.
* Spec is of the form:
* <start>,<size>,<id>,<bootable>[,<c,h,s>,<c,h,s>]
*
*/
mbr_t *
MBR_parse_spec(FILE *f, disk_t *disk)
{
int lineno;
int offset, firstoffset;
mbr_t *mbr, *head, *prev_mbr;
head = mbr = prev_mbr = NULL;
firstoffset = 0;
do {
offset = 0;
for (lineno = 0; lineno < NDOSPART && !feof(f); lineno++) {
char line[256];
char *str;
prt_t *part;
do {
str = fgets(line, 256, f);
} while ((str != NULL) && (*str == '\0'));
if (str == NULL) {
break;
}
if (mbr == NULL) {
mbr = MBR_alloc(prev_mbr);
if (head == NULL)
head = mbr;
}
if (MBR_parse_one_spec(line, disk, mbr, lineno)) {
/* MBR_parse_one_spec printed the error message. */
return NULL;
}
part = &mbr->part[lineno];
if ((part->id == DOSPTYP_EXTEND) || (part->id == DOSPTYP_EXTENDL)) {
offset = part->bs;
if (firstoffset == 0) firstoffset = offset;
}
}
/* If fewer lines than partitions, zero out the rest of the partitions */
if (mbr != NULL) {
for (; lineno < NDOSPART; lineno++) {
bzero(&mbr->part[lineno], sizeof(prt_t));
}
}
prev_mbr = mbr;
mbr = NULL;
} while (offset >= 0 && !feof(f));
return head;
}
void
MBR_dump(mbr_t *mbr)
{
int i;
prt_t *part;
for (i=0; i<NDOSPART; i++) {
part = &mbr->part[i];
printf("%d,%d,0x%02X,%c,%d,%d,%d,%d,%d,%d\n",
part->bs,
part->ns,
part->id,
(part->flag == 0x80) ? '*' : '-',
part->scyl,
part->shead,
part->ssect,
part->ecyl,
part->ehead,
part->esect);
}
}
mbr_t *
MBR_alloc(mbr_t *parent)
{
mbr_t *mbr = (mbr_t *)malloc(sizeof(mbr_t));
bzero(mbr, sizeof(mbr_t));
if (parent) {
parent->next = mbr;
}
mbr->signature = MBR_SIGNATURE;
return mbr;
}
void
MBR_free(mbr_t *mbr)
{
mbr_t *tmp;
while (mbr) {
tmp = mbr->next;
free(mbr);
mbr = tmp;
}
}
/* Read and parse all the partition tables on the disk,
* including extended partitions.
*/
mbr_t *
MBR_read_all(disk_t *disk)
{
mbr_t *mbr = NULL, *head = NULL;
int i, fd, offset, firstoff;
fd = DISK_open(disk->name, O_RDONLY);
firstoff = offset = 0;
do {
mbr = MBR_alloc(mbr);
if (head == NULL) {
head = mbr;
}
MBR_read(disk, fd, offset, mbr);
MBR_parse(disk, offset, firstoff, mbr);
if (mbr->signature != MBR_SIGNATURE) {
/* The MBR signature is invalid. */
break;
}
offset = 0;
for (i=0; i<NDOSPART; i++) {
prt_t *part = &mbr->part[i];
if ((part->id == DOSPTYP_EXTEND) || (part->id == DOSPTYP_EXTENDL)) {
offset = part->bs;
if (firstoff == 0) {
firstoff = offset;
}
}
}
} while (offset > 0);
DISK_close(fd);
return head;
}
int
MBR_write_all(disk_t *disk, mbr_t *mbr)
{
int result = 0;
int fd;
fd = DISK_open(disk->name, O_RDWR);
while (mbr) {
MBR_make(mbr);
result = MBR_write(disk, fd, mbr);
if (result)
break;
mbr = mbr->next;
}
DISK_close(fd);
return result;
}
void
MBR_print_all(mbr_t *mbr) {
while (mbr) {
MBR_print(mbr);
mbr = mbr->next;
}
}
void
MBR_dump_all(mbr_t *mbr) {
while (mbr) {
MBR_dump(mbr);
mbr = mbr->next;
}
}
void
MBR_clear(mbr_t *mbr) {
int i;
if (mbr->next) {
MBR_free(mbr->next);
mbr->next = NULL;
}
for (i=0; i<4; i++) {
bzero(&mbr->part[i], sizeof(mbr->part[i]));
}
bzero(&mbr->buf, sizeof(mbr->buf));
}
branches/iFabio/Chameleon/i386/util/fdisk/mbrcode.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 2000 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Largely generated by:
* hexdump -ve '8/1 "0x%02x, " "\n"' /usr/mdec/mbr
*/
0xfa, 0xea, 0x06, 0x00, 0xc0, 0x07, 0x8c, 0xc8,
0x8e, 0xd8, 0x8e, 0xd0, 0xbc, 0xfc, 0xff, 0xfb,
0xb0, 0x53, 0xe8, 0xe2, 0x00, 0xb8, 0xa0, 0x07,
0x8e, 0xc0, 0x31, 0xf6, 0x31, 0xff, 0xb9, 0x00,
0x02, 0xfc, 0xf2, 0xa4, 0xea, 0x29, 0x00, 0xa0,
0x07, 0xb0, 0x52, 0xe8, 0xc9, 0x00, 0x1e, 0x07,
0x0e, 0x1f, 0xf6, 0xc2, 0x80, 0x75, 0x0b, 0x66,
0xbe, 0x13, 0x01, 0x00, 0x00, 0xe8, 0xab, 0x00,
0xb2, 0x80, 0x66, 0xbe, 0xbe, 0x01, 0x00, 0x00,
0x66, 0xb9, 0x04, 0x00, 0x00, 0x00, 0xb0, 0x4c,
0xe8, 0xa4, 0x00, 0x8a, 0x44, 0x00, 0x3c, 0x80,
0x74, 0x18, 0x66, 0x83, 0xc6, 0x10, 0xe2, 0xee,
0x66, 0xbe, 0x3c, 0x01, 0x00, 0x00, 0xe8, 0x82,
0x00, 0xfa, 0xf4, 0xb0, 0x2e, 0xe8, 0x87, 0x00,
0xeb, 0xf7, 0xb0, 0x42, 0xe8, 0x80, 0x00, 0x8b,
0x14, 0x8b, 0x4c, 0x02, 0x66, 0xb8, 0x01, 0x02,
0x00, 0x00, 0x31, 0xdb, 0xcd, 0x13, 0x73, 0x13,
0x80, 0xfa, 0x80, 0x75, 0xaa, 0x66, 0xbe, 0x2f,
0x01, 0x00, 0x00, 0xe8, 0x55, 0x00, 0xe8, 0x33,
0x00, 0xeb, 0xce, 0xb0, 0x43, 0xe8, 0x57, 0x00,
0x66, 0x31, 0xc0, 0x66, 0xbb, 0xfe, 0x01, 0x00,
0x00, 0x67, 0x8b, 0x03, 0x66, 0x3d, 0x55, 0xaa,
0x00, 0x00, 0x74, 0x0b, 0x66, 0xbe, 0x52, 0x01,
0x00, 0x00, 0xe8, 0x2e, 0x00, 0xeb, 0xaa, 0xb0,
0x47, 0xe8, 0x33, 0x00, 0x66, 0xea, 0x00, 0x7c,
0x00, 0x00, 0x00, 0x00, 0x50, 0x53, 0x66, 0xbb,
0x03, 0x01, 0x00, 0x00, 0x50, 0x88, 0xe0, 0x66,
0x83, 0xe0, 0x0f, 0xd7, 0xe8, 0x18, 0x00, 0x58,
0x66, 0x83, 0xe0, 0x0f, 0xd7, 0xe8, 0x0f, 0x00,
0x5b, 0x58, 0xc3, 0x50, 0xfc, 0xac, 0x84, 0xc0,
0x74, 0x0f, 0xe8, 0x02, 0x00, 0xeb, 0xf6, 0x50,
0x53, 0xb4, 0x0e, 0x31, 0xdb, 0x43, 0xcd, 0x10,
0x5b, 0x58, 0xc3, 0x30, 0x31, 0x32, 0x33, 0x34,
0x35, 0x36, 0x37, 0x38, 0x39, 0x41, 0x42, 0x43,
0x44, 0x45, 0x46, 0x4d, 0x42, 0x52, 0x20, 0x6f,
0x6e, 0x20, 0x66, 0x6c, 0x6f, 0x70, 0x70, 0x79,
0x20, 0x6f, 0x72, 0x20, 0x6f, 0x6c, 0x64, 0x20,
0x42, 0x49, 0x4f, 0x53, 0x0d, 0x0a, 0x00, 0x52,
0x65, 0x61, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f,
0x72, 0x0d, 0x0a, 0x00, 0x4e, 0x6f, 0x20, 0x61,
0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x70, 0x61,
0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x0d,
0x0a, 0x00, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x20, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74,
0x75, 0x72, 0x65, 0x0d, 0x0a, 0x00, 0x90, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
0x01, 0x00, 0xa6, 0xff, 0xff, 0xff, 0x00, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0x7f, 0x55, 0xaa,
branches/iFabio/Chameleon/i386/util/fdisk/util.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*-
* Copyright (c) 1995
*The Regents of the University of California. All rights reserved.
* Portions Copyright (c) 1996, Jason Downs. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
*This product includes software developed by the University of
*California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#ifndef _UTIL_H_
#define _UTIL_H_
#include <sys/cdefs.h>
#include <sys/types.h>
/*
* fparseln() specific operation flags.
*/
#define FPARSELN_UNESCESC0x01
#define FPARSELN_UNESCCONT0x02
#define FPARSELN_UNESCCOMM0x04
#define FPARSELN_UNESCREST0x08
#define FPARSELN_UNESCALL0x0f
/*
* opendev() specific operation flags.
*/
#define OPENDEV_PART0x01/* Try to open the raw partition. */
#define OPENDEV_DRCT0x02/* Obsolete (now default behavior). */
#define OPENDEV_BLCK0x04/* Open block, not character device. */
/*
* uucplock(3) specific flags.
*/
#define UU_LOCK_INUSE (1)
#define UU_LOCK_OK (0)
#define UU_LOCK_OPEN_ERR (-1)
#define UU_LOCK_READ_ERR (-2)
#define UU_LOCK_CREAT_ERR (-3)
#define UU_LOCK_WRITE_ERR (-4)
#define UU_LOCK_LINK_ERR (-5)
#define UU_LOCK_TRY_ERR (-6)
#define UU_LOCK_OWNER_ERR (-7)
/*
* stub struct definitions.
*/
struct __sFILE;
struct login_cap;
struct passwd;
struct termios;
struct winsize;
__BEGIN_DECLS
char *fparseln __P((struct __sFILE *, size_t *, size_t *, const char[3], int));
intlogin_tty __P((int));
intlogout __P((const char *));
voidlogwtmp __P((const char *, const char *, const char *));
intopendev __P((char *, int, int, char **));
intpidfile __P((const char *));
voidpw_setdir __P((const char *));
char *pw_file __P((const char *));
intpw_lock __P((int retries));
intpw_mkdb __P((char *, int));
intpw_abort __P((void));
voidpw_init __P((void));
voidpw_edit __P((int, const char *));
voidpw_prompt __P((void));
voidpw_copy __P((int, int, struct passwd *));
voidpw_getconf __P((char *, size_t, const char *, const char *));
intpw_scan __P((char *, struct passwd *, int *));
voidpw_error __P((const char *, int, int));
intopenpty __P((int *, int *, char *, struct termios *,
struct winsize *));
intopendisk __P((const char *path, int flags, char *buf, size_t buflen,
int iscooked));
pid_tforkpty __P((int *, char *, struct termios *, struct winsize *));
intgetmaxpartitions __P((void));
intgetrawpartition __P((void));
voidlogin_fbtab __P((char *, uid_t, gid_t));
intlogin_check_expire __P((struct __sFILE *, struct passwd *, char *, int));
char *readlabelfs __P((char *, int));
const char *uu_lockerr __P((int _uu_lockresult));
int uu_lock __P((const char *_ttyname));
intuu_lock_txfr __P((const char *_ttyname, pid_t _pid));
int uu_unlock __P((const char *_ttyname));
__END_DECLS
#endif /* !_UTIL_H_ */
branches/iFabio/Chameleon/i386/util/fdisk/user.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _USER_H
#define _USER_H
#include "disk.h"
#include "mbr.h"
/* Prototypes */
int USER_write __P((disk_t *, mbr_t *, int, int));
int USER_modify __P((disk_t *, mbr_t *, off_t, off_t));
int USER_print_disk __P((disk_t *, int));
#endif /* _USER_H */
branches/iFabio/Chameleon/i386/util/fdisk/getrawpartition.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*-
* Copyright (c) 1996 The NetBSD Foundation, Inc.
* All rights reserved.
*
* This code is derived from software contributed to The NetBSD Foundation
* by Jason R. Thorpe.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the NetBSD
* Foundation, Inc. and its contributors.
* 4. Neither the name of The NetBSD Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
__RCSID("$NetBSD: getrawpartition.c,v 1.4 1999/07/02 15:49:12 simonb Exp $");
#endif
#include <sys/param.h>
#include <sys/sysctl.h>
#include <util.h>
int
getrawpartition()
{
#if 0
int rawpart, mib[2];
size_t varlen;
mib[0] = CTL_KERN;
mib[1] = KERN_RAWPARTITION;
varlen = sizeof(rawpart);
if (sysctl(mib, 2, &rawpart, &varlen, NULL, 0) < 0)
return (-1);
return (rawpart);
#else
return 0 - 'a';
#endif
}
branches/iFabio/Chameleon/i386/util/fdisk/mbr.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* 2008-05-24:
* Tamas Kosarszky: changed MBR_CODE_SIZE to 0x1B8 to make fdisk
* compatible with Vista and GPT specifications.
*
* Credits goes to Dense for the idea of this modification and
* Kabyl for findig this piece of source.
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _MBR_H
#define _MBR_H
#include "part.h"
#ifndef NDOSPART
#define NDOSPART 4
#define DOSPTYP_UNUSED 0
#define DOSPTYP_EXTEND 5
#define DOSPTYP_EXTENDL 15
#define DOSACTIVE 128
#endif
/* Various constants */
#define MBR_CODE_SIZE 0x1B8
#define MBR_PART_SIZE0x10
#define MBR_PART_OFF 0x1BE
#define MBR_SIG_OFF 0x1FE
/* MBR_BUF_SIZE is the largest sector size we support */
#define MBR_BUF_SIZE 4096
#define MBR_SIGNATURE 0xAA55
/* MBR type */
typedef struct _mbr_t {
off_t reloffset; /* the offset of the first extended partition that contains all the rest */
off_t offset; /* the absolute offset of this partition */
struct _mbr_t *next; /* pointer to the next MBR in an extended partition chain */
unsigned char code[MBR_CODE_SIZE];
unsigned short signature;
prt_t part[NDOSPART];
unsigned char buf[MBR_BUF_SIZE];
} mbr_t;
/* Prototypes */
void MBR_print_disk __P((char *));
void MBR_print __P((mbr_t *));
void MBR_print_all __P((mbr_t *));
void MBR_parse __P((disk_t *, off_t, off_t, mbr_t *));
void MBR_make __P((mbr_t *));
void MBR_init __P((disk_t *, mbr_t *));
int MBR_read __P((disk_t *,int, off_t, mbr_t *));
int MBR_write __P((disk_t *,int, mbr_t *));
void MBR_pcopy __P((disk_t *, mbr_t *));
mbr_t * MBR_parse_spec __P((FILE *, disk_t *));
void MBR_dump __P((mbr_t *));
void MBR_dump_all __P((mbr_t *));
mbr_t *MBR_alloc __P((mbr_t *));
void MBR_free __P((mbr_t *));
mbr_t * MBR_read_all __P((disk_t *));
int MBR_write_all __P((disk_t *, mbr_t *));
void MBR_clear __P((mbr_t *));
/* Sanity check */
#include <machine/param.h>
#if (DEV_BSIZE != 512)
#error "DEV_BSIZE != 512, somebody better fix me!"
#endif
#endif /* _MBR_H */
branches/iFabio/Chameleon/i386/util/fdisk/fdisk.8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
.\"$OpenBSD: fdisk.8,v 1.38 2002/01/04 21:20:56 kjell Exp $
.\"
.\" Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
.\"
.\" "Portions Copyright (c) 2002 Apple Computer, Inc. All Rights
.\" Reserved. This file contains Original Code and/or Modifications of
.\" Original Code as defined in and that are subject to the Apple Public
.\" Source License Version 1.2 (the 'License'). You may not use this file
.\" except in compliance with the License. Please obtain a copy of the
.\" License at http://www.apple.com/publicsource and read it before using
.\" this file.
.\"
.\" The Original Code and all software distributed under the License are
.\" distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
.\" EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
.\" INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
.\" FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
.\" License for the specific language governing rights and limitations
.\" under the License."
.\"
.\" Copyright (c) 1997 Tobias Weingartner
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by Tobias Weingartner.
.\" 4. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd January 3, 2002
.Dt FDISK 8
.Os
.Sh NAME
.Nm fdisk
.Nd DOS partition maintenance program
.Sh SYNOPSIS
.Nm fdisk
.Op Fl ieu
.Op Fl f Ar mbrname
.Op Fl c Ar cylinders
.Op Fl h Ar heads
.Op Fl s Ar sectors
.Op Fl S Ar size
.Op Fl b Ar size
.Ar device
.Sh DESCRIPTION
In order for the BIOS to boot the kernel, certain conventions must be
adhered to.
Sector 0 of a bootable hard disk must contain boot code,
an MBR partition table, and a magic number (0xAA55).
These MBR partitions (also
known as BIOS partitions) can be used to break the disk up into several
pieces.
.Pp
The BIOS loads sector 0 of the boot disk into memory, verifies
the magic number, and begins executing the code at the first byte.
The normal DOS MBR boot code searches the MBR partition table for an
.Dq active
partition (indicated by a
.Ql \&*
in the first column), and if one
is found, the boot block from that partition is loaded and executed in
place of the original (MBR) boot block.
.Pp
The options are as follows:
.Bl -tag -width Ds
.It Fl i
Initialize the MBR sector.
.It Fl a Ar style
Specify an automatic partitioning style.
.It Fl e
Edit existing MBR sectors.
.It Fl f Ar mbrname
Specifies an alternate MBR template file.
.It Fl u
Update MBR code, preserving existing partition table.
.It Fl y
Do not ask for confirmation before writing.
.It Fl d
Dump partition table in a format readable by the -r option.
.It Fl r
Read a partition table from the standard input.
.It Fl t
Test if the disk is partitioned.
.It Xo Fl c Ar cylinders ,
.Fl h Ar heads ,
.Fl s Ar sectors
.Xc
Specifies an alternate BIOS geometry for
.Nm
to use.
.It Fl S Ar size
Specify the disk size in blocks.
.It Fl b Ar size
Specify the number of bytes per disk block.
.El
.Pp
The DOS
.Nm
program can be used to divide space on the disk into partitions and set
one active.
This
.Nm
program serves a similar purpose to the DOS program.
When called with no special flags, it prints the MBR partition
table of the specified device, i.e.,
.Bd -literal
# fdisk fd0
Disk: fd0 geometry: 80/2/18 [2880 sectors]
Offset: 0 Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
----------------------------------------------------------------------
*1: A6 0 0 1 - 79 1 18 [ 0 - 2880] OpenBSD
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: A7 0 0 2 - 79 1 18 [ 1 - 2879] NEXTSTEP
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
.Ed
.Pp
The geometry displayed is a synthetic geometry unless another geometry
has been selected using the
.Fl c ,
.Fl h ,
.Fl s ,
.Fl S ,
and
.Fl b
options.
In the future,
.Nm
will read the BIOS geometry from the IOKit registry.
.Pp
In this example,
the disk is divided into two partitions that happen to fill the disk.
The first partition overlaps the third partition.
(Used for debugging purposes.)
.Bl -tag -width "start/size"
.It Em "#"
Number of partition table entry.
A
.Dq \&*
denotes the bootable partition.
.It Em "id"
System identifier.
.Ox
reserves the
magic number 166 decimal (A6 in hex).
If no 166 partition is found, it will use an older
.Fx
partition (with a magic number of 165 or A5 in hex).
.It Em "cyl/hd/sec"
These fields provide the starting and ending address of the partition
in BIOS geometry
.It Em "start/size"
These fields provide the starting sector and size in sectors of the
partition in linear block addresses.
.El
.Pp
.Em NOTE :
The sectors field is
.Dq 1 based ,
and the start field is
.Dq 0 based .
The CHS values may need to be in the BIOS's geometry
for older systems to be able to boot and use the drive correctly;
most modern systems prefer the starting sector and size
in preference to the CHS values.
.Pp
The
.Fl i
flag is used to indicate that the partition data is to be initialized.
In this mode,
.Nm
will completely overwrite the primary MBR and partition table, either
using the default MBR template, or the one specified by the
.Fl f
flag.
.Pp
In the default template, partition number 1 will be configured as a
Darwin boot
partition spanning from cylinder 0, head 1, sector 1, and extending
for 8 megabytes.
Partition number 2 will be configured as a
Darwin HFS
partition spanning the rest of the disk.
This mode is designed to initialize an MBR the very first time,
or when it has been corrupted beyond repair.
.Pp
You can specify other default partition styles with the
.Fl a
flag. The available styles are:
.Bl -tag -width "start/size"
.It Em "boothfs"
Creates an 8Mb boot partition (type AB hex)
and makes the rest of the disk
a Darwin HFS partition (type AF hex).
.It Em "bootufs"
Creates an 8Mb boot partition (type AB hex)
and makes the rest of the disk
a Darwin UFS partition (type A8 hex).
.It Em "ufs"
Makes the entire disk one Darwin UFS partition (type A8 hex).
.It Em "hfs"
Makes the entire disk one HFS+ partition (type AF hex).
.It Em "dos"
Makes the entire disk one DOS partition (type 0C hex).
.It Em "raid"
Makes the entire disk one type AC hex partition.
.El
.Pp
The
.Fl u
flag is used to update the MBR code on a given drive.
The MBR code extends from offset 0x000 to the start of the partition table
at offset 0x1BE.
It is similar to the
.Fl i
flag, except the existing partition table is preserved. This
is useful for writing new MBR code onto an existing drive, and is
equivalent to the DOS command
.Dq FDISK /MBR .
Note that this option will overwrite the NT disk signature, if present.
The
.Fl u
and
.Fl i
flags may not be specified together.
.Pp
The flag
.Fl e
is used to modify a partition table using a interactive edit mode of the
.Nm
program.
This mode is designed to allow you to change any partition on the
drive you choose, including extended partitions.
It is a very powerful mode,
but is safe as long as you do not execute the
.Em write
command, or answer in the negative (the default) when
.Nm
asks you about writing out changes.
.Sh COMMAND MODE
When you first enter this mode, you are presented with a prompt, that looks
like so:
.Em "fdisk: 0>" .
This prompt has two important pieces of information for you.
It will tell
you if the in-memory copy of the boot block has been modified or not.
If it has been modified, the prompt will change to look like:
.Em "fdisk:*0>" .
The second piece of information pertains to the number given in the prompt.
This number specifies the disk offset of the currently selected boot block
you are editing.
This number could be something different that zero when
you are editing extended partitions.
The list of commands and their explanations are given below.
.Bl -tag -width "update"
.It Em help
Display a list of commands that
.Nm
understands in the interactive edit mode.
.It Em manual
Display this manual page.
.It Em reinit
Initialize the currently selected, in-memory copy of the
boot block.
.It Em auto
Partition the disk with one of the automatic partition styles.
.It Em disk
Display the current drive geometry that
.Nm
has
probed.
You are given a chance to edit it if you wish.
.It Em edit
Edit a given table entry in the memory copy of
the current boot block.
You may edit either in BIOS geometry mode,
or in sector offsets and sizes.
.It Em setpid
Change the partition
identifier of the given partition table entry.
This command is particularly useful for reassigning
an existing partition to OpenBSD.
.It Em flag
Make the given partition table entry bootable.
Only one entry can be marked bootable.
If you wish to boot from an extended
partition, you will need to mark the partition table entry for the
extended partition as bootable.
.It Em update
Update the machine code in the memory copy of the currently selected
boot block.
Note that this option will overwrite the NT disk
signature, if present.
.It Em select
Select and load into memory the boot block pointed
to by the extended partition table entry in the current boot block.
.It Em print
Print the currently selected in-memory copy of the boot
block and its MBR table to the terminal.
.It Em write
Write the in-memory copy of the boot block to disk.
You will be asked to confirm this operation.
.It Em exit
Exit the current level of
.Nm fdisk ,
either returning to the
previously selected in-memory copy of a boot block, or exiting the
program if there is none.
.It Em quit
Exit the current level of
.Nm fdisk ,
either returning to the
previously selected in-memory copy of a boot block, or exiting the
program if there is none.
Unlike
.Em exit
it does write the modified block out.
.It Em abort
Quit program without saving current changes.
.El
.Sh NOTES
The automatic calculation of starting cylinder etc. uses
a set of figures that represent what the BIOS thinks is the
geometry of the drive.
These figures are by default taken from the in-core disklabel, or
values that
.Em /boot
has passed to the kernel, but
.Nm
gives you an opportunity to change them if there is a need to.
This allows the user to create a bootblock that can work with drives
that use geometry translation under a potentially different BIOS.
.Pp
If you hand craft your disk layout,
please make sure that the
.Ox
partition starts on a cylinder boundary.
(This restriction may be changed in the future.)
.Pp
Editing an existing partition is risky, and may cause you to
lose all the data in that partition.
.Pp
You should run this program interactively once or twice to see how it works.
This is completely safe as long as you answer the
.Dq write
questions in the
negative.
.Sh FILES
.Bl -tag -width /usr/mdec/mbr -compact
.It Pa /usr/mdec/mbr
default MBR template
.El
.Sh SEE ALSO
.Xr gpt 8 ,
.Xr pdisk 8
.Sh BUGS
There are subtleties
.Nm
detects that are not explained in this manual page.
As well, chances are that some of the subtleties it should detect are being
steamrolled.
Caveat Emptor.
branches/iFabio/Chameleon/i386/util/fdisk/Cconfig
1
2
3
4
5
6
7
config FDISK440
bool "fdisk440 utility"
default y
help
Say Y here if you want to compile the fdisk440 utility.
fdisk440 is used to update the boot0 file on the partition by replacing the first 440 bytes, instead of the first 446 bytes as with frisk.
When in doubt, say "Y".
branches/iFabio/Chameleon/i386/util/fdisk/disk.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997, 2001 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <util.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/fcntl.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/reboot.h>
#include <sys/disk.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#ifdef __i386__
#include <pexpert/i386/boot.h>
#endif
#include "disk.h"
int
DISK_open(disk, mode)
char *disk;
int mode;
{
int fd;
struct stat st;
fd = open(disk, mode);
if (fd == -1)
err(1, "%s", disk);
if (fstat(fd, &st) == -1)
err(1, "%s", disk);
/* Don't be so picky about needing a character device */
if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode) && !S_ISREG(st.st_mode))
errx(1, "%s is not a character device or a regular file", disk);
return (fd);
}
int
DISK_openshared(disk, mode, shared)
char *disk;
int mode;
int *shared;
{
int fd;
struct stat st;
*shared = 0;
fd = open(disk, mode|O_EXLOCK);
if (fd == -1) {
// if we can't have exclusive access, attempt
// to gracefully degrade to shared access
fd = open(disk, mode|O_SHLOCK);
if(fd == -1)
err(1, "%s", disk);
*shared = 1;
}
if (fstat(fd, &st) == -1)
err(1, "%s", disk);
/* Don't be so picky about needing a character device */
if (!S_ISCHR(st.st_mode) && !S_ISBLK(st.st_mode) && !S_ISREG(st.st_mode))
errx(1, "%s is not a character device or a regular file", disk);
return (fd);
}
int
DISK_close(fd)
int fd;
{
return (close(fd));
}
/* Given a size in the metrics,
* fake up a CHS geometry.
*/
void
DISK_fake_CHS(DISK_metrics *lm)
{
int heads = 4;
int spt = 63;
int cylinders = (lm->size / heads / spt);
while (cylinders > 1024 && heads < 256) {
heads *= 2;
cylinders /= 2;
}
if (heads == 256) {
heads = 255;
cylinders = (lm->size / heads / spt);
}
lm->cylinders = cylinders;
lm->heads = heads;
lm->sectors = spt;
}
/* Routine to go after the disklabel for geometry
* information. This should work everywhere, but
* in the land of PC, things are not always what
* they seem.
*/
DISK_metrics *
DISK_getlabelmetrics(name)
char *name;
{
DISK_metrics *lm = NULL;
long long size;
uint32_t sector_size;
int fd;
struct stat st;
/* Get label metrics */
if ((fd = DISK_open(name, O_RDONLY)) != -1) {
lm = malloc(sizeof(DISK_metrics));
if (fstat(fd, &st) == -1)
err(1, "%s", name);
if (!S_ISREG(st.st_mode) || S_ISBLK(st.st_mode)) {
if (ioctl(fd, DKIOCGETBLOCKCOUNT, &size) == -1) {
err(1, "Could not get disk block count");
free(lm);
return NULL;
}
if (ioctl(fd, DKIOCGETBLOCKSIZE, &sector_size) == -1) {
err(1, "Could not get disk block size");
free(lm);
return NULL;
}
} else {
sector_size = 512;
size = st.st_size / sector_size;
}
lm->sector_size = sector_size;
lm->size = size;
DISK_fake_CHS(lm);
DISK_close(fd);
}
return (lm);
}
/*
* Don't try to get BIOS disk metrics.
*/
DISK_metrics *
DISK_getbiosmetrics(name)
char *name;
{
return (NULL);
}
/* This is ugly, and convoluted. All the magic
* for disk geo/size happens here. Basically,
* the real size is the one we will use in the
* rest of the program, the label size is what we
* got from the disklabel. If the disklabel fails,
* we assume we are working with a normal file,
* and should request the user to specify the
* geometry he/she wishes to use.
*/
int
DISK_getmetrics(disk, user)
disk_t *disk;
DISK_metrics *user;
{
disk->label = DISK_getlabelmetrics(disk->name);
disk->bios = DISK_getbiosmetrics(disk->name);
/* If user supplied, use that */
if (user) {
disk->real = user;
return (0);
}
/* Fixup bios metrics to include cylinders past 1023 boundary */
if(disk->label && disk->bios){
int cyls, secs;
cyls = disk->label->size / (disk->bios->heads * disk->bios->sectors);
secs = cyls * (disk->bios->heads * disk->bios->sectors);
if ((disk->label->size - secs) < 0)
errx(1, "BIOS fixup botch (%d sectors)", disk->label->size - secs);
disk->bios->cylinders = cyls;
disk->bios->size = secs;
}
/* If we have a (fixed) BIOS geometry, use that */
if (disk->bios) {
disk->real = disk->bios;
return (0);
}
/* If we have a label, use that */
if (disk->label) {
disk->real = disk->label;
return (0);
}
/* Can not get geometry, punt */
disk->real = NULL;
return (1);
}
/* Get the disk's native sector size, updating the metrics' sector_size field.
*/
int
DISK_get_sector_size(disk, user)
disk_t *disk;
DISK_metrics *user;
{
int ret;
int fd;
uint32_t sector_size;
/* Default to 512 bytes per sector, in case of failure. */
user->sector_size = 512;
ret = 1;
fd = DISK_open(disk->name, O_RDONLY);
if (fd == -1) {
err(1, "Could not open %s", disk->name);
} else {
if (ioctl(fd, DKIOCGETBLOCKSIZE, &sector_size) == -1) {
err(1, "Could not get disk block size");
} else {
user->sector_size = sector_size;
ret = 0;
}
}
return ret;
}
int
DISK_printmetrics(disk)
disk_t *disk;
{
printf("Disk: %s\t", disk->name);
if (disk->real) {
printf("geometry: %d/%d/%d [%d sectors]\n", disk->real->cylinders,
disk->real->heads, disk->real->sectors, disk->real->size);
if (disk->real->sector_size != 512)
printf("Sector size: %d bytes\n", disk->real->sector_size);
} else {
printf("geometry: <none>\n");
}
return (0);
}
branches/iFabio/Chameleon/i386/util/fdisk/misc.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
/*
* Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apple Public Source License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://www.opensource.apple.com/apsl/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
/*
* Copyright (c) 1997 Tobias Weingartner
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Tobias Weingartner.
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <err.h>
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include "misc.h"
int
ask_cmd(cmd)
cmd_t *cmd;
{
char lbuf[100], *cp, *buf;
/* Get input */
if (fgets(lbuf, sizeof lbuf, stdin) == NULL)
errx(1, "eof");
lbuf[strlen(lbuf)-1] = '\0';
/* Parse input */
buf = lbuf;
buf = &buf[strspn(buf, " \t")];
cp = &buf[strcspn(buf, " \t")];
*cp++ = '\0';
strncpy(cmd->cmd, buf, 10);
buf = &cp[strspn(cp, " \t")];
strncpy(cmd->args, buf, 100);
return (0);
}
int
ask_num(str, flags, dflt, low, high, help)
const char *str;
int flags;
int dflt;
int low;
int high;
void (*help) __P((void));
{
char lbuf[100], *cp;
int num;
do {
again:
num = dflt;
if (flags == ASK_HEX)
printf("%s [%X - %X]: [%X] ", str, low, high, num);
else
printf("%s [%d - %d]: [%d] ", str, low, high, num);
if (help)
printf("(? for help) ");
if (fgets(lbuf, sizeof lbuf, stdin) == NULL)
errx(1, "eof");
lbuf[strlen(lbuf)-1] = '\0';
if (help && lbuf[0] == '?') {
(*help)();
goto again;
}
/* Convert */
cp = lbuf;
num = strtol(lbuf, &cp, ((flags==ASK_HEX)?16:10));
/* Make sure only number present */
if (cp == lbuf)
num = dflt;
if (*cp != '\0') {
printf("'%s' is not a valid number.\n", lbuf);
num = low - 1;
} else if (num < low || num > high) {
printf("'%d' is out of range.\n", num);
}
} while (num < low || num > high);
return (num);
}
int
ask_yn(str, default_answer)
const char *str;
int default_answer;
{
int ch, first;
printf("%s [%c] ", str, default_answer ? 'y' : 'n');
fflush(stdout);
first = ch = getchar();
while (ch != '\n' && ch != EOF)
ch = getchar();
if (ch == EOF || first == EOF)
errx(1, "eof");
if (first == '\n')
return default_answer;
return (first == 'y' || first == 'Y');
}
u_int16_t
getshort(p)
void *p;
{
unsigned char *cp = p;
return (cp[0] | (cp[1] << 8));
}
void
putshort(p, l)
void *p;
u_int16_t l;
{
unsigned char *cp = p;
*cp++ = l;
*cp++ = l >> 8;
}
u_int32_t
getlong(p)
void *p;
{
unsigned char *cp = p;
return (cp[0] | (cp[1] << 8) | (cp[2] << 16) | (cp[3] << 24));
}
void
putlong(p, l)
void *p;
u_int32_t l;
{
unsigned char *cp = p;
*cp++ = l;
*cp++ = l >> 8;
*cp++ = l >> 16;
*cp++ = l >> 24;
}
branches/iFabio/Chameleon/i386/util/fdisk/Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
SRCROOT = $(shell pwd)/../../../
OBJROOT = $(SRCROOT)/obj/i386/util/fdisk
SYMROOT = $(SRCROOT)/sym/i386
DSTROOT = $(SRCROOT)/dst/i386
DOCROOT = $(SRCROOT)/doc
IMGROOT = $(SRCROOT)/sym/cache
IMGSKELROOT = $(SRCROOT)/imgskel
CDBOOT = ${IMGROOT}/usr/standalone/i386/cdboot
DIR = fdisk
include ${SRCROOT}/Make.rules
LDFLAGS := $(LDFALGS) -mmacosx-version-min=10.5
OBJS = cmd.o32 disk.o32 fdisk.o32 getrawpartition.o32 mbr.o32 misc.o32 opendev.o32 part.o32 user.o32 auto.o32 \
cmd.o64 disk.o64 fdisk.o64 getrawpartition.o64 mbr.o64 misc.o64 opendev.o64 part.o64 user.o64 auto.o64
PROGRAM = fdisk440
PROGRAM:= $(addprefix $(SYMROOT)/, $(PROGRAM))
ifeq ($(CONFIG_FDISK440),y)
all: $(SYMROOT) $(OBJROOT) $(PROGRAM)
$(PROGRAM): $(addprefix $(OBJROOT)/, $(OBJS))
@echo "\t[LD32] $@_32"
@$(CC) $(CFLAGS) $(LDFLAGS) $(DEFINES) -arch i386 -o $@_32 $(filter %.o32,$^)
@echo "\t[LD64] $@_64"
@$(CC) $(CFLAGS) $(LDFLAGS) $(DEFINES) -arch x86_64 -o $@_64 $(filter %.o64,$^)
@echo "\t[LIPO] $@"
@lipo -create -arch i386 $@_32 -arch x86_64 $@_64 -output $@
@rm $@_32 $@_64
else
all:
endif
#dependencies
-include $(OBJROOT)/Makedep
branches/iFabio/Chameleon/i386/util/Cconfig
66
77
88
9
10
bdmesg is used to dump any messages thrown during the
chameleon boot sequence.
When in doubt, say "Y".
source "i386/util/fdisk/Cconfig"
branches/iFabio/Chameleon/i386/util/Makefile
3131
3232
3333
34
34
3535
3636
3737
......
4242
4343
4444
45
46
47
48
49
50
51
4552
4653
DIRS_NEEDED = $(OBJROOT) $(SYMROOT)
all: $(DIRS_NEEDED) $(SYMPROG)
all: $(DIRS_NEEDED) $(SYMPROG) fdisk440
$(SYMPROG): $(addprefix $(OBJROOT)/, $(OBJECTS))
@echo "\t[LD32] $(@F)_32"
@lipo -create -arch i386 $(SYMROOT)/$(@F)_32 -arch x86_64 $(SYMROOT)/$(@F)_64 -output $(SYMROOT)/$(@F)
@$(RM) $(SYMROOT)/$(@F)_32 $(SYMROOT)/$(@F)_64
.PHONY: fdisk440
fdisk440:
@echo ================= make all for fdisk =================;
@$(MAKE) -C fdisk
#dependencies
-include $(OBJROOT)/Makedep
branches/iFabio/Chameleon/package/buildpkg
6666
6767
6868
69
70
69
70
7171
7272
7373
......
121121
122122
123123
124
125
126
127
128
129
130
131
132124
133125
134126
cp -f ${1%/*}/i386/cdboot ${1}/Core/Root/usr/standalone/i386
cp -f ${1%/*}/i386/chain0 ${1}/Core/Root/usr/standalone/i386
fixperms "${1}/Core/Root/"
cp -f ${pkgroot}/fdisk440 ${1}/Core/Root/usr/sbin
#cp -f ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin
cp -f ${1%/*}/i386/fdisk440 ${1}/Core/Root/usr/sbin
cp -f ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin
local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} )
echo "[BUILD] i386 "
buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1
outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"
# End build Modules packages
# build bdmesg package
#mkdir -p ${1}/Bdmesg/Root
#cp -f ${1%/*}/i386/bdmesg ${1}/Bdmesg/Root
#fixperms "${1}/Bdmesg/Root/"
# echo "[BUILD] bdmesg "
#buildpackage "${1}/Bdmesg" "/usr/sbin/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1
# End build bdmesg package
((xmlindent--))
outline[$((outlinecount++))]="${indent[$xmlindent]}\t</line>"
# End build Chameleon package
branches/iFabio/Chameleon/package/slimpkg
44
55
66
7
7
88
99
1010
......
4040
4141
4242
43
44
45
43
44
45
4646
4747
4848
......
6464
6565
6666
67
68
67
68
6969
7070
7171
......
255255
256256
257257
258
258
259259
260260
261261
262262
263263
264
265
264
265
266266
267267
268268
269
270269
271
272
273
274270
271
272
273
274
275275
276
277276
278277
279278
packagesidentity="org.chameleon"
packagename="C2RC5"
packagename="Chameleon"
pkgroot="${0%/*}"
rm -R -f "${1}"
echo ""
echo -e $COL_BLACK"---------------------------"$COL_RESET
echo -e $COL_BLACK"Building $packagename Slim Package"$COL_RESET
echo -e $COL_BLACK"---------------------------"$COL_RESET
echo -e $COL_BLACK"---------------------"$COL_RESET
echo -e $COL_BLACK"Building Slim Package"$COL_RESET
echo -e $COL_BLACK"---------------------"$COL_RESET
echo ""
outline[$((outlinecount++))]="${indent[$xmlindent]}<choices-outline>"
cp -f ${1%/*}/i386/boot1he ${1}/Core/Root/usr/standalone/i386
cp -f ${1%/*}/i386/boot1hp ${1}/Core/Root/usr/standalone/i386
fixperms "${1}/Core/Root/"
cp -f ${pkgroot}/fdisk440 ${1}/Core/Root/usr/sbin
#cp -f ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin
cp -f ${1%/*}/i386/fdisk440 ${1}/Core/Root/usr/sbin
cp -f ${1%/*}/i386/bdmesg ${1}/Core/Root/usr/sbin
local coresize=$( du -hkc "${1}/Core/Root" | tail -n1 | awk {'print $1'} )
echo "[BUILD] i386 "
buildpackage "${1}/Core" "/" "0" "start_visible=\"false\" start_selected=\"true\"" >/dev/null 2>&1
find "${1}/${packagename}" -name '.DS_Store' -delete
pushd "${1}/${packagename}" >/dev/null
xar -c -f "${1%/*}/${packagename// /}-${version}-r${revision}.pkg" --compression none .
xar -c -f "${1%/*}/$packagename.pkg" --compression none .
popd >/dev/null
# Here is the place for assign a Icon to the pkg
ditto -xk "${pkgroot}/Icon.zip" "${pkgroot}/"
DeRez -only icns "${pkgroot}/Icon/Icon.icns" > tempicns.rsrc
Rez -append tempicns.rsrc -o "${1%/*}/${packagename// /}-${version}-r${revision}.pkg"
SetFile -a C "${1%/*}/${packagename// /}-${version}-r${revision}.pkg"
Rez -append tempicns.rsrc -o "${1%/*}/$packagename.pkg"
SetFile -a C "${1%/*}/$packagename.pkg"
rm -f tempicns.rsrc
rm -rf "${pkgroot}/Icon"
# End
echo ""
echo -e $COL_BLACK"--------------------------------"$COL_RESET
echo -e $COL_BLACK"Building $packagename process complete!"$COL_RESET
echo -e $COL_BLACK"--------------------------------"$COL_RESET
echo ""
echo -e $COL_BLACK"--------------------------"$COL_RESET
echo -e $COL_BLACK"Building process complete!"$COL_RESET
echo -e $COL_BLACK"--------------------------"$COL_RESET
echo ""
}
main "${1}" "${2}" "${3}" "${4}" "${5}"
branches/iFabio/Chameleon/Makefile
5050
5151
5252
53
53
5454
5555
5656
......
8989
9090
9191
92
93
94
95
96
9297
9398
9499
......
100105
101106
102107
108
103109
104110
) || exit $$?; \
all: $(SYMROOT) $(OBJROOT) $(SRCROOT)/auto.conf $(SRCROOT)/autoconf.h $(SRCROOT)/autoconf.inc $(SRCROOT)/.config
all: $(SYMROOT) $(OBJROOT) $(SRCROOT)/auto.conf $(SRCROOT)/autoconf.h $(SRCROOT)/autoconf.inc $(SRCROOT)/.config $(SYMROOT)/i386/vers.h
@if [ -e ".svn" ]; then svnversion -n | tr -d [:alpha:] > revision; fi
@if [ -z "$(RC_ARCHS)" ]; then \
RC_ARCHS="i386"; \
fi; \
done
$(SYMROOT)/i386/vers.h: version
@echo "#define I386BOOT_VERSION \"5.0.132\"" > $@
@echo "#define I386BOOT_BUILDDATE \"`date \"+%Y-%m-%d %H:%M:%S\"`\"" >> $@
@echo "#define I386BOOT_CHAMELEONVERSION \"`cat version`\"" >> $@
@echo "#define I386BOOT_CHAMELEONREVISION \"`svnversion -n | tr -d [:alpha:]`\"" >> $@
pkg: all
@if [ -e "$(SYMROOT)" ]; then \
sudo `pwd`/package/slimpkg `pwd`/sym/package; \
fi;
.PHONY: $(SYMROOT)/i386/vers.h
.PHONY: config
.PHONY: clean

Archive Download the corresponding diff file

Revision: 302