1255e72915d4cbddceb435e13d81601755714e9fSE Androidmodule linker_test_2 1.0;
2255e72915d4cbddceb435e13d81601755714e9fSE Android
3255e72915d4cbddceb435e13d81601755714e9fSE Androidrequire { 
4255e72915d4cbddceb435e13d81601755714e9fSE Android	class file { read write };
5255e72915d4cbddceb435e13d81601755714e9fSE Android	class lnk_file { unlink };
6255e72915d4cbddceb435e13d81601755714e9fSE Android	attribute g_b_attr_5;
7255e72915d4cbddceb435e13d81601755714e9fSE Android	attribute g_b_attr_6;
8255e72915d4cbddceb435e13d81601755714e9fSE Android	attribute g_m1_attr_3;
9255e72915d4cbddceb435e13d81601755714e9fSE Android	attribute o3_m1_attr_2;
10255e72915d4cbddceb435e13d81601755714e9fSE Android}
11255e72915d4cbddceb435e13d81601755714e9fSE Android
12255e72915d4cbddceb435e13d81601755714e9fSE Androidtype tag_g_m2;
13255e72915d4cbddceb435e13d81601755714e9fSE Android
14255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_1;
15dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole g_m2_role_1;
16255e72915d4cbddceb435e13d81601755714e9fSE Androidrole g_m2_role_1 types g_m2_type_1;
17255e72915d4cbddceb435e13d81601755714e9fSE Android
18255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_4, g_b_attr_5;
19255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_5, g_b_attr_6;
20255e72915d4cbddceb435e13d81601755714e9fSE Android
21255e72915d4cbddceb435e13d81601755714e9fSE Android#add types to role declared in base test
22255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_2;
23dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole g_b_role_3;
24255e72915d4cbddceb435e13d81601755714e9fSE Androidrole g_b_role_3 types g_m2_type_2;
25255e72915d4cbddceb435e13d81601755714e9fSE Android
26255e72915d4cbddceb435e13d81601755714e9fSE Android#optional base role w/ adds in 2 modules
27dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalleyrole o4_b_role_1;
28255e72915d4cbddceb435e13d81601755714e9fSE Androidrole o4_b_role_1 types g_m2_type_1;
29255e72915d4cbddceb435e13d81601755714e9fSE Android
30255e72915d4cbddceb435e13d81601755714e9fSE Android# attr a added to in base optional, declared/added to in module, added to in other module
31255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_3, g_m1_attr_3;
32255e72915d4cbddceb435e13d81601755714e9fSE Android
33255e72915d4cbddceb435e13d81601755714e9fSE Android# attr a added to in base optional, declared/added in module optional, added to in other module
34255e72915d4cbddceb435e13d81601755714e9fSE Androidtype g_m2_type_6, o3_m1_attr_2;
35255e72915d4cbddceb435e13d81601755714e9fSE Android
36255e72915d4cbddceb435e13d81601755714e9fSE Android# cond mapping tests
37255e72915d4cbddceb435e13d81601755714e9fSE Androidbool g_m2_bool_1 true;
38255e72915d4cbddceb435e13d81601755714e9fSE Androidbool g_m2_bool_2 false;
39255e72915d4cbddceb435e13d81601755714e9fSE Androidif (g_m2_bool_1 && g_m2_bool_2) {
40255e72915d4cbddceb435e13d81601755714e9fSE Android	allow g_m2_type_1 g_m2_type_2 : lnk_file unlink;
41255e72915d4cbddceb435e13d81601755714e9fSE Android}
42255e72915d4cbddceb435e13d81601755714e9fSE Android
43255e72915d4cbddceb435e13d81601755714e9fSE Androidoptional {
44255e72915d4cbddceb435e13d81601755714e9fSE Android	require {
45255e72915d4cbddceb435e13d81601755714e9fSE Android		type optional_type;
46255e72915d4cbddceb435e13d81601755714e9fSE Android	}
47255e72915d4cbddceb435e13d81601755714e9fSE Android
48255e72915d4cbddceb435e13d81601755714e9fSE Android	type tag_o1_m2;
49255e72915d4cbddceb435e13d81601755714e9fSE Android
50255e72915d4cbddceb435e13d81601755714e9fSE Android	type o1_m2_type_1;
51dedcd596b31e0e4fc15d75b3a8b5e6b61e6c28b3Stephen Smalley	role o1_m2_role_1;
52255e72915d4cbddceb435e13d81601755714e9fSE Android	role o1_m2_role_1 types o1_m2_type_1;
53255e72915d4cbddceb435e13d81601755714e9fSE Android}
54255e72915d4cbddceb435e13d81601755714e9fSE Android
55255e72915d4cbddceb435e13d81601755714e9fSE Android
56255e72915d4cbddceb435e13d81601755714e9fSE Androidoptional {
57255e72915d4cbddceb435e13d81601755714e9fSE Android	require {
58255e72915d4cbddceb435e13d81601755714e9fSE Android		attribute g_m1_attr_4;
59255e72915d4cbddceb435e13d81601755714e9fSE Android		attribute o4_m1_attr_1;
60255e72915d4cbddceb435e13d81601755714e9fSE Android	}
61255e72915d4cbddceb435e13d81601755714e9fSE Android	type tag_o2_m2;
62255e72915d4cbddceb435e13d81601755714e9fSE Android
63255e72915d4cbddceb435e13d81601755714e9fSE Android	type o2_m2_type_1, g_m1_attr_4;
64255e72915d4cbddceb435e13d81601755714e9fSE Android	type o2_m2_type_2, o4_m1_attr_1;
65255e72915d4cbddceb435e13d81601755714e9fSE Android
66255e72915d4cbddceb435e13d81601755714e9fSE Android}
67