FPPS4/sys/dev/dev_dipsw.pas

71 lines
1020 B
Plaintext

unit dev_dipsw;
{$mode ObjFPC}{$H+}
{$CALLING SysV_ABI_CDecl}
interface
uses
sys_conf;
procedure dipsw_init();
implementation
uses
errno;
Function dipsw_ioctl(dev:p_cdev;cmd:QWORD;data:Pointer;fflag:Integer):Integer;
begin
Result:=0;
Writeln('dipsw_ioctl(0x',HexStr(cmd,8),')');
case cmd of
$20008800:;
$40048806:;
$40048807:;
$40088808:;
$40088809:;
$80028801:;
$80028802:;
$c0088803:;
$80108804:;
$80108805:;
$8010880a:;
else
Result:=EINVAL;
end;
end;
const
dipsw_cdevsw:t_cdevsw=(
d_version :D_VERSION;
d_flags :0;
d_name :'dipsw_dev';
d_open :nil;
d_fdopen :nil;
d_close :nil;
d_read :nil;
d_write :nil;
d_ioctl :@dipsw_ioctl;
d_poll :nil;
d_mmap :nil;
d_strategy :nil;
d_dump :nil;
d_kqfilter :nil;
d_purge :nil;
d_mmap_single :nil;
d_mmap_single2:nil;
);
procedure dipsw_init();
begin
make_dev(@dipsw_cdevsw,0,0,0,&644,'dipsw',[]);
end;
end.