113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Author: Karl MacMillan <kmacmillan@tresys.com> 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * Copyright (C) 2004-2005 Tresys Technology, LLC 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * This library is free software; you can redistribute it and/or 613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * modify it under the terms of the GNU Lesser General Public 713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * License as published by the Free Software Foundation; either 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * version 2.1 of the License, or (at your option) any later version. 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * This library is distributed in the hope that it will be useful, 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * but WITHOUT ANY WARRANTY; without even the implied warranty of 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * Lesser General Public License for more details. 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * You should have received a copy of the GNU Lesser General Public 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * License along with this library; if not, write to the Free Software 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle */ 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#ifndef _SEPOL_POLICYDB_MODULE_H_ 2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define _SEPOL_POLICYDB_MODULE_H_ 2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stdlib.h> 2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <stddef.h> 2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <sepol/module.h> 2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <sepol/policydb/policydb.h> 2913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <sepol/policydb/conditional.h> 30ed7a6ba24ad3241e696fa7bc9bb56bb4f373147bdcashman#include <sys/cdefs.h> 3113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define SEPOL_MODULE_PACKAGE_MAGIC 0xf97cff8f 3313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 34ed7a6ba24ad3241e696fa7bc9bb56bb4f373147bdcashman__BEGIN_DECLS 35ed7a6ba24ad3241e696fa7bc9bb56bb4f373147bdcashman 3613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlestruct sepol_module_package { 3713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle sepol_policydb_t *policy; 3813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle uint32_t version; 3913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle char *file_contexts; 4013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle size_t file_contexts_len; 4113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle char *seusers; 4213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle size_t seusers_len; 4313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle char *user_extra; 4413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle size_t user_extra_len; 4513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle char *netfilter_contexts; 4613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle size_t netfilter_contexts_len; 4713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle}; 4813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int sepol_module_package_init(sepol_module_package_t * p); 5013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 51ed7a6ba24ad3241e696fa7bc9bb56bb4f373147bdcashman__END_DECLS 5213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#endif 53