getpeerucred - get connected socket or STREAM peer's credentials
#include <ucred.h> int getpeerucred(int fd, ucred_t **ucred);
The getpeerucred() function returns the credentials of the peer endpoint of a connection-oriented socket (SOCK_STREAM) or STREAM fd at the time the endpoint was created or the connection was established. A process that initiates a connection retrieves the credentials of its peer at the time the peer's endpoint was created. A process that listens for connections retrieves the credentials of the peer at the time the peer initiated the connection.
When successful, getpeerucred() stores the pointer to a freshly allocated ucred_t in the memory location pointed to by the ucred argument if that memory location contains the null pointer. If the memory location is non-null, it will reuse the existing ucred_t.
When ucred is no longer needed, a credential allocated by getpeerucred() should be freed with ucred_free(3C).
It is possible that all fields of the ucred_t are not available to all peer endpoints and all callers.
Upon successful completion, getpeerucred() returns 0. Otherwise, it returns -1 and errno is set to indicate the error.
The getpeerucred() function will fail if:
EAGAIN
EBADF
EFAULT
EINVAL
ENOMEM
ENOTCONN
ENOTSUP
See attributes(5) for descriptions of the following attributes:
|
door_ucred(3C), ucred_get(3C), attributes(5), connld(7M)
The system currently supports both sides of connection endpoints for local AF_UNIX, AF_INET, and AF_INET6 sockets, /dev/tcp, /dev/ticots, and /dev/ticotsord XTI/TLI connections, and pipe file descriptors sent using I_SENDFD as a result of the open of a named pipe with the "connld" module pushed.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |