isfdtype()

Updated: April 19, 2023

Determine whether a file descriptor refers to a socket

Synopsis:

#include <sys/stat.h>

int isfdtype( int filedes, 
              int fdtype );

Arguments:

filedes
The file descriptor that you want to test.
fdtype
The properties you want to test for. The valid values for fdtype include:
  • S_IFSOCK — test whether filedes is a socket.

Library:

libc

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

Description:

The isfdtype() function determines whether the file descriptor filedes has the properties identified by fdtype.

Note: This function is based on a POSIX draft; for better portability, call fstat() and check the buffer that it fills in:
if ((buf.st_mode & S_IFMT) == fdtype)
    /* The file descriptor matches fdtype. */
else
    /* The file descriptor doesn't match fdtype. */

Returns:

1
The filedes file descriptor matches fdtype.
0
The filedes file descriptor doesn't match fdtype.
-1
An error occurred (errno is set).

Errors:

EBADF
Invalid file descriptor filedes.

Classification:

QNX Neutrino

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