title: y0(3)

summary: функции Бесселя второго рода

text:
# y0(3)

## ИМЯ
y0, y0f, y0l, y1, y1f, y1l, yn, ynf, ynl - функции Бесселя второго рода

## ОБЗОР

```
#include <math.h>
```

```
double y0(double x);
double y1(double x);
double yn(int n, double x);
```

```
float y0f(float x);
float y1f(float x);
float ynf(int n, float x);
```

```
long double y0l(long double x);
long double y1l(long double x);
long double ynl(int n, long double x);
```

Компонуется при указании параметра -lm.

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

y0(), y1(), yn():

_XOPEN_SOURCE

|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE

|| /* версии glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

y0f(), y0l(), y1f(), y1l(), ynf(), ynl(): _XOPEN_SOURCE >= 600

|| (_ISOC99_SOURCE && _XOPEN_SOURCE)

|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE

|| /* версии glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

## ОПИСАНИЕ
Функции y0() и y1() возвращают функцию Бесселя второго рода от x для порядков 0 и 1 соответственно. Функция yn() возвращает функцию Бесселя второго рода от x для порядка n.

Значение x должно быть положительным.

Функции y0f(), y1f() и ynf() представляют собой версии, которые принимают и возвращают значения типа float. Функции y0l(), y1l() и ynl() представляют собой версии, которые принимают и возвращают значения типа long double.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха эти функции возвращают соответствующее значение функции Бесселя второго рода от x.

Если x имеет значение NaN, будет возвращено NaN.

Если x отрицательное, то генерируется ошибка выхода за пределы области, а функции возвращают -HUGE_VAL, -HUGE_VALF или -HUGE_VALL соответственно. (В POSIX.1-2001 также допускается в этом случае возврат NaN).

Если x равно 0.0, генерируется ошибка особой точки, а функции возвращают -HUGE_VAL, -HUGE_VALF или -HUGE_VALL соответственно.

Если результат исчерпал степень, генерируется ошибка диапазона, а функции возвращают 0.0.

Если результат превышает разрядность, генерируется ошибка диапазона, а функции возвращают -HUGE_VAL, -HUGE_VALF или -HUGE_VALL соответственно (В POSIX.1-2001 также допускается в этом случае возврат 0.0).

## ОШИБКИ
Смотрите math_error(7), чтобы определить, какие ошибки могут возникать при вызове этих функций.

Могут возникать следующие ошибки:

Ошибка области: x является отрицательным

errno устанавливается в EDOM. Вызывается исключение неправильной плавающей точки (FE_INVALID).

Ошибка особой точки: x равно 0.0

errno устанавливается в ERANGE (однако смотрите раздел ДЕФЕКТЫ). В данном случае от fetestexcept(3) исключение FE_DIVBYZERO не возвращается.

Ошибка диапазона: результат исчерпал степень

errno устанавливается в ERANGE. В данном случае от fetestexcept(3) исключение FE_DIVBYZERO не возвращается.

Ошибка диапазона: результат превысил разрядность

В данном случае errno не изменяется. Вызывается исключение переполнения плавающей точки (FE_OVERFLOW).

## АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).

Интерфейс

Атрибут

Значение

y0(), y0f(), y0l()

Безвредность в нитях

MT-Safe

y1(), y1f(), y1l()

Безвредность в нитях

MT-Safe

yn(), ynf(), ynl()

Безвредность в нитях

MT-Safe

## СООТВЕТСТВИЕ СТАНДАРТАМ
Функции, возвращающие double, соответствуют SVr4, 4.3BSD, POSIX.1-2001 и POSIX.1-2008. Остальные являются не стандартизованными функциями, которые также существуют в BSD.

## ДЕФЕКТЫ
В случае ошибки особой точки данные функции устанавливают errno в EDOM вместо ERANGE, как это требует POSIX.1-2004.

В glibc-2.3.2 и младше данные функции не вызывают исключение неправильной плавающей точки (FE_INVALID) при возникновении ошибки выхода за пределы области.

## СМОТРИТЕ ТАКЖЕ
j0(3)


package: man-pages-ru-extra

title: audit_add_rule_data(3)

summary: добавить новое правило аудита

text:
# audit_add_rule_data(3)

## НАЗВАНИЕ
audit_add_rule_data - добавить новое правило аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_add_rule_data (int fd, struct audit_rule_data *rule, int flags, int action);

## ОПИСАНИЕ
Функция audit_add_rule добавляет новое правило аудита в определённый фильтр событий ядра. Фильтр указывается флагами в передаваемых аргументах. Допустимые значения флагов (flags):

•

AUDIT_FILTER_USER - применить правило к сообщениям пространства пользователя.

•

AUDIT_FILTER_TASK - применить правило при создании задачи (не к системному вызову).

•

AUDIT_FILTER_ENTRY - применить правило при выполнении системного вызова.

•

AUDIT_FILTER_WATCH - применить правило при обращении к файловой системе.

•

AUDIT_FILTER_EXIT - применить правило по завершении выполнения системного вызова.

•

AUDIT_FILTER_TYPE - применить правило при выполнении функции audit_log_start.

Правило (rule) может принимать следующее значение:

•

AUDIT_NEVER - не порождать никакой информации если правило соответствует.

•

AUDIT_ALWAYS - создать запись события аудита при соответствии правила.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе, порядковый номер сообщения netlink. Также эта функция может вернуть любую ошибку, которая может произойти при вызове функции sendto.

## СМ. ТАКЖЕ
audit_delete_rule_data(3), audit_add_watch(3), auditctl(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007

branch: sisyphus


title: audit_add_watch(3)

summary: создать формат наблюдения для правила

text:
# audit_add_watch(3)

## НАЗВАНИЕ
audit_add_watch - создать формат наблюдения для правила

## СИНТАКСИС
\#include <libaudit.h>

int audit_add_watch(struct audit_rule_data **rulep, const char *path);

## ОПИСАНИЕ
Функция audit_add_watch will создаёт в указателе на правило указатель на формат наблюдения. Вам потребуется передать только полное имя файла и функция инициализирует структуру формата наблюдения audit_rule_data.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при возникновении ошибки, 0 в случае успешного завершения.

## СМ. ТАКЖЕ
audit_add_rule_data(3), audit_delete_rule_data(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_delete_rule_data(3)

summary: удалить правило audit

text:
# audit_delete_rule_data(3)

## НАЗВАНИЕ
audit_delete_rule_data - удалить правило audit

## СИНТАКСИС
\#include <libaudit.h>

int audit_delete_rule_data (int fd, struct audit_rule_data *rule, int flags, int action);

## ОПИСАНИЕ
Функция audit_delete_rule_data используется для удаления правил, загруженных в данный момент в ядро. Для удаления правила вы должны установить правило идентичное удалённому правилу. Смотрите информацию о функции audit_add_rule_data для определения флагов и действий.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращаемое значение <= 0 при ошибке, в остальных случаях возвращается значение идентификационного номера сетевой последовательности (netlink sequence id number). Эта функция может иметь любую ошибку, если встречается sendto.

## СМ. ТАКЖЕ
audit_add_rule_data(3), auditctl(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Сергей В. Миронов <sergo@bk.ru> 2007


title: audit_detect_machine(3)

summary: определяет тип компьютера

text:
# audit_detect_machine(3)

## НАЗВАНИЕ
audit_detect_machine - определяет тип компьютера

## СИНТАКСИС
\#include <libaudit.h>

int audit_detect_machine (void);

## ОПИСАНИЕ
Функция audit_detect_machine использует uname и преобразует строку вывода в числовое значение, определённое в machine_t. Определение типа компьютера необходимо для любого использования функции audit_name_to_syscall.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращается значение -1, в остальных случаях возвращаемое значение является типом компьютера.

## СМ. ТАКЖЕ
uname(3), audit_name_to_syscall(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Сергей В. Миронов <sergo@bk.ru> 2007


title: audit_get_reply(3)

summary: получение ответа системы аудита

text:
# audit_get_reply(3)

## НАЗВАНИЕ
audit_get_reply - получение ответа системы аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_get_reply(int fd, struct audit_reply *rep, reply_t block, int peek);

## ОПИСАНИЕ
Эта функция получает следующий пакет данных, посланный в сокет сетевого соединения. Эта функция обычно вызывается после того, как послана команда системе аудита. fd должен быть открытым файловым дескриптором,который возвращен функцией audit_open. rep должен быть структурой данных, в которой нужно получить ответ. block имеет тип reply_t, который является GET_REPLY_BLOCKING и GET_REPLY_NONBLOCKING. Если peek не равен нулю, данные получаются без исключения из очереди сокета.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Эта функция возвращает -1 при ошибке, 0 если получен ошибочный ответ, и положительное значение в случае успеха.

## СМ. ТАКЖЕ
audit_open(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: audit_getloginuid(3)

summary: получение значение loginuid программы

text:
# audit_getloginuid(3)

## НАЗВАНИЕ
audit_getloginuid - получение значение loginuid программы

## СИНТАКСИС
\#include <libaudit.h>

uid_t audit_getloginuid(void);

## ОПИСАНИЕ
Эта функция возвращает loginuid программы.

## ВОЗВРАЩЕМОЕ ЗНАЧЕНИЕ
Эта функция возвращает значение loginuid если оно было установлено. Если loginuid не был установлен, возвращается -1. Так как uid_t имеет беззнаковый тип, будет возвращено преобразованное к беззнаковому типу значение.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при неудаче. Однако в случае серьезной ошибки следует использовать errno. Эта функция может установить errno, основанное на ошибках открытия, чтения и strtoul.

## СМ. ТАКЖЕ
audit_setloginuid(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: audit_log_acct_message(3)

text:
# audit_log_acct_message(3)

## НАЗВАНИЕ
audit_log_acct_message - регистрация событий управления пользователями и группами

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_acct_message(int audit_fd, int type, const char *pgname, const char *op, const char *name, unsigned int id, const char *host, const char *addr, const char *tty, int result)

## ОПИСАНИЕ
Эта функция регистрирует сообщения в системе аудита, используя предопределённый формат сообщения. Она должна использоваться для всех операций с пользователями и группами. Параметры функции следующие:

```
audit_fd - дескриптор, возвращённый audit_open
type - тип сообщения: AUDIT_USER_CHAUTHTOK для изменения любых атрибутов учётной записи.
pgname - имя приложения. Если NULL, то определить автоматически
op  -  описание операции. Примеры: "adding user", "changing finger info", "deleting group"
name - имя пользователя или группы. Если недоступно, используется NULL.
id  -  uid или gid, на котором выполняется операция. Используется только тогда, когда значение name NULL.
host - имя узла (если известно)
addr - сетевой адрес пользователя
tty  - tty пользователя. Если NULL, то будет предпринята попытка определения.
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_message(3), audit_log_user_comm_message(3), audit_log_user_avc_message(3), audit_log_semanage_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_log_user_avc_message(3)

text:
# audit_log_user_avc_message(3)

## НАЗВАНИЕ
audit_log_user_avc_message - регистрация сообщения менеджеров SELinux.

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_user_avc_message(int audit_fd, int type, const char *message, const char *hostname, const char *addr, const char *tty, uid_t uid)

## ОПИСАНИЕ
Эта функция регистрирует сообщения системы аудита, используя предопределённый формат сообщения. Эта функция должна использоваться всеми консольными приложениями, которые являются менеджерами объектов SELinux. Параметры функции следующие:

```
audit_fd - дескриптор, возвращаемый audit_open
type - тип сообщения. Например: AUDIT_USER_AVC
message - текст сообщения
hostname - имя узла (если известно)
addr - сетевой адрес пользователя
tty - tty пользователя. Если NULL, то будет предпринята попытка определения.
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_message(3), audit_log_acct_message(3), audit_log_user_avc_message(3), audit_log_semanage_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_log_user_comm_message(3)

text:
# audit_log_user_comm_message(3)

## НАЗВАНИЕ
audit_log_user_comm_message - регистрация сообщений пользователя из консольных приложений

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_user_comm_message(int audit_fd, int type, const char *message, const char *comm, const char *hostname, const char *addr, const char *tty, int result)

## ОПИСАНИЕ
Эта функция регистрирует сообщения системы аудита, используя предопределённый формат сообщения. Эта функция должна использоваться всеми консольными приложениями, которые не производят операции с пользователями или группами и выполняют скрипты. Например, показать запуск python или crond. Параметры функции следующие:

```
audit_fd - дескриптор, возвращённый audit_open
type - тип сообщения. Например: AUDIT_USYS_CONFIG, AUDIT_USER_LOGIN
message - текст сообщения
comm - название консольной программы
hostname - имя узла (если известно). Если неизвестно, то NULL
addr - сетевой адрес пользователя. Если неизвестно, то NULL
tty - tty пользователя. Если NULL, то будет предпринята попытка определения.
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_message(3), audit_log_acct_message(3), audit_log_user_avc_message(3), audit_log_semanage_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_log_user_command(3)

summary: регистрация команд пользователя

text:
# audit_log_user_command(3)

## НАЗВАНИЕ
audit_log_user_command - регистрация команд пользователя

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_user_command(int audit_fd, int type, const char *command, const char *tty, int result);

## ОПИСАНИЕ
Эта функция регистрирует сообщения в контрольной системе, используя предопределённый формат сообщения. Используется для проверки строк команд. Эта функция должна использоваться всеми приложениями, нуждающимися в проверке команд. Параметры функции следующие:

```
audit_fd - дескриптор, возвращаемый audit_open
type - тип сообщения. Например: AUDIT_USYS_CONFIG, AUDIT_USER_LOGIN
command - проверяемая команда
tty - tty пользователя. Если NULL, то будет предпринята попытка определения.
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_message(3), audit_log_user_comm_message(3), audit_log_acct_message(3), audit_log_user_avc_message(3), audit_log_semanage_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_log_user_message(3)

text:
# audit_log_user_message(3)

## НАЗВАНИЕ
audit_log_user_message - регистрация общих сообщений пользователя

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_user_message(int audit_fd, int type, const char *message, const char *hostname, const char *addr, const char *tty, int result)

## ОПИСАНИЕ
Эта функция регистрирует сообщения в системе аудита, используя предопределённый формат сообщения. Эта функция используется всеми консольными приложениями, которые не производят операции с пользователями или группами. Параметры функции следующие:

```
audit_fd - дескриптор, возвращённый audit_open
type - тип сообщения. Например: AUDIT_USYS_CONFIG, AUDIT_USER_LOGIN
message - текст сообщения
hostname - имя узла (если известно). Если неизвестно, то NULL
addr - сетевой адрес пользователя. Если неизвестно, то NULL
tty - tty пользователя. Если NULL, то будет предпринята попытка определения.
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_comm_message(3), audit_log_acct_message(3), audit_log_user_avc_message(3), audit_log_semanage_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_log_user_semange_message(3)

summary: регистрация сообщений SELinux

text:
# audit_log_user_semange_message(3)

## НАЗВАНИЕ
audit_log_user_semanage_message - регистрация сообщений SELinux

## СИНТАКСИС
\#include <libaudit.h>

int audit_log_user_semanage_message(int audit_fd, int type, const char *pgname, const char *op, const char *name, unsigned int id, const char *new_seuser, const char *new_role, const char *new_range, const char *old_seuser, const char *old_role, const char *old_range, const char *host, const char *addr, const char *tty, int result)

## ОПИСАНИЕ
Эта функция регистрирует сообщения в системе аудита, используя предопределённый формат сообщения. Эта функция должна использоваться при любых операциях с пользователями или ролями SELinux. Параметры функции следующие:

```
audit_fd - дескриптор, возвращённый audit_open
type - тип сообщения: AUDIT_USER_ROLE_CHANGE для изменения атрибутов пользователя или роли SELinux.
pgname - имя программы
op  -  операция. "adding user", "changing finger info", "deleting group"
name - имя пользователя или группы. Если неизвестно, то NULL
id  -  uid или gid, над которым осуществляется действие. Используется при значении user == NULL.
new_seuser - новый назначенный пользователь SELinux
new_role - новая назначенная роль SELinux
new_range - новый назначенный диапазон MLS
old_seuser - прежний назначенный пользователь SELinux
old_role - прежнее назначенное правило SELinux
old_range - прежний назначенный диапазон MLS
host - имя узла (если известно)
addr - сетевой адрес пользователя
tty - tty пользователя
result - 1 ("успешно") или 0 ("ошибка")
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает порядковое значение больше 0 при успешном выполнении или <= 0 при ошибке.

## ОБРАБОТКА ОШИБОК
Эта функция возвращает значение -1 при ошибке. Используйте errno для получения большей информации.

## СМ. ТАКЖЕ
audit_log_user_message(3), audit_log_acct_message(3), audit_log_user_avc_message(3), audit_log_user_comm_message(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_open(3)

text:
# audit_open(3)

## НАЗВАНИЕ
audit_open - открыть сокет netlink для системы аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_open (void);

## ОПИСАНИЕ
Функция audit_open создает сокет NETLINK_AUDIT для обмена информацией между ядром и системой аудита Linux. Система аудита использует возможность ACK для сокета netlink. Это означает, что каждое сообщение ядру возвращает пакет статуса даже если действие завершилось успешно.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, при успешном выполнении возвращает дескриптор сокета.

## СМ. ТАКЖЕ
netlink(7).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_request_rules_list_data(3)

summary: получить список текущих правил аудита

text:
# audit_request_rules_list_data(3)

## НАЗВАНИЕ
audit_request_rules_list_data - получить список текущих правил аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_request_rules_list_data (int fd);

## ОПИСАНИЕ
Функция audit_request_rules_list_data запрашивает у ядра список текущих правил аудита. Правила возвращаются по одному при каждом вызове этой функции.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_add_rule_data(3), audit_delete_rule_data(3), audit_open(3), auditctl(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_request_signal_info(3)

summary: запрос информации о сигнале

text:
# audit_request_signal_info(3)

## НАЗВАНИЕ
audit_request_signal_info - запрос информации о сигнале

## СИНТАКСИС
\#include <libaudit.h>

int audit_request_signal_info(int fd);

## ОПИСАНИЕ
Функция audit_request_signal_info запрашивает у ядра информацию об отправителе сигнала системе аудита. Структура информации о сигнале:

```
struct audit_sig_info {

        uid_t           uid;

        pid_t           pid;

        char            ctx[0];
};
```

Эта функция предназначена для использования демоном аудита и не должна вызываться другими программами.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_open(3), audit_get_reply(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_request_status(3)

summary: получить статус системы аудита

text:
# audit_request_status(3)

## НАЗВАНИЕ
audit_request_status - получить статус системы аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_request_status (int fd);

## ОПИСАНИЕ
audit_request_status запрашивает ядро для получения структуры статуса системы аудита с различными параметрами. Структура audit_status:

```
struct audit_status {

   __u32   mask;           /* битовая маска допустимых параметров */

   __u32   enabled;        /* 1 = включена, 0 = отключена */

   __u32   failure;        /* действие Failure-to-log */

   __u32   pid;            /* pid процесса демона auditd */

   __u32   rate_limit;     /* лимит сообщений (в секунду) */

   __u32   backlog_limit;  /* лимит сообщений в очереди */

   __u32   lost;           /* потеряно сообщений */

   __u32   backlog;        /* количество сообщений в очереди */
};
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_open(3), audit_get_reply(3), auditd(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_set_backlog_limit(3)

text:
# audit_set_backlog_limit(3)

## НАЗВАНИЕ
audit_set_backlog_limit - установить предельное значение очереди демона аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_set_backlog_limit (int fd, int limit);

## ОПИСАНИЕ
Функция audit_set_backlog_limit устанавливает длину очереди событий аудита, ожидающих передачи службе аудита. Установленное по умолчанию значение равное 64 может быть превышено в моменты пиковой активности системы. Если достигнуто установленное предельное значение ожидающих запросов, ядро смотрит флаг failure_flag для выбора действия в этой ситуации.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке, возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_set_failure(3), audit_open(3), auditd(8), auditctl(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_set_enabled(3)

summary: включить или отключить систему аудита

text:
# audit_set_enabled(3)

## НАЗВАНИЕ
audit_set_enabled - включить или отключить систему аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_set_enabled (int fd, int enabled);

## ОПИСАНИЕ
audit_set_enabled используется для включения и отключения системы аудита. При включении системы аудита (enabled установлено в 1), каждый системный вызов проходит через систему аудита для сбора информации и, возможно, генерации события аудита.

Если система аудита отключена (enabled установлено в 0), системные вызовы не проходят через систему аудита и данные не собираются. Однако в этом случае некоторые подсистемы MAC (такие как SELinux) могут генерировать события даже при отключенной системе аудита. Это можно отключить при добавлении в правило аудита флага AUDIT_FILTER_TYPE.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_add_rule_data(3), auditd(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_set_failure(3)

summary: установить действие при сбое

text:
# audit_set_failure(3)

## НАЗВАНИЕ
audit_set_failure - установить действие при сбое

## СИНТАКСИС
\#include <libaudit.h>

int audit_set_failure (int fd, int failure);

## ОПИСАНИЕ
audit_set_failure устанавливает действие, которое должно предпринять ядро при достижении предельного значения очереди демона аудита или невозможности определения ошибки. Возможные значения:

0 - AUDIT_FAIL_PRINTK [по умолчанию]

Сообщить, используя функцию printk, которая обычно пишет в syslog.

1 - AUDIT_FAIL_SILENT

Ничего не делать, ни о чем не сообщать и продолжить.

2 - AUDIT_FAIL_PANIC

Инициировать остановку ядра. Это используется для предотвращения потери событий аудита.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При ошибке возвращает значение <= 0. Иначе - порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_set_backlog(3), audit_open(3), auditd(8), auditctl(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского russians <pawel5000@gmail.com> 2007


title: audit_set_pid(3)

summary: установить ID процесса демона аудита

text:
# audit_set_pid(3)

## НАЗВАНИЕ
audit_set_pid - установить ID процесса демона аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_set_pid (int fd, int pid);

## ОПИСАНИЕ
Функция audit_set_pid сообщает ядру идентификатор процесса демона аудита (pid). Если установить его в 0, то ядро будет записывать все события в системный журнал syslog. Иначе оно попытается посылать события через соединение netlink, имеющее то же значение, что и заданный функцией идентификатор процесса. При исчезновении процесса по какой-либо причине, ядро само установит значение в 0. Обычно эта функция вызывается демоном аудита, но не внешними программами.

## ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При ошибке возвращает значение <= 0. Иначе, порядковый номер сообщения netlink. В функции может произойти любая ошибка, появляющаяся в функции sendto.

## СМ. ТАКЖЕ
audit_open(3), auditd(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_set_rate_limit(3)

summary: установка лимита частоты аудита

text:
# audit_set_rate_limit(3)

## НАЗВАНИЕ
audit_set_rate_limit - установка лимита частоты аудита

## СИНТАКСИС
\#include <libaudit.h>

int audit_set_rate_limit (int fd, int limit);

## ОПИСАНИЕ
audit_set_rate_limit устанавливает максимальное число сообщений, посылаемых ядром за секунду. Это может быть использовано для уменьшения частоты если система загружена. При этом обмен будет прекращен. В этом случае события будут пропущены. Значение по умолчанию равно 0, то есть предел не установлен.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает значение <= 0 при ошибке, в других случаях номер последовательности сетевых соединений. Эта фунция может допускать ошибки, с которыми может столкнуться sendto.

## СМ. ТАКЖЕ
audit_open(3), auditd(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: audit_setloginuid(3)

summary: установить значение loginuid процесса

text:
# audit_setloginuid(3)

## НАЗВАНИЕ
audit_setloginuid - установить значение loginuid процесса

## СИНТАКСИС
\#include <libaudit.h>

int audit_setloginuid(uid_t uid);

## ОПИСАНИЕ
Эта функция устанавливает атрибут loginuid для процесса в соответствии со значением идентификатора пользователя (uid). Значение loginuid может быть установлено только программой, обладающей возможностями контроля аудита (CAP_AUDIT_CONTROL). Обычно это программа, запущенная с правами суперпользователя root.

Значение loginuid является частью выполняемой задачи и наследуется дочерними процессами. Оно используется для отслеживания прав доступа, которые имеет данная учётная запись пользователя. Все программы, являющиеся точками входа в систему, должны устанавливать правильные значения loginuid до смены идентификатора пользователя (uid) для того, чтобы события аудита должным образом соотносились с данным пользователем.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция возвращает 0 в случае успешного завершения. Иначе возвращается значение отличное от нуля.

## СМ. ТАКЖЕ
audit_getloginuid(3), pam_loginuid(8).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Василий Коломеец <boojuman@gmail.com> 2007


title: audit_update_watch_perms(3)

summary: обновляет права команды watch

text:
# audit_update_watch_perms(3)

## НАЗВАНИЕ
audit_update_watch_perms - обновляет права команды watch

## СИНТАКСИС
\#include <libaudit.h>

int audit_update_watch_perms(struct audit_rule_data *rule, int perms);

## ОПИСАНИЕ
audit_update_watch_perms добавляет проверку прав команды watch. Доступны следующие права, которые могут объединяться логическим оператором ИЛИ: AUDIT_PERM_EXEC, AUDIT_PERM_WRITE, AUDIT_PERM_READ, AUDIT_PERM_ATTR.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает число < 0 при ошибке, в остальных случаях 0.

## СМ. ТАКЖЕ
audit_add_rule_data(3), audit_add_watch(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_destroy(3)

summary: уничтожение экземпляра парсера

text:
# auparse_destroy(3)

## НАЗВАНИЕ
auparse_destroy - уничтожение экземпляра парсера

## СИНТАКСИС
\#include <auparse.h>

void auparse_destroy (auparse_state_t *au);

## ОПИСАНИЕ
auparse_destroy освобождает все структуры данных и закрывает файловые дескрипторы.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Нет.

## СМ. ТАКЖЕ
auparse_init(3), auparse_reset(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_find_field(3)

summary: поиск поля по имени

text:
# auparse_find_field(3)

## НАЗВАНИЕ
auparse_find_field - поиск поля по имени

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_find_field(auparse_state_t *au, const char *name);

## ОПИСАНИЕ
auparse_find_field сканирует все записи события до первого поля с указанным именем. Поиск начинается с текущего положения курсора. Название поля сохраняется для последующего поиска.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL если значение не найдено. Если происходит ошибка, устанавливается код ошибки для errno. В остальных случаях возвращает указатель на строку с именем этого поля.

## СМ. ТАКЖЕ
auparse_first_record(3), auparse_next_event(3), auparse_find_field_next(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_find_field_next(3)

text:
# auparse_find_field_next(3)

## НАЗВАНИЕ
auparse_find_field_next - находит следующее поле по заданному имени

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_find_field_next(auparse_state_t *au);

## ОПИСАНИЕ
auparse_find_field_next находит следующее поле с заданным именем. Сканирует до достижения последней записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL если значение не найдено. Если происходит ошибка, устанавливается код ошибки для errno. В остальных случаях возвращает указатель на строку с именем этого поля.

## СМ. ТАКЖЕ
auparse_first_record(3), auparse_next_event(3), auparse_find_field(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_first_field(3)

summary: установка курсора на первое поле

text:
# auparse_first_field(3)

## НАЗВАНИЕ
auparse_first_field - установка курсора на первое поле

## СИНТАКСИС
\#include <auparse.h>

int auparse_first_field(auparse_state_t *au);

## ОПИСАНИЕ
auparse_first_field устанавливает курсор на первое поле текущей записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при отсутствии данных события и 1 в случае успеха.

## СМ. ТАКЖЕ
auparse_next_field(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_first_record(3)

summary: установка курсора на первую запись

text:
# auparse_first_record(3)

## НАЗВАНИЕ
auparse_first_record - установка курсора на первую запись

## СИНТАКСИС
\#include <auparse.h>

int auparse_first_record(auparse_state_t *au);

## ОПИСАНИЕ
auparse_first_record устанавливает курсор на первую запись текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 если произошла ошибка, 0 при отсутствии данных события, или 1 при успехе.

## СМ. ТАКЖЕ
auparse_next_event(3), auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_field_int(3)

summary: получение значения поля в формате int

text:
# auparse_get_field_int(3)

## НАЗВАНИЕ
auparse_get_field_int - получение значения поля в формате int

## СИНТАКСИС
\#include <auparse.h>

int auparse_get_field_int(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_field_int возвращает значение текущего поля текущей записи текущего события в формате int.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 если происходит ошибка и установлено соответствующее errno или значение поля если errno не установлен.

## СМ. ТАКЖЕ
auparse_get_field_str(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_field_name(3)

summary: получение имени текущего поля

text:
# auparse_get_field_name(3)

## НАЗВАНИЕ
auparse_get_field_name - получение имени текущего поля

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_get_field_name(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_field_name возвращает имя текущего поля текущей записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает указатель на имя поля.

## СМ. ТАКЖЕ
auparse_get_field_str(3), auparse_interpret_field(3), auparse_next_field(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_field_str(3)

summary: получение значения текущего поля

text:
# auparse_get_field_str(3)

## НАЗВАНИЕ
auparse_get_field_str - получение значения текущего поля

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_get_field_str(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_field_str возвращает значение текущего поля текущей записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает указатель на значение поля.

## СМ. ТАКЖЕ
auparse_get_field_name(3), auparse_interpret_field(3), auparse_next_field(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_milli(3)

text:
# auparse_get_milli(3)

## НАЗВАНИЕ
auparse_get_milli - получение времени события в миллисекундах

## СИНТАКСИС
\#include <auparse.h>

unsigned int auparse_get_milli(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_milli возвращает время текущего события в миллисекундах.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - значение миллисекундной составляющей штампа времени.

## СМ. ТАКЖЕ
auparse_get_timestamp(3), auparse_get_time(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_num_fields(3)

summary: получение количества полей

text:
# auparse_get_num_fields(3)

## НАЗВАНИЕ
auparse_get_num_fields - получение количества полей

## СИНТАКСИС
\#include <auparse.h>

unsigned int auparse_get_num_fields(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_num_fields возвращает количество полей текущей записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - количество полей.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_num_records(3)

summary: получение количества записей

text:
# auparse_get_num_records(3)

## НАЗВАНИЕ
auparse_get_num_records - получение количества записей

## СИНТАКСИС
\#include <auparse.h>

unsigned int auparse_get_num_records(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_num_records возвращает количество записей текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - количество записей.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Nataliya Smirnova <oohhh@list.ru> 2007


title: auparse_get_record_text(3)

text:
# auparse_get_record_text(3)

## НАЗВАНИЕ
auparse_get_record_text - доступ к неструктурированным данным записи

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_get_record_text(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_record_text возвращает неструктурированное содержимое записи.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает курсор к записи.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_get_serial(3)

summary: получение серийного номера события

text:
# auparse_get_serial(3)

## НАЗВАНИЕ
auparse_get_serial - получение серийного номера события

## СИНТАКСИС
\#include <auparse.h>

unsigned long auparse_get_serial(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_serial возвращает значение серийного номера из структуры данных штампа времени текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - серийный номер события.

## СМ. ТАКЖЕ
auparse_get_timestamp(3), auparse_get_time(3), auparse_get_milli(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_get_time(3)

summary: получение времени события

text:
# auparse_get_time(3)

## НАЗВАНИЕ
auparse_get_time - получение времени события

## СИНТАКСИС
\#include <auparse.h>

time_t auparse_get_time(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_time возвращает время из штампа времени текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - значение времени в формате time_t.

## СМ. ТАКЖЕ
time(3), auparse_get_timestamp(3), auparse_get_milli(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_get_timestamp(3)

summary: получение штампа времени события

text:
# auparse_get_timestamp(3)

## НАЗВАНИЕ
auparse_get_timestamp - получение штампа времени события

## СИНТАКСИС
\#include <auparse.h>

const au_event_t *auparse_get_timestamp(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_timestamp возвращает структуру данных штампа времени события. Структура данных следующая:

```
typedef struct
{

        time_t sec;             // Секунды события

        unsigned int milli;     // Миллисекуды события

        unsigned long serial;   // Серийный номер события

        const char *host;       // Имя узла
} au_event_t;
```

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает указатель на данные штампа.

## СМ. ТАКЖЕ
auparse_get_time(3), auparse_get_milli(3), auparse_get_serial(3), auparse_timestamp_compare(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_get_type(3)

summary: получение типа записи

text:
# auparse_get_type(3)

## НАЗВАНИЕ
auparse_get_type - получение типа записи

## СИНТАКСИС
\#include <auparse.h>

int auparse_get_type(auparse_state_t *au);

## ОПИСАНИЕ
auparse_get_type возвращает тип записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 при ошибке, в остальных случаях - тип записи.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)


title: auparse_init(3)

text:
# auparse_init(3)

## НАЗВАНИЕ
auparse_init - инициализация экземпляра парсера системы аудита

## СИНТАКСИС
\#include <auparse.h>

auparse_state_t *auparse_init(ausource_t source, const void *b);

## ОПИСАНИЕ
auparse_init инициализирует экземпляр парсера системы аудита. Функция возвращает непрозрачный указатель на внутренние структуры парсера, который используется в функциях парсера. Аргумент source определяет, где парсеру искать данные. Допустимые значения следующие:

```
	AUSOURCE_LOGS - использовать протоколы аудита
	AUSOURCE_FILE - использовать файл
	AUSOURCE_FILE_ARRAY - использовать несколько файлов
	AUSOURCE_BUFFER - использовать буфер
	AUSOURCE_BUFFER_ARRAY - использовать массив буферов
	AUSOURCE_DESCRIPTOR - использовать конкретный дескриптор
	AUSOURCE_FILE_POINTER - использовать стандартный поток ввода
```

Метка 'b' используется для установки имени файла, массива имен файлов, указатель на буфер или массива указателей на буферы, числа-дискриптора, в зависимости от того, какой источник задан. Если в качестве источника данных используется массив файлов или буферов, следует создать массив указателей, последний элемент которого содержит NULL. Буферы должны заканчиваться нулевым символом.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает непрозрачный указатель на внутренние структуры парсера.

## СМ. ТАКЖЕ
auparse_reset(3), auparse_destroy(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_interpret_field(3)

text:
# auparse_interpret_field(3)

## НАЗВАНИЕ
auparse_interpret_field - получение интерпретированого значение поля

## СИНТАКСИС
\#include <auparse.h>

const char *auparse_interpret_field(auparse_state_t *au);

## ОПИСАНИЕ
auparse_interpret_field возвращает интерпретированное значение поля записи текущего действия. Возвращенное значение уничтожается при повторном вызове функции. Если нужно интерпретировать другое поле и сохранить предыдущее значение, следует скопировать его для последующего использования.

Примеры того, что может быть интерпретировано: uid, gid, номера системных вызовов, коды завершения, пути файлов, адреса сокетов, права, режимы и возможности. Вероятно, в будущем их будет больше. Если значение не может быть интерпретировано, возвращается необработанное значение.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает NULL при ошибке, в остальных случаях возвращает указатель на интерпретированное значение.

## СМ. ТАКЖЕ
auparse_get_field_str(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_next_event(3)

summary: переход на следующее событие

text:
# auparse_next_event(3)

4.TH "AUPARSE_NEXT_EVENT" "3" "Февраль 2007" "Red Hat" "Linux Audit API"

## НАЗВАНИЕ
auparse_next_event - переход на следующее событие

## СИНТАКСИС
\#include <auparse.h>

int auparse_next_event(auparse_state_t *au);

## ОПИСАНИЕ
auparse_next_event помещает курсор в первое поле первой записи следующего события в файле или буфере. Заданные критерии фильтрации не влияют на переход.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, 0 при отсутствии данных, 1 при успехе.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_next_field(3)

summary: переход на следующее поле

text:
# auparse_next_field(3)

## НАЗВАНИЕ
auparse_next_field - переход на следующее поле

## СИНТАКСИС
\#include <auparse.h>

int auparse_next_field(auparse_state_t *au);

## ОПИСАНИЕ
auparse_next_field перемещает внутренний курсор на следующее поле текущей записи текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает 0 если полей больше нет, 1 при успехе.

## СМ. ТАКЖЕ
auparse_next_record(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_next_record(3)

summary: переход на следующую запись

text:
# auparse_next_record(3)

## НАЗВАНИЕ
auparse_next_record - переход на следующую запись

## СИНТАКСИС
\#include <auparse.h>

int auparse_next_record(auparse_state_t *au);

## ОПИСАНИЕ
auparse_next_record перемещает внутренний курсор на следующую запись текущего события.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, 0 если записей больше нет, или 1 при успехе.

## СМ. ТАКЖЕ
auparse_next_event(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_reset(3)

summary: сброс курсоров парсера

text:
# auparse_reset(3)

## НАЗВАНИЕ
auparse_reset - сброс курсоров парсера

## СИНТАКСИС
\#include <auparse.h>

int auparse_reset(auparse_state_t *au);

## ОПИСАНИЕ
auparse_reset возвращает все внутренние курсоры в начальное состояние и закрывает файлы и дескрипторы.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, 0 при успехе.

## СМ. ТАКЖЕ
auparse_init(3), auparse_destroy(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: auparse_timestamp_compare(3)

summary: сравнение штампов времени

text:
# auparse_timestamp_compare(3)

## НАЗВАНИЕ
auparse_timestamp_compare - сравнение штампов времени

## СИНТАКСИС
\#include <auparse.h>

int auparse_timestamp_compare(au_event_t *e1, au_event_t *e2);

## ОПИСАНИЕ
auparse_timestamp_compare сравнивает два штампа времени.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1, 0, или 1 в зависимости от того, будет e2 меньше, равно или больше e1 соответственно.

## СМ. ТАКЖЕ
auparse_get_timestamp(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: ausearch_add_item(3)

summary: создать правило поиска

text:
# ausearch_add_item(3)

## НАЗВАНИЕ
ausearch_add_item - создать правило поиска

## СИНТАКСИС
\#include <auparse.h>

int ausearch_add_item(auparse_state_t *au, const char *field, const char *op, const char *value, ausearch_rule_t how);

## ОПИСАНИЕ
ausearch_add_item добавляет одно правило поиска к системе аудита. Состояния поиска могут быть в дальнейшем использованы при сканировании протоколов, файлов или буферов для поиска интересующей информации. Значением аргумента field является имя поля по которому осуществляется поиск. Переменная op описывает, какой тип поиска следует производить. Возможные значения op:

exists

проверка, существует ли поле с указанным именем

=

проверка на равенство значения поля.

!=

проверка на неравенство значения поля.

Значение аргумента how опеределяет как будут сохранено правило поиска. Возможные значения:

AUSEARCH_RULE_CLEAR

Удалить предудущие правила и поставить это правило первым.

AUSEARCH_RULE_OR

Объединить с существующими правилами битовым оператором ИЛИ.

AUSEARCH_RULE_AND

Объединить с существующими правилами битовым оператором И.

Все правила должны быть одного типа, нельзя смешивать AUSEARCH_RULE_OR и AUSEARCH_RULE_AND.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, в остальных случаях 0.

## СМ. ТАКЖЕ
ausearch_add_regex(3), ausearch_set_stop(3), ausearch_clear(3), ausearch_next_event(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: ausearch_clear(3)

summary: очистка параметров поиска

text:
# ausearch_clear(3)

## НАЗВАНИЕ
ausearch_clear - очистка параметров поиска

## СИНТАКСИС
\#include <auparse.h>

void ausearch_clear(auparse_state_t *au);

## ОПИСАНИЕ
ausearch_clear очищает все параметры поиска, хранящиеся в экземпляре парсера, и освобождает связанную с ними память.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Функция не возвращает значение.

## СМ. ТАКЖЕ
ausearch_add_item(3), ausearch_add_regex(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Alexander Glebov <7th_zone@rambler.ru> 2007


title: ausearch_next_event(3)

text:
# ausearch_next_event(3)

## НАЗВАНИЕ
ausearch_next_event - ищет следующее событие, совпадающее с критериями поиска

## СИНТАКСИС
\#include <auparse.h>

int ausearch_next_event(auparse_state_t *au);

## ОПИСАНИЕ
ausearch_next_event сканирует источник и проверяет каждое поле события на соответствие c заданными критериями. Сравнение происходит на уровне записей.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает:

-1 - ошибка;

0 - совпадение не найдено;

1 - совпадение найдено.

## СМ. ТАКЖЕ
ausearch_add_item(3), ausearch_add_regex(3), ausearch_set_stop(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Alexander Glebov <7th_zone@rambler.ru> 2007


title: ausearch_set_stop(3)

summary: установка курсора при поиске

text:
# ausearch_set_stop(3)

## НАЗВАНИЕ

ausearch_set_stop - установка курсора при поиске

## СИНТАКСИС
\#include <auparse.h>

int ausearch_set_stop(auparse_state_t *au, austop_t where);

## ОПИСАНИЕ
ausearch_set_stop определяет, где остановится внутренний курсор, когда условие поиска будет выполнено. Возможные значения:

AUSEARCH_STOP_EVENT

поместить курсор в первое поле первой записи найденного события.

AUSEARCH_STOP_RECORD

поместить курсор в первое поле записи найденного события.

AUSEARCH_STOP_FIELD

останавливает на текущем поле при соответствии условиям поиска.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращает -1 при ошибке, в остальных случаях 0.

## СМ. ТАКЖЕ
ausearch_add_item(3), ausearch_add_regex(3), ausearch_clear(3), ausearch_next_event(3).

## АВТОР
Стив Граб (Steve Grubb)

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007


title: get_auditfail_action.ru(3)

text:
# get_auditfail_action.ru(3)

## НАЗВАНИЕ
get_auditfail_action - Получить значение конфигурационного параметра failure_action

## СИНТАКСИС
\#include <libaudit.h>

int get_auditfail_action (int *failmode);

## ОПИСАНИE
Эта функция получает значение параметра failure_action из конфигурационного файла /etc/libaudit.conf. get_auditfail_action должна быть вызвана после того, как вызов audit_open вернет ошибку - для определения действия, которое необходимо предпринять.

Найденное в /etc/libaudit.conf значение failure_action копируется в аргумент failmode. Затем это значение может быть использовано вызывающим приложением для того, чтобы определить какое действие должно быть выполнено, если подсистема аудита недоступна.

## ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успешного завершения get_auditfail_action возвращает 0, а аргумент failmode будет содержать значение failure_action. failure_action может принимать значения: FAIL_IGNORE (0), FAIL_LOG (1), and FAIL_TERMINATE (2). В случае возникновения ошибки get_auditfail_action возвращает 1.

## ОШИБКИ
Ошибка возвратится, если невозможно чтение из /etc/libaudit.conf или если параметр failure_action не найден в этом файле.

## ПРИМЕРЫ

/* Пример кода */

auditfail_t failmode;

if ((fd = audit_open() ) < 0 ) {

fprintf (stderr, "Cannot open netlink audit socket");

/* Получить действие из failure_action */

if ((rc = get_auditfail_action(&failmode)) == 0) {

if (failmode == FAIL_LOG)

fprintf (stderr, "Audit subsystem unavailable");

else if (failmode == FAIL_TERMINATE)

exit (1);

/* Если failmode == FAIL_IGNORE - ничего не делать */

}

}

## СМ. ТАКЖЕ
audit_open(3), auditd(8).

## АВТОР
Lisa M. Smith.

## ПЕРЕВОД
Перевод с английского Alexander Kolotov <alexandr.kolotov@gmail.com> 2007


libnetlink

title: libnetlink(3)

text:
# libnetlink(3)

## ИМЯ
libnetlink - библиотека для доступа к сервису netlink.

## СИНТАКСИС

```
#include <asm/types.h>

#include <libnetlink.h>

#include <linux/netlink.h>

#include <linux/rtnetlink.h>

int rtnl_open(struct rtnl_handle *rth, unsigned subscriptions)

int rtnl_wilddump_request(struct rtnl_handle *rth, int family, int type)

int rtnl_send(struct rtnl_handle *rth, char *buf, int len)

int rtnl_dump_request(struct rtnl_handle *rth, int type, void *req, int len)

int rtnl_dump_filter(struct rtnl_handle *rth,
		     int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *),
		     void *arg1,
		     int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
		     void *arg2)

int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
	      unsigned groups, struct nlmsghdr *answer,

	      int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *),

	      void *jarg)

int rtnl_listen(struct rtnl_handle *rtnl,
	      int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
	      void *jarg)

int rtnl_from_file(FILE *rtnl,
	      int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
	      void *jarg)

int addattr32(struct nlmsghdr *n, int maxlen, int type, __u32 data)

int addattr_l(struct nlmsghdr *n, int maxlen, int type, void *data, int alen)

int rta_addattr32(struct rtattr *rta, int maxlen, int type, __u32 data)

int rta_addattr_l(struct rtattr *rta, int maxlen, int type, void *data, int alen)
```

## ОПИСАНИЕ
libnetlink предоставляет интерфейс более высокого уровня к rtnetlink(7). Функции чтения возвращают 0 при успешном завершении, и отрицательный код errno в случае ошибки. Функции отправки возвращают объем отправленной информации, и -1 в случае ошибки.

rtnl_open

Открывает сокет rtnetlink и сохраняет состояние в дескриптор rth. Дескриптор передается всем последующим вызовам. subscriptions - битовая карта групп мультикаста rtnetlink, членом которых будет сокет.

rtnl_wilddump_request

Запрашивает полный дамп базы данных типа type для адресов семейства family type - тип сообщения rtnetlink.

rtnl_dump_request

Запрашивает полный дамп буфера данных типа type в буфер buf с максимальной длиной, равной len. type - тип сообщения rtnetlink.

rtnl_dump_filter

Получить данные netlink после запроса и отфильтровать их. Функция-обработчик filter проверяет, требуется ли полученное сообщение. Функции обработчика передаётся адрес источника сообщения, само сообщение и arg1 в качестве аргументов. 0 обозначает, что сообщение прошло фильтр, отрицательное значение возвращается rtnl_dump_filter в случае ошибки. NULL в качестве фильтра filter означает что фильтр не требуется. junk используется для фильтрации сообщений, не предназначенных для локального сокета. Будет получен только один набор (bundle) сообщений. За исключением случаев, когда нет сообщений в очереди, функция не является блокирующей.

rtnl_listen

Получить данные netlink после запроса и передать их на функцию-обработчик handler. handler - это функция-обработчик, которой передаётся адрес источника сообщения, само сообщение, и jarg cookie как аргумент. Она будет вызвана для всех полученных сообщений. Будет получен только один набор сообщений. За исключением случаев, когда нет сообщений в очереди, функция не является блокирующей.

rtnl_from_file

Работает как rtnl_listen, но считывает набор (bundle) сообщений netlink из файла file и передает сообщения обработчику handler для обработки. Файл содержит "сырые" данные в том виде, в каком они были получены из сокета rtnetlink.

Следующие функции полезны, если требуется сконструировать нестандартные сообщения rtnetlink. Для простого дампа базы данных с фильтрацией, лучше использовать функции более высокого уровня, приведенные выше. За дополнительной информацией о генерации сообщений rtnetlink обратитесь к rtnetlink(3) и netlink(3) содержит заголовок сообщения netlink и запрос rtnetlink.

rtnl_send

Отправить rtnetlink-сообщение в буфер buf длиной len дескриптору rth.

addattr32

Добавить __u32-атрибут типа type со значением data к netlink-сообщению n, которое является частью буфера длиной maxlen.

addattr_l

Добавить атрибут переменной длины типа type со значением data и длиной alen к netlink-сообщению n, которое являются частью буфера длиной maxlen. Содержимое data копируется.

rta_addattr32

Инициализировать rtnetlink-атрибут rta __u32-значением.

rta_addattr32

Инициализировать rtnetlink-атрибут rta значением переменной длины.

## ОШИБКИ
Функции иногда используют fprintf и завершаются при возникновении фатальной ошибки. Эта библиотека должна быть названа librtnetlink.

## АВТОРЫ
netlink/rtnetlink был спроектирован и написан Алексеем Кузнецовым Энди Клеен (Andi Kleen) написал страницу руководства.

## СМ. ТАКЖЕ
netlink(7), rtnetlink(7)

/usr/include/linux/rtnetlink.h

## ПЕРЕВОД
Перевод с английского Виктор Ерёмин <ErV2005@rambler.ru> 2007.


title: set_aumessage_mode(3)

summary: установка приемника сообщений

text:
# set_aumessage_mode(3)

## НАЗВАНИЕ
set_message_mode - установка приемника сообщений

## СИНТАКСИС
\#include <libaudit.h>

void set_message_mode (message_t mode);

## ОПИСАНИЕ
set_message_mode устанавливает место, куда направляются сообщения. Если mode=0 (по умолчанию), то информационные сообщения посылаются в stderr. Если mode=1, то информационные сообщения посылаются в syslog.

## ПРИМЕР

```
/* Направлять сообщения в syslog */
set_message_mode(MSG_SYSLOG)
```

## СМ. ТАКЖЕ
auditd(8), audit_open(3).

## АВТОР
Дебора Веларде (Debora Velarde).

## ПЕРЕВОД
Перевод с английского Vsevolod Khalizev <vkhalizev@gmail.com> 2007