113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlemodule modreq_obj_global 1.0; 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlerequire { 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle class file { read }; 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletype mod_global_t; 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletype mod_foo_t; 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletype mod_bar_t; 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleoptional { 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle require { 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle class sem { create destroy }; 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle } 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle type mod_opt_t; 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle allow mod_foo_t mod_bar_t : sem { create destroy }; 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 21