match.h (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) | match.h (33fc95d8293cfca352ac875668857293e22d7d51) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * AppArmor security module 4 * 5 * This file contains AppArmor policy dfa matching engine definitions. 6 * 7 * Copyright (C) 1998-2008 Novell/SUSE 8 * Copyright 2009-2012 Canonical Ltd. --- 111 unchanged lines hidden (view full) --- 120static inline size_t table_size(size_t len, size_t el_size) 121{ 122 return ALIGN(sizeof(struct table_header) + len * el_size, 8); 123} 124 125int aa_setup_dfa_engine(void); 126void aa_teardown_dfa_engine(void); 127 | 1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * AppArmor security module 4 * 5 * This file contains AppArmor policy dfa matching engine definitions. 6 * 7 * Copyright (C) 1998-2008 Novell/SUSE 8 * Copyright 2009-2012 Canonical Ltd. --- 111 unchanged lines hidden (view full) --- 120static inline size_t table_size(size_t len, size_t el_size) 121{ 122 return ALIGN(sizeof(struct table_header) + len * el_size, 8); 123} 124 125int aa_setup_dfa_engine(void); 126void aa_teardown_dfa_engine(void); 127 |
128#define aa_state_t unsigned int 129 |
|
128struct aa_dfa *aa_dfa_unpack(void *blob, size_t size, int flags); | 130struct aa_dfa *aa_dfa_unpack(void *blob, size_t size, int flags); |
129unsigned int aa_dfa_match_len(struct aa_dfa *dfa, unsigned int start, 130 const char *str, int len); 131unsigned int aa_dfa_match(struct aa_dfa *dfa, unsigned int start, 132 const char *str); 133unsigned int aa_dfa_next(struct aa_dfa *dfa, unsigned int state, 134 const char c); 135unsigned int aa_dfa_outofband_transition(struct aa_dfa *dfa, 136 unsigned int state); 137unsigned int aa_dfa_match_until(struct aa_dfa *dfa, unsigned int start, 138 const char *str, const char **retpos); 139unsigned int aa_dfa_matchn_until(struct aa_dfa *dfa, unsigned int start, 140 const char *str, int n, const char **retpos); | 131aa_state_t aa_dfa_match_len(struct aa_dfa *dfa, aa_state_t start, 132 const char *str, int len); 133aa_state_t aa_dfa_match(struct aa_dfa *dfa, aa_state_t start, 134 const char *str); 135aa_state_t aa_dfa_next(struct aa_dfa *dfa, aa_state_t state, const char c); 136aa_state_t aa_dfa_outofband_transition(struct aa_dfa *dfa, aa_state_t state); 137aa_state_t aa_dfa_match_until(struct aa_dfa *dfa, aa_state_t start, 138 const char *str, const char **retpos); 139aa_state_t aa_dfa_matchn_until(struct aa_dfa *dfa, aa_state_t start, 140 const char *str, int n, const char **retpos); |
141 142void aa_dfa_free_kref(struct kref *kref); 143 144#define WB_HISTORY_SIZE 24 145struct match_workbuf { 146 unsigned int count; 147 unsigned int pos; 148 unsigned int len; 149 unsigned int size; /* power of 2, same as history size */ 150 unsigned int history[WB_HISTORY_SIZE]; 151}; 152#define DEFINE_MATCH_WB(N) \ 153struct match_workbuf N = { \ 154 .count = 0, \ 155 .pos = 0, \ 156 .len = 0, \ 157} 158 | 141 142void aa_dfa_free_kref(struct kref *kref); 143 144#define WB_HISTORY_SIZE 24 145struct match_workbuf { 146 unsigned int count; 147 unsigned int pos; 148 unsigned int len; 149 unsigned int size; /* power of 2, same as history size */ 150 unsigned int history[WB_HISTORY_SIZE]; 151}; 152#define DEFINE_MATCH_WB(N) \ 153struct match_workbuf N = { \ 154 .count = 0, \ 155 .pos = 0, \ 156 .len = 0, \ 157} 158 |
159unsigned int aa_dfa_leftmatch(struct aa_dfa *dfa, unsigned int start, 160 const char *str, unsigned int *count); | 159aa_state_t aa_dfa_leftmatch(struct aa_dfa *dfa, aa_state_t start, 160 const char *str, unsigned int *count); |
161 162/** 163 * aa_get_dfa - increment refcount on dfa @p 164 * @dfa: dfa (MAYBE NULL) 165 * 166 * Returns: pointer to @dfa if @dfa is NULL will return NULL 167 * Requires: @dfa must be held with valid refcount when called 168 */ --- 28 unchanged lines hidden --- | 161 162/** 163 * aa_get_dfa - increment refcount on dfa @p 164 * @dfa: dfa (MAYBE NULL) 165 * 166 * Returns: pointer to @dfa if @dfa is NULL will return NULL 167 * Requires: @dfa must be held with valid refcount when called 168 */ --- 28 unchanged lines hidden --- |