* 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_NOSTOP = $10;
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}
{ For Terminal handling }
@ -154,6 +173,25 @@ Const
TIOCPKT_START = 8;
TIOCPKT_NOSTOP = 16;
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}
{$ifdef cpusparc}
@ -224,6 +262,26 @@ Const
TIOCPKT_START = $8;
TIOCPKT_NOSTOP = $10;
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}
{$ifdef cpux86_64}
@ -293,6 +351,25 @@ Const
TIOCPKT_NOSTOP = 16;
TIOCPKT_DOSTOP = 32;
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}
{$ifdef cpuarm}
@ -360,6 +437,25 @@ Const
TIOCPKT_START = 8;
TIOCPKT_NOSTOP = 16;
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}
Type
@ -385,29 +481,7 @@ Type
TTermios=Termios;
{$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
{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}
IGNBRK = $0000001;
BRKINT = $0000002;
@ -547,7 +621,11 @@ const
{
$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
Revision 1.10 2004/10/31 16:05:23 florian

View File

@ -75,8 +75,13 @@ unit typinfo;
PTypeInfo = ^TTypeInfo;
PPTypeInfo = ^PTypeInfo;
{$PACKRECORDS C}
PTypeData = ^TTypeData;
TTypeData = packed record
TTypeData =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
packed
{$endif FPC_REQUIRES_PROPER_ALIGNMENT}
record
case TTypeKind of
tkUnKnown,tkLString,tkWString,tkAString,tkVariant:
();
@ -132,7 +137,6 @@ unit typinfo;
);
end;
{$PACKRECORDS C}
// unsed, just for completeness
TPropData =
{$ifndef FPC_REQUIRES_PROPER_ALIGNMENT}
@ -1492,7 +1496,11 @@ end;
end.
{
$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
Revision 1.31 2004/11/24 22:27:24 florian

View File

@ -566,7 +566,9 @@ begin
INLCR or IGNCR or ICRNL or IXON));
c_lflag := c_lflag and
(not (ECHO or ECHONL or ICANON or ISIG or IEXTEN));
end;
c_cc[VMIN]:=1;
c_cc[VTIME]:=0;
end;
if outPutRaw then
begin
c_oflag := c_oflag and not(OPOST);
@ -900,7 +902,11 @@ initialization
end.
{
$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
Revision 1.25 2004/10/05 17:16:24 armin