* fixed raw mode for non i386 targets

* fixed some alignment issues
This commit is contained in:
florian 2004-12-28 15:30:04 +00:00
parent 3b54660976
commit 080ed4548f
3 changed files with 121 additions and 29 deletions

View File

@ -84,7 +84,26 @@ Const
TIOCPKT_START = $8; TIOCPKT_START = $8;
TIOCPKT_NOSTOP = $10; TIOCPKT_NOSTOP = $10;
TIOCPKT_DOSTOP = $20; TIOCPKT_DOSTOP = $20;
{$endif}
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VMIN = 5;
VEOL = 6;
VTIME = 7;
VEOL2 = 8;
VSWTC = 9;
VWERASE = 10;
VREPRINT = 11;
VSUSP = 12;
VSTART = 13;
VSTOP = 14;
VLNEXT = 15;
VDISCARD = 16;
{$endif cpupowerpc}
{$ifdef cpui386} {$ifdef cpui386}
{ For Terminal handling } { For Terminal handling }
@ -154,6 +173,25 @@ Const
TIOCPKT_START = 8; TIOCPKT_START = 8;
TIOCPKT_NOSTOP = 16; TIOCPKT_NOSTOP = 16;
TIOCPKT_DOSTOP = 32; TIOCPKT_DOSTOP = 32;
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VTIME = 5;
VMIN = 6;
VSWTC = 7;
VSTART = 8;
VSTOP = 9;
VSUSP = 10;
VEOL = 11;
VREPRINT = 12;
VDISCARD = 13;
VWERASE = 14;
VLNEXT = 15;
VEOL2 = 16;
{$endif cpui386} {$endif cpui386}
{$ifdef cpusparc} {$ifdef cpusparc}
@ -224,6 +262,26 @@ Const
TIOCPKT_START = $8; TIOCPKT_START = $8;
TIOCPKT_NOSTOP = $10; TIOCPKT_NOSTOP = $10;
TIOCPKT_DOSTOP = $20; TIOCPKT_DOSTOP = $20;
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VEOL = 5;
VEOL2 = 6;
VSWTC = 7;
VSTART = 8;
VSTOP = 9;
VSUSP = 10;
VDSUSP = 11;
VREPRINT = 12;
VDISCARD = 13;
VWERASE = 14;
VLNEXT = 15;
VMIN = 4;
VTIME = 5;
{$endif cpusparc} {$endif cpusparc}
{$ifdef cpux86_64} {$ifdef cpux86_64}
@ -293,6 +351,25 @@ Const
TIOCPKT_NOSTOP = 16; TIOCPKT_NOSTOP = 16;
TIOCPKT_DOSTOP = 32; TIOCPKT_DOSTOP = 32;
TIOCSER_TEMT = $01; TIOCSER_TEMT = $01;
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VTIME = 5;
VMIN = 6;
VSWTC = 7;
VSTART = 8;
VSTOP = 9;
VSUSP = 10;
VEOL = 11;
VREPRINT = 12;
VDISCARD = 13;
VWERASE = 14;
VLNEXT = 15;
VEOL2 = 16;
{$endif cpux86_64} {$endif cpux86_64}
{$ifdef cpuarm} {$ifdef cpuarm}
@ -360,6 +437,25 @@ Const
TIOCPKT_START = 8; TIOCPKT_START = 8;
TIOCPKT_NOSTOP = 16; TIOCPKT_NOSTOP = 16;
TIOCPKT_DOSTOP = 32; TIOCPKT_DOSTOP = 32;
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VTIME = 5;
VMIN = 6;
VSWTC = 7;
VSTART = 8;
VSTOP = 9;
VSUSP = 10;
VEOL = 11;
VREPRINT = 12;
VDISCARD = 13;
VWERASE = 14;
VLNEXT = 15;
VEOL2 = 16;
{$endif cpuarm} {$endif cpuarm}
Type Type
@ -385,29 +481,7 @@ Type
TTermios=Termios; TTermios=Termios;
{$PACKRECORDS Default} {$PACKRECORDS Default}
{const
InitCC:array[0..NCCS-1] of byte=(3,34,177,25,4,0,1,0,21,23,32,0,22,17,27,26,0,0,0);}
const const
{c_cc characters}
VINTR = 0;
VQUIT = 1;
VERASE = 2;
VKILL = 3;
VEOF = 4;
VTIME = 5;
VMIN = 6;
VSWTC = 7;
VSTART = 8;
VSTOP = 9;
VSUSP = 10;
VEOL = 11;
VREPRINT = 12;
VDISCARD = 13;
VWERASE = 14;
VLNEXT = 15;
VEOL2 = 16;
{c_iflag bits} {c_iflag bits}
IGNBRK = $0000001; IGNBRK = $0000001;
BRKINT = $0000002; BRKINT = $0000002;
@ -547,7 +621,11 @@ const
{ {
$Log$ $Log$
Revision 1.11 2004-11-03 12:24:56 peter Revision 1.12 2004-12-28 15:30:04 florian
* fixed raw mode for non i386 targets
* fixed some alignment issues
Revision 1.11 2004/11/03 12:24:56 peter
* remove comment level 2 warning * remove comment level 2 warning
Revision 1.10 2004/10/31 16:05:23 florian Revision 1.10 2004/10/31 16:05:23 florian

View File

@ -75,8 +75,13 @@ unit typinfo;
PTypeInfo = ^TTypeInfo; PTypeInfo = ^TTypeInfo;
PPTypeInfo = ^PTypeInfo; PPTypeInfo = ^PTypeInfo;
{$PACKRECORDS C}
PTypeData = ^TTypeData; PTypeData = ^TTypeData;
TTypeData = packed record TTypeData =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
case TTypeKind of case TTypeKind of
tkUnKnown,tkLString,tkWString,tkAString,tkVariant: tkUnKnown,tkLString,tkWString,tkAString,tkVariant:
(); ();
@ -132,7 +137,6 @@ unit typinfo;
); );
end; end;
{$PACKRECORDS C}
// unsed, just for completeness // unsed, just for completeness
TPropData = TPropData =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT} {$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
@ -1492,7 +1496,11 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.32 2004-12-27 16:16:24 florian Revision 1.33 2004-12-28 15:30:04 florian
* fixed raw mode for non i386 targets
* fixed some alignment issues
Revision 1.32 2004/12/27 16:16:24 florian
* another alignment fix * another alignment fix
Revision 1.31 2004/11/24 22:27:24 florian Revision 1.31 2004/11/24 22:27:24 florian

View File

@ -566,7 +566,9 @@ begin
INLCR or IGNCR or ICRNL or IXON)); INLCR or IGNCR or ICRNL or IXON));
c_lflag := c_lflag and c_lflag := c_lflag and
(not (ECHO or ECHONL or ICANON or ISIG or IEXTEN)); (not (ECHO or ECHONL or ICANON or ISIG or IEXTEN));
end; c_cc[VMIN]:=1;
c_cc[VTIME]:=0;
end;
if outPutRaw then if outPutRaw then
begin begin
c_oflag := c_oflag and not(OPOST); c_oflag := c_oflag and not(OPOST);
@ -900,7 +902,11 @@ initialization
end. end.
{ {
$Log$ $Log$
Revision 1.26 2004-12-26 12:22:05 peter Revision 1.27 2004-12-28 15:30:04 florian
* fixed raw mode for non i386 targets
* fixed some alignment issues
Revision 1.26 2004/12/26 12:22:05 peter
* cursorx,cursory 0 based, fixes 3468 * cursorx,cursory 0 based, fixes 3468
Revision 1.25 2004/10/05 17:16:24 armin Revision 1.25 2004/10/05 17:16:24 armin