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

FpIOCtl

General kernel IOCTL call.

Declaration

Source position: bunxh.inc line 93

function FpIOCtl(

  Handle: cInt;

  Ndx: cuLong;

  Data: Pointer

):cInt;

Description

This is a general interface to the Unix/ linux ioctl call. It performs various operations on the filedescriptor Handle. Ndxdescribes the operation to perform. Datapoints to data needed for the Ndxfunction. 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.