[Oberon] call ioctl() function in linux from AOS

Zdenek oberon at moravcik.info
Sat Apr 13 08:02:23 CEST 2013


Hi Jörg,

as you wrote module Unix already contains call to function ioctl() which
I first overlooked.
Trying to make my code running I had to insert another needed call for
linux function mmap() because this function is not define in module Unix
(i.e. in Linux.Unix.Mod)
So I inserted following code into Unix.Mod:

MODULE Unix;
...
VAR
 mmap-              : PROCEDURE {C} ( addr: ADDRESS; length: LONGINT;
prot: LONGINT; flags : LONGINT; fd: LONGINT; offset: LONGINT) : ADDRESS;
...
BEGIN (* Unix *)
 Dlsym( libc, "mmap",    ADDRESSOF( mmap ) );
...
END Unix.

Then I wrote following module:

MODULE Test;

IMPORT Unix;
 
PROCEDURE test();
VAR
 a : ADDRESS;
BEGIN
 a := Unix.mmap(parameters as defined above ...);
END test;
(*  Test.test  ~
      SystemTools.Free Test   ~     
*)
END Test.

It compiled fine but when I try to run Test.test it answers:

WMTextView: Command execution error, res 3405 (Test incompatible with
Unix / mmap)

Don't know what to do about it ?

Zdenek




More information about the Oberon mailing list