1/* 2 * Copyright (c) 2012, The Linux Foundation. All rights reserved. 3 * Permission to use, copy, modify, and/or distribute this software for 4 * any purpose with or without fee is hereby granted, provided that the 5 * above copyright notice and this permission notice appear in all copies. 6 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 7 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 8 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 9 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 10 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 11 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 12 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 13 */ 14 15 16/** 17 * @defgroup shiva_acl SHIVA_ACL 18 * @{ 19 */ 20#ifndef _SHIVA_ACL_H_ 21#define _SHIVA_ACL_H_ 22 23#ifdef __cplusplus 24extern "C" { 25#endif /* __cplusplus */ 26 27#include "fal/fal_acl.h" 28 29 sw_error_t 30 shiva_acl_init(a_uint32_t dev_id); 31 32 sw_error_t 33 shiva_acl_reset(a_uint32_t dev_id); 34 35#ifdef IN_ACL 36#define SHIVA_ACL_INIT(rv, dev_id) \ 37 { \ 38 rv = shiva_acl_init(dev_id); \ 39 SW_RTN_ON_ERROR(rv); \ 40 } 41 42#define SHIVA_ACL_RESET(rv, dev_id) \ 43 { \ 44 rv = shiva_acl_reset(dev_id); \ 45 SW_RTN_ON_ERROR(rv); \ 46 } 47#else 48#define SHIVA_ACL_INIT(rv, dev_id) 49#define SHIVA_ACL_RESET(rv, dev_id) 50#endif 51 52#ifdef HSL_STANDALONG 53 54 HSL_LOCAL sw_error_t 55 shiva_acl_list_creat(a_uint32_t dev_id, a_uint32_t list_id, 56 a_uint32_t list_pri); 57 58 59 HSL_LOCAL sw_error_t 60 shiva_acl_list_destroy(a_uint32_t dev_id, a_uint32_t list_id); 61 62 63 HSL_LOCAL sw_error_t 64 shiva_acl_rule_add(a_uint32_t dev_id, a_uint32_t list_id, 65 a_uint32_t rule_id, a_uint32_t rule_nr, 66 fal_acl_rule_t * rule); 67 68 69 HSL_LOCAL sw_error_t 70 shiva_acl_rule_delete(a_uint32_t dev_id, a_uint32_t list_id, 71 a_uint32_t rule_id, a_uint32_t rule_nr); 72 73 74 HSL_LOCAL sw_error_t 75 shiva_acl_rule_query(a_uint32_t dev_id, a_uint32_t list_id, 76 a_uint32_t rule_id, fal_acl_rule_t * rule); 77 78 79 HSL_LOCAL sw_error_t 80 shiva_acl_list_bind(a_uint32_t dev_id, a_uint32_t list_id, 81 fal_acl_direc_t direc, fal_acl_bind_obj_t obj_t, 82 a_uint32_t obj_idx); 83 84 85 HSL_LOCAL sw_error_t 86 shiva_acl_list_unbind(a_uint32_t dev_id, a_uint32_t list_id, 87 fal_acl_direc_t direc, fal_acl_bind_obj_t obj_t, 88 a_uint32_t obj_idx); 89 90 91 HSL_LOCAL sw_error_t 92 shiva_acl_status_set(a_uint32_t dev_id, a_bool_t enable); 93 94 95 HSL_LOCAL sw_error_t 96 shiva_acl_status_get(a_uint32_t dev_id, a_bool_t * enable); 97 98 99 HSL_LOCAL sw_error_t 100 shiva_acl_list_dump(a_uint32_t dev_id); 101 102 103 HSL_LOCAL sw_error_t 104 shiva_acl_rule_dump(a_uint32_t dev_id); 105 106#endif 107 108#ifdef __cplusplus 109} 110#endif /* __cplusplus */ 111#endif /* _SHIVA_ACL_H_ */ 112/** 113 * @} 114 */ 115