Get information about a server connection
#include <sys/neutrino.h> int ConnectServerInfo( pid_t pid, int coid, struct _server_info* info ); int ConnectServerInfo_r( pid_t pid, int coid, struct _server_info* info );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The ConnectServerInfo() and ConnectServerInfo_r() kernel calls get information about the connection coid owned by process pid, and store it in the structure pointed to by info. If the process doesn't have a connection coid, the call scans for the next higher connection and returns it if present. Otherwise, -1 is returned. If you wish to check for the existence of an exact connection, you must compare the returned connection with the coid you requested.
These functions are identical except in the way they indicate errors. See the Returns section for details.
If the info argument is NULL, ConnectServerInfo() ignores connections with dead servers and skips to the next coid. If info is non-NULL, the function fills in the _server_info structure; for connections with dead servers, it turns on the _NTO_COF_DEAD bit in the flags field of the structure.
_server_info structure
The _server_info structure that info points to includes at least the following members:
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() |
You can use ConnectFlags() to get other flags associated with the connection.
A matched coid. If an error occurs:
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |