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





ИМЯ


getuid, geteuid - получить идентификатор пользователя



ОБЗОР


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

uid_t getuid(void);
uid_t geteuid(void);



ОПИСАНИЕ


getuid() возвращает фактический идентификатор (ID) пользователя вызывающего
процесса.

geteuid() возвращает эффективный идентификатор пользователя вызывающего процесса.



ОШИБКИ


Функции всегда завершаются успешно.



СООТВЕТСТВИЕ СТАНДАРТАМ


POSIX.1-2001, POSIX.1-2008, 4.3BSD.



ЗАМЕЧАНИЯ


История
В UNIX V6 вызов getuid() возвращал (euid << 8) + uid. В UNIX V7 появились
отдельные вызовы getuid() и geteuid().

Первоначальные версии системных вызовов getuid() и geteuid() в Linux поддерживали
только 16-битные идентификаторы пол ... Читать дальше »

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





ИМЯ


gettimeofday, settimeofday - получает/устанавливает время



ОБЗОР


#include <sys/time.h>

int gettimeofday(struct timeval *tv, struct timezone *tz);

int settimeofday(const struct timeval *tv, const struct timezone *tz);

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

settimeofday():
начиная с glibc 2.19:
_DEFAULT_SOURCE
в glibc 2.19 и старее:
_BSD_SOURCE



ОПИСАНИЕ


Функция gettimeofday() и settimeofday() позволяют получить и задать время, а также
часовой пояс. Аргумент tv имеет тип struct timeval (определён в <sys/time.h>):

struct timeval {
time_t tv_sec; /* секунды */
suseconds_t tv_usec; /* микросекунды */
};

и задаёт количество секунд и микросекунд, прошедших с начала эпохи (см. time(2)).
Аргуме ... Читать дальше »

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





ИМЯ


gettid - получить идентификатор нити



ОБЗОР


#include <sys/types.h>

pid_t gettid(void);

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



ОПИСАНИЕ


gettid() возвращает идентификатор нити вызвавшего процесса (TID). В случае
процесса с одной нитью он эквивалентен идентификатору процесса (PID, возвращаемому
getpid(2)). В случае процесса с множеством нитей все нити имеют одинаковый
идентификатор процесса PID, но каждый из них имеет уникальный идентификатор нити
TID. Для получения подробной информации см. обсуждение CLONE_THREAD clone(2).



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


При успешном выполнении возвращается идентификатор нити вызывающего процесса.



ОШИБКИ


Этот системный вызов всегда вы ... Читать дальше »

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





ИМЯ


get_thread_area, set_thread_area - назначение элемента GDT для области локального
хранилища нити



ОБЗОР


#include <linux/unistd.h>
#include <asm/ldt.h>

int get_thread_area(struct user_desc *u_info);
int set_thread_area(struct user_desc *u_info);

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



ОПИСАНИЕ


В Linux под локальное хранилище нити отдано три элемента глобальной таблицы
дескрипторов (GDT). Подробней о GDT читайте в Intel Software Developer's Manual
или AMD Architecture Programming Manual.

Этим системным вызовам передаётся указатель на структуру вида:

struct user_desc {
unsigned int entry_number;
unsigned long base_addr;
unsigned int limit;
unsigned int seg_32bit:1;
unsigned int contents:2;
unsign ... Читать дальше »

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





ИМЯ


getsockopt, setsockopt - получить или установить флаги сокета



ОБЗОР


#include <sys/types.h> /* смотрите ЗАМЕЧАНИЯ */
#include <sys/socket.h>

int getsockopt(int sockfd, int level, int optname,
void *optval, socklen_t *optlen);
int setsockopt(int sockfd, int level, int optname,
const void *optval, socklen_t optlen);



ОПИСАНИЕ


getsockopt() и setsockopt() управляют параметрами сокета, на который указывает
файловый дескриптор sockfd. Параметры могут быть из различных уровней протоколов;
они всегда присутствуют на самом верхнем уровне сокета.

При работе с параметрами сокета должен быть указан уровень, на котором находится
этот параметр и его имя. Для работы с параметрами на уровне API сокета в level
указывается значение SOL_SOCKET. Для работы с параметрами на любом другом уровне,< ... Читать дальше »

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





ИМЯ


getsockname - получить имя сокета



ОБЗОР


#include <sys/socket.h>

int getsockname(int sockfd, struct sockaddr *addr, socklen_t *addrlen);



ОПИСАНИЕ


getsockname() возвращает текущий адрес, к которому привязан сокет sockfd, в
буфере, указываемом addr. В параметре addrlen должно быть указано, сколько места
выделено (в байтах), на которое указывает addr. При возврате в этом параметре
передается реальный размер адреса сокета.

Возвращаемый адрес урежется, если предоставленный буфер окажется слишком
маленьким; в этом случае в addrlen будет возвращено значение большее чем было в
вызове.



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


При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno
устанавливается в соответствующее значение.



ОШИБКИ ... Читать дальше »

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





ИМЯ


getsid - получить ID сеанса



ОБЗОР


#include <unistd.h>

pid_t getsid(pid_t pid);

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

getsid():
_XOPEN_SOURCE >= 500
|| /* начиная с glibc 2.12: */ _POSIX_C_SOURCE >= 200809L



ОПИСАНИЕ


Вызов getsid(0) возвращает идентификатор (ID) сеанса вызвавшего процесса. Вызов
getsid() возвращает идентификатор сеанса процесса с ID равным pid. Если pid равно
0, то getsid() возвращает идентификатор сеанса вызвавшего процесса.



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


При успешном выполнении возвращается идентификатор сеанса. В случае ошибки
возвращается (pid_t) -1, а errno устанавливается в соответствующее значение.



ОШИБКИ


EPERM Процесс с идентификатором pid ... Читать дальше »

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

« 1 2 ... 39 40 41 42 43 ... 59 60 »