isfdtype()
Determine whether a file descriptor refers to a socket
Synopsis:
#include <sys/stat.h> int isfdtype( int filedes, int fdtype );
Arguments:
- fildes
- 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.
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. */
instead of calling isfdtype().
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:
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |