mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:59:41 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
{
 | 
						|
    This file is part of the Free Pascal run time library.
 | 
						|
    Copyright (c) 1999-2000 by the Free Pascal development team
 | 
						|
 | 
						|
    Textrec record definition
 | 
						|
 | 
						|
    See the file COPYING.FPC, included in this distribution,
 | 
						|
    for details about the copyright.
 | 
						|
 | 
						|
    This program is distributed in the hope that it will be useful,
 | 
						|
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | 
						|
 | 
						|
 **********************************************************************}
 | 
						|
 | 
						|
{
 | 
						|
  This file contains the definition of the textrec record.
 | 
						|
  It is put separately, so it is available outside the system
 | 
						|
  unit without sacrificing TP compatibility.
 | 
						|
}
 | 
						|
 | 
						|
const
 | 
						|
{$ifdef CPUAVR}
 | 
						|
  TextRecNameLength = 16;
 | 
						|
  TextRecBufSize    = 16;
 | 
						|
{$else CPUAVR}
 | 
						|
  TextRecNameLength = 256;
 | 
						|
  TextRecBufSize    = 256;
 | 
						|
{$endif CPUAVR}
 | 
						|
type
 | 
						|
  TLineEndStr = string [3];
 | 
						|
  TextBuf = array[0..TextRecBufSize-1] of char;
 | 
						|
  { using packed makes the compiler to generate ugly code on some CPUs, further
 | 
						|
    using packed causes the compiler to handle arrays of text wrongly, see  see tw0754 e.g. on arm  }
 | 
						|
  TextRec = {$ifdef VER2_6} packed {$endif} Record
 | 
						|
    Handle    : THandle;
 | 
						|
    Mode      : longint;
 | 
						|
    bufsize   : SizeInt;
 | 
						|
    _private  : SizeInt;
 | 
						|
    bufpos,
 | 
						|
    bufend    : SizeInt;
 | 
						|
    bufptr    : ^textbuf;
 | 
						|
    openfunc,
 | 
						|
    inoutfunc,
 | 
						|
    flushfunc,
 | 
						|
    closefunc : pointer;
 | 
						|
    UserData  : array[1..32] of byte;
 | 
						|
    name      : array[0..textrecnamelength-1] of char;
 | 
						|
    LineEnd   : TLineEndStr;
 | 
						|
    buffer    : textbuf;
 | 
						|
{$ifdef FPC_HAS_CPSTRING}
 | 
						|
    CodePage  : TSystemCodePage;
 | 
						|
{$endif}
 | 
						|
  End;
 | 
						|
 |