Jason Tang jtang@tresys.com
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Definition in file sort.c.
#include "seaudit_internal.h"
#include <apol/util.h>
#include <errno.h>
#include <string.h>
Go to the source code of this file.
Classes | |
| struct | seaudit_sort |
| struct | sort_name_map |
Typedefs | |
| typedef int( | sort_comp_func )(const seaudit_sort_t *sort, const seaudit_message_t *a, const seaudit_message_t *b) |
| Callback that compares two messages. | |
| typedef int( | sort_supported_func )(const seaudit_sort_t *sort, const seaudit_message_t *m) |
| Callback that returns non-zero if the sort routine can handle the given message, 0 if not supported. | |
Functions | |
| seaudit_sort_t * | seaudit_sort_create_from_sort (const seaudit_sort_t *sort) |
| Create a new sort object, initialized with the data from an existing sort. | |
| void | seaudit_sort_destroy (seaudit_sort_t **sort) |
| Destroy the referenced seaudit_sort object. | |
| seaudit_sort_t * | sort_create (const char *name, sort_comp_func *comp, sort_supported_func support, const int direction) |
| seaudit_sort_t * | sort_create_from_sort (const seaudit_sort_t *sort) |
| Create and return a new sort object, initialized with the data from an existing sort object. | |
| int | sort_message_type_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_message_type_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_message_type (const int direction) |
| Instruct a model to sort messages by message type: boolean changes, then avc denies, then avc allows, then policy load messages. | |
| int | sort_date_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| Given two dates compare them, checking to see if the dates passed in have valid years and correcting if not before comparing. | |
| int | sort_date_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_date (const int direction) |
| Instruct a model to sort messages by chronological order. | |
| int | sort_host_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_host_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_host (const int direction) |
| Instruct a model to sort messages by host name, alphabetically. | |
| int | sort_perm_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_perm_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_permission (const int direction) |
| Instruct a model to sort AVC messages by permissions, alphabetically. | |
| int | sort_source_user_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_source_user_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_source_user (const int direction) |
| Instruct a model to sort AVC messages by source context's user, alphabetically. | |
| int | sort_source_role_comp (const seaudit_sort_t *sort __attribute((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_source_role_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_source_role (const int direction) |
| Instruct a model to sort AVC messages by source context's role, alphabetically. | |
| int | sort_source_type_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_source_type_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_source_type (const int direction) |
| Instruct a model to sort AVC messages by source context's type, alphabetically. | |
| int | sort_target_user_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_target_user_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_target_user (const int direction) |
| Instruct a model to sort AVC messages by target context's user, alphabetically. | |
| int | sort_target_role_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_target_role_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_target_role (const int direction) |
| Instruct a model to sort AVC messages by target context's role, alphabetically. | |
| int | sort_target_type_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_target_type_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_target_type (const int direction) |
| Instruct a model to sort AVC messages by target context's type, alphabetically. | |
| int | sort_object_class_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_object_class_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_object_class (const int direction) |
| Instruct a model to sort AVC messages by object class, alphabetically. | |
| int | sort_executable_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_executable_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_executable (const int direction) |
| Instruct a model to sort AVC messages by the executable, alphabetically. | |
| int | sort_command_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_command_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_command (const int direction) |
| Instruct a model to sort AVC messages by the command, alphabetically. | |
| int | sort_name_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_name_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_name (const int direction) |
| Instruct a model to sort AVC messages by the name, alphabetically. | |
| int | sort_path_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_path_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_path (const int direction) |
| Instruct a model to sort AVC messages by the path, alphabetically. | |
| int | sort_device_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_device_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_device (const int direction) |
| Instruct a model to sort AVC messages by the device, alphabetically. | |
| int | sort_inode_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_inode_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_inode (const int direction) |
| Instruct a model to sort AVC messages by the object's inode. | |
| int | sort_pid_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_pid_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_pid (const int direction) |
| Instruct a model to sort AVC messages by the process ID. | |
| int | sort_port_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_port_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_port (const int direction) |
| Instruct a model to sort AVC messages by the port number. | |
| int | sort_laddr_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_laddr_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_laddr (const int direction) |
| Instruct a model to sort AVC messages by local address, alphabetically. | |
| int | sort_lport_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_lport_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_lport (const int direction) |
| Instruct a model to sort AVC messages by the local port number. | |
| int | sort_faddr_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_faddr_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_faddr (const int direction) |
| Instruct a model to sort AVC messages by foreign address, alphabetically. | |
| int | sort_fport_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_fport_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_fport (const int direction) |
| Instruct a model to sort AVC messages by the foreign port number. | |
| int | sort_saddr_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_saddr_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_saddr (const int direction) |
| Instruct a model to sort AVC messages by source address, alphabetically. | |
| int | sort_sport_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_sport_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_sport (const int direction) |
| Instruct a model to sort AVC messages by the source port number. | |
| int | sort_daddr_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_daddr_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_daddr (const int direction) |
| Instruct a model to sort AVC messages by destination address, alphabetically. | |
| int | sort_dport_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_dport_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_dport (const int direction) |
| Instruct a model to sort AVC messages by the destination port number. | |
| int | sort_key_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_key_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_key (const int direction) |
| Instruct a model to sort AVC messages by the IPC call's key. | |
| int | sort_cap_comp (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *a, const seaudit_message_t *b) |
| int | sort_cap_support (const seaudit_sort_t *sort __attribute__((unused)), const seaudit_message_t *msg) |
| seaudit_sort_t * | seaudit_sort_by_cap (const int direction) |
| Instruct a model to sort AVC messages by the process capability value. | |
| seaudit_sort_t * | sort_create_from_name (const char *name, int direction) |
| Create and return a new sort object based upon the name of the sort (as returned by sort_get_name()). | |
| int | sort_is_supported (const seaudit_sort_t *sort, const seaudit_message_t *msg) |
| Given a sort object and a message, return non-zero if this sort object could operate on the message, 0 if not. | |
| int | sort_comp (const seaudit_sort_t *sort, const seaudit_message_t *a, const seaudit_message_t *b) |
| Invoke a sort object's comparison function. | |
| const char * | sort_get_name (const seaudit_sort_t *sort) |
| Return the type of sort this sort object is. | |
| int | sort_get_direction (const seaudit_sort_t *sort) |
| Return the sort direction for a sort object. | |
Variables | |
| const struct sort_name_map | create_map [] |
|
|
Callback that compares two messages.
|
|
|
Callback that returns non-zero if the sort routine can handle the given message, 0 if not supported.
|
|
|
Create a new sort object, initialized with the data from an existing sort. The new sort will not be attached to any model.
Definition at line 51 of file sort.c. References seaudit_sort::comp, seaudit_sort::direction, seaudit_sort::name, seaudit_sort_t, and seaudit_sort::support. 00052 {
00053 seaudit_sort_t *s;
00054 if (sort == NULL) {
00055 errno = EINVAL;
00056 return NULL;
00057 }
00058 if ((s = calloc(1, sizeof(*s))) == NULL) {
00059 return NULL;
00060 }
00061 s->name = sort->name;
00062 s->comp = sort->comp;
00063 s->support = sort->support;
00064 s->direction = sort->direction;
00065 return s;
00066 }
|
|
|
Destroy the referenced seaudit_sort object.
Definition at line 68 of file sort.c. References seaudit_sort_t. Referenced by message_view_on_column_click(), model_sort_dup(), and sort_free(). 00069 {
00070 if (sort != NULL && *sort != NULL) {
00071 free(*sort);
00072 *sort = NULL;
00073 }
00074 }
|
|
||||||||||||||||||||
|
|
Create and return a new sort object, initialized with the data from an existing sort object. The new sort object will not be attached to any models.
Definition at line 89 of file sort.c. References seaudit_sort::comp, seaudit_sort::direction, seaudit_sort::name, seaudit_sort_t, sort_create(), and seaudit_sort::support. Referenced by model_sort_dup(). 00090 {
00091 if (sort == NULL) {
00092 errno = EINVAL;
00093 return NULL;
00094 }
00095 return sort_create(sort->name, sort->comp, sort->support, sort->direction);
00096 }
|
|
||||||||||||||||
|
Definition at line 98 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::msg, seaudit_message_t, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_message_type(). 00100 {
00101 if (a->type != b->type) {
00102 return a->type - b->type;
00103 }
00104 if (a->type == SEAUDIT_MESSAGE_TYPE_AVC) {
00105 return a->data.avc->msg - b->data.avc->msg;
00106 }
00107 return 0;
00108 }
|
|
||||||||||||
|
Definition at line 110 of file sort.c. References seaudit_message_t, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_message_type(). 00111 {
00112 return msg->type != SEAUDIT_MESSAGE_TYPE_INVALID;
00113 }
|
|
|
Instruct a model to sort messages by message type: boolean changes, then avc denies, then avc allows, then policy load messages.
Definition at line 115 of file sort.c. References seaudit_sort_t, sort_create(), sort_message_type_comp(), and sort_message_type_support(). 00116 {
00117 return sort_create("message_type", sort_message_type_comp, sort_message_type_support, direction);
00118 }
|
|
||||||||||||||||
|
Given two dates compare them, checking to see if the dates passed in have valid years and correcting if not before comparing.
Definition at line 124 of file sort.c. References seaudit_message::date_stamp, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_date(). 00126 {
00127 /* tm has year, month, day, hour, min, sec */
00128 /* if we should compare the years */
00129 struct tm *t1 = a->date_stamp;
00130 struct tm *t2 = b->date_stamp;
00131 int retval;
00132 if (t1->tm_year != 0 && t2->tm_year != 0 && (retval = t1->tm_year - t2->tm_year) != 0) {
00133 return retval;
00134 }
00135 if ((retval = t1->tm_mon - t2->tm_mon) != 0) {
00136 return retval;
00137 }
00138 if ((retval = t1->tm_mday - t2->tm_mday) != 0) {
00139 return retval;
00140 }
00141 if ((retval = t1->tm_hour - t2->tm_hour) != 0) {
00142 return retval;
00143 }
00144 if ((retval = t1->tm_min - t2->tm_min) != 0) {
00145 return retval;
00146 }
00147 if ((retval = t1->tm_sec - t2->tm_sec) != 0) {
00148 return retval;
00149 }
00150 return 0;
00151 }
|
|
||||||||||||
|
Definition at line 153 of file sort.c. References seaudit_message::date_stamp, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_date(). 00154 {
00155 return msg->date_stamp != NULL;
00156 }
|
|
|
Instruct a model to sort messages by chronological order.
Definition at line 158 of file sort.c. References seaudit_sort_t, sort_create(), sort_date_comp(), and sort_date_support(). 00159 {
00160 return sort_create("date", sort_date_comp, sort_date_support, direction);
00161 }
|
|
||||||||||||||||
|
Definition at line 163 of file sort.c. References seaudit_message::host, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_host().
|
|
||||||||||||
|
Definition at line 169 of file sort.c. References seaudit_message::host, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_host(). 00170 {
00171 return msg->host != NULL;
00172 }
|
|
|
Instruct a model to sort messages by host name, alphabetically.
Definition at line 174 of file sort.c. References seaudit_sort_t, sort_create(), sort_host_comp(), and sort_host_support(). 00175 {
00176 return sort_create("host", sort_host_comp, sort_host_support, direction);
00177 }
|
|
||||||||||||||||
|
Definition at line 179 of file sort.c. References apol_str_strcmp(), apol_vector_compare(), seaudit_message::avc, seaudit_message::data, seaudit_avc_message::perms, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_permission(). 00181 {
00182 size_t i;
00183 return apol_vector_compare(a->data.avc->perms, b->data.avc->perms, apol_str_strcmp, NULL, &i);
00184 }
|
|
||||||||||||
|
Definition at line 186 of file sort.c. References apol_vector_get_size(), seaudit_message::avc, seaudit_message::data, seaudit_avc_message::perms, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_permission(). 00187 {
00188 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC &&
00189 msg->data.avc->perms != NULL && apol_vector_get_size(msg->data.avc->perms) >= 1;
00190 }
|
|
|
Instruct a model to sort AVC messages by permissions, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 192 of file sort.c. References seaudit_sort_t, sort_create(), sort_perm_comp(), and sort_perm_support(). 00193 {
00194 return sort_create("permission", sort_perm_comp, sort_perm_support, direction);
00195 }
|
|
||||||||||||||||
|
Definition at line 197 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::suser. Referenced by seaudit_sort_by_source_user().
|
|
||||||||||||
|
Definition at line 203 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::suser, and seaudit_message::type. Referenced by seaudit_sort_by_source_user(). 00204 {
00205 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->suser != NULL;
00206 }
|
|
|
Instruct a model to sort AVC messages by source context's user, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 208 of file sort.c. References seaudit_sort_t, sort_create(), sort_source_user_comp(), and sort_source_user_support(). 00209 {
00210 return sort_create("source_user", sort_source_user_comp, sort_source_user_support, direction);
00211 }
|
|
||||||||||||||||
|
Definition at line 213 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::srole. Referenced by seaudit_sort_by_source_role().
|
|
||||||||||||
|
Definition at line 219 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::srole, and seaudit_message::type. Referenced by seaudit_sort_by_source_role(). 00220 {
00221 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->srole != NULL;
00222 }
|
|
|
Instruct a model to sort AVC messages by source context's role, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 224 of file sort.c. References seaudit_sort_t, sort_create(), sort_source_role_comp(), and sort_source_role_support(). 00225 {
00226 return sort_create("source_role", sort_source_role_comp, sort_source_role_support, direction);
00227 }
|
|
||||||||||||||||
|
Definition at line 229 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::stype. Referenced by seaudit_sort_by_source_type().
|
|
||||||||||||
|
Definition at line 235 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::stype, and seaudit_message::type. Referenced by seaudit_sort_by_source_type(). 00236 {
00237 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->stype != NULL;
00238 }
|
|
|
Instruct a model to sort AVC messages by source context's type, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 240 of file sort.c. References seaudit_sort_t, sort_create(), sort_source_type_comp(), and sort_source_type_support(). 00241 {
00242 return sort_create("source_type", sort_source_type_comp, sort_source_type_support, direction);
00243 }
|
|
||||||||||||||||
|
Definition at line 245 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::tuser. Referenced by seaudit_sort_by_target_user().
|
|
||||||||||||
|
Definition at line 251 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::tuser, and seaudit_message::type. Referenced by seaudit_sort_by_target_user(). 00252 {
00253 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->tuser != NULL;
00254 }
|
|
|
Instruct a model to sort AVC messages by target context's user, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 256 of file sort.c. References seaudit_sort_t, sort_create(), sort_target_user_comp(), and sort_target_user_support(). 00257 {
00258 return sort_create("target_user", sort_target_user_comp, sort_target_user_support, direction);
00259 }
|
|
||||||||||||||||
|
Definition at line 261 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::trole. Referenced by seaudit_sort_by_target_role().
|
|
||||||||||||
|
Definition at line 267 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::trole, and seaudit_message::type. Referenced by seaudit_sort_by_target_role(). 00268 {
00269 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->trole != NULL;
00270 }
|
|
|
Instruct a model to sort AVC messages by target context's role, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 272 of file sort.c. References seaudit_sort_t, sort_create(), sort_target_role_comp(), and sort_target_role_support(). 00273 {
00274 return sort_create("target_role", sort_target_role_comp, sort_target_role_support, direction);
00275 }
|
|
||||||||||||||||
|
Definition at line 277 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::ttype. Referenced by seaudit_sort_by_target_type().
|
|
||||||||||||
|
Definition at line 283 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::ttype, and seaudit_message::type. Referenced by seaudit_sort_by_target_type(). 00284 {
00285 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->ttype != NULL;
00286 }
|
|
|
Instruct a model to sort AVC messages by target context's type, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 288 of file sort.c. References seaudit_sort_t, sort_create(), sort_target_type_comp(), and sort_target_type_support(). 00289 {
00290 return sort_create("target_type", sort_target_type_comp, sort_target_type_support, direction);
00291 }
|
|
||||||||||||||||
|
Definition at line 293 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::tclass. Referenced by seaudit_sort_by_object_class().
|
|
||||||||||||
|
Definition at line 299 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::tclass, and seaudit_message::type. Referenced by seaudit_sort_by_object_class(). 00300 {
00301 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->tclass != NULL;
00302 }
|
|
|
Instruct a model to sort AVC messages by object class, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 304 of file sort.c. References seaudit_sort_t, sort_create(), sort_object_class_comp(), and sort_object_class_support(). 00305 {
00306 return sort_create("object_class", sort_object_class_comp, sort_object_class_support, direction);
00307 }
|
|
||||||||||||||||
|
Definition at line 309 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::exe, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_executable().
|
|
||||||||||||
|
Definition at line 315 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::exe, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_executable(). 00316 {
00317 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->exe != NULL;
00318 }
|
|
|
Instruct a model to sort AVC messages by the executable, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 320 of file sort.c. References seaudit_sort_t, sort_create(), sort_executable_comp(), and sort_executable_support(). 00321 {
00322 return sort_create("executable", sort_executable_comp, sort_executable_support, direction);
00323 }
|
|
||||||||||||||||
|
Definition at line 325 of file sort.c. References seaudit_message::avc, seaudit_avc_message::comm, seaudit_message::data, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_command().
|
|
||||||||||||
|
Definition at line 331 of file sort.c. References seaudit_message::avc, seaudit_avc_message::comm, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_command(). 00332 {
00333 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->comm != NULL;
00334 }
|
|
|
Instruct a model to sort AVC messages by the command, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 336 of file sort.c. References seaudit_sort_t, sort_command_comp(), sort_command_support(), and sort_create(). 00337 {
00338 return sort_create("command", sort_command_comp, sort_command_support, direction);
00339 }
|
|
||||||||||||||||
|
Definition at line 341 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::name, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_name().
|
|
||||||||||||
|
Definition at line 347 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::name, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_name(). 00348 {
00349 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->name != NULL;
00350 }
|
|
|
Instruct a model to sort AVC messages by the name, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 352 of file sort.c. References seaudit_sort_t, sort_create(), sort_name_comp(), and sort_name_support(). 00353 {
00354 return sort_create("name", sort_name_comp, sort_name_support, direction);
00355 }
|
|
||||||||||||||||
|
Definition at line 357 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::path, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_path().
|
|
||||||||||||
|
Definition at line 363 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::path, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_path(). 00364 {
00365 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->path != NULL;
00366 }
|
|
|
Instruct a model to sort AVC messages by the path, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 368 of file sort.c. References seaudit_sort_t, sort_create(), sort_path_comp(), and sort_path_support(). 00369 {
00370 return sort_create("path", sort_path_comp, sort_path_support, direction);
00371 }
|
|
||||||||||||||||
|
Definition at line 373 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::dev, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_device().
|
|
||||||||||||
|
Definition at line 379 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::dev, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_device(). 00380 {
00381 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->dev != NULL;
00382 }
|
|
|
Instruct a model to sort AVC messages by the device, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 384 of file sort.c. References seaudit_sort_t, sort_create(), sort_device_comp(), and sort_device_support(). 00385 {
00386 return sort_create("device", sort_device_comp, sort_device_support, direction);
00387 }
|
|
||||||||||||||||
|
Definition at line 389 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::inode, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_inode(). 00391 {
00392 /* need this logic because inodes are unsigned, so subtraction
00393 * could overflow */
00394 if (a->data.avc->inode < b->data.avc->inode) {
00395 return -1;
00396 }
00397 return a->data.avc->inode - b->data.avc->inode;
00398 }
|
|
||||||||||||
|
Definition at line 400 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::inode, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_inode(). 00401 {
00402 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->inode > 0;
00403 }
|
|
|
Instruct a model to sort AVC messages by the object's inode. Non-AVC messages will be placed below AVC ones.
Definition at line 405 of file sort.c. References seaudit_sort_t, sort_create(), sort_inode_comp(), and sort_inode_support(). 00406 {
00407 return sort_create("inode", sort_inode_comp, sort_inode_support, direction);
00408 }
|
|
||||||||||||||||
|
Definition at line 410 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::pid, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_pid(). 00412 {
00413 /* need this logic because pids are unsigned, so subtraction
00414 * could overflow */
00415 if (a->data.avc->pid < b->data.avc->pid) {
00416 return -1;
00417 }
00418 return a->data.avc->pid - b->data.avc->pid;
00419 }
|
|
||||||||||||
|
Definition at line 421 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::pid, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_pid(). 00422 {
00423 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->pid > 0;
00424 }
|
|
|
Instruct a model to sort AVC messages by the process ID. Non-AVC messages will be placed below AVC ones.
Definition at line 426 of file sort.c. References seaudit_sort_t, sort_create(), sort_pid_comp(), and sort_pid_support(). 00427 {
00428 return sort_create("pid", sort_pid_comp, sort_pid_support, direction);
00429 }
|
|
||||||||||||||||
|
Definition at line 431 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::port, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_port().
|
|
||||||||||||
|
Definition at line 437 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::port, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_port(). 00438 {
00439 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->port > 0;
00440 }
|
|
|
Instruct a model to sort AVC messages by the port number. Non-AVC messages will be placed below AVC ones.
Definition at line 442 of file sort.c. References seaudit_sort_t, sort_create(), sort_port_comp(), and sort_port_support(). 00443 {
00444 return sort_create("port", sort_port_comp, sort_port_support, direction);
00445 }
|
|
||||||||||||||||
|
Definition at line 447 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::laddr, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_laddr().
|
|
||||||||||||
|
Definition at line 453 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::laddr, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_laddr(). 00454 {
00455 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->laddr != NULL;
00456 }
|
|
|
Instruct a model to sort AVC messages by local address, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 458 of file sort.c. References seaudit_sort_t, sort_create(), sort_laddr_comp(), and sort_laddr_support(). 00459 {
00460 return sort_create("laddr", sort_laddr_comp, sort_laddr_support, direction);
00461 }
|
|
||||||||||||||||
|
Definition at line 463 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::lport, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_lport().
|
|
||||||||||||
|
Definition at line 469 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::lport, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_lport(). 00470 {
00471 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->lport > 0;
00472 }
|
|
|
Instruct a model to sort AVC messages by the local port number. Non-AVC messages will be placed below AVC ones.
Definition at line 474 of file sort.c. References seaudit_sort_t, sort_create(), sort_lport_comp(), and sort_lport_support(). 00475 {
00476 return sort_create("lport", sort_lport_comp, sort_lport_support, direction);
00477 }
|
|
||||||||||||||||
|
Definition at line 479 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::faddr, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_faddr().
|
|
||||||||||||
|
Definition at line 485 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::faddr, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_faddr(). 00486 {
00487 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->faddr != NULL;
00488 }
|
|
|
Instruct a model to sort AVC messages by foreign address, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 490 of file sort.c. References seaudit_sort_t, sort_create(), sort_faddr_comp(), and sort_faddr_support(). 00491 {
00492 return sort_create("faddr", sort_faddr_comp, sort_faddr_support, direction);
00493 }
|
|
||||||||||||||||
|
Definition at line 495 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::fport, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_fport().
|
|
||||||||||||
|
Definition at line 501 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::fport, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_fport(). 00502 {
00503 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->fport > 0;
00504 }
|
|
|
Instruct a model to sort AVC messages by the foreign port number. Non-AVC messages will be placed below AVC ones.
Definition at line 506 of file sort.c. References seaudit_sort_t, sort_create(), sort_fport_comp(), and sort_fport_support(). 00507 {
00508 return sort_create("fport", sort_fport_comp, sort_fport_support, direction);
00509 }
|
|
||||||||||||||||
|
Definition at line 511 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::saddr, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_saddr().
|
|
||||||||||||
|
Definition at line 517 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::saddr, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_saddr(). 00518 {
00519 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->saddr != NULL;
00520 }
|
|
|
Instruct a model to sort AVC messages by source address, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 522 of file sort.c. References seaudit_sort_t, sort_create(), sort_saddr_comp(), and sort_saddr_support(). 00523 {
00524 return sort_create("saddr", sort_saddr_comp, sort_saddr_support, direction);
00525 }
|
|
||||||||||||||||
|
Definition at line 527 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, seaudit_sort_t, and seaudit_avc_message::source. Referenced by seaudit_sort_by_sport().
|
|
||||||||||||
|
Definition at line 533 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, seaudit_avc_message::source, and seaudit_message::type. Referenced by seaudit_sort_by_sport(). 00534 {
00535 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->source > 0;
00536 }
|
|
|
Instruct a model to sort AVC messages by the source port number. Non-AVC messages will be placed below AVC ones.
Definition at line 538 of file sort.c. References seaudit_sort_t, sort_create(), sort_sport_comp(), and sort_sport_support(). 00539 {
00540 return sort_create("sport", sort_sport_comp, sort_sport_support, direction);
00541 }
|
|
||||||||||||||||
|
Definition at line 543 of file sort.c. References seaudit_message::avc, seaudit_avc_message::daddr, seaudit_message::data, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_daddr().
|
|
||||||||||||
|
Definition at line 549 of file sort.c. References seaudit_message::avc, seaudit_avc_message::daddr, seaudit_message::data, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_daddr(). 00550 {
00551 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->daddr != NULL;
00552 }
|
|
|
Instruct a model to sort AVC messages by destination address, alphabetically. Non-AVC messages will be placed below AVC ones.
Definition at line 554 of file sort.c. References seaudit_sort_t, sort_create(), sort_daddr_comp(), and sort_daddr_support(). 00555 {
00556 return sort_create("daddr", sort_daddr_comp, sort_daddr_support, direction);
00557 }
|
|
||||||||||||||||
|
Definition at line 559 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::dest, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_dport().
|
|
||||||||||||
|
Definition at line 565 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::dest, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_dport(). 00566 {
00567 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->dest > 0;
00568 }
|
|
|
Instruct a model to sort AVC messages by the destination port number. Non-AVC messages will be placed below AVC ones.
Definition at line 570 of file sort.c. References seaudit_sort_t, sort_create(), sort_dport_comp(), and sort_dport_support(). 00571 {
00572 return sort_create("dport", sort_dport_comp, sort_dport_support, direction);
00573 }
|
|
||||||||||||||||
|
Definition at line 575 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::key, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_key().
|
|
||||||||||||
|
Definition at line 581 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::is_key, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_key(). 00582 {
00583 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->is_key;
00584 }
|
|
|
Instruct a model to sort AVC messages by the IPC call's key. Non-AVC messages will be placed below AVC ones.
Definition at line 586 of file sort.c. References seaudit_sort_t, sort_create(), sort_key_comp(), and sort_key_support(). 00587 {
00588 return sort_create("key", sort_key_comp, sort_key_support, direction);
00589 }
|
|
||||||||||||||||
|
Definition at line 591 of file sort.c. References seaudit_message::avc, seaudit_avc_message::capability, seaudit_message::data, seaudit_message_t, and seaudit_sort_t. Referenced by seaudit_sort_by_cap(). 00593 {
00594 return a->data.avc->capability - b->data.avc->capability;
00595 }
|
|
||||||||||||
|
Definition at line 597 of file sort.c. References seaudit_message::avc, seaudit_message::data, seaudit_avc_message::is_capability, seaudit_message_t, SEAUDIT_MESSAGE_TYPE_AVC, seaudit_sort_t, and seaudit_message::type. Referenced by seaudit_sort_by_cap(). 00598 {
00599 return msg->type == SEAUDIT_MESSAGE_TYPE_AVC && msg->data.avc->is_capability;
00600 }
|
|
|
Instruct a model to sort AVC messages by the process capability value. Non-AVC messages will be placed below AVC ones.
Definition at line 602 of file sort.c. References seaudit_sort_t, sort_cap_comp(), sort_cap_support(), and sort_create(). 00603 {
00604 return sort_create("cap", sort_cap_comp, sort_cap_support, direction);
00605 }
|
|
||||||||||||
|
Create and return a new sort object based upon the name of the sort (as returned by sort_get_name()). The new sort object will not be attached to any models.
Definition at line 648 of file sort.c. References sort_name_map::create_fn, create_map, sort_name_map::name, and seaudit_sort_t. 00649 {
00650 size_t i;
00651 for (i = 0; create_map[i].name != NULL; i++) {
00652 if (strcmp(create_map[i].name, name) == 0) {
00653 return create_map[i].create_fn(direction);
00654 }
00655 }
00656 errno = EINVAL;
00657 return NULL;
00658 }
|
|
||||||||||||
|
Given a sort object and a message, return non-zero if this sort object could operate on the message, 0 if not. (Messages may have incomplete information due to parser warnings.)
Definition at line 660 of file sort.c. References seaudit_message_t, seaudit_sort_t, and seaudit_sort::support. Referenced by message_comp(), and model_sort(). 00661 {
00662 return sort->support(sort, msg);
00663 }
|
|
||||||||||||||||
|
Invoke a sort object's comparison function.
Definition at line 665 of file sort.c. References seaudit_sort::comp, seaudit_sort::direction, seaudit_message_t, and seaudit_sort_t. Referenced by message_comp(). 00666 {
00667 int retval = sort->comp(sort, a, b);
00668 return (sort->direction >= 0 ? retval : -1 * retval);
00669 }
|
|
|
Return the type of sort this sort object is. The name is valid for sort_create_from_name()'s first parameter.
Definition at line 671 of file sort.c. References seaudit_sort::name, and seaudit_sort_t. 00672 {
00673 return sort->name;
00674 }
|
|
|
Return the sort direction for a sort object.
Definition at line 676 of file sort.c. References seaudit_sort::direction, and seaudit_sort_t. 00677 {
00678 return sort->direction;
00679 }
|
|
|
Definition at line 615 of file sort.c. Referenced by sort_create_from_name(). |