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 |