ConnectClientInfo(), ConnectClientInfo_r()

Сохранить информацию о клиентском соединении

Прототип:

#include <sys/neutrino.h>
int ConnectClientInfo( int scoid,
struct _client_info *info
int ngroups );
int ConnectClientInfo_r( int scoid,
struct _client_info *info
int ngroups );

Аргументы:

scoid
A server connection ID that identifies the client process that you want to get information about. This client is typically a process that's made a connection to the server to try to access a resource. You can get it from the struct _msg_info argument to MsgReceivev() or MsgInfo().
info
A pointer to a struct _client_info that the function can fill with information about the client.
ngroups
The size of the caller's grouplist in the credential part of the struct _client_info. If you make it smaller than NGROUPS_MAX, you might get information only about a subset of the groups.

Библиотека:

libc

Описание:

These calls get information about a client connection identified by scoid, and store it in the buffer that info points to.

The ConnectClientInfo() and ConnectClientInfo_r() functions are identical except in the way they indicate errors.

A server uses these functions to determine whether or not a client has permission to access a resource. For example, in a resource manager, it would be called on an open() connection request.

The ngroups argument to ConnectClientInfo() indicates the size of the grouplist array. If the group array size is zero, the ngroups member of the struct _cred_info is set to the number of groups available.

Возвращаемое значение:

ConnectClientInfo()
Если возникла ошибка функция возвращает -1, код ошибки записывается в errno. Любое другое возвращенное значение считается успешным завершением.
ConnectClientInfo_r()
EOK возвращается при успешном завершении. Функция НЕ устанавливает errno. При возникновении ошибки функция возвращает один из представленных ниже кодов.

Коды ошибок:

EFAULT
A fault occurred when the kernel tried to access the buffers provided.
EINVAL
Process doesn't have a connection scoid.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

struct _client_info, struct _cred_info ConnectServerInfo(), struct _msg_info, MsgInfo(), MsgReceivev(), ND_NODE_CMP(), netmgr_ndtostr(), netmgr_remote_nd(), netmgr_strtond()




Предыдущий раздел: Описание API системной библиотеки