Store extended information about a client connection
#include <sys/neutrino.h> int ConnectClientInfoExt( int scoid, struct _client_info ** info, int flags );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
This call gets information about a client connection identified by scoid, allocates a buffer, stores the information in the buffer, and stores a pointer to the buffer in the location that info points to. Use ClientInfoExtFree() to free this buffer.
A server uses this function 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 ConnectClientInfoExt() function is an extended version of ConnectClientInfo() that can handle more than NGROUPS_MAX supplementary groups.
The _client_info structure has at least the following members:
uint32_t nd
The nd (node descriptor) is a temporary numeric description of a remote node; ND_LOCAL_NODE (or 0) is the descriptor for the local node. For more information, see the Qnet Networking chapter of the System Architecture guide.
To: | Use this function: |
---|---|
Compare two nd objects | ND_NODE_CMP() |
Convert a nd to text | netmgr_ndtostr() |
Convert text to a nd | netmgr_strtond() |
The cred member of the _client_info is a _cred_info structure that includes at least the following members:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |