Главная » (2) Системные вызовы ядра (функции языка Си)





ИМЯ


shmat, shmdt - операции с общей памятью System V



ОБЗОР


#include <sys/types.h>
#include <sys/shm.h>

void *shmat(int shmid, const void *shmaddr, int shmflg);

int shmdt(const void *shmaddr);



ОПИСАНИЕ


shmat()
Вызов shmat() подключает сегмент общей памяти System V с идентификатором shmid к адресному
пространству вызывающего процесса. Адрес подключения, указанный в shmaddr, учитывается
следующим образом:

* Если значение shmaddr равно NULL, то система выбирает подходящий (неиспользуемый)
выровненный по странице адрес для подключения сегмента.

* Если значение shmaddr не равно NULL, а в shmflg указан флаг SHM_RND, то подключение
производится по адресу shmaddr, округлённому до ближайшего значения кратного SHMLBA.

* В противном случае shmaddr должно быть выровнено по ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 449 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


shmctl - управление общей памятью System V



ОБЗОР


#include <sys/ipc.h>
#include <sys/shm.h>

int shmctl(int shmid, int cmd, struct shmid_ds *buf);



ОПИСАНИЕ


Вызов shmctl() выполняет управляющую операцию, указанную в cmd, над общим сегментом памяти
System V, чей идентификатор задан в shmid.

В аргументе buf содержится указатель на структуру shmid_ds, определённую в <sys/shm.h>
следующим образом:

struct shmid_ds {
struct ipc_perm shm_perm; /* владелец и права */
size_t shm_segsz; /* размер сегмента (байты) */
time_t shm_atime; /* время последнего подключения */
time_t shm_dtime; /* время последнего отключения */
time_t shm_ctime; /* время последнего изменения */
pid_t shm_cpid; /* PID создателя */
pid_t shm_lpid; /* PID последнего выполнявшего
shmat( ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 562 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


shmat, shmdt - операции с общей памятью System V



ОБЗОР


#include <sys/types.h>
#include <sys/shm.h>

void *shmat(int shmid, const void *shmaddr, int shmflg);

int shmdt(const void *shmaddr);



ОПИСАНИЕ


shmat()
Вызов shmat() подключает сегмент общей памяти System V с идентификатором shmid к адресному
пространству вызывающего процесса. Адрес подключения, указанный в shmaddr, учитывается
следующим образом:

* Если значение shmaddr равно NULL, то система выбирает подходящий (неиспользуемый)
выровненный по странице адрес для подключения сегмента.

* Если значение shmaddr не равно NULL, а в shmflg указан флаг SHM_RND, то подключение
производится по адресу shmaddr, округлённому до ближайшего значения кратного SHMLBA.

* В противном случае shmaddr должно быть выровнено по ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 467 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


sgetmask, ssetmask - работа с маской сигналов (устарел)



ОБЗОР


long sgetmask(void);

long ssetmask(long newmask);

Замечание: В glibc нет обёрточных функций для этих системных вызовов; смотрите ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Данные системные вызовы устарели. Используйте вместо них sigprocmask(2).

Вызов sgetmask() возвращает маску сигналов вызывающего процесса.

Вызов ssetmask() устанавливает маску сигналов вызывающего процесса равной значению,
указанному в newmask. Возвращается предыдущее значение маски сигналов.

Маски сигналов обрабатываются этими системными вызовами как простые битовые маски (в отличие
от sigset_t, который используется в sigprocmask(2)); для создания и проверки масок
используйте sigmask(3).



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


Вызов sge ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 449 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


setxattr, lsetxattr, fsetxattr - устанавливает расширенное значение атрибутов



ОБЗОР


#include <sys/types.h>
#include <sys/xattr.h>

int setxattr(const char *path, const char *name,
const void *value, size_t size, int flags);
int lsetxattr(const char *path, const char *name,
const void *value, size_t size, int flags);
int fsetxattr(int fd, const char *name,
const void *value, size_t size, int flags);



ОПИСАНИЕ


Расширенные атрибуты представляют собой пару имя:значение и связываются с записями inode
(файлы, каталоги, символьные ссылки и т.п.). Они являются расширениями к обычным атрибутам,
связанным со всеми записями inode в системе (например, данные stat(2)). Полное описание
модели расширенных атрибутов можно найти в xattr(7).

Вызов setxattr() устанавливает зн ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 471 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


setup - настраивает устройства и файловые системы, монтирует корневую файловую систему



ОБЗОР


#include <unistd.h>

int setup(void);



ОПИСАНИЕ


setup() вызывается один раз из linux/init/main.c. Она вызывает функции инициализации
устройств и файловых систем, встроенных в ядро, и затем монтирует корневую файловую систему.

Ни один из пользовательских процессов не может вызвать setup(). Любой пользовательский
процесс даже с правами суперпользователя будет получать сообщение об ошибке с кодом EPERM.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


Вызов setup() всегда возвращает пользовательскому процессу значение -1.



ОШИБКИ


EPERM Всегда для пользовательского процесса.



ВЕРСИИ


Начиная с Linux 2.1.121, эта функция не существует.

< ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 451 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)





ИМЯ


setuid - устанавливает идентификатор пользователя



ОБЗОР


#include <sys/types.h>
#include <unistd.h>

int setuid(uid_t uid);



ОПИСАНИЕ


Вызов setuid() устанавливает эффективный идентификатор пользователя вызвавшего процесса.
Если вызывающий процесс имеет права (мандат CAP_SETUID в своём пространстве имён
пользователя), то также устанавливаются действительный и сохраненный идентификаторы
пользователя.

В Linux setuid() реализован как и в стандарте POSIX с возможностью _POSIX_SAVED_IDS. Это
позволяет setuid-программам (не setuid-root) сбрасывать все привилегии, делать
непривилегированную работу, а затем безопасным путём возвращать себе исходный эффективный
идентификатор пользователя.

Если пользователь root или программа установлена как setuid root, при работе требуется
осо ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 515 | Добавил: Администратор | Дата: 24.11.2017 | Комментарии (0)

« 1 2 ... 4 5 6 7 8 ... 59 60 »