ioctl(2) - perldoc - phpman

Look up a command

 

Markdown Format | JSON API | MCP Server Tool


    ioctl FILEHANDLE,FUNCTION,SCALAR
            Implements the ioctl(2) function. You'll probably first have to
            say

                require "sys/ioctl.ph";  # probably in
                                         # $Config{archlib}/sys/ioctl.ph

            to get the correct function definitions. If sys/ioctl.ph doesn't
            exist or doesn't have the correct definitions you'll have to
            roll your own, based on your C header files such as
            <sys/ioctl.h>. (There is a Perl script called h2ph that comes
            with the Perl kit that may help you in this, but it's
            nontrivial.) SCALAR will be read and/or written depending on the
            FUNCTION; a C pointer to the string value of SCALAR will be
            passed as the third argument of the actual "ioctl" call. (If
            SCALAR has no string value but does have a numeric value, that
            value will be passed rather than a pointer to the string value.
            To guarantee this to be true, add a 0 to the scalar before using
            it.) The "pack" and "unpack" functions may be needed to
            manipulate the values of structures used by "ioctl".

            The return value of "ioctl" (and "fcntl") is as follows:

                if OS returns:      then Perl returns:
                    -1               undefined value
                     0              string "0 but true"
                anything else           that number

            Thus Perl returns true on success and false on failure, yet you
            can still easily determine the actual value returned by the
            operating system:

                my $retval = ioctl(...) || -1;
                printf "System returned %d\n", $retval;

            The special string "0 but true" is exempt from "Argument "..."
            isn't numeric" warnings on improper numeric conversions.

            Portability issues: "ioctl" in perlport.


Generated by phpMan Author: Che Dong Under GNU General Public License
2026-06-02 20:33 @216.73.216.151 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!