include/parsec/mic_db.h#
Macros#
Type |
Name |
|---|---|
define |
SECURITY “security” |
Документация по структурам и типам#
struct mic_group#
Мандатный уровень целостности группы
Variables:
mic_t il мандатный уровень целостности
char * name название группы
typedef mic_han_t#
typedef struct __mic_han_t* mic_han_t;
struct mic_user#
Мандатный уровень целостности пользователя
Variables:
mic_t il мандатный уровень целостности
char * name имя пользователя
Документация по функциям#
function closemicdb_r#
Закрытие базы данных для пользователей. Функция аналогична вызову close() для файлов.
int closemicdb_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для пользователей
Returns:
0 в случае успеха
function closemicgrdb_r#
Закрытие базы данных для группы. Функция аналогична вызову close() для файлов.
int closemicgrdb_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для групп
Returns:
0 в случае успеха
function compose_mic#
Формирование текстового представления мандатного уровня целостности пользователя. Выделение памяти под буфер происходит в динамической памяти.
char * compose_mic (
const struct mic_user *mu
)
Parameters:
muуказатель на мандатный уровень целостности пользователя
Returns:
указатель на буфер, содержащий текстовое представление, в случае успеха, иначе NULL
function endmicent#
Очистка служебных структур, используемые в процессе последовательного перебора записей базы данных для пользователей. Необходимо использовать в связке с функциями setmicent и endmicent. Аналогична endmicent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
void endmicent (
void
)
Returns:
0 в случае успеха
function endmicent_r#
Очистка служебных структур, используемые в процессе последовательного перебора записей базы данных для пользователей. Необходимо использовать в связке с функциями setmicent_r и getmicent_r.
int endmicent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для пользователей
Returns:
0 в случае успеха
function endmicgrent#
Очистка служебных структур, используемые в процессе последовательного перебора записей базы данных для групп. Необходимо использовать в связке с функциями setmicgrent и getmicgrent. Аналогична endmicgrent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
void endmicgrent (
void
)
Returns:
0 в случае успеха
function endmicgrent_r#
Очистка служебных структур, используемые в процессе последовательного перебора записей базы данных для групп. Необходимо использовать в связке с функциями setmicgrent_r и getmicgrent_r.
int endmicgrent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для групп
Returns:
0 в случае успеха
function fgetmicent#
Cчитывание записи из локального конфигурационного файла для пользователей по текущему указателю и перевод указателя на следующую запись. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки пользователей. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична fgetmicent_r.
struct mic_user * fgetmicent (
FILE *f
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файла
Returns:
указатель на мандатный уровень целостности пользователя или NULL в случае достижения конца базы данных или ошибки
function fgetmicent_r#
Cчитывание записи из локального конфигурационного файла для пользователей по текущему указателю и перевод указателя на следующую запись. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки пользователей. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_user * fgetmicent_r (
FILE *fd
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файла
Returns:
указатель на мандатный уровень целостности пользователя или NULL в случае достижения конца базы данных или ошибки
function fgetmicgrent#
Cчитывание записи из локального конфигурационного файла для групп по текущему указателю и перевод указателя на следующую запись. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки групп. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична fgetmicgrent_r.
struct mic_group * fgetmicgrent (
FILE *f
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файла
Returns:
указатель на мандатный уровень целостности группы или NULL в случае достижения конца базы данных или ошибки
function fgetmicgrent_r#
Cчитывание записи из локального конфигурационного файла для групп по текущему указателю и перевод указателя на следующую запись. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки групп. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_group * fgetmicgrent_r (
FILE *fd
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файла
Returns:
указатель на мандатный уровень целостности группы или NULL в случае достижения конца базы данных или ошибки
function fputmicent#
Добавление записи локального конфигурационного файла для пользователей, указанного в поле name структуры мандатного уровня целостности пользователя. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки пользователей. Аналогична fputmicent_r.
void fputmicent (
FILE *f,
const struct mic_user *mu
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файлаmuуказатель на мандатный уровень целостности пользователя
Returns:
количество записанных байт в случае успеха
function fputmicent_r#
Добавление записи локального конфигурационного файла для пользователей, указанного в поле name структуры мандатного уровня целостности пользователя. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки пользователей.
int fputmicent_r (
FILE *fd,
const struct mic_user *mu
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файлаmuуказатель на мандатный уровень целостности пользователя
Returns:
количество записанных байт в случае успеха
function fputmicgrent#
Добавление записи локального конфигурационного файла для группы, указанного в поле name структуры мандатного уровня целостности группы. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки групп. Аналогична fputmicgrent_r.
void fputmicgrent (
FILE *f,
const struct mic_group *mg
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файлаmgуказатель на мандатный уровень целостности группы
Returns:
количество записанных байт в случае успеха
function fputmicgrent_r#
Добавление записи локального конфигурационного файла для группы, указанного в поле name структуры мандатного уровня целостности группы. Функция существует ради совместимости с более ранними версиями библиотеки, а также ради возможности вести локальные, не системные списки групп.
int fputmicgrent_r (
FILE *fd,
const struct mic_group *mg
)
Parameters:
fdуказатель на дескриптор локального конфигурационного файлаmgуказатель на мандатный уровень целостности группы
Returns:
количество записанных байт в случае успеха
function freemicent_r#
Освобождение памяти, выделенной под мандатный уровень целостности пользователя.
void freemicent_r (
struct mic_user *res
)
Parameters:
resуказатель на мандатный уровень целостности пользователя ### functionfreemicgrent_r
Освобождение памяти, выделенной под мандатный уровень целостности группы.
void freemicgrent_r (
struct mic_group *res
)
Parameters:
resуказатель на мандатный уровень целостности группы
function getmicent#
Cчитывание записи из базы данных для пользователей по текущему указателю и перевод указателя на следующую запись. Необходимо использовать в связке с функциями setmicent и endmicent. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
struct mic_user * getmicent (
void
)
Returns:
указатель на мандатный уровень целостности пользователя или NULL в случае достижения конца базы данных или ошибки
function getmicent_r#
Cчитывание записи из базы данных для пользователей по текущему указателю и перевод указателя на следующую запись. Необходимо использовать в связке с функциями setmicent_r и endmicent_r. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_user * getmicent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для пользователей
Returns:
указатель на мандатный уровень целостности пользователя или NULL в случае достижения конца базы данных или ошибки
function getmicgrent#
Cчитывание записи из базы данных для групп по текущему указателю и перевод указателя на следующую запись. Необходимо использовать в связке с функциями setmicgrent и endmicgrent. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicgrent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
struct mic_group * getmicgrent (
void
)
Returns:
указатель на мандатный уровень целостности группы или NULL в случае достижения конца базы данных или ошибки
function getmicgrent_r#
Cчитывание записи из базы данных для групп по текущему указателю и перевод указателя на следующую запись. Необходимо использовать в связке с функциями setmicgrent_r и endmicgrent_r. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_group * getmicgrent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для групп
Returns:
указатель на мандатный уровень целостности группы или NULL в случае достижения конца базы данных или ошибки
function getmicgrgid#
Cчитывание записи из базы данных для групп по идентификатору группы. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicgrgid_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
struct mic_group * getmicgrgid (
gid_t gid
)
Parameters:
gidидентификатору группы
Returns:
указатель на мандатный уровень целостности группы в случае успеха, иначе NULL
function getmicgrgid_r#
Cчитывание записи из базы данных для групп по идентификатору группы. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_group * getmicgrgid_r (
mic_han_t han,
gid_t gid
)
Parameters:
hanуказатель на дескриптор базы данных для группgidидентификатору группы
Returns:
указатель на мандатный уровень целостности группы в случае успеха, иначе NULL
function getmicgrnam#
Cчитывание записи из базы данных для групп по названию группы. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicgrnam_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
struct mic_group * getmicgrnam (
const char *name
)
Parameters:
nameуказатель на буфер, содержащий название группы
Returns:
указатель на мандатный уровень целостности группы в случае успеха, иначе NULL
function getmicgrnam_r#
Cчитывание записи из базы данных для групп по названию группы. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_group * getmicgrnam_r (
mic_han_t han,
const char *name
)
Parameters:
hanуказатель на дескриптор базы данных для группnameуказатель на буфер, содержащий название группы
Returns:
указатель на мандатный уровень целостности группы в случае успеха, иначе NULL
function getmicnam#
Cчитывание записи из базы данных для пользователей по имени пользователя. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicnam_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
struct mic_user * getmicnam (
const char *name
)
Parameters:
nameуказатель на буфер, содержащий имя пользователя
Returns:
указатель на мандатный уровень целостности пользователя в случае успеха, иначе NULL
function getmicnam_r#
Cчитывание записи из базы данных для пользователей по имени пользователя. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_user * getmicnam_r (
mic_han_t han,
const char *name
)
Parameters:
hanуказатель на дескриптор базы данных для пользователейnameуказатель на буфер, содержащий имя пользователя
Returns:
указатель на мандатный уровень целостности пользователя в случае успеха, иначе NULL
function getmicuid#
Cчитывание записи из базы данных для пользователей по идентификатору пользователя. Память для мандатного уровня целостности выделяется в динамической области памяти. Аналогична getmicuid_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
struct mic_user * getmicuid (
uid_t uid
)
Parameters:
uidидентификатору пользователя
Returns:
указатель на мандатный уровень целостности пользователя в случае успеха, иначе NULL
function getmicuid_r#
Cчитывание записи из базы данных для пользователей по идентификатору пользователя. Память для мандатного уровня целостности выделяется в динамической области памяти.
struct mic_user * getmicuid_r (
mic_han_t han,
uid_t uid
)
Parameters:
hanуказатель на дескриптор базы данных для пользователейuidидентификатору пользователя
Returns:
указатель на мандатный уровень целостности пользователя в случае успеха, иначе NULL
function openmicdb_r#
Открытие и создание дескриптора mic_han_t базы данных для пользователей. Функция аналогична вызову open() для файлов.
mic_han_t openmicdb_r (
void
)
Returns:
указатель на дескриптор базы данных для групп в случае успеха, иначе NULL
function openmicgrdb_r#
Открытие и создание дескриптора mic_han_t базы данных для групп. Функция аналогична вызову open() для файлов.
mic_han_t openmicgrdb_r (
void
)
Returns:
указатель на дескриптор базы данных для групп в случае успеха, иначе NULL
function parse_mic#
Получение мандатного уровня целостности пользователя из текстового представления. Из буфера извлекается одна (первая) запись мандатного уровня целостности пользователя. Выделение памяти под имя пользователя происходит в динамической памяти.
struct mic_user * parse_mic (
const char *buff,
struct mic_user *mu
)
Parameters:
buffуказатель на буфер, содержащий текстовое представление мандатного уровня целостности пользователяmuуказатель на мандатный уровень целостности пользователя, куда будет записан результат
Returns:
переданный указатель на мандатный уровень целостности пользователя, в случае успеха, иначе NULL
function putmicent#
Добавление/модифицирование записи базы данных для пользователей, указанного в поле name структуры мандатного уровня целостности пользователя. Аналогична putmicent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
int putmicent (
const struct mic_user *mu
)
Parameters:
muуказатель на мандатный уровень целостности пользователя
Returns:
количество записанных байт в случае успеха
function putmicent_r#
Добавление/модифицирование записи базы данных для пользователей, указанного в поле name структуры мандатного уровня целостности пользователя.
int putmicent_r (
mic_han_t han,
const struct mic_user *mu
)
Parameters:
hanуказатель на дескриптор базы данных для пользователейmuуказатель на мандатный уровень целостности пользователя
Returns:
количество записанных байт в случае успеха
function putmicgrent#
Добавление/модифицирование записи базы данных для группы, указанной в поле name структуры мандатного уровня целостности группы. Аналогична putmicgrent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
int putmicgrent (
const struct mic_group *mg
)
Parameters:
mgуказатель на мандатный уровень целостности группы
Returns:
количество записанных байт в случае успеха
function putmicgrent_r#
Добавление/модифицирование записи базы данных для группы, указанной в поле name структуры мандатного уровня целостности группы.
int putmicgrent_r (
mic_han_t han,
const struct mic_group *mg
)
Parameters:
hanуказатель на дескриптор базы данных для группmgуказатель на мандатный уровень целостности группы
Returns:
количество записанных байт в случае успеха
function rmmicgrnam#
Удаление записи, содержащую мандатный уровень целостности, из базы данных для групп по названию группы. Аналогична rmmicgrnam_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
int rmmicgrnam (
const char *name
)
Parameters:
nameуказатель на буфер, содержащий название группы
Returns:
0 в случае успеха
function rmmicgrnam_r#
Удаление записи, содержащую мандатный уровень целостности, из базы данных для групп по названию группы.
int rmmicgrnam_r (
mic_han_t han,
const char *name
)
Parameters:
hanуказатель на дескриптор базы данных для группnameуказатель на буфер, содержащий название группы
Returns:
0 в случае успеха
function rmmicnam#
Удаление записи, содержащую мандатный уровень целостности, из базы данных для пользователей по имени пользователя. Аналогична rmmicnam_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
int rmmicnam (
const char *name
)
Parameters:
nameуказатель на буфер, содержащий имя пользователя
Returns:
0 в случае успеха
function rmmicnam_r#
Удаление записи, содержащую мандатный уровень целостности, из базы данных для пользователей по имени пользователя.
int rmmicnam_r (
mic_han_t han,
const char *name
)
Parameters:
hanуказатель на дескриптор базы данных для пользователейnameуказатель на буфер, содержащий имя пользователя
Returns:
0 в случае успеха
function setmicent#
Cоздание необходимых служебных структур и установка текущего указателя в начало базы данных для пользователей. Необходимо использовать в связке с функциями getmicent и endmicent. Аналогична setmicent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для пользователей.
int setmicent (
void
)
Returns:
0 в случае успеха
function setmicent_r#
Cоздание необходимых служебных структур и установка текущего указателя в начало базы данных для пользователей. Необходимо использовать в связке с функциями getmicent_r и endmicent_r.
int setmicent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для пользователей
Returns:
0 в случае успеха
function setmicgrent#
Cоздание необходимых служебных структур и установка текущего указателя в начало базы данных для групп. Необходимо использовать в связке с функциями getmicgrent и endmicgrent. Аналогична setmicgrent_r с тем отличием, что все действия происходят через общий глобальный дескриптор базы данных для групп.
int setmicgrent (
void
)
Returns:
0 в случае успеха
function setmicgrent_r#
Cоздание необходимых служебных структур и установка текущего указателя в начало базы данных для групп. Необходимо использовать в связке с функциями getmicgrent_r и endmicgrent_r.
int setmicgrent_r (
mic_han_t han
)
Parameters:
hanуказатель на дескриптор базы данных для групп
Returns:
0 в случае успеха