ConnectFlags(), ConnectFlags_r()

QNX SDP8.0C Library ReferenceAPIDeveloper

Modify or query the flags associated with a connection

Synopsis:

#include <sys/neutrino.h>

int ConnectFlags( pid_t pid,
                  int coid, 
                  unsigned mask, 
                  unsigned bits );

int ConnectFlags_r( pid_t pid,
                    int coid, 
                    unsigned mask, 
                    unsigned bits );

Arguments:

pid
Set this argument to 0 or the pid of the current process.
coid
The ID of the connection whose flags you want to modify.
mask
A bitmap that indicates which bits are to be modified in the flags. Currently, the only bit defined is:
  • _NTO_COF_CLOEXEC — close the connection if the process calls an exec*() function to start a new process.
bits
The new value of the flags.

Library:

libc

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

Description:

The ConnectFlags() and ConnectFlags_r() kernel calls modify or query the flags associated with the specified connection. These kernel calls don't block.

These functions are identical except in the way they indicate errors. See the Returns section for details.

You need to initialize the bits that correspond to the flag in both the mask and bits arguments:

  • If the bit in the mask is 1, and the bit in the bits is 1, the function turns the flag on.
  • If the bit in the mask is 1, and the bit in the bits is 0, the function turns the flag off.
  • If the bit in the mask is 0, the function doesn't change the current value of the flag.

Returns:

The previous value of the flags associated with the connection. For more information, go to ConnectAttach().

If an error occurs:

  • ConnectFlags() returns -1 and sets errno.
  • ConnectFlags_r() returns the negative of a value from the Errors section and doesn't set errno.

Errors:

EBADF
The coid isn't a valid connection ID for the process.
ENOTSUP
The mask includes invalid bits or you specified a pid that wasn't the ID of the calling process.

Classification:

QNX OS

Safety:
Cancellation pointNo
Signal handlerYes
ThreadYes
Page updated: