Return information about a client connection
#include <sys/iofunc.h>
int iofunc_client_info ( resmgr_context_t * ctp,
int ioflag,
struct _client_info * info );
libc
The iofunc_client_info() function fetches the info structure for the client. It calls ConnectClientInfo() to gather the information, based on the server connection ID found in ctp->info.scoid.
The info structure contains the following elements:
| Member | Comment |
|---|---|
| uid_t ruid | Real user ID |
| uid_t euid | Effective user ID |
| uid_t suid | Saved user ID |
| gid_t rgid | Real group ID |
| gid_t egid | Effective group ID |
| gid_t sgid | Saved group ID |
| uint_32t ngroups | Number of supplementary group IDs |
| gid_t grouplist[NGROUPS_MAX] | Supplementary group IDs |
The ioflag parameter is either zero or the constant O_REALIDS. This parameter is passed in the _IO_OPEN message upon an open request. If O_REALIDS is specified, iofunc_client_info() swaps the real and effective values of the user and group IDs before returning. This is a QNX 6 extension, to swap real and effective user and group IDs in an atomic operation.
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |