[Overview][Constants][Types][Procedures and functions][Index] | Reference for unit 'BaseUnix' (#rtl)

# FpIOCtl

General kernel IOCTL call.

## Declaration

Source position: bunxh.inc line 98

`function FpIOCtl(`
`Handle: cint;`
`Ndx: TIOCtlRequest;`
`Data: Pointer`
`):cint;`

## Description

This is a general interface to the Unix/ Linux ioctl call. It performs various operations on the file descriptor Handle. Ndx describes the operation to perform. Data points to data needed for the Ndx function. The structure of this data is function-dependent, so we don't elaborate on this here. For more information on this, see various manual pages under Linux.

## Errors

Extended error information can be retrieved using fpGetErrno.

## Example

    Program Example54;

    uses BaseUnix,Termio;

    { Program to demonstrate the IOCtl function. }

    var
      tios : Termios;

    begin
      {$ifdef FreeBSD}
        fpIOCtl(1,TIOCGETA,@tios);  // these constants are very OS dependant.
                                    // see the tcgetattr example for a better way
      {$endif}
      WriteLn('Input Flags  : $',hexstr(tios.c_iflag,8));
      WriteLn('Output Flags : $',hexstr(tios.c_oflag,8));
      WriteLn('Line Flags   : $',hexstr(tios.c_lflag,8));
      WriteLn('Control Flags: $',hexstr(tios.c_cflag,8));
    end.