iofunc_client_info_ext()

Updated: April 19, 2023

Return information about a client connection

Synopsis:

#include <sys/iofunc.h>

int iofunc_client_info_ext ( resmgr_context_t * ctp,
                             const int ioflag,
                             struct _client_info ** info,
                             int flags );

Arguments:

ctp
A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
ioflag
Zero, or the constant O_REALIDS. This argument is passed in the _IO_OPEN message during an open request. If you specify O_REALIDS, iofunc_client_info_ext() swaps the real and effective values of the user and group IDs before returning. This is a QNX Neutrino extension, to swap real and effective user and group IDs in an atomic operation.
info
The address of a location where the function can store a pointer to a _client_info structure that the function can fill with information about the client. For information about this structure, see ConnectClientInfoExt().
flags
Zero or more of the following:
  • _NTO_CLIENTINFO_GETGROUPS — get the supplementary group IDs
  • _NTO_CLIENTINFO_GETTYPEID — results in the type identifier being returned immediately after the last returned supplementary group ID

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The iofunc_client_info_ext() function fetches the info structure for the client. It calls ConnectClientInfoExt() to gather the information, based on the server connection ID found in ctp->info.scoid.

Call iofunc_client_info_ext_free() to free the _client_info structure when you're done with it.

Returns:

EFAULT
A fault occurred when the kernel tried to access the info buffer provided.
EINVAL
The client process is no longer valid.
ENOMEM
The function couldn't allocate the memory for the _client_info structure.
EOK
Successful completion.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes