1255e72915d4cbddceb435e13d81601755714e9fSE Android/* Author: Karl MacMillan <kmacmillan@tresys.com> 2255e72915d4cbddceb435e13d81601755714e9fSE Android * 3255e72915d4cbddceb435e13d81601755714e9fSE Android * Copyright (C) 2004-2005 Tresys Technology, LLC 4255e72915d4cbddceb435e13d81601755714e9fSE Android * 5255e72915d4cbddceb435e13d81601755714e9fSE Android * This library is free software; you can redistribute it and/or 6255e72915d4cbddceb435e13d81601755714e9fSE Android * modify it under the terms of the GNU Lesser General Public 7255e72915d4cbddceb435e13d81601755714e9fSE Android * License as published by the Free Software Foundation; either 8255e72915d4cbddceb435e13d81601755714e9fSE Android * version 2.1 of the License, or (at your option) any later version. 9255e72915d4cbddceb435e13d81601755714e9fSE Android * 10255e72915d4cbddceb435e13d81601755714e9fSE Android * This library is distributed in the hope that it will be useful, 11255e72915d4cbddceb435e13d81601755714e9fSE Android * but WITHOUT ANY WARRANTY; without even the implied warranty of 12255e72915d4cbddceb435e13d81601755714e9fSE Android * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13255e72915d4cbddceb435e13d81601755714e9fSE Android * Lesser General Public License for more details. 14255e72915d4cbddceb435e13d81601755714e9fSE Android * 15255e72915d4cbddceb435e13d81601755714e9fSE Android * You should have received a copy of the GNU Lesser General Public 16255e72915d4cbddceb435e13d81601755714e9fSE Android * License along with this library; if not, write to the Free Software 17255e72915d4cbddceb435e13d81601755714e9fSE Android * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18255e72915d4cbddceb435e13d81601755714e9fSE Android */ 19255e72915d4cbddceb435e13d81601755714e9fSE Android 20255e72915d4cbddceb435e13d81601755714e9fSE Android#ifndef _SEPOL_POLICYDB_MODULE_H_ 21255e72915d4cbddceb435e13d81601755714e9fSE Android#define _SEPOL_POLICYDB_MODULE_H_ 22255e72915d4cbddceb435e13d81601755714e9fSE Android 23255e72915d4cbddceb435e13d81601755714e9fSE Android#include <stdlib.h> 24255e72915d4cbddceb435e13d81601755714e9fSE Android#include <stddef.h> 25255e72915d4cbddceb435e13d81601755714e9fSE Android 26255e72915d4cbddceb435e13d81601755714e9fSE Android#include <sepol/module.h> 27255e72915d4cbddceb435e13d81601755714e9fSE Android 28255e72915d4cbddceb435e13d81601755714e9fSE Android#include <sepol/policydb/policydb.h> 29255e72915d4cbddceb435e13d81601755714e9fSE Android#include <sepol/policydb/conditional.h> 30255e72915d4cbddceb435e13d81601755714e9fSE Android 31255e72915d4cbddceb435e13d81601755714e9fSE Android#define SEPOL_MODULE_PACKAGE_MAGIC 0xf97cff8f 32255e72915d4cbddceb435e13d81601755714e9fSE Android 33255e72915d4cbddceb435e13d81601755714e9fSE Androidstruct sepol_module_package { 34255e72915d4cbddceb435e13d81601755714e9fSE Android sepol_policydb_t *policy; 35255e72915d4cbddceb435e13d81601755714e9fSE Android uint32_t version; 36255e72915d4cbddceb435e13d81601755714e9fSE Android char *file_contexts; 37255e72915d4cbddceb435e13d81601755714e9fSE Android size_t file_contexts_len; 38255e72915d4cbddceb435e13d81601755714e9fSE Android char *seusers; 39255e72915d4cbddceb435e13d81601755714e9fSE Android size_t seusers_len; 40255e72915d4cbddceb435e13d81601755714e9fSE Android char *user_extra; 41255e72915d4cbddceb435e13d81601755714e9fSE Android size_t user_extra_len; 42255e72915d4cbddceb435e13d81601755714e9fSE Android char *netfilter_contexts; 43255e72915d4cbddceb435e13d81601755714e9fSE Android size_t netfilter_contexts_len; 44255e72915d4cbddceb435e13d81601755714e9fSE Android}; 45255e72915d4cbddceb435e13d81601755714e9fSE Android 46255e72915d4cbddceb435e13d81601755714e9fSE Androidextern int sepol_module_package_init(sepol_module_package_t * p); 47255e72915d4cbddceb435e13d81601755714e9fSE Android 48255e72915d4cbddceb435e13d81601755714e9fSE Android#endif 49